Tema 10: Gestión de la incertidumbre e imprecisión en sistemas expertos PDF

Summary

Este documento es un tema sobre técnicas de inteligencia artificial (IA). Se centra en la gestión de la incertidumbre e imprecisión en sistemas expertos. Incluye explicaciones, ejemplos, y conceptos relacionados con la lógica difusa y el razonamiento bayesiano. El texto está organizado en secciones con subtítulos claros, ideal para estudiantes de postgrado.

Full Transcript

Tema 10 Técnicas de Inteligencia Artificial Gestión de la incertidumbre e imprecisión en sistemas expertos Índice Esquema...

Tema 10 Técnicas de Inteligencia Artificial Gestión de la incertidumbre e imprecisión en sistemas expertos Índice Esquema 3 Ideas clave 4 10.1. ¿Cómo estudiar este tema? 4 10.2. Introducción 4 10.3. Razonamiento bayesiano 7 10.4. Factores de certeza 13 © Universidad Internacional de La Rioja (UNIR) 10.5. Lógica difusa 17 10.6. Inferencia difusa 26 10.7. Aplicaciones y ejemplos de implementación 35 10.8. Referencias bibliográficas 43 A fondo 45 Test 49 Esquema © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 3 Tema 10. Esquema Ideas clave 10.1. ¿Cómo estudiar este tema? Para estudiar este tema deberás leer las Ideas clave que se presentan a continuación. Puedes completar el estudio visualizando la lección magistral y revisando los recursos adicionales que se facilitan. Al finalizar el estudio de este tema el alumno será capaz de:  Describir mecanismos que modelan hechos imprecisos e inciertos.  Entender los conceptos básicos del razonamiento bayesiano.  Entender los conceptos básicos de la lógica difusa.  Aplicar estos mecanismos en el desarrollo de un sistema experto sencillo. 10.2. Introducción En muchas ocasiones se han de resolver problemas a partir de datos cuya certeza no se puede asegurar. Aun así, muchos expertos son capaces de manejar las incertidumbres sobre ciertos hechos y llegar a conclusiones válidas que solucionan un problema. De la misma manera, un sistema experto puede trabajar con hechos inciertos, imprecisos o incompletos. © Universidad Internacional de La Rioja (UNIR) La creencia de un hecho se puede expresar de diversas maneras. A continuación, se muestran dos tipos de proposiciones que permiten expresar incertidumbre e imprecisión, respectivamente: Técnicas de Inteligencia Artificial 4 Tema 10. Ideas clave Proposición incierta Proposición imprecisa Aquella en la que se emplea una variable Cuando no se puede determinar la verdad de la que no se conoce su valor o no se o falsedad de un hecho. puede determinar con precisión. Ejemplos: es posible que hoy vaya al cine, Ejemplos: alguien tiene mucha fiebre, el se comenta que mañana no habrá clase... cielo está muy oscuro... Es posible también combinar los dos tipos de proposiciones, dotando de incertidumbre e imprecisión al hecho. Por ejemplo: creo que hoy llueve mucho. ¿Qué mecanismos nos permiten modelar cada tipo de proposición en un sistema experto? Se pueden emplear diferentes mecanismos que se enumeran a continuación y se explican a lo largo de este tema: Hecho incierto Hecho impreciso Factores de Enfoque probabilístico: Lógica difusa certeza inferencia bayesiana (también denominada lógica borrosa) Asignando unos grados de certeza (CF) a reglas y hechos y realizando inferencias con estos grados de certeza se puede modelar la incertidumbre. También las teorías estadísticas permiten modelar incertidumbre. Por otra parte, la imprecisión se puede modelar empleando variables difusas en los antecedentes y consecuentes de las reglas, tal y como se explicará posteriormente. ¿A qué puede ser debida la existencia de hechos inciertos o imprecisos? © Universidad Internacional de La Rioja (UNIR) En un sistema basado en conocimiento la base de conocimiento, la base de hechos y, en definitiva, los datos y reglas con los que se trabaja en la memoria de trabajo pueden no ser perfectos debido a diferentes causas: Técnicas de Inteligencia Artificial 5 Tema 10. Ideas clave 1. Información:  Incompleta o desconocida (por ejemplo, falta de análisis en medicina, falta de variables de campo en sistemas de control).  Poco confiable (por ejemplo, medidores poco confiables, instrumentos imprecisos, análisis poco confiables).  Ruido, distorsión (por ejemplo, ruido o distorsión en sistemas de visión, de reconocimiento de voz, de comunicaciones). 2. Conocimiento:  Impreciso. El experto de dominio a menudo no puede más que aportar asociaciones vagas de hechos (por ejemplo, si tiene dolor de cabeza posiblemente tiene gripe). Además, el lenguaje por naturaleza es impreciso y vago (por ejemplo, se utiliza con frecuencia términos como «frecuente», «a veces», «a menudo», etc., tal y como se puede comprobar precisamente en el texto de este tema).  Contradictorio. Se puede dar el caso de que se den proposiciones opuestas proporcionadas por dos expertos de dominio distintos (por ejemplo, si tiene dolor de cabeza es probable que tenga gripe, pero también es posible que no tenga gripe, opiniones encontradas de diferentes expertos). Es habitual que trabajen varios expertos de dominio en la creación de un sistema experto grande y complejo, combinando su conocimiento y permitiendo enriquecer el sistema, pero con el riesgo de encontrar conclusiones contradictorias, ya que frecuentemente los expertos no opinan de la misma manera ante unos hechos y llegan a diferentes © Universidad Internacional de La Rioja (UNIR) conclusiones. Dado que el conocimiento es incierto y vago, y los datos son incompletos y ruidosos, en muchos problemas del mundo real, un sistema experto ha de ser capaz de manejar este conocimiento y estos datos. Técnicas de Inteligencia Artificial 6 Tema 10. Ideas clave En este tema se explican primeramente dos métodos populares para manejar la incertidumbre: razonamiento bayesiano y los factores de certeza. Tras ello, se describirá la lógica difusa, que permite trabajar con la imprecisión en los hechos expresados en antecedentes y consecuentes. 10.3. Razonamiento bayesiano En muchos sistemas de resolución de problemas un objetivo importante consiste en reunir evidencias sobre la evolución del sistema y modificar su comportamiento sobre la base de las mismas. Para modelar este comportamiento se puede utilizar el razonamiento bayesiano. El concepto fundamental empleado en este razonamiento es el de la probabilidad condicionada de una hipótesis H, dado que se observa la evidencia E. Esta probabilidad viene dada por la siguiente expresión conocida como Teorema de Bayes: La inferencia Bayesiana se aplica mucho en los diagnósticos médicos. Por ejemplo: © Universidad Internacional de La Rioja (UNIR) Para calcular la probabilidad condicionada es necesario tener en cuenta la probabilidad previa de H (la probabilidad que se le asignaría a H si no existe evidencia) y la parte en la que E proporciona evidencia de H. Para lograrlo, se define un conjunto Técnicas de Inteligencia Artificial 7 Tema 10. Ideas clave exhaustivo de evidencias mutuamente exclusivas E1, E2, …, En, tal que ∑𝑛𝑛𝑖𝑖=1 𝑃𝑃(𝐸𝐸𝑖𝑖 ) = 1, que permite obtener la fórmula siguiente (en el caso particular de dos evidencias mutuamente excluyentes), base del manejo de la incertidumbre en sistemas expertos: Para ilustrar cómo se puede utilizar este razonamiento se considera el siguiente ejemplo, donde se quiere analizar la situación económica de una determinada persona: 1. Hipótesis:  Sistema económico solvente: 𝑃𝑃(𝑆𝑆) = 0.7  Insolvencia económica: 𝑃𝑃(𝑆𝑆̅) = 0.3 2. Factores de interés:  Vivienda en propiedad: 𝑃𝑃 (𝑉𝑉|𝑆𝑆) = 0.5 𝑃𝑃 (𝑉𝑉|𝑆𝑆̅) = 0.1  Ingresos altos: 𝑃𝑃 (𝐼𝐼|𝑆𝑆) = 0.7 𝑃𝑃 (𝐼𝐼|𝑆𝑆̅) = 0.2 © Universidad Internacional de La Rioja (UNIR) Si se quiere saber si es solvente una persona sin vivienda, aplicando la expresión (2) se obtiene: Técnicas de Inteligencia Artificial 8 Tema 10. Ideas clave Si se quiere conocer si es solvente una persona con altos ingresos, aplicando la expresión (2) se obtiene: En este segundo caso se puede llegar a la conclusión más clara de que una persona con altos ingresos es muy probablemente solvente. Sin embargo, la vivienda en propiedad no es un factor que indique claramente la solvencia. Se puede generalizar la expresión en la ecuación (2) obteniendo la ecuación (3), teniendo en cuenta no solo múltiples evidencias mutuamente exclusivas y exhaustivas, sino también múltiples hipótesis H1, H2,…Hm, mutuamente exclusivas y exhaustivas, tal que ∑𝑚𝑚 𝑖𝑖=1 𝑃𝑃(𝐻𝐻𝑖𝑖 ) = 1, y teniendo en cuenta que se asume independencia condicional entre las distintas evidencias (con el fin de evitar la alta e inmanejable computación que requeriría calcular probabilidades condicionales de todas las posibles combinaciones de evidencias para todas las hipótesis). © Universidad Internacional de La Rioja (UNIR)  El problema de adquisición de conocimiento puede resultar inabarcable, ya que es necesario conocer demasiadas probabilidades. Técnicas de Inteligencia Artificial 9 Tema 10. Ideas clave  Durante los cálculos computacionales, el espacio necesario para almacenar todas las probabilidades, así como el tiempo necesario para calcular las probabilidades, pueden resultar demasiado grandes. A pesar de todos estos problemas, las estadísticas bayesianas proporcionan una base atractiva para los sistemas que trabajan bajo incertidumbre. Cuando se dispone de datos estadísticos fiables, el método bayesiano puede ser muy adecuado, pero se debe remarcar que, en el caso de grandes bases de conocimiento, podría resultar impráctico por el alto coste computacional. Por este motivo y especialmente por el hecho la carencia de los datos necesarios para el cálculo de probabilidades, se proponen otros métodos de cálculos más sencillos como el que se expone en el siguiente apartado. Naïve Bayes Una de las aplicaciones más conocidas del razonamiento bayesiano son los clasificadores probabilísticos conocidos como naïve Bayes (Murphy et al., 2006). Estos clasificadores facilitan predicciones probabilísticas, ya que, mediante el conocimiento previo que tienen, determinan la probabilidad de una hipótesis. En este sentido, utilizando naïve Bayes podrán clasificarse nuevas instancias mediante la combinación de probabilidades de distintas hipótesis. La suposición que emplean los clasificadores naïve es que los atributos de entrada son independientes entre sí con respecto a la clase. Esta simplificación podría indicar que no se obtendrán buenos resultados pues, en muchas ocasiones, la independencia de los atributos de entrada con respecto a la clase no es cierta. Sin embargo, su © Universidad Internacional de La Rioja (UNIR) aplicación da buenos resultados cuando se dispone de conjuntos de entrenamiento de tamaño medio o grande y, obviamente, cuando los atributos que describen los ejemplos son fuertemente independientes entre sí respecto a la clase. Algunos ejemplos de aplicación exitosa son los problemas de diagnóstico o la clasificación de documentos. Técnicas de Inteligencia Artificial 10 Tema 10. Ideas clave De forma más concreta, con un clasificador naïve Bayes se desea calcular la probabilidad a posteriori de una clase, para cada valor de los atributos de entrada elegidos. Si disponemos un conjunto de ejemplos E, cada uno de ellos con un número n de atributos (a1, …, an) y un número k de clases (c1, …, ck), la probabilidad de que para un determinado valor de los atributos se cumpla una clase j vendría dada por la siguiente expresión: Aplicando la suposición de independencia de naïve Bayes: Y, la aproximación del clasificador naïve Bayes vendría determinada por la expresión (6): Tomando como ejemplo el problema «Jugar al aire libre» de Quinlan (1986), pueden estimarse las probabilidades de jugar o no para cada uno de los atributos (ver Tabla 1): P(Sí) = 9/14 = 0.64 P(No) = 5/14 = 0.36 P(Ambiente = Soleado | Jugar = Sí) = 2/9 = 0.22 © Universidad Internacional de La Rioja (UNIR) P(Ambiente = Soleado | Jugar = No) = 3/5 = 0.6 P(Humedad = Alta | Jugar = No) = 4/5 = 0.8 … Técnicas de Inteligencia Artificial 11 Tema 10. Ideas clave Entonces, si se quisiera clasificar la siguiente instancia: Ei = {Ambiente = Soleado, Temperatura = Media, Humedad = Alta, Viento = Verdadero} Se calculan las probabilidades a posteriori:  P(Jugar = Sí) P(Ambiente = Soleado | Jugar = Sí) P(Temperatura = Media | Jugar = Sí) P(Humedad = Alta | Jugar = Sí) P(Viento = Verdadero | Jugar = Sí) = 0.0067 (0.14).  P(Jugar = No) P(Ambiente = Soleado | Jugar = No) P(Temperatura = Media | Jugar = Sí) P(Humedad = Alta | Jugar = No) P(Viento = Verdadero | Jugar = No) = 0.041 (0.86). Y, como resultado, el clasificador devuelve que la clasificación con mayor probabilidad a posteriori es No jugar. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 12 Tema 10. Ideas clave Tabla 1. Instancias con sus valores de atributos y clases del problema «Jugar al aire libre». 10.4. Factores de certeza El uso de factores de certeza es una alternativa al razonamiento bayesiano. El primer sistema que utilizó estos factores fue el sistema experto MYCIN (Shortliffe & Buchanan, 1975), escrito en LISP, y que permitía diagnosticar infecciones de sangre y meningitis. Dado que no había datos estadísticos fiables sobre el problema, los creadores de MYCIN utilizaron un factor de certeza para indicar la confianza o certeza del experto humano. El factor de certeza puede tener un valor entre -1 y +1. -1 indica falsedad total mientras que el valor +1 indica certeza total. © Universidad Internacional de La Rioja (UNIR) Un valor positivo indica cierto grado de creencia en la expresión mientras que un valor negativo indica cierto grado de incredulidad respecto a la veracidad de la expresión. Técnicas de Inteligencia Artificial 13 Tema 10. Ideas clave Si se emplean factores de certeza, las reglas en la base de conocimiento irán acompañadas de este factor, que indica el grado de certeza de que se dé el hecho expresado en el consecuente o hipótesis, dado el hecho expresado en el antecedente o evidencia. Cuando se trabaja con factores de certeza se pueden encontrar reglas como la que sigue: SI ‘vivienda en propiedad’ ENTONCES ‘sistema económico es solvente’ {cf 0.6} ‘sistema económico es insolvente’ {cf 0.2} Entre paréntesis, junto a cada consecuente, se representa el factor de certeza precedido de las siglas cf (certainty factor). Ese valor, por tanto, representa la creencia en que se dé la hipótesis, dada la evidencia. En el ejemplo, dada la evidencia ‘vivienda en propiedad’, se tiene una mayor certeza (0.6) de que el sistema económico sea solvente a que sea insolvente (0.2). No es imprescindible que ambos factores de certeza sumen 1, como se refleja en el ejemplo. Puede existir un factor 0.2 que se podría asignar a otro hecho como un término medio entre solvente e insolvente, u otro valor no observado. ¿Cómo se propagan los factores de certeza en el encadenamiento de reglas? Puede suceder que el propio antecedente de la regla sea incierto y tenga asignado un factor de certeza y este factor se ha de propagar a lo largo de la cadena de reglas. © Universidad Internacional de La Rioja (UNIR) El factor de certeza para una regla con un único antecedente se puede calcular simplemente multiplicando el factor de certeza del antecedente (la evidencia E) por el factor de certeza de la regla cuyo consecuente es H mediante la siguiente fórmula: Técnicas de Inteligencia Artificial 14 Tema 10. Ideas clave Si en el anterior ejemplo, el factor de certeza de que la ‘vivienda en propiedad’ es 0.6, entonces se tienen los siguientes factores de certeza para cada una de las hipótesis: Siendo H1 la hipótesis ‘sistema económico es solvente’ y H2, la hipótesis ‘sistema económico es insolvente’. En el caso de que existan múltiples antecedentes, el factor de certeza se propaga de diferente manera según las evidencias o antecedentes sean una conjunción (AND) o disyunción (OR). En el caso de que sea una regla conjuntiva del tipo: SI E1 AND E2 AND E3 … AND En ENTONCES H1 {cf} El factor de certeza del consecuente, la hipótesis, se calcula de la siguiente manera: © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 15 Tema 10. Ideas clave Para el siguiente ejemplo: SI ‘vivienda en propiedad’ AND ‘ingresos altos’ ENTONCES ‘sistema económico es solvente’ {cf 0.6} Si el factor de certeza del hecho ‘vivienda en propiedad’ es 0.7 y el factor de certeza del hecho ‘ingresos altos’ es 0.4, entonces el factor de certeza del consecuente se calcula de la siguiente manera: En el caso de que se tenga una regla disyuntiva del tipo: SI E1 OR E2 OR E3... OR En ENTONCES H1 {cf} El factor de certeza del consecuente, la hipótesis, se calcula de la siguiente manera: Para el siguiente ejemplo: SI ‘vivienda en propiedad’ © Universidad Internacional de La Rioja (UNIR) OR ‘ingresos altos’ ENTONCES ‘sistema económico es solvente’ {cf 0.6} Técnicas de Inteligencia Artificial 16 Tema 10. Ideas clave Si el factor de certeza del hecho ‘vivienda en propiedad’ es 0.7 y el factor de certeza del hecho ‘ingresos altos’ es 0.4, entonces el factor de certeza del consecuente se calcula de la siguiente manera: Los factores de certeza y su propagación a lo largo de las reglas encadenadas, aunque no tienen gran base matemática como el razonamiento bayesiano, son muy prácticos en algunos problemas produciendo buenos resultados con menos coste computacional. Además, los métodos estadísticos requieren el conocimiento de gran cantidad de datos. 10.5. Lógica difusa Lógica difusa Es una familia de teorías y técnicas basadas en el concepto de conjuntos difusos, también denominados conjuntos borrosos. Mientras que la teoría de conjuntos tradicional define «ser miembro de un conjunto» como un predicado booleano, la teoría de conjuntos difusos permite representar el «ser miembro de un conjunto» como una distribución de posibilidades. El padre de la lógica difusa es Zadeh (1965), el cual afirma que «a medida que la complejidad de un problema aumenta, disminuye la posibilidad de analizarlo en términos precisos». Es decir, a medida que el problema es más complejo, es más © Universidad Internacional de La Rioja (UNIR) difícil construir métodos cuantitativos. Técnicas de Inteligencia Artificial 17 Tema 10. Ideas clave La lógica difusa es una extensión de la lógica tradicional, la cual resulta natural y útil, porque las personas normalmente razonamos bien con términos imprecisos. Al perder el enfoque booleano, se cubren más aspectos con una regla y se razona de forma sencilla pero más potente. La lógica difusa ha sido aplicada en áreas tan diversas como control, medicina, biología, ecología, economía o política. En la ingeniería de control se aplicó por primera vez en 1974 (Mamdani y su grupo del Queen Mary College en el Reino Unido lo aplicaron para el control de una máquina de vapor). Los sistemas basados en lógica difusa pueden controlar más adecuadamente procesos que estén gobernados por reglas intuitivas que difícilmente pueden expresarse matemáticamente. La gran potencia de esta metodología programable se debe a la posibilidad de expresar operaciones y controlar las reglas del sistema mediante palabras de uso cotidiano. Por ejemplo, en un sistema de control de un ascensor, podría programarse: SI está cerca de un piso AND hay orden de parar ENTONCES disminuir la velocidad En este caso una entrada al sistema de control sería la posición del ascensor y, como «cerca» es un conjunto difuso (concepto que se explicará a continuación), el valor de verdad de la premisa y, por tanto, el de la velocidad, varían de acuerdo con dicha posición. La forma de expresar las reglas de operación mediante palabras permite controlar © Universidad Internacional de La Rioja (UNIR) procesos sencillos con una decena de reglas y procesos complejos con 30 o 40, reduciendo considerablemente la cantidad de código de programación y, por tanto, el tiempo de diseño, el tiempo de desarrollo de un prototipo, la carga computacional y de memoria, etc. Técnicas de Inteligencia Artificial 18 Tema 10. Ideas clave Otra ventaja del control difuso es la fácil modificación del funcionamiento del sistema, que puede llevarse a cabo cambiando algunas premisas y operaciones, o añadiendo reglas (el criterio de comportamiento del sistema va implícito en las reglas). Sin embargo, en un sistema convencional, un pequeño cambio puede requerir la derivación completa de nuevas ecuaciones. El control difuso no necesita de una etapa previa de obtención del modelo matemático del proceso. Conjuntos difusos En lógica tradicional la pertenencia a un conjunto es binaria (pertenece o no pertenece). La lógica difusa extiende el concepto de pertenencia asignando una probabilidad de pertenencia (ver Figura 1). Figura 1. Pertenencia a un conjunto en lógica tradicional (gráfico de la izquierda) y en lógica difusa (gráfico de la derecha). Se muestran a continuación ejemplos para ilustrar las diferentes lógicas. Primero se considera el conjunto X de los números reales entre 0 y 10, que se llamará conjunto universal. Después, se define un subconjunto A de X de todos los números reales que están en el rango entre 5 y 8. © Universidad Internacional de La Rioja (UNIR) A = [5, 8] Técnicas de Inteligencia Artificial 19 Tema 10. Ideas clave La función característica del conjunto A asigna un número, 1 o 0 para cada elemento en X, y el valor depende de si el elemento pertenece al subconjunto de A o no. Este resultado se muestra en la Figura 2: Figura 2. Ejemplo de pertenencia a un conjunto en lógica tradicional. Los elementos del conjunto A tienen asignados el valor de 1 porque pertenecen a ese conjunto y cada elemento que tiene asignado el número 0 es un elemento que no está en el conjunto A. Este concepto es suficiente para aplicaciones en muchas áreas. Pero se necesita buscar solución a situaciones donde se requiere flexibilidad. Para ilustrar cómo modelar esta flexibilidad se considera el siguiente ejemplo que consiste en describir a la gente de peso saludable. Formalmente se puede denotar así: A = {Conjunto de personas de peso normal} Entonces, en general, se toma como límite inferior las personas con Índice de Masa Corporal (IMC) igual a 18.5 mientras que como límite superior se utiliza un IMC igual © Universidad Internacional de La Rioja (UNIR) a 25. Entonces el conjunto A se define como un intervalo abrupto (Ver Figura3): A = [18.5, 25] Técnicas de Inteligencia Artificial 20 Tema 10. Ideas clave Figura 3. Representación del conjunto abrupto «personas de peso normal». Surge ante esta representación la pregunta siguiente: ¿Una persona con IMC igual a 25 tiene un peso normal mientras que una persona con IMC igual a 25.1 tiene sobrepeso? Si se utilizan conjuntos abruptos un sistema sí asignaría de esa manera los pesos, mientras que si se definen conjuntos difusos se puede definir un grado de peso y un grado de sobrepeso para las personas cuyo IMC está cerca del límite establecido. Figura 4. Representación del conjunto difuso «personas de peso normal». © Universidad Internacional de La Rioja (UNIR) Tal y como se muestra en la Figura 4, hay valores de IMC a los que se les asigna un valor de la función entre 0 y 1, que indica el grado de pertenencia de cada elemento al conjunto A. Si está en 1 significa que el elemento pertenece al conjunto A totalmente y si está en 0 significa que el elemento no pertenece al conjunto A. Para Técnicas de Inteligencia Artificial 21 Tema 10. Ideas clave concretar en este ejemplo, si la persona tiene un IMC igual a 25.1 se le considera una pertenencia del 92% al conjunto de personas de peso normal. La representación del conjunto difuso viene establecida por la función de pertenencia. Función de pertenencia (µ): Función que define el conjunto difuso A en el universo U. Para un valor x del universo U, la función de pertenencia µA(x) indica el grado de pertenencia de x al conjunto A, pudiendo ser este grado un valor entre 0 y 1 inclusive. Esto se denota como: 𝜇𝜇 ∶ 𝑈𝑈 → [0,1] A µ también se le conoce como el valor de verdad porque representa el grado en que una proposición es verdadera. Variables lingüísticas Una variable lingüística es una variable cuyos valores son términos lingüísticos y se define como un quinteto (X, T(X), U, G, M), donde:  X: Nombre de la variable  T(x): Conjunto de valores lingüísticos (atributos, adjetivos) de x.  U: Universo de discurso (rango de posibles valores de la variable x). © Universidad Internacional de La Rioja (UNIR)  G: Regla sintáctica para generar los valores lingüísticos de x. Técnicas de Inteligencia Artificial 22 Tema 10. Ideas clave  M: Regla semántica para asociar a cada término lingüístico su significado que es un conjunto difuso en U. Cada conjunto difuso por tanto representa un valor lingüístico de la correspondiente variable lingüística. Por ejemplo (ver Figura 5): X= T = Temperatura T(x)= {baja, muy baja, moderadamente alta,...} U= [100º C, 500º C] G: el término lingüístico «baja» se utiliza para los valores de T por debajo de 10ºC M: el conjunto difuso representando el valor «moderado» se define para una temperatura alrededor de 250º C con una función de pertenecía µmoderado. Figura 5. Variable lingüística temperatura. © Universidad Internacional de La Rioja (UNIR) A los conjuntos difusos se les puede aplicar unos modificadores lingüísticos (hedge), que son funciones matemáticas que modelan un adverbio lingüístico, modificando la forma de los conjuntos difusos. Se utilizan para cuantificar las etiquetas de una variable lingüística: muy, algo, bastante, poco, etc. Técnicas de Inteligencia Artificial 23 Tema 10. Ideas clave Existen definiciones de modificadores lingüísticos comúnmente utilizadas como por ejemplo las mostradas en la Figura 6. Figura 6. Modificadores lingüísticos «muy» y «más o menos». Como se puede observar en la Figura 6 el modificador «muy» reduce el grado de pertenencia al conjunto modificado. Así, si la función está representando la altura y a un hombre le corresponde un grado de pertenencia de 0.9 al conjunto de «personas altas», le correspondería un grado de pertenencia de 0.92=0.81 al conjunto de «personas muy altas». Por el contrario, como se puede observar en la Figura 6, el modificador «más o menos», realiza una operación de expansión, relajando la condición de pertenencia al conjunto y, por tanto, se aumenta el grado de pertenencia de los elementos al conjunto. Si este operador es aplicado al ejemplo de la altura previo, el hombre tiene una pertenencia al conjunto de «personas más o menos altas» de 0.94. Reglas difusas © Universidad Internacional de La Rioja (UNIR) Las variables lingüísticas se utilizan en reglas difusas. Una regla difusa consiste en una expresión: SI x es a ENTONCES y es b Técnicas de Inteligencia Artificial 24 Tema 10. Ideas clave Donde x e y son variables lingüísticas y a y b son valores lingüísticos que vienen determinados por conjuntos difusos definidos en el universo de discurso de las variables x e y, respectivamente. SI temperatura es alta ENTONCES riesgo de avería es moderado El rango de la variable temperatura (el universo de discurso) está establecido entre 100 y 500º C. En la regla se especifica el valor lingüístico «alta» correspondiente a uno de los conjuntos difusos definidos mediante funciones de pertenencia a lo largo de ese universo de discurso. Otros conjuntos difusos corresponderán a los valores «baja», «moderadamente alta» o «muy alta», por ejemplo. Igualmente, en el consecuente se encuentra una variable lingüística con un valor lingüístico asociado a un determinado conjunto difuso. A diferencia de las reglas clásicas o no difusas (si no se emplean mecanismos tales como factores de certeza), en que si el antecedente se cumple entonces el consecuente se cumple y se considera totalmente cierto, en las reglas difusas el antecedente se cumple parcialmente y este grado de veracidad se propaga al consecuente y, por tanto, el consecuente también será parcialmente veraz en un grado análogo. Tanto antecedentes como consecuentes de las reglas difusas pueden tener múltiples condiciones. En el caso de los antecedentes se han de aplicar operadores para generar un valor que afectará por igual a todos los consecuentes. Estos operadores son denominados métodos de implicación y se describen en el siguiente apartado. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 25 Tema 10. Ideas clave 10.6. Inferencia difusa En un sistema de control difuso lo primero que hay que hacer es determinar los conjuntos difusos que describen el problema para después, establecer la base de reglas del sistema. Posteriormente, con estas reglas y a partir de los conjuntos difusos de las variables de entrada, se infieren los conjuntos difusos de las variables de salida; asimismo, luego estos deben combinarse de alguna forma para, en último lugar, obtener conclusiones precisas. Hay variaciones en esta aproximación, pero en esencia, un sistema difuso está compuesto por los elementos que se muestran en la Figura 7 y se explican a continuación. preciso Salida Decodificación Base de difuso Conocimiento Inferencia Dispositivo Reglas lógica físico Conjunto difuso Difuso Codificación Entrada preciso Figura 7. Sistema de control difuso básico. Codificación (fuzzification) © Universidad Internacional de La Rioja (UNIR) En esta etapa se toman las variables de entrada al sistema de tipo abrupto o preciso y se les asigna un valor de pertenencia a los distintos conjuntos difusos definidos en el universo de cada variable de entrada. Técnicas de Inteligencia Artificial 26 Tema 10. Ideas clave Implicación y composición El siguiente paso es interpretar las operaciones SI-ENTONCES de las proposiciones difusas. Por lo tanto, una vez definida la base de reglas se debe establecer la estrategia de implicación y el método de composición del sistema de control difuso. Los métodos de implicación calculan el grado de verdad de las premisas de las reglas y lo aplican a la conclusión, dando como resultado un subconjunto difuso asignado a cada una de las variables de salida. Normalmente, cuando en el antecedente se aplica el operador AND (intersección) se suele utilizar uno de los dos métodos de implicación descritos a continuación (Fuzzy Logic Toolbox Documentation— MathWorks España)  MIN: calcula el mínimo de la función de pertenencia de los datos de entrada para cada uno de los antecedentes. Gráficamente, la función de pertenencia de la salida quedará truncada a la altura del grado de verdad de la premisa de la regla.  PRODUCT: calcula el producto de la función de pertenencia de los datos de entrada para cada uno de los antecedentes. Gráficamente, la función de pertenencia de la salida quedará escalada a la altura del grado de verdad de la premisa de la regla. Aunque el método MIN es el más comúnmente utilizado, el método PRODUCT, o de escalado, pierde menos información al mantener la forma de la función de pertenencia de salida. Sin embargo, el método MIN se suele preferir porque supone menos coste de cálculo (Negnevitsky, 2011). © Universidad Internacional de La Rioja (UNIR) En el caso de que se aplique el operador OR correspondiente a la operación lógica de unión se utilizan por ejemplo los siguientes dos métodos de implicación:  MAX: calcula el máximo de la función de pertenencia de los datos de entrada para cada uno de los antecedentes. Técnicas de Inteligencia Artificial 27 Tema 10. Ideas clave  PROBOR (probabilistic OR): calcula la siguiente operación sobre las funciones de pertenencia: Una vez evaluadas todas las reglas activas en un momento dado y obtenidos los conjuntos de salida modificados, es necesario combinar todos los subconjuntos difusos asignados a cada variable de salida en un único subconjunto difuso. Para ello, se puede aplicar uno de los siguientes métodos de composición o agregación (MathWorks, 2000):  MAX: obtiene como conjunto de salida el valor máximo de los conjuntos de cada una de las reglas.  SUM: toma como conjunto de salida la suma de los conjuntos de cada una de las reglas. Por lo tanto, este método de composición presenta el problema de que puede dar lugar a valores mayores que 1. Para evitar esto, se puede usar la suma limitada (bounded sum) que toma el mínimo entre el resultado del método SUM y el número 1 (Lowen, 1995). En la práctica el método más común de implicación/composición es el método min-max. En cualquier caso, mientras que de otros componentes sí que existen aproximaciones y sus propiedades teóricas son bien conocidas, en la literatura hay poca información sobre cómo se debe elegir el método de composición más adecuado a la hora de desarrollar un sistema difuso. © Universidad Internacional de La Rioja (UNIR) Se ilustra con un ejemplo cómo se realiza la inferencia en un sistema experto difuso en el que se han determinado los conjuntos difusos mostrados en la Figura 8 y se han definido las siguientes reglas: Técnicas de Inteligencia Artificial 28 Tema 10. Ideas clave REGLA 1: SI x es A ENTONCES z es J REGLA 2: SI x es A AND y es D ENTONCES z es K REGLA 3: SI x es B OR y es E ENTONCES z es L Se supone que los valores de entrada x e y toman los valores discretos: En la Figura 8 se muestra el resultado de asignar a estas dos variables unos valores de pertenencia a los diversos conjuntos difusos determinados para el problema. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 29 Tema 10. Ideas clave Figura 8. Funciones de pertenencia a los conjuntos difusos definidos en el universo de las variables x e y del ejemplo. A continuación, se aplican los operadores de implicación que propagan al consecuente el grado de verdad del antecedente. La regla 1 es la más sencilla ya que únicamente tiene un antecedente cuya veracidad directamente se propaga al consecuente como se muestra en la Figura 9. REGLA 1: SI x es A (0.42) ENTONCES z es J (0.42) © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 30 Tema 10. Ideas clave Figura 9. Evaluación de la regla 1. En el caso de las reglas 2 y 3, dado que tienen dos antecedentes, se ha de aplicar un operador relativo a las operaciones AND y OR para obtener un valor que se propaga al consecuente. En la regla 2 se aplica el método MIN para el operador AND (Figura 10), mientras que en la regla 3 se aplica el método MAX para el operador OR (figura 11). REGLA 2: SI x es A (0.42) AND y es D (0.18) ENTONCES z es K (0.18) Figura 10. Inferencia de la regla 2. Ejemplo de método de implicación MIN. © Universidad Internacional de La Rioja (UNIR) REGLA 3: SI x es B (0.23) OR y es E (0.52) ENTONCES z es L (0.52) Técnicas de Inteligencia Artificial 31 Tema 10. Ideas clave Figura 11. Inferencia de la regla 3. Ejemplo de método de implicación MAX. La activación de las tres reglas del sistema de ejemplo ha dado lugar a las siguientes conclusiones respecto a z: A continuación, se ha de aplicar el operador de agregación con el fin de unificar la salida en un único conjunto difuso. En la Figura 12 se muestra el resultado de esta operación para el caso de aplicar el método de agregación MAX, que es la zona sombreada en gris tras la aplicación del operador MAX. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 32 Tema 10. Ideas clave Figura 12. Agregación de las conclusiones de las reglas. El paso posterior es la interpretación de ese conjunto difuso resultado de la agregación (marcado en gris en la Figura 12), transformándolo en un valor de la variable de salida z. Decodificación © Universidad Internacional de La Rioja (UNIR) Una vez aplicados los métodos de composición de las reglas, la salida es un conjunto difuso; sin embargo, para poder usar esta información como señal de control, esta tiene que ser un número preciso. Por lo tanto, como último paso, en cualquier sistema de control difuso se debe definir el método de decodificación o defuzzification a emplear. Técnicas de Inteligencia Artificial 33 Tema 10. Ideas clave En la decodificación se pueden utilizar diferentes métodos (Jantzen, 1999):  Centroid o centroide: utiliza como salida del sistema, el centro de gravedad de la función de pertenencia de salida, es decir, el punto central del área cubierta por la función de pertenencia. Matemáticamente, se calcula siguiendo la siguiente fórmula: Donde y es la variable de salida y µ(y) es la función de pertenencia de salida.  MOM (Mean of Maximum): elige como salida la media de los máximos. Esto mismo se puede ver de una manera más formal en la siguiente expresión matemática: Donde yn es la coordenada de cada máximo y N es el número de máximos.  SOM (Smallest of Maximum): establece como salida el valor del menor máximo.  LOM (Largest of Maximum): establece como salida el valor de mayor máximo.  En el caso de que solo haya un máximo, MOM, SOM y LOM proporcionarían el mismo resultado. © Universidad Internacional de La Rioja (UNIR)  Bisector: establece como salida el punto donde el conjunto difuso es divido en dos subregiones de igual área. En muchos casos, coincide con el resultado obtenido a través del centroide. Técnicas de Inteligencia Artificial 34 Tema 10. Ideas clave Donde y es la variable de salida, µ(y) es la función de pertenencia de salida, min es el valor más a la izquierda del universo de la variable de salida y max es el valor más a la derecha del universo de la variable de salida. Por último, es importante remarcar que, al igual que la construcción de un sistema experto convencional, la construcción de un sistema difuso es un proceso iterativo que implica definir los conjuntos difusos, las reglas difusas, seleccionar los métodos de implicación, composición, decodificación, evaluar los resultados e ir ajustando el sistema iterativamente hasta conseguir los requisitos especificados. 10.7. Aplicaciones y ejemplos de implementación En este caso vamos a emplear la librería scikit-fuzzy para realizar un ejemplo basado en lógica difusa con Python. Vamos a seguir uno de los tutoriales incluidos en la web de la librería (ver sección A fondo al final del tema). Instalamos el paquete si no lo tuviéramos ya en nuestro sistema: © Universidad Internacional de La Rioja (UNIR) PS C:\Users\xxx> pip install scikit-fuzzy Técnicas de Inteligencia Artificial 35 Tema 10. Ideas clave Vamos a crear un sistema de control basado en lógica difusa que modele cuánta propina daría un cliente en un restaurante. A la hora de dar propina un cliente tiene en cuenta el servicio y la calidad de la comida, digamos que calificados entre 0 y 10. En base a esto, el cliente decide dejar una propina de entre el 0 % y el 25 % (la problemática está planteada desde el punto de vista de países en los cuales la propina conforma una gran parte del sueldo variable del servicio). Formulemos el problema:  Antecedentes (entradas): Servicio Universo: ¿cuán bueno fue el servicio, en una escala del 1 al 10? Conjunto difuso: pobre, aceptable, increíble. Calidad de la comida: Universo: ¿cuán sabrosa estaba la comida, en una escala del 1 al 10? Conjunto difuso: mala, decente, genial.  Consecuentes (salidas): Propina: Universo: ¿de qué porcentaje debería ser la propina en una escala del 0% al 25%? Conjunto difuso: bajo, medio, alto.  Reglas: SI el servicio fue pobre O la calidad de la comida fue pobre, ENTONCES la propina será baja. SI el servicio fue medio, ENTONCES la propina será media. © Universidad Internacional de La Rioja (UNIR) SI el servicio fue bueno O la calidad de la comida fue buena, ENTONCES la propina será alta.  Ejemplo de uso: Si el cliente la dice al sistema: Técnicas de Inteligencia Artificial 36 Tema 10. Ideas clave El servicio fue un 9.8. La calidad fue 6.5. Recomendaría dejar: 20.2 % de propina. Creamos el sistema de control difuso y mostramos mediante gráficas la pertenencia de las diferentes variables (calidad del servicio, calidad de la comida y propina): © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 37 Tema 10. Ideas clave Figura 13. Gráfica de calidad de la comida. Figura 14. Gráfica de calidad del servicio. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 38 Tema 10. Ideas clave Figura 14. Gráfica de la propina. Incluyamos ahora la codificación de las reglas establecidas previamente y visualicemos un grafo de ejemplo para la primera regla, recordemos:  SI el servicio fue pobre O la calidad de la comida fue pobre, ENTONCES la propina será baja. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 39 Tema 10. Ideas clave Finalmente, construimos un sistema de control difuso y hacemos uso de un objeto simulador, para comprobar cuál sería la propina si una cliente valora la calidad de la comida en 6.5 y el servicio en 9.8. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 40 Tema 10. Ideas clave © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 41 Tema 10. Ideas clave Como vemos, el resultado es una propina del 19.84 %, lo cual vemos también gráficamente durante la ejecución del código. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 42 Tema 10. Ideas clave 10.8. Referencias bibliográficas Jantzen, J. (1999). Design Of Fuzzy Controllers. Tech. report no 98-E 864 (design). Technical University of Denmark, Department of Automation. Lowen, R. (1995). Ordering Fuzzy Real Quantities. En Fuzzy Logic and Intelligent Systems, ed. H. Li y M.M. Gupta, 69-83. Massachusetts: Kluwer Academic Publishers. MathWorks. (2020). Fuzzy Logic Toolbox. User's Guide. Murphy, K. P. & others. (2006). Naive bayes classifiers. University of British Columbia, 18, 60. © Universidad Internacional de La Rioja (UNIR) Negnevitsky, M. (2011). Artificial Intelligence. A Guide to Intelligent Systems. UK: Addison-Wesley. Técnicas de Inteligencia Artificial 43 Tema 10. Ideas clave Quinlan, J. R. (1986). Induction of decision trees. Machine Learning, 1(1), 81-106. https://doi.org/10.1007/BF00116251 Shortliffe, E.H. & Buchanan, B.G. (1975). A model of inexact reasoning in medicine. Mathematical Biosciences, 23(3/4), 351-379. Zadeh, L. A. (1965). Fuzzy sets. Information and control, 8(3), 338-353. © Universidad Internacional de La Rioja (UNIR) Técnicas de Inteligencia Artificial 44 Tema 10. Ideas clave A fondo FuzzyCLIPS: introducción práctica En esta lección magistral se realiza una demostración del uso de la herramienta FuzzyCLIPS, se ejecutan algunos comandos básicos y se muestran algunas opciones interesantes del interfaz de la herramienta. Accede a la lección magistral a través del aula virtual CLIPS: guía del usuario CLIPS (C Language Integrated Production System) es una herramienta para el desarrollo de sistemas expertos diseñada por el centro espacial Johnson (NASA) con el objetivo de ser portable, de bajo costo y de fácil integración con otros sistemas. Para facilitar estos objetivos, CLIPS está programado en C y existen versiones de CLIPS enteramente programadas en ADA y en Java. En el siguiente enlace se puede acceder a una guía de fácil lectura y muy práctica sobre las características básicas de CLIPS. Permite de manera rápida aprender a programar un sistema experto sencillo, con ejemplos muy ilustrativos y generales. Está dirigida a usuarios con ninguna o poca © Universidad Internacional de La Rioja (UNIR) experiencia en sistemas expertos. Accede a la guía desde el aula virtual o a través de la siguiente dirección web: http://clipsrules.sourceforge.net/documentation/v630/ug.pdf Técnicas de Inteligencia Artificial 45 Tema 10. A fondo Guía práctica de FuzzyCLIPS Guía práctica que consiste en un resumen de la Guía de Usuario de FuzzyCLIPS incluida en el fichero de descarga de esta herramienta, cuyo autor es Bob Orchard. Permite de manera rápida aprender cómo programar un sistema experto sencillo que maneje incertidumbre o imprecisión, con ejemplos muy ilustrativos y didácticos. Accede a la guía desde el aula virtual o a través de la siguiente dirección web: http://alumni.cs.ucr.edu/~vladimir/cs171/quickfuzzy.pdf Guía del usuario de Fuzzy Logic Toolbox (MATLAB) La herramienta Fuzzy Logic Toolbox proporciona funciones de MATLAB y otras herramientas que permiten analizar, diseñar y simular sistemas basados en lógica difusa. Aunque la guía está destinada a los usuarios de esta herramienta, es muy didáctica y útil para comprender el funcionamiento de sistemas expertos difusos en general. Específicamente, los métodos de implicación o los de composición son descritos de una manera clara y didáctica con ilustraciones. Accede a la guía desde el aula virtual o a través de la siguiente dirección web: http://www.mathworks.com/help/pdf_doc/fuzzy/fuzzy.pdf El primer sistema manejando factores de certeza: MYCIN Shortliffe, E.H. & Buchanan, B.G. (1975). A model of inexact reasoning in medicine. Mathematical Biosciences, 23(3/4), 351-379. © Universidad Internacional de La Rioja (UNIR) Los autores del artículo proponen los factores de certeza para manejar la incertidumbre en el sistema MYCIN. Mediante este sistema se pretendía diagnosticar infecciones de sangre y meningitis. Dado que no había datos estadísticos fiables sobre el problema, los Técnicas de Inteligencia Artificial 46 Tema 10. A fondo creadores de MYCIN utilizaron un factor de certeza para indicar la confianza o certeza del experto humano. Accede al artículo desde el aula virtual o a través de la siguiente dirección web: https://aitopics.org/download/classics:C246A971 Introducción a la lógica difusa El profesor Fernando Sancho Caparrini expone en un artículo muy completo una gran

Use Quizgecko on...
Browser
Browser