01.2b. BD Borrosa. Base de Conocimiento Borrosa-ILM
01.2b. BD Borrosa. Base de Conocimiento Borrosa-ILM
01.2b. BD Borrosa. Base de Conocimiento Borrosa-ILM
En este capítulo, se realiza una revisión de las técnicas y disciplinas en las que se basa el
trabajo elaborado, así como el estado del arte de las mismas. Primero, se explican las
bases de la lógica borrosa y los procedimientos propios de la misma que se utilizan en la
solución implementada, describiendo los sistemas de clasificación basados en reglas
borrosas, con los que se puede identificar el sistema propuesto. A continuación, se
exponen los aspectos principales de los algoritmos genéticos, englobados en la
computación evolutiva, así como los métodos aplicados en este trabajo. Asimismo, se
describen los mecanismos del algoritmo de inspiración biológica conocido como
optimización de enjambres de partículas. En estas secciones, se integra el estudio del
estado del arte actual de los campos de trabajo tratados, es decir, se especifican diversos
trabajos relacionados con la construcción automática de bases de conocimiento de
sistemas de clasificación basados en reglas borrosas mediante técnicas de computación
bio-inspirada desde perspectivas variadas.
5
imprecisa en las fronteras con otros conjuntos borrosos. Por ejemplo, para representar
cómo de alta es una persona, no se ajustaría a la realidad establecer límites nítidos entre
los conjuntos bajo, normal y alto, sino definir conjuntos borrosos de forma que una
persona cuya altura se encuentre en la frontera entre dos conjuntos, no pertenezca de
manera absoluta o precisa a ninguno de los dos. Una posible representación de este
ejemplo mediante conjuntos borrosos se muestra en la Figura 1:
Figura 1: posible representación de la altura (A) de una persona mediante conjuntos borrosos.
En este ejemplo, se puede observar cómo una persona que mida entre 160 cm y 170 cm
se puede considerar baja y a la vez normal en cierto grado, mientras que cualquier
persona que mida más de 190 cm será considerada una persona alta. Es decir, en la
lógica borrosa se asume la presencia de imprecisión en el conocimiento, lo que permite
modelar dominios en los que se presentan categorías o conjuntos cuyas fronteras no
están claramente definidas, así como reproducir procesos de razonamiento aproximado.
6
Con este fin, los sistemas basados en reglas borrosas incluyen una base de conocimiento
que consiste en la representación declarativa de los conceptos, propiedades, relaciones y
elementos individuales contemplados en un dominio específico. En el caso de la lógica
borrosa, el formalismo empleado en la base de conocimiento tiene la capacidad de
representar la imprecisión.
En particular, se definen los siguientes aspectos para cada variable recogida en la base
de conocimiento: su significado, sus unidades de medida, su dominio, tanto de valores
numéricos como de valores cualitativos o etiquetas lingüísticas (bajo, normal y alto en
el ejemplo de la Figura 1). Estos aspectos son fundamentales en los sistemas
inteligentes basados en lógica borrosa y los caracterizan frente al resto. Además, la base
de conocimiento de este tipo de sistemas incluye un conjunto de reglas, conocido como
base de reglas, del tipo SI-ENTONCES similares a:
var1 = val1 OPR1 var2 = val2 OPR2 … OPRn-1 varn = valn, → varo = valo
Por otro lado, es necesario un motor de inferencia específico para el formalismo elegido
para la representación del conocimiento, pero independiente del dominio de aplicación,
de manera que pueda llevar a cabo el proceso de inferencia a partir de cualquier base de
conocimiento que siga el formalismo utilizado.
En lógica borrosa, cada variable de la base de conocimiento puede tomar tanto valores
cuantitativos o numéricos como cualitativos. En el caso de los valores cualitativos, éstos
se corresponden con etiquetas lingüísticas, o también conjuntos borrosos (Mendel,
1995). La relación entre los valores numéricos y los conjuntos borrosos del dominio de
una variable viene dada por una función de pertenencia, función de distribución de
posibilidad o simplemente función de posibilidad. Dado un conjunto borroso A, valor
7
cualitativo de una variable x, la función de pertenencia μA(x) asigna a cada valor
numérico x ϵ X, un valor de posibilidad de pertenencia al conjunto A, tomando valores
entre 0 y 1:
μA: X → [0,1]
x → μA(x)
A → μalto(A)
Figura 2: función de pertenencia μalto(A) del conjunto borroso alto del dominio de la variable altura (A).
Aunque los tres conjuntos borrosos mostrados en el ejemplo de la altura son de tipo
trapezoidal, una función de pertenencia puede tener cualquier forma, dependiendo de las
características propias del dominio específico, siendo las más comunes las que se
muestran en la Figura 3:
8
Figura 3: formas más comunes de las funciones de pertenencia
En este capítulo sólo se tratan los conjuntos borrosos estándar (Zadeh, 1965), pero en la
literatura existen ampliaciones de este enfoque que buscan representar mejor la
imprecisión propia de la lógica borrosa. Entre ellos destacan los conjuntos borrosos de
tipo-2 (Karnik, et al., 1999) (Tai, et al., 2016) y los conjuntos borrosos con valor de
intervalo (Interval-Valued Fuzzy Sets, IVFSs) (Sambuc, 1975), cobrando importancia
los estudios comparativos y revisiones (Castillo, et al., 2016) (Bustince, et al., 2016)
(Castillo, et al., 2015).
9
disyunción, como la negación y la implicación, se pueden realizar con funciones de
pertenencia de n dimensiones.
En el caso de que los conjuntos con los que se va a operar estén representados en
función de variables distintas, circunstancia frecuente para no limitar demasiado la
capacidad de representación del conocimiento, es necesario realizar la extensión
cilíndrica de las funciones de pertenencia para poder componerlas, excluyendo como es
lógico el operador de negación que es unario. La operación de extensión cilíndrica
consiste en aumentar en una dimensión la función de pertenencia introduciendo una
variable nueva, la cual no afecta a los valores de posibilidad de pertenencia que
devuelve la función una vez extendida. Es decir, partiendo de la función μp (x1, x2, …,
xn), su extensión cilíndrica con una variable y, cumple la siguiente expresión:
μp (x1, x2, …, xn, y) / y μp (x1, x2, …, xn, y) = μp (x1, x2, …, xn)
T: M2 → M
μp (x), μq (x) → μpרq (x)
10
T (μp (x), μq (x)) = μpרq(x)
La función t-conorma S aplicada a μp (x) y μq (x), queda así definida μp (x), μq
(x) אM y x ࣲ אǣ
S: M2 → M
μp (x), μq (x) → μpשq (x)
N: [0,1] → [0,1]
x → N (x)
N: M → M
μp (x) → μ¬p (x)
Cada una de estas funciones debe cumplir las propiedades que se indican a
continuación, conservando la misma notación establecida:
En el caso de la t-norma, μp (x), μq (x), μr (x), μt (x) אM, de los conjuntos p, q,
r y t definidos para la variable xy μ1 (x) = 1, x ࣲא:
Propiedad conmutativa:
11
T(μp (x), μq (x)) = T(μq (x), μp (x))
Propiedad asociativa:
T[μp (x), T (μq (x), μr (x))] = T[T(μp(x), μq (x)), μr (x)]
Elemento neutro:
T(μp (x), μ1 (x)) = μp (x)
Monotonía:
Si μp(x) ≤ μr(x), μq(x) ≤ μt(x) → T(μp(x), μq(x)) ≤ T(μr(x), μt(x))
La función t-conorma, μp (x), μq (x), μr (x), μt (x) אM, de los conjuntos p, q, r
y t definidos para la variable xy μ0 (x) = 0, x ࣲא:
Propiedad conmutativa:
S(μp (x), μq (x)) = S(μq (x), μp (x))
Propiedad asociativa:
S[μp (x), S (μq (x), μr (x))] = S[S(μp(x), μq (x)), μr (x)]
Elemento neutro:
S(μp (x), μ0 (x)) = μp (x)
Monotonía:
Si μp(x) ≤ μr(x), μq(x) ≤ μt(x) → S(μp(x), μq(x)) ≤ S(μr(x), μt(x))
En la función negación, μp (x), μq (x) אM, μ0 (x) = 0 y μ1 (x) = 1, x ࣲ א:
Condiciones frontera: N (μ0 (x)) = 1; N (μ1 (x)) = 0.
Inversión de monotonía: Si μp(x) ≤ μq(x) → N (μp(x)) ≥ N (μq(x)).
Existen diversas alternativas para el cálculo de cada una de las funciones. Notando las
funciones de pertenencia μp (x), μq (x), μr (x), μt (x) אM como ẋ, ẏ, ż, ṫ
respectivamente, x ࣲא:
12
Ejemplos de funciones t-conorma:
• t-conorma del máximo (o de Gödel): S (ẋ, ẏ)= máx (ẋ, ẏ)
• t-conorma de la suma-producto, P’: S(ẋ, ẏ) = P’(ẋ, ẏ) = ẋ + ẏ - ẋ · ẏ
• t-conorma de Łukasiewicz, W’: S(ẋ, ẏ) = W’(ẋ, ẏ) = mín (1, ẋ + ẏ)
• t-conorma drástica, Z’:
ẋ, si ẏ = 0
S(ẋ, ẏ) = Z' (ẋ, μq (x)) = ẏ, si ẋ = 0
1, en otro caso
Simultaneas a las propiedades que debe cumplir cada función, existen unas condiciones
llamadas de dualidad, que deben satisfacerse para las tres funciones escogidas de t-
norma, t-conorma y negación. ẋ, ẏ אM, la dualidad entre una t-norma T (ẋ, ẏ) y una
t-conorma S (ẋ, ẏ) respecto a una negación N (ẋ), existe si y solo si x ࣲ א:
De los ejemplos de t-normas y t-conormas anteriores, los siguientes son duales entre sí
con respecto a la negación N(ẋ) = 1 - ẋ, con 1 ≡ μ1 (x) = 1, x ࣲא: las dos de Gödel; el
producto y la suma-producto; las dos de Łukasiewicz; y las dos drásticas.
2.1.5 Implicación
Así, la función de implicación J, μp (x), μq (x) אM, está definida como:
13
J: M2 → M
μp (x), μq (x) → μp→q (x)
J (ẋ, ẏ) = máx (1 - ẋ, ẏ)
ẏ, si ẋ = 1
J (ẋ, ẏ) = 1 - ẋ, si ẏ = 0
1, en otro caso
De la misma manera que la t-norma y t-conorma elegidas deben ser duales con respecto
a la negación escogida, la implicación utilizada debe corresponderse con la deducida a
partir de estas funciones.
Sin embargo, existe una excepción en el caso de los controladores borrosos, un tipo
concreto de sistemas basados en reglas borrosas, que emplean la función de implicación
de Mamdani (Mamdani, 1977), que se define a continuación, x ࣲ א:
14
2.1.6 Base de reglas borrosas
Una vez establecido el lenguaje formal de representación del conocimiento del sistema
basado en reglas borrosas, es decir, las variables, sus dominios de valores numéricos y
las funciones de pertenencia correspondientes a sus etiquetas lingüísticas, hace falta
definir la base de reglas que complete la base de conocimiento del sistema basado en
reglas borrosas (Magdalena, 2015).
Cada regla borrosa está compuesta por un antecedente y un consecuente, que relacionan
las variables de la base de conocimiento mediante los operadores lógicos borrosos. El
antecedente se representa en la parte izquierda de una relación de implicación, y
contiene un conjunto de cláusulas que asignan un valor cuantitativo o cualitativo a una
variable de entrada, conectadas a través de la conjunción (˄) o la disyunción (˅), con la
posibilidad de tener aplicado el operador de negación (¬). Por su parte, en el
consecuente suele haber una única cláusula que otorga un valor, tanto cuantitativo como
cualitativo, a una variable de salida, y constituye la parte derecha de la implicación.
Además, dependiendo de cómo de cercano al lenguaje natural sea el formalismo
establecido, una regla puede presentar distintas formas, considerando op1, …, opn-1 los
operadores borrosos de conjunción o disyunción, [N] la posible negación de la cláusula
y → la implicación:
antecedente → consecuente
Dado que todas las cláusulas del antecedente pueden componerse en una única función
de pertenencia resultante, la sintaxis de una regla borrosa se puede generalizar mediante
la expresión:
μA (x) → μB (y)
Una vez definida la base de reglas borrosas y, por tanto, establecida la base de
conocimiento del sistema, hay que conferir a éste la capacidad de razonamiento
mediante un motor de inferencia que lleve a cabo los procesos necesarios (Cordón, et
15
al., 1997). La capacidad de razonamiento en este contexto consiste en calcular la
función de pertenencia correspondiente a la variable de salida, de la que obtener su
valor cualitativo o numérico, partiendo de unos hechos conocidos o valores de las
variables de entrada y una base de conocimiento.
En el caso más común de que la inferencia deba llevarse a cabo con una base de más de
una regla, tras aplicar la RCI a cada una de las reglas, se deberá realizar la disyunción,
es decir, aplicar la t-conorma entre las funciones de pertenencia obtenidas, empleando la
propiedad asociativa:
16
de conocimiento, se suma la definición del procedimiento de inferencia, que depende
del tipo de tarea a resolver, aunque ambas partes deben cumplir unos objetivos de
precisión e interpretabilidad del sistema (Gacto, et al., 2011).
Los sistemas basados en reglas borrosas hacen uso de la teoría de la lógica borrosa para
elaborar un modelo, es decir, esquema teórico, preciso e interpretable de un problema,
un comportamiento, unos mecanismos u otro sistema, que permita simularlo, analizarlo,
controlarlo automáticamente y rediseñarlo (Magdalena, 2015). Según su objetivo, el
modelo puede ser lingüístico, si se prioriza que sea descriptivo, o preciso, si se prioriza
su capacidad de aproximación.
Los sistemas basados en reglas borrosas pueden utilizarse para modelar, entre otros,
problemas de clasificación. La característica principal de este tipo de problemas es la
predicción de una clase, es decir, una salida de naturaleza discreta.
De esta manera, existen tres variantes de la estructura de una regla borrosa, según la
estructura del consecuente, con C { אC1, ..., CM} como la clase a predecir y M el
número de posibles etiquetas para ésta:
• Con un grado de certeza ri por cada etiqueta Ci, i { א1, 2,… M}:
Si [N] x1 es A1 op1 … opn-1 [N] xn es An, entonces y es {C1, ..., CM} con {r1, ..., rM}
17
1. Cálculo del grado de compatibilidad, o intersección, hi, entre las n entradas o
atributos del ejemplo e y las n cláusulas, {μAi1, …, μAin}, de cada regla, Ri, con i
= 1, ..., L. Normalmente mediante el mínimo:
hi = T (μAi1 (e1), μAi2 (e2), ... μAin (en))
2. Cálculo del grado de asociación, bji, entre el ejemplo e y cada una de las clases
Cj con j=1, …, M para cada regla Ri, siendo rji el grado de certeza asignado por
la regla Ri a la clase Cj. Normalmente mediante el producto:
bji = o (hi,rji)
3. Ponderación Bji de los grados de asociación bji del ejemplo e con cada clase Cj
para cada regla Ri, mediante alguna función que potencie los grados altos y
penalice los bajos:
Bji = g (bji)
4. Obtención del grado de clasificación Yj para cada clase Cj, agregando sus grados
de asociación ponderados Bji, siendo (Bj1, ..., BjKj) los grados de asociación
mayores que 0 y Kj igual al número de reglas en cuyo consecuente está asignada
la clase Cj:
Yj = f (Bj1, ..., BjKj)
ౠ ౠ
σሺభ ǡǤǤǤǡ ౠ ሻ
ే
j
Y = ; Ymax = maxj (σሺଵ୨ ǡ Ǥ Ǥ Ǥ ǡ ୨ ౠ ሻ)
ଢ଼ౣ౮
18
Media aritmética:
ౠ ౠ
σሺభ ǡǤǤǤǡ ౠ ሻ
j ే
Y =
ౠ
Las redes de neuronas, son modelos computacionales que simulan el cerebro humano a
partir de nodos conectados mediante conexiones que contienen pesos cuya actualización
permite el aprendizaje, pero con una interpretabilidad prácticamente nula (Cordón,
2012). Cada uno de esos nodos o neuronas, está compuesto por un conjunto de entradas
desde otros nodos, un peso para cada entrada, una salida y una función de activación no
19
lineal por lo general. Las redes neuronales pueden ser hacia delante, es decir, sólo con
conexiones en sentido entradas-salida, o por el contrario retroalimentadas, que permiten
ciclos y no garantizan la estabilidad. Estos modelos se pueden utilizar tanto para
aprendizaje supervisado, donde los ejemplos contienen los valores de entrada y el valor
de salida correspondiente, como para aprendizaje no supervisado, donde los ejemplos
sólo constan de los valores de entrada. Una estructura común de las redes de neuronas
es el perceptrón multicapa, con varias capas de neuronas conectadas hacia delante
exclusivamente con la capa vecina, que propagan hacia atrás el error para ir
actualizando los pesos en el proceso de aprendizaje.
Los sistemas híbridos formados por la unión entre redes de neuronas y lógica borrosa se
conocen como sistemas neuro-difusos y combinan técnicas de ambas disciplinas,
asociando la capacidad de aprendizaje de las primeras con la tolerancia a fallos,
interpretabilidad y robustez de la segunda (Cordón, 2012). Además, permiten integrar el
conocimiento por otros métodos o expertos y la extracción del mismo en forma de
reglas borrosas. La arquitectura más común de estos sistemas se compone de cinco
capas, relacionadas con el proceso de inferencia de un sistema basado en reglas borrosas
general: entradas, “borrosificación”, reglas, consecuentes y “desborrosificación”. Las
principales limitaciones de un sistema neuro-difuso radican en: la necesidad de un
número reducido de entradas por su complejidad, la dificultad para aprender la
estructura de las reglas o tratar funciones no diferenciables, la caída en óptimos locales
y el sobreaprendizaje. Un ejemplo de un sistema neuro-difuso es ANFIS (Jang, 1993),
iniciales de Adaptive Network based Fuzzy Inference System, que se basa en dos fases:
primero fijar el consecuente y ajustar el antecedente mediante el gradiente descendiente,
y después, fijar el antecedente y ajustar el consecuente con optimización por mínimos
cuadrados. Otros sistemas neuro-difusos son: NEFCLASS (Nauck & Kruse, 1995),
FSOM (Vuorimaa, 1994), y NFH (Souza, 1999).
20
proyección de los grupos borrosos en conjuntos borrosos triangulares. El principal
inconveniente es tener que fijar el número óptimo de grupos, es decir, el tamaño de la
base de reglas.
Una de las ideas más influyentes del siglo XIX, es la evolución de los seres vivos. Los
sucesivos trabajos relativos al tema, como el de Jean-Baptiste Lamarck, los escritos
sobre el evolucionismo de A. R. Wallace (Wallace, 1858) y Charles Darwin (Darwin,
1844) (Darwin, 1857), recopilados en 1858 (Darwin & Wallace, 1858), y, finalmente, el
libro del propio Darwin en 1859, On the origin of species, (Darwin, 1859) sobre la
selección natural, hicieron que las ciencias de la vida se centraran en la teoría de la
evolución.
A estos antecedentes hay que añadir la influencia de los avances conseguidos en el área
de la genética. Son fundamentales las leyes de Mendel sobre la herencia de caracteres
según el cruce de los mismos, elaboradas a partir de sus experimentos realizados entre
1857 y 1868 (Mendel, 1866), pero no aceptadas hasta más de 30 años después. A las
que, posteriormente, siguieron los diversos descubrimientos referentes al ADN y al
ARN. Como consecuencia, se introdujeron, entre otros, los siguientes conceptos:
21
Genotipo: es la secuencia de bases enumeradas una detrás de otra, el código
genético.
Fenotipo: la característica concreta producida por un determinado gen.
En todas estas ideas, hay ciertos componentes que inspiran modelos potenciales de
cómputo, que ingenieros y científicos han interpretado y formalizado dando lugar a la
computación evolutiva.
Sin embargo, no es hasta la última década del siglo pasado cuando el campo de la
computación evolutiva florece: la aplicación de los algoritmos genéticos se extiende a
una gama muy variada de problemas y nacen estrategias nuevas, como la programación
genética con la población de árboles de datos de Koza (1992) (Koza, 1992).
Crecimiento que se vio favorecido por el nuevo concepto de inteligencia artificial
desarrollado entre los años ochenta y noventa por, entre otros, Marvin Minsky (Minsky,
1988), Hans Moravec (Moravec, 1988) (Moravec, 1998) y el investigador del MIT
(Massachusetts Institute of Technology) Rodney Brooks, en su artículo sobre la
Nouvelle AI, “Elephants don’t play chess” (Brooks, 1990). Esta vertiente de la
inteligencia artificial, llamada de forma más genérica inteligencia computacional, se
separa de la línea simbólica tradicional, y se orienta a la consecución de módulos de
comportamiento simples, tales como neuronas, partículas u organismos, de cuya
cooperación e interacción como colectivo puedan emerger comportamientos complejos.
22
De esta manera, con la motivación de las limitaciones de las técnicas clásicas y la
necesidad de predicción y anticipación, los objetivos generales de la computación
evolutiva son los siguientes:
23
La codificación de los cromosomas afecta positiva o negativamente a la capacidad de
convergencia del algoritmo en función de la naturaleza del problema que se pretenda
resolver. La interpretación de una codificación real suele ser más directa, mientras una
binaria requiere un proceso de descodificación. La codificación real además permite
representar más precisión sin conocer a priori la requerida, y si el dominio de la función
objetivo es continuo, trabajar con binarios puede no representar todo el espacio de
soluciones. También, en una codificación dada puede darse el caso contrario, es decir,
que algunos cromosomas estén fuera del espacio de soluciones buscado.
La función de evaluación por su parte puede coincidir con la propia función a optimizar
o usar una aproximación o transformación. La elección de esta función presenta unos
desafíos, como reducir en la medida de lo posible los óptimos locales, evitar óptimos
absolutos aislados y buscar regularidades, de manera que se obtengan valores de
adaptación parecidos para individuos cercanos en el espacio de soluciones.
• Simple o en un punto (Goldberg, 1989) (Holland, 1975), que parte los dos
cromosomas padres por el mismo punto y combina las partes generando dos
24
descendientes. Produce poca diversidad en la descendencia por lo que es
necesaria una población muy variada.
• En dos o más puntos (Eshelman, et al., 1989), funciona de manera similar
dividiendo los cromosomas padres en más puntos. Sigue dando lugar a poca
diversidad y no son más útiles más de dos cortes (De Jong & Spears, 1992).
• Uniforme (Syswerda, 1989), intercambia de acuerdo a una máscara aleatoria
todos los genes de los cromosomas padres. Es un operador rápido con bajo coste
computacional pero es estático y puede atascarse en óptimos locales.
• Basado en la función objetivo, que trata de favorecer a los padres con mejor
aptitud.
• Generalizado, cuando un cromosoma binario representa un número entero, se
acota un intervalo de cruce más amplio que el intervalo definido por los números
codificados por los cromosomas padres.
Plano, conocido como BLX (Eshelman & Schaffer, 1993), establece el intervalo
de cruce entre los dos genes de los padres y escoge un número aleatorio dentro
del mismo para cada descendiente.
Combinado o BLX-α (Eshelman & Schaffer, 1993), que amplía el intervalo de
cruce del BLX de acuerdo a un factor α, y para un hijo se elige un número real
aleatorio, y su simétrico con respecto al punto medio del intervalo para el otro
hijo.
Morfológico MMX (Barrios, et al., 2000), basado en el uso de la morfología
matemática, mide la diversidad con el gradiente morfológico para balancear
dinámicamente la capacidad de exploración y explotación del algoritmo, y
utiliza una estructura de vector. Para ello, se evalúa la diversidad genética, se
calculan los intervalos de cruce, más acotados cuanto mayor sea la diversidad, y
se obtiene la descendencia de manera similar al BLX- α, con un número
aleatorio y su simétrico en el intervalo.
25
Otro aspecto a tener en cuenta son las estrategias de reemplazo que se lleven a cabo
entre generaciones. Según el tamaño de la población generada, pueden dividirse en tres
grupos:
Con respecto a los individuos considerados para el reemplazo, las estrategias pueden ser
globales o locales. En las estrategias de reemplazo globales se considera toda la
población, para escoger los individuos a reemplazar de manera aleatoria, de acuerdo a
su antigüedad, según su aptitud o por su parecido con los individuos a insertar. En las
estrategias de reemplazo locales, por el contrario, sólo se consideran los individuos que
progenitores, siendo completamente reemplazados por los individuos descendientes,
reemplazándose sólo el peor de los progenitores o los más parecidos a los generados.
Tres de los métodos más comunes son (Font Fernández, et al., 2009):
26
1. Inicialización, generalmente aleatoria, de los individuos de la población.
2. Evaluación de la población mediante la función de adaptación.
3. Selección de los individuos a reproducir.
4. Reproducción de los individuos seleccionados: cruce, mutación…
5. Inserción y reemplazo para obtener la nueva población.
6. Si se cumple el criterio de parada, parar. Si no, volver al paso 2.
Como indica el paso 6, un algoritmo genético no se ejecuta infinitamente, sino hasta que
se cumple un criterio de parada definido (Eiben & Smith, 2007). Dependiendo de si la
detención del algoritmo está predeterminada, el criterio es de parada estático o
dinámico, respectivamente:
27
Figura 4: integración de un algoritmo genético en un sistema basado en reglas borrosas, adaptación extraída
de (Fernández, et al., 2015)
28
longitud fija o variable y, para aplicar los operadores genéticos puede mezclar
subestructuras, tener estructuras no relacionadas o mediante procesos
secuenciales si transformar una estructura afecta a la transformación de otra.
o Aprendizaje evolutivo de la base de reglas, en el que se centran la mayor parte
de los trabajos propuestos para aprender automáticamente la base de
conocimiento a partir de conjuntos de datos. Es necesario contar con unas
funciones de pertenencia predefinidas (Thrift, 1991).
o Aprendizaje evolutivo de las funciones de pertenencia y otros factores como las
funciones de escala y la granularidad de las particiones borrosas. Puede llevarse
a cabo a priori o integrado (Cordón, et al., 2001) y también necesita partir de una
base de reglas previamente establecida.
Respecto al segundo grupo de algoritmos, que atiende a procesos de ajuste, existen tres
alternativas:
Los objetivos de optimización que pueden perseguir este tipo de sistemas son variados,
pudiéndose combinar y tomar como medida de la aptitud del sistema múltiples aspectos
de entre los enumerados. Por este motivo, a mediados de los años noventa surgió la idea
básica del diseño multiobjetivo de sistemas borrosos con un problema de dos objetivos
para maximizar la precisión de clasificadores basados en reglas borrosas y minimizar el
29
número de reglas borrosas (Ishibuchi, et al., 1997), posteriormente extendido a tres
objetivos para minimizar a su vez el número de antecedentes por regla (Ishibuchi, et al.,
2001). La principal característica de estos sistemas es la obtención de varias soluciones
no dominadas, es decir, que ninguna otra solución es mejor en todos los objetivos
perseguidos. De esta manera, los individuos de la población no convergen hacia una
solución óptima sino hacia un frente de Pareto de soluciones no dominadas, de entre las
cuales decidirá un humano de acuerdo a su preferencia para el problema específico.
Algunos enfoques de diseño multiobjetivo de sistemas borrosos (Ishibuchi & Nojima,
2015) son: para el diseño de controladores borrosos sin contar con la complejidad como
objetivo (Stewart, et al., 2004), (Chen & Chiang, 2004), para el diseño de clasificadores
borrosos incluyendo la complejidad como objetivo (Ducange, et al., 2010) (Ishibuchi &
Nojima, 2007) (Setzkorn & Paton, 2005) (Tsang, et al., 2007), o para el ajuste de las
funciones de distribución de posibilidad junto con la generación de la base de reglas
incorporando medidas de interpretabilidad (Gacto, et al., 2010) (Zhang, et al., 2011).
En general, los sistemas genéticos borrosos han resultado bastante exitosos y robustos
en prácticamente todas las ramas de minería de datos, contando con un amplio
desarrollo en el marco de la clasificación y la regresión (Cordón, et al., 2004)
(Fazzolari, et al., 2013) (Herrera, 2008). En el caso de la clasificación en concreto,
existen multitud de enfoques, siendo interesante el problema particular de partir de un
conjunto de datos no balanceados, es decir, que el número de ejemplos de las distintas
clases está desproporcionado. Con esta tarea como fin, hay sistemas genéticos de
clasificación basados en reglas borrosas que: reequilibran el conjunto de entrenamiento
(Fernandez, et al., 2009) (Fernandez, et al., 2010) (Villar, et al., 2012), emplean
operaciones específicas para la clase minoritaria (Lopez, et al., 2013) (Alshomrani, et
al., 2015) o son sensibles al coste (Ducange, et al., 2010) (Palacios, et al., 2014). En el
marco del control borroso, también se pueden encontrar numerosos trabajos basados en
algoritmos genéticos (Chou, 2006) (Deb, 2008) (Eiben & Smith, 2007) (Juang, 2005)
(Michalewicz, 1994) (Kuo & Li, 1999).
30
para problemas multi-clase, en los algoritmos CHC-GL-OVO (Villar, et al., 2015) y
GL-FARCHD-OVO (Villar, et al., 2016); uso de gramáticas, como el algoritmo
FuAGGE (Mazouni & Rahmoun, 2016); programación genética, como el sistema
GPFIS-CLASS (Koshiyama, et al., 2015); evaluación participativa basada en la
población (Liu & Gomide, 2015); ajuste lateral con representación de 2-tuplas de la
base de datos para Big Data (Fernández, et al., 2016); o extracción de reglas mediante el
“análisis formal de concepto” (formal concept analysis) del algoritmo FCA-BASED
(Cintra, et al., 2016).
La optimización con enjambres de partículas, por otro lado, surge de la observación del
comportamiento social de las bandadas de pájaros o los bancos de peces, iniciada por R.
Eberhart y J. Kennedy en 1995 (Eberhart & Kennedy, 1995) (Kennedy & Eberhart,
1995). En su origen, el objetivo era simular gráficamente la coreografía de estas
especies, sin embargo, se descubrió como un modelo válido como optimizador. El
desarrollo de la optimización con enjambres de partículas continúa, y en los últimos
años, se han llevado a cabo numerosas investigaciones sobre la técnica y se ha aplicado
31
con éxito en diferentes áreas, demostrando ser capaz de obtener mejores resultados de
forma más rápida y con menor coste en comparación con otras estrategias (Biswas &
Biswas, 2015).
32
Inercia Memoria individual Memoria colectiva
v(t + 1) = φ1·v(t) + φ2·r(0, a1) · (xmejorI(t) – x(t)) + φ3·r(0, a2) · (xmejorG(t) – x(t))
33
2.3.1 Optimización mediante enjambres de partículas en lógica borrosa
En el caso concreto de los sistemas basados en reglas borrosas, puede integrarse la PSO
de distintas maneras con el objetivo de diseñarlos o mejorarlos. En general, los enfoques
más intuitivos y comunes, en función de qué elementos constituyan las coordenadas de
posición de la partícula que se modificarán al desplazarse, son los siguientes:
Cada partícula representa una base de reglas: las cláusulas de los antecedentes,
los consecuentes y los conectores son las coordenadas.
Los parámetros de las funciones de pertenencia son las coordenadas de las
partículas.
Ambas bases de reglas y funciones de pertenencia componen la posición de cada
partícula.
Se consideran como coordenadas a los parámetros del proceso de inferencia, es
decir, las funciones y operadores aplicados, o en combinación con alguna de las
anteriores.
34
especialmente las de computación evolutiva, como: en la optimización de la base de
reglas de un método k-means (Muhammad, et al., 2009), con algoritmos genéticos como
el algoritmo EPSO (Ganeshkumar, et al., 2013) y otros (Marinakis & Marinaki, 2010)
(Niu, et al., 2008) (Martínez-Soto, et al., 2015), con optimización con colonias de
hormigas (Castillo, 2015), o para el aprendizaje de redes de neuronas (Gaxiola, et al.,
2016).
Otras perspectivas desde la que se puede combinar PSO o algoritmos genéticos con
sistemas basados en reglas borrosas, que no se detallarán en este trabajo al alejarse del
objetivo del mismo, pueden ser: utilizando un sistema basado en reglas borrosas para
ajustar los parámetros de un algoritmo de PSO (Olivas, et al., 2016), o aplicando lógica
borrosa para integrar los resultados obtenidos por PSO y algoritmo genético (Valdez, et
al., 2011).
Además, de igual modo que sucede con los algoritmos genéticos, es posible la
adaptación multiobjetivo de la optimización con enjambres de partículas (Coello, et al.,
2004) (Wang & Yang, 2009) (Goh, et al., 2010), activándose, como respuesta, la
investigación de versiones multiobjetivo de PSO para el diseño, a su vez, de sistemas
multiobjetivo borrosos (Rao & Sivasubramanian, 2008) (Zhang, et al., 2011) (Park, et
al., 2012).
35
software genérico como código fuente, librerías, herramientas y paquetes, que está
desarrollados con dos finalidades (Fernández, et al., 2015): habilitar la comparación de
propuestas nuevas frente al estado del arte, y analizar y llevar a cabo una
experimentación completa para determinar la solución más adecuada para un problema
dado. Entre estos tipos de software disponibles, se encuentran KEEL y dos paquetes de
software que incluyen técnicas bio-inspiradas: KEEL y frbs.
El paquete de software frbs (Septem Riza, et al., 2014) (Septem Riza, et al., 2015), está
implementado en el lenguaje R, también es gratuito, y proporciona varios métodos de
aprendizaje para la construcción de sistemas basados en reglas borrosas en el marco de
problemas de regresión y clasificación. Permite al usuario trabajar con diversos tipos de
representaciones e incluye algunos algoritmos evolutivos de los que contiene el paquete
de software KEEL.
36