Introducción a la Inteligencia Artificial - Sistemas Expertos - Redes Neuronales Artificiales.

Anuncio
CAPÍTULO 1. INTRODUCCIÓN
1.1 INTRODUCCIÓN
Tiempo atrás se pensaba que algunos problemas como la demostración de teoremas, el
reconocimiento de la voz y el de patrones, ciertos juegos (como el ajedrez o las damas), y
sistemas altamente complejos de tipo determinista o estocástico, debían ser resueltos por
personas, dado que su formulación y resolución requieren ciertas habilidades que sólo se
encuentran en los seres humanos (por ejemplo, la habilidad de pensar, observar, memorizar,
aprender, ver, oler, etc.). Sin embargo, trabajos realizados por investigadores procedentes
de varios campos, demostraron que muchos de estos problemas pueden ser formulados y
resueltos por maquinas.
El amplio campo que trata estos problemas se conoce como inteligencia artificial (IA), que
en un principio parecían imposibles, intratables y difíciles de formular utilizando
ordenadores. A. Barr y E. A. Feigenbaum, dos de los pioneros de la investigación en IA,
expresan la siguiente definición:
La Inteligencia Artificial es la parte de la Ciencia que se ocupa del diseño de sistemas de
computación inteligentes, es decir, sistemas que exhiben las características que
asociamos a la inteligencia en el comportamiento humano que se refiere a la
comprensión del lenguaje, el aprendizaje, el razonamiento, la resolución de problemas,
etc.
Hoy en día, el campo de la IA engloba varias subareas tales como los sistemas expertos, la
demostración automática de teoremas, el juego automático, el reconocimiento de la voz y
de patrones, el procesamiento del lenguaje natural, la visión artificial, la robótica, las redes
neuronales, etc.
El presente trabajo está dedicado a los sistemas expertos. Aunque los sistemas expertos
constituyen una de las áreas de investigación en el campo de la IA, la mayor parte de las
restantes áreas, si no todas, disponen de una componente de sistemas expertos formando
parte de ellas.
1
1.2 SISTEMAS EXPERTOS: DEFINICIÓN
Según Stevens (1984): Los sistemas expertos son máquinas que piensan y razonan como un
experto lo haría en una cierta especialidad o campo. Un sistema experto de verdad no sólo
realiza funciones tradicionales de manejar grandes cantidades de datos, sino que también
manipula esos datos de forma tal que el resultado sea inteligible y tenga significado para
responder a preguntas incluso no completamente especificadas.
A partir de ésta surgieron definiciones de otros autores como Castillo y Álvarez (1991) y
Durkin (1994) que pueden resumirse de la siguiente manera:
Un sistema experto es un sistema informático (software y hardware) que simula a los
expertos humanos en un área de especialización dada.
Un sistema experto debería ser capaz de procesar y memorizar información, aprender y
razonar en situaciones deterministas e inciertas, comunicar con los hombres y/u otros
sistemas expertos, tomar decisiones apropiadas y explicar porqué se han tomado tales
decisiones. Además, se puede pensar en un sistema experto como un consultor que puede
suministrar ayuda a los expertos humanos con un grado razonable de fiabilidad.
En la figura 1.1 se pueden ver los campos dominantes entre aquellos en los que se utilizan
sistemas expertos.
1.3 EJEMPLOS DE APLICACIÓN DE SISTEMAS EXPERTOS
A) Transacciones bancarias: Anteriormente para realizar una transacción bancaria
(depositar o extraer dinero de una cuenta) había que visitar el banco en horas de
oficina. Hoy en día, estas y otras transacciones pueden realizarse en cualquier
horario utilizando los cajeros automáticos o comunicándose a través de la línea
telefónica.
B) Control de tráfico: Tiempo atrás el flujo de tráfico en las calles se controlaba por
guardias de tráfico. Hoy se utilizan sistemas expertos que operan automáticamente
los semáforos y regulan el flujo del tráfico en las calles de una ciudad.
2
C) Problemas de planificación: En este aspecto se pueden utilizar sistemas expertos
para la asignación y la organización de aulas en una gran universidad.
D) Diagnóstico médico: En este campo se requerirían como datos los síntomas del
paciente, los resultados de análisis clínicos y otros hechos relevantes; utilizando
estos buscaría en una base de datos la información necesaria para poder identificar
la correspondiente enfermedad.
1.4 ¿POR QUÉ LOS SISTEMAS EXPERTOS?
El desarrollo o adquisición de un sistema experto es generalmente caro, pero el
mantenimiento y el coste marginal de su uso repetido es relativamente bajo. Pero la
ganancia en términos monetarios, tiempo y precisión resultantes del uso de los sistemas
expertos son muy altas y la amortización en muy rápida. Debido a esto antes de desarrollar
o adquirir un sistema experto debe realizarse un análisis de factibilidad y de costebeneficio.
Ventajas al utilizar Sistemas Expertos:
a) Con la ayuda de un sistema experto, personal con poca experiencia puede resolver
problemas que requieren un conocimiento de experto.
b) El conocimiento de varios expertos humanos puede combinarse, lo que da lugar a
sistemas expertos más fiables.
c) Los sistemas expertos pueden responder a preguntas y resolver problemas mucho
más rápidamente que un experto humano.
d) Los sistemas expertos pueden suministrar respuestas rápidas y fiables en situaciones
en las que los expertos humanos no pueden.
e) Los sistemas expertos pueden ser utilizados para realizar operaciones monótonas,
aburridas e inconfortables para los humanos (por ejemplo un avión o una cápsula
espacial dirigida por un sistema experto).
f) Se pueden obtener enormes ahorros mediante el uso de sistemas expertos.
El uso de los sistemas expertos es recomendado cuando:
§ El conocimiento es difícil de adquirir o se basa en reglas que sólo pueden ser
aprendidas de la experiencia.
§ La mejora continua del conocimiento es esencial y / o cuando el problema está
sujeto a reglas o códigos cambiantes.
§ Los expertos humanos son caros o difíciles de encontrar.
§ El conocimiento de los usuarios sobre el tema es limitado.
3
1.5 TIPOS DE SISTEMAS EXPERTOS
Deterministas: Son formulados usando un conjunto de
reglas que relacionan varios objetos bien definidos. Se
los conoce como: “Sistemas basados en reglas” porque
obtienen conclusiones basándose en un conjunto de
reglas utilizando un mecanismo de razonamiento
lógico. Por ejemplo las transacciones bancarias y el
control del tráfico.
Según la
Naturaleza
del
Problema
Estocásticos: Se introducen algunos medios para tratar
la incertidumbre en situaciones inciertas. En este
aspecto, algunos sistemas expertos usan la estructura
de los sistemas basados en reglas pero introducen una
medida asociada a la incertidumbre de las reglas y a la
de sus premisas. Una medida de la incertidumbre es la
probabilidad en la que la distribución conjunta de un
conjunto de variables se utiliza para describir las
relaciones de dependencia entre ellas.
A estos sistemas se los conocen como “sistemas
expertos probabilísticos” y la estrategia de
razonamiento se conoce como “razonamiento
probabilístico” o “inferencia probabilística”.
Este trabajo se basará en los sistemas expertos probabilísticos.
4
1.6 COMPONENTES DE UN SISTEMA EXPERTO
Figura 1.2 Componentes típicos de un sistema experto. Las flechas representan el flujo de la información.
1.6.1 La Componente Humana: Un sistema experto resulta de la colaboración de uno o
varios expertos humanos especialistas en el tema de estudio y los ingenieros del
conocimiento con los usuarios en mente. Los expertos humanos suministran el
conocimiento básico en el tema de interés, y los ingenieros del conocimiento lo trasladan a
un lenguaje que el sistema experto pueda comprender. La colaboración de éstos es el
elemento más importante en el desarrollo de un sistema experto.
1.6.2 La Base del Conocimiento: Los especialistas deben brindar a los ingenieros del
conocimiento una base de conocimiento ordenada y estructurada, y un conjunto de
relaciones bien definidas y explicadas.
5
Hay que diferenciar entre dato y conocimiento. El conocimiento se refiere a afirmaciones
de validez general tales como reglas, distribuciones de probabilidad, etc. Los datos se
refieren a la información relacionada con una aplicación particular, por ejemplo en
diagnóstico médico, los síntomas, enfermedades y las relaciones entre ellos forman parte
del conocimiento, mientras los síntomas particulares de un paciente dado forman parte de
los datos. Mientras el conocimiento es permanente, los datos son efímeros es decir, no
forman parte de la componente permanente de un sistema y son destruidos después de
usarlos. El conocimiento se almacena en la base de conocimiento y los datos en la memoria
de trabajo.
1.6.3 Subsistemas de Adquisición de Conocimiento: Controla el flujo del nuevo
conocimiento que fluye del experto humano a la base de datos. El sistema determina qué
nuevo conocimiento se necesita o si el conocimiento recibido es en realidad nuevo.
1.6.4 Control de la Coherencia: Este subsistema controla la consistencia de la base de
datos y evita que unidades de conocimiento inconsistentes entren en la misma. Sin este
subsistema, unidades de conocimientos contradictorios pueden formar parte de la base de
conocimiento, dando lugar a un comportamiento insatisfactorio en el sistema, por ejemplo:
en sistemas con mecanismos de propagación de incertidumbre es común llegar a
conclusiones absurdas o en conflicto cuando el sistema genera probabilidades mayores a la
unidad o negativas.
1.6.5 El Motor de Inferencia: Es le corazón de todo sistema experto. El objetivo principal
es el de sacar conclusiones aplicando el conocimiento a los datos. Estas conclusiones
pueden estar basadas en conocimientos deterministas o probabilísticos. El tratamiento de
situaciones de incertidumbre (probabilísticos) puede ser considerablemente más difícil que
el tratamiento de situaciones ciertas (deterministas). En los sistemas expertos basados en
probabilidad, la propagación de incertidumbre es la tarea principal del motor de inferencia
que permite sacar conclusiones bajo incertidumbre, esto hace que el motor de inferencia sea
la componente más débil de casi todos los sistemas expertos.
1.6.6 El Subsistema de Adquisición del Conocimiento: Es utilizado por el motor de
inferencia cuando el conocimiento inicial es muy limitado y no se pueden sacar
conclusiones, este obtiene el conocimiento necesario y continúa con el proceso de
inferencia hasta que se hayan sacado conclusiones. El usuario puede suministrar la
información requerida para éste y otros objetivos, para esto es necesario una “Interfase de
Usuario” y una comprobación de consistencia de información suministrada por el usuario
antes de introducirla en la memoria de trabajo.
1.6.7 Interfase de Usuario: Es el enlace entre el sistema experto y el usuario. Para que un
sistema experto sea una herramienta efectiva debe incorporar mecanismos eficientes para
mostrar y obtener información fácil y agradable, por ejemplo: luego del trabajo del motor
de inferencia la información que se tiene que visualizar es el de las conclusiones, razones
de las mismas y una explicación de las acciones iniciadas. Cuando el motor de inferencia
no puede concluir debido a la ausencia de información, la interfase de usuario es el
vehículo para obtener la información necesaria. Una implementación inadecuada de la
interfase de usuario disminuirá la calidad de un sistema experto.
6
1.6.8 El Subsistema de Ejecución de Ordenes: Es la componente que permite al sistema
experto iniciar acciones que están basadas en las conclusiones sacadas por el motor de
inferencia, por ejemplo: un sistema experto que analiza el tráfico ferroviario puede decidir
retrasar o parar ciertos trenes para optimizar el tráfico global. Las explicaciones de estas
razones pueden darse al usuario a través del “Subsistema de Explicación”.
1.6.9 El Subsistema de Explicación: Es el subsistema que explica el proceso seguido por
el motor de inferencia o por el subsistema de ejecución, por ejemplo: si un cajero
automático rechaza una palabra clave (una acción) la máquina puede mostrar un mensaje
(una explicación) como la siguiente: “retenemos su tarjeta de crédito para garantizar su
seguridad”.
En muchos casos, la explicación es necesaria debido a los riesgos asociados con la acción a
ejecutar, por ejemplo en el campo del diagnóstico médico.
1.6.10 El Subsistema de Aprendizaje: Diferenciamos entre Aprendizaje Estructural y
Aprendizaje Paramétrico.
Aprendizaje Estructural: Se refiere a algunos aspectos relacionados con la estructura del
conocimiento (reglas, distribuciones de probabilidad, etc.). Por ejemplo: el descubrimiento
de nuevos síntomas para una enfermedad o la inclusión de una nueva regla en la base de
conocimiento.
Aprendizaje Paramétrico: Se refiere a estimar los parámetros necesarios para construir la
base de conocimiento, por ejemplo la estimación de frecuencias o probabilidades asociadas
a síntomas o enfermedades.
De las componentes antes mencionadas se puede ver que los Sistemas Expertos realizan
varias tareas. Estas incluyen, pero no se limitan a las siguientes:
§
§
§
§
§
§
§
Adquisición de conocimiento y verificación de su coherencia.
Almacenar (memorizar) conocimientos.
Preguntar cuándo se requieren nuevos conocimientos.
Aprender de la base de conocimiento y de los datos disponibles.
Realizar inferencia y razonamiento en situaciones deterministas y de incertidumbre.
Explicar conclusiones y acciones tomadas.
Comunicar con los expertos y no expertos humanos y con otros Sistemas Expertos.
1.7 DESARROLLO DE UN SISTEMA EXPERTO
Etapas en el desarrollo de un Sistema Experto:
7
1.3
1)
2)
3)
4)
5)
6)
7)
Planteamiento del problema: Se trata de la definición del problema a
resolver, es la etapa más importante para el desarrollo de un sistema experto.
Encontrar expertos humanos que puedan resolver el problema: En algunos
casos, las bases de datos pueden jugar el papel del experto humano.
Diseño de un Sistema Experto: Esta etapa incluye el diseño de estructuras
para almacenar el conocimiento, el motor de inferencia, el subsistema de
explicación, la interfase de usuario, etc.
Elección de la herramienta de desarrollo o lenguaje de programación: Debe
decidirse si realizar un sistema experto a medida o utilizar una herramienta o
un lenguaje de programación.
Desarrollo y prueba de un prototipo: Si el prototipo no pasa las pruebas
requeridas, las pruebas anteriores (con las modificaciones apropiadas) deben
ser repetidas hasta obtener un prototipo satisfactorio.
Refinamiento y generalización: En esta etapa se corrigen los fallos y se
incluyen nuevas posibilidades no incorporadas en el diseño inicial.
Mantenimiento y puesta al día: En esta etapa el usuario plantea problemas o
defectos del prototipo, corrige errores, actualiza el producto con nuevos
avances, etc.
8
1.8 OTRAS ÁREAS DE LA INTELIGENCIA ARTIFICIAL
1.8.1 Representación del conocimiento: Se refiere a los mecanismos para representar y
manipular esta información. Los esquemas de representación resultantes deben permitir una
búsqueda o una operación eficiente de los mecanismos de inferencia.
1.8.2 Reconocimiento de patrones: Trata de diferentes técnicas de clasificación para
identificar los subgrupos o conglomerados con características comunes en cada grupo. El
grado de asociación de cualquiera de los objetos con cada uno de los grupos suministra un
modo de sacar conclusiones.
1.8.3 Reconocimiento de la voz: Trata del problema de procesar el lenguaje hablado y
capturar los diferentes elementos semánticos que forman la conversación.
1.8.4 Procesamiento del lenguaje natural: Un objetivo consiste en extraer tanta
información como sea posible de un texto escrito.
1.8.5 Planificación: Los métodos de planificación analizan diferentes estrategias para
descomponer un problema dado, resolver cada una de sus partes, y llegar a una solución
final. La interacción entre las partes dependerá del grado de descomponibilidad del
problema.
1.8.6 Demostración automática de teoremas: Esta tarea puede ser realizada por
maquinas programables. Éstas son capaces no sólo de modificar el conocimiento existente,
sino también de obtener conclusiones nuevas.
1.8.7 Juegos automatizados: Constituyen un ejemplo de una de las más antiguas y
fascinantes áreas de la Inteligencia Artificial. El juego automático requiere un estudio
teórico profundo y tiene varias aplicaciones en otras áreas tales como: métodos de
búsqueda, optimizaciones, etc.
1.8.8 Visión artificial: Uno de sus objetivos es la posibilidad de usar ordenadores para
localizar y reconocer automáticamente objetos en tres dimensiones.
1.8.9 Robótica: Es una de las áreas más populares. Los robots combinan elementos
mecánicos, sensores y ordenadores que les permiten tratar con objetos reales y realizar
muchas tareas de forma precisa, rápida y cómoda.
1.8.10 Redes Neuronales: Se crearon con el objetivo de reproducir de forma básica las
funciones elementales del cerebro humano. Las arquitecturas en red con un gran número de
conexiones entre varias capas de procesadores fueron introducidas para reproducir la
estructura del cerebro humano. La información contenida en una red neuronal se codifica
en la estructura de la red y en los pesos de las conexiones.
9
CAPÍTULO 2 : SISTEMAS BASADOS EN
REGLAS
2.1 INTRODUCCIÓN
Los Sistemas Basados en Reglas son una herramienta eficiente para tratar muchas
situaciones complejas gobernadas por reglas deterministas, sistemas de control de tráfico,
sistemas de seguridad, transacciones bancarias, etc. Las reglas deterministas constituyen la
más sencilla de las metodologías utilizadas en Sistemas Expertos. La base de conocimiento
contiene el conjunto de reglas que definen el problema y el motor de inferencia saca las
conclusiones aplicando la lógica clásica a estas reglas.
2.2 LA BASE DE CONOCIMIENTO
En los Sistemas basados en reglas intervienen dos elementos importantes:
§
§
Los datos: Están formado por la evidencia o los hechos conocidos en una situación
particular. Este elemento es dinámico, es decir, puede cambiar de una aplicación a
otra, por lo tanto no es de naturaleza permanente y se almacena en la memoria de
trabajo. En situaciones deterministas, las relaciones entre un conjunto de objetos
pueden ser representadas mediante un conjunto de reglas.
El conocimiento: Se almacena en la base de conocimiento y consiste en un conjunto
de objetos y un conjunto de reglas que gobierna las relaciones entre esos objetos. La
información almacenada en la base de conocimiento es permanente y estática, es
decir, no cambia de una aplicación a otra, a menos que se incorporen al sistema
experto elementos de aprendizaje.
Ejemplos de reglas:
Regla 1: si nota > 9, entonces calificación = sobresaliente.
Regla 2: si puesto < 20 o nota > 7 , entonces admitir = si y notificar = si.
Cada una de estas reglas relacionan dos o más objetos y están formadas por las siguientes
partes:
10
ü La PREMISA: Es la expresión lógica entre las palabra clave “si” y “entonces”. La
premisa puede contener una o más afirmaciones objeto - valor conectados con
operadores lógicos “y”, “o”, o “no”.
ü La CONCLUSIÓN: Es la operación lógica tras la palabra clave “entonces”.
DEFINICIÓN:
“ Una regla es una afirmación lógica que relaciona dos o más objetos e
incluye dos partes, la premisa y la conclusión. Cada una de estas partes
consiste en una expresión lógica con una o más afirmaciones objetovalor conectadas mediante los operadores lógicos “y”, “o”, o “no””.
Una regla se escribe como: “si premisa, entonces conclusión”. Una expresión lógica que
contiene sólo una afirmación objeto-valor se denomina Expresión Lógica Simple, tal es el
caso de la regla 1 dada anteriormente como ejemplo; en caso contrario, la expresión se
denomina Expresión Lógica Compuesta, por ejemplo la regla 2.
Una regla que contiene solamente expresiones lógicas simples se denomina una Regla
Simple (ejemplo regla 1) en otro caso, se llama Regla Compuesta (ejemplo regla 2).
Ejemplo: Cajero Automático: Se considera una situación en la que un usuario desea sacar
dinero de su cuenta corriente mediante un cajero automático (CA). En cuanto el usuario
introduce la tarjeta en el CA, la máquina la lee y la verifica. Si la tarjeta no es verificada
con éxito, el CA devuelve la tarjeta al usuario con el mensaje de error. En otro caso, el CA
pide al usuario su número de identificación personal (NIP). Si el número fuese incorrecto se
dan tres oportunidades de corregirlo. Si el NIP es correcto, el CA pregunta al usuario
cuánto dinero desea sacar. Para que el pago se autorice, la cantidad solicitada no debe
exceder de una cierta cantidad límite diaria, además de haber dinero suficiente en su cuenta.
En la tabla siguiente se muestran los siete objetos con sus posibles valores:
11
En la siguiente figura se muestran las siete reglas que gobiernan la estrategia que el CA
debe seguir cuando un usuario desea sacar dinero de su cuenta:
2.3 EL MOTOR DE INFERENCIA
El motor de inferencia usa los datos del conocimiento para obtener nuevas conclusiones o
hechos. Los datos iniciales se incrementan incorporando las nuevas conclusiones. Por ello,
tanto los hechos iniciales o datos de partida como sus conclusiones forman parte de los
hechos o datos de que se dispone en un instante dado.
Las conclusiones pueden clasificarse en dos tipos: Las conclusiones simples son las que
resultan de una regla simple; las conclusiones compuestas son las que resultan de más de
una regla. Para obtener conclusiones se utilizan diferentes tipos de reglas y estrategias de
inferencia y control.
ü Reglas de Inferencia:
• Modus Ponens.
• Modus Tollens.
12
• Resolución.
ü Estrategias de Inferencia:
• Encadenamiento de Reglas.
• Encadenamiento de Reglas orientado a un objetivo.
• Compilación de Reglas.
2.3.1 Modus Ponens y Modus Tollens
La “Modus Ponens” se utiliza para obtener conclusiones simples. En ella se examina la
premisa de la regla, y si es cierta, la conclusión pasa a formar parte del conocimiento.
Suponiendo que se tiene la regla, “si A es cierto, entonces B es cierto” y se sabe que A es
cierto entonces la regla Modus Ponens concluye que B es cierto.
2.2.
La regla de inferencia “Modus Tollens” también se utiliza para obtener conclusiones
simples. En ella se examina la conclusión y si es falsa, se concluye que la premisa también
es falsa. Por ejemplo, suponiendo la regla siguiente: “si A es cierto, entonces B es cierto”;
pero se sabe que B es falso entonces usando la regla “Modus Ponens” no se obtiene
ninguna conclusión, pero utilizando la regla Modus Tollens se concluye que A es falso.
2.3
13
La regla Modus Ponens necesita información de los objetos de la premisa para concluir,
mientras que la regla Modus Tollens necesita información sobre los objetos de la
conclusión.
Ejemplo: La regla Modus Tollens equivale a una expansión de la base de
conocimiento: Supóngase que la base de conocimiento consiste sólo en la regla 1 (figura
2.4). Se puede utilizar la regla de inferencia Modus Tollens para invertir la regla 1 y
obtener alguna conclusión cuando se tiene información sobre los objetos de su conclusión.
Aplicar la regla Modus Tollens a la regla “si A , entonces B” es equivalente a aplicar la
En este caso, la regla 1, utilizando la
regla Modus Ponens a la regla
equivalencia:
se obtiene la regla 1b (figura 2.5).
2.4
2.5
2.3.2 Mecanismos de Resolución
Las conclusiones compuestas, que se basan en dos o más reglas se obtienen usando el
llamado “Mecanismo de Resolución”. Esta regla de inferencia consiste en las siguientes
etapas:
14
1. Las reglas son sustituidas por expresiones lógicas equivalentes.
2. Estas expresiones lógicas se combinan con la otra expresión lógica.
3. Esta última expresión se utiliza para obtener la conclusión.
Estas etapas involucran conceptos tales como la combinación y simplificación de
expresiones lógicas como se verá en siguiente ejemplo.
Ejemplo de Mecanismo de Resolución:
Considérese el ejemplo del cajero automático (CA) con el objeto añadido explicar , que
puede tomar los valores {si, no}, indicando si se necesita explicar las acciones del CA.
Aplicamos el mecanismo de resolución a la evidencia NIP = incorrecto y a las siguientes
reglas :
•
•
Si NIP = incorrecto, entonces pago = no autorizado.
Si pago = no autorizado, entonces explicar = si.
Tal como muestra la figura 2.6, la regla de inferencia correspondiente al mecanismo de
resolución conduce a la conclusión explicar = si. Siguiendo los pasos indicados se tiene:
1) Las dos reglas se sustituyen por las expresiones equivalentes:
• NIP = correcto o pago = no autorizado.
• Pago = autorizado o explicar = si.
2) Las dos expresiones anteriores se combinan de la forma indicada para dar la
expresión NIP = correcto o explicar = si, y
3) Esta última expresión se combina con la evidencia NIP = incorrecto y se obtiene la
conclusión compuesta, explicar = si.
2.6
Es importante señalar que la regla de inferencia correspondiente al mecanismo de
resolución no siempre conduce a conclusiones, porque puede no conocerse la verdad o
15
falsedad de ciertas expresiones. Si esto ocurre, el sistema experto, o más precisamente, su
motor de inferencia, debe decidir entre:
•
•
Abandonar la regla, dada la imposibilidad de obtener conclusiones, o
Preguntar al usuario, mediante el subsistema de demanda de información, sobre la
verdad o falsedad de una o varias expresiones para poder continuar el proceso de
inferencia hasta que se obtenga una conclusión.
2.3.3 Encadenamiento de Reglas
Se utiliza para obtener conclusiones compuestas. Se puede usar cuando las premisas de
ciertas reglas coinciden con las conclusiones de otras. Cuando se encadenan las reglas, los
hechos pueden utilizarse para dar lugar a nuevos hechos. Esto se repite sucesivamente hasta
que no puedan obtenerse más conclusiones.
Algoritmo de Encadenamiento de reglas:
•
•
Datos: Una base de conocimiento (objetos y reglas) y algunos hechos iniciales.
Resultado: El conjunto de hechos derivados lógicamente de ellos.
1. Asignar a los objetos sus valores conocidos tales como lo dan los hechos conocidos
o la evidencia.
2. Ejecutar cada regla de la base de conocimiento y concluir nuevos hechos si es
posible.
3. Repetir la etapa dos hasta que no puedan ser obtenidos nuevos hechos.
Ejemplo: Encadenamiento de Reglas:
La figura 2.7 muestra un ejemplo de 6 reglas que relacionan 13 objetos (de la A hasta la
M). La figura 2.8 muestra relaciones entre los objetos, donde cada uno de ellos es
representado por un nodo. Las aristas representan la conexión entre los objetos de la
premisa de la regla y el objeto de la conclusión.
Supóngase que se sabe que los objetos A, B ,D ,E, F , H e I son ciertos y los restantes de
valores desconocidos representados en la figura 2.9. En este caso, el algoritmo de
encadenamiento de regla procede de la siguiente manera:
•
•
•
•
•
•
La regla 1 concluye que C = cierto.
La regla 2 concluye que G = cierto.
La regla 3 concluye que J = cierto.
La regla 4 concluye que K = cierto.
La regla 5 concluye que L = cierto.
La regla 6 concluye que M = cierto.
Puesto que no pueden obtenerse más conclusiones el proceso se detiene.
16
2.7
2.8
2.7.
17
2.9
2.3.4 Encadenamiento de Reglas Orientado a un Objetivo
Este requiere del usuario seleccionar, en primer lugar, una variable o nodo objetivo;
entonces el algoritmo navega a través de las reglas en búsqueda de una conclusión para el
nodo objetivo. Si no se obtiene ninguna conclusión con la información existente, el
algoritmo fuerza a preguntar al usuario en busca de nueva información sobre los elementos
que son relevantes para obtener información sobre el objetivo.
Algoritmo de encadenamiento de reglas orientado a un objetivo:
•
•
Datos: Una base de conocimiento (objetos y reglas), algunos hechos iniciales y un
nodo o variable objetivo.
Resultado: El valor del nodo o variable objetivo.
1) Asigna a los objetos sus valores conocidos tales como están dados en los hechos de
partida, si es que existe alguno. Marcar todos los objetos cuyo valor ha sido
asignado. Si el nodo objetivo está marcado pasar a la etapa siguiente; en otro caso:
a) Designar como objetivo inicial el objetivo en curso.
b) Marcar el objetivo en curso.
c) Sea ObjetivosPrevios = vacío.
d) Designar todas las reglas como activas (ejecutables).
e) Ir a la etapa 2.
18
2) Encontrar una regla activa que incluya el objetivo en curso y ninguno de los
objetivos en ObjetivosPrevios. Si se encuentra una regla ir a la etapa 3; en otro caso
ir a la etapa 5.
3) Ejecutar la regla referente al objetivo en curso. Si concluye, asignar el valor
concluido al objetivo en curso, e ir a la etapa 6; en otro caso ir a la etapa 4.
4) Si todos los objetos de la regla están marcados, declarar la regla como inactiva e ir a
la etapa 2; en otro caso:
a) Añadir el objetivo en curso a ObjetivosPrevios.
b) Designar uno de los objetos no marcados en la regla como el objetivo en
curso.
c) Marcar el objetivo en curso.
d) Ir a la etapa 2
5) Si el objetivo en curso es el mismo que el objetivo inicial, ir a la etapa 7; en otro
caso, preguntar al usuario por el valor del objetivo en curso. Si no se da un valor, ir
a la etapa 6; en otro caso asignar al objeto el valor dado e ir a la etapa 6.
6) Si el objetivo en curso es el mismo que el objetivo inicial, ir a la etapa 7; en otro
caso, designar el objetivo previo como objetivo en curso, eliminarlo de
ObjetivosPrevios, e ir a la etapa 2.
7) Devolver el valor del objetivo en curso si es conocido.
2.3.5 Compilación de Reglas
Consiste en comenzar con un conjunto de datos (información) y tratar de alcanzar algunos
objetivos. Cuando ambos, datos y objetos, se han determinado previamente, las reglas
pueden ser compiladas, es decir, pueden describirse los objetivos en función de los datos
para obtener las llamadas “Ecuaciones Objetivos”.
Ejemplo: Considérese el conjunto de seis reglas de la figura 2.8 y supóngase que son
conocidos los valores de los objetos A, B, D, E, F, H e I y que los restantes C, G, J, K, L, M
son objetivos. Denotemos por ^ el operador lógico Y entonces, utilizando las seis reglas,
pueden obtenerse las siguientes ecuaciones objetivos:
•
•
•
•
•
•
La regla 1 implica C = A ^ B.
La regla 2 implica G = D ^ E ^ F.
La regla 3 implica J = H ^ I.
La regla 4 implica K = C ^ G = (A ^ B) ^ (D ^ E ^ F).
La regla 5 implica L = G ^ J = (D ^ E ^ F) ^ (H ^ I).
La regla 6 implica M = K ^ L = A ^ B ^ D ^ E ^ F ^ H ^ I.
Las tres primeras ecuaciones son equivalentes a las tres primeras reglas.
Las tres ecuaciones objetivos son respectivamente equivalentes a las reglas siguientes:
•
•
•
Regla 4a: si A y B y D y E y F, entonces K.
Regla 5a: si D y E y F y H e I, entonces L.
Regla 6a: si A y B y D y E y F y H e I, entonces M.
19
Entonces, si por ejemplo, cada uno de los objetos {A, B, D, E, F, H, I} toma el valor cierto,
entonces se obtiene de forma inmediata, a partir de las reglas 4a, 5a, 6a, que los objetos {K,
L, M} deben ser ciertos.
2.4 CONTROL DE COHERENCIA
Es importante controlar la coherencia del conocimiento tanto durante la construcción de la
base de conocimiento como durante los procesos de adquisición de datos y razonamiento.
Si la base de conocimiento contiene información inconsistente (por ejemplo, reglas y/o
hechos), es muy importante que el Sistema Experto se comporte insatisfactoriamente y
obtenga conclusiones absurdas.
El objetivo del Control de Coherencia consiste en:
1) Ayudar al usuario a no dar hechos inconsistentes, por ejemplo dándole las
restricciones que debe satisfacer la información demandada.
2) Evitar que entre en la base de conocimiento cualquier tipo de conocimiento
inconsistente o contradictorio.
El control de la coherencia debe hacerse controlando la coherencia de las reglas y la de los
hechos.
2.4.1 Coherencia de Reglas
Definición :
“ un conjunto de reglas se denomina coherente si existe, al menos, un
conjunto de valores de todos los objetos que producen conclusiones no
contradictorias”.
Ejemplo : Conjunto de reglas incoherentes: Considérense las cuatro reglas siguientes,
que relacionan dos objetos A y B binarios {C, F}:
. Regla 1: Si A = C, entonces B = C.
. Regla 2: Si A = C, entonces B = F.
. Regla 3: Si A = F, entonces B = C.
. Regla 4: Si A = F, entonces B = F.
Entonces, pueden obtenerse las siguientes conclusiones:
1. Las Reglas 1 - 2 son coherentes puesto que, tal como se muestra en la Tabla 2.3, para A =
F, no producen conclusiones.
2. Las Reglas 1 - 3 son coherentes puesto que para A = F y B = C, producen una conclusión
(B = C) ( Tabla 2.4).
3. Las Reglas 1 - 4 son incoherentes porque producen conclusiones contradictorias para
todos los posibles valores de A y B, tal como se ve en la Tabla 2.5.
Un conjunto de reglas puede ser coherente, aunque algunos conjuntos de valores puedan
producir conclusiones inconsistentes. Estos conjuntos de valores se llaman valores no
20
factibles. Por ejemplo, las Reglas 1 - 2 son coherentes, aunque producen conclusiones
inconsistentes en todos los casos en que A = C. En consecuencia, el subsistema de control
de coherencia eliminará automáticamente el valor C de la lista de posibles valores del
objeto A, permitiendo de esta forma al usuario seleccionar sólo valores factibles de los
objetos.
2.3
2.4
2.5
DEFINICIÓN: Valores no factibles:
“ Se dice que un valor a para el objeto A no es factible
si las conclusiones obtenidas al hacer A = a
contradicen cualquier combinación de valores del resto
de los objetos”.
21
Ejemplo : Valores no factibles: Considérese el conjunto de las cuatro reglas del ejemplo
anterior. En este caso, el motor de inferencia concluirá lo siguiente:
1. Las dos primeras reglas implican que A ≠ C, puesto que A = C siempre conduce a
conclusiones inconsistentes. Por tanto, el valor A = C deberá ser eliminado
automáticamente de la lista de valores factibles de A. Dado que A es binario, entonces
resulta A = F (el único valor posible).
2. Las tres primeras reglas implican que A = F y B = C. Por tanto, el valor B = F deberá ser
eliminado automáticamente de la lista de valores factibles de B.
3. Las primeras cuatro reglas implican que A ≠ C, A ≠ F, B ≠ C y B ≠ F. Por tanto, los
valores {C, F} son eliminados de las listas de valores de A y B, con lo que las listas de
valores factibles de todos los objetos están vacías, lo que implica que las cuatro reglas son
incoherentes.
Ejemplo: Coherencia de reglas: Supóngase que se tienen los cuatro objetos: A ∈ {0, 1}, B
∈ {0, 1}, C ∈ {0, 1, 2} y D ∈ {0, 1}. Considérense las cuatro reglas:
. Regla 1: Si A = 0 y B = 0, entonces C = 0.
. Regla 2: Si A = 0 y D = 0, entonces C = 1.
. Regla 3: Si A = 0 y B = 0, entonces C = 1.
. Regla 4: Si A = 0, entonces B = 0.
. Regla 5: Si B = 0, entonces A = 1.
Supóngase ahora que se desea añadir las tres últimas reglas a una base de conocimiento que
contiene las dos primeras reglas. Entonces, las Reglas 1 y 3 son inconsistentes, puesto que
tienen la misma premisa pero diferentes conclusiones. Por lo que, la Regla 3 debe ser
rechazada y el experto humano informado de la razón del rechazo. El experto humano
corregirá la regla en cuestión y / o las reglas existentes si fueran incorrectas. La Regla 4
entrará en la base de conocimiento, puesto que es consistente con las Reglas 1 y 2. La
Regla 5 es inconsistente con la Regla 4. Por ello, la consistencia de ambas reglas debe ser
comprobada antes de pasar a formar parte de la base de conocimiento.
2.4.2 Coherencia de Hechos
Los datos o evidencias suministrados por los usuarios deben ser también consistentes en sí
y con el conjunto de reglas de la base de datos. Por ello, el sistema no debe aceptar hechos
que contradigan el conjunto de reglas y / o el conjunto de hechos existente en cada instante
del proceso.
La coherencia de los hechos puede lograrse mediante las estrategias siguientes:
1. Eliminar todos los valores no factibles (los que contradicen el conjunto de reglas y /
o hechos) de los objetos una vez detectados. Cuando se pregunte al usuario por
información sobre los valores de un conjunto de objetos, el sistema experto debería
aceptar sólo los valores de cada objeto que sean consistentes con las reglas y con el
conocimiento previo.
22
2. El motor de inferencia debe comprobar que los hechos conocidos no contradicen el
conjunto de reglas. Si el sistema no elimina los valores no factibles, entonces el
usuario podrá dar evidencias contradictorias tales como Pago = autorizado y NIP =
incorrecto en el ejemplo del cajero automático (CA). Por ello, tan pronto como se
de la primera evidencia, Pago = autorizado, el sistema debe seleccionar sólo los
valores del NIP que no conduzcan a conclusiones contradictorias.
3. Suministrar al usuario una lista de objetos a los que no se ha asignado valores
previamente.
4. Para cada uno de los objetos, mostrar y aceptar sólo sus valores factibles.
5. Actualizar continuamente la base de conocimiento, es decir, tan pronto como se dé
un hecho o se obtenga una conclusión, y eliminar los valores no factibles. El motor
de inferencia obtiene todas las conclusiones posibles examinando, y posiblemente
concluyendo, las reglas tan pronto como una simple unidad de información llega al
sistema.
2.5 EXPLICANDO CONCLUSIONES
Las conclusiones no bastan para satisfacer al usuario de un sistema experto, por lo que,
normalmente, los usuarios esperan que el sistema les dé algún tipo de explicación que
indique el por qué de las conclusiones. Durante el proceso realizado por el motor de
inferencia, las reglas activas (las que han concluido) forman la base del mecanismo de
explicación, que es regulado por el subsistema de explicación. En los sistemas expertos
basados en reglas, es fácil dar explicaciones de las conclusiones obtenidas. El motor de
inferencia obtiene conclusiones basándose en un conjunto de reglas y, por tanto, conoce de
qué regla procede cada conclusión. Por ello, el sistema puede dar al usuario la lista de
hechos concluidos junto con las reglas que se han utilizado para obtenerlos.
Ejemplo: Explicando conclusiones. Considérese las seis reglas de las Figuras 2.7 y 2.8.
Como en el ejemplo proporcionado en “Encadenamiento de reglas”, supóngase que se sabe
que los objetos A, B, D, E, F, H e I son ciertos y que los restantes objetos toman valores
desconocidos. Entonces, aplicando el Algoritmo de encadenamiento de reglas visto en el
punto 2.3.3 y examinando las reglas que han sido ejecutadas, el sistema experto puede
suministrar la explicación siguiente a las conclusiones obtenidas:
1. Hechos dados:
A = cierto, B = cierto, D = cierto, E = cierto, F = cierto, H = cierto, I = cierto.
2. Conclusiones y explicaciones:
. C = cierto, basada en la Regla 1.
. G = cierto, basada en la Regla 2.
. J = cierto, basada en la Regla 3.
. K = cierto, basada en la Regla 4.
. L = cierto, basada en la Regla 5.
. M = cierto, basada en la Regla 6.
23
CAPÍTULO 3: SISTEMAS EXPERTOS
BASADOS EN PROBABILIDAD
3.1 INTRODUCCIÓN
En la mayor parte de las aplicaciones, la incertidumbre es lo común; por ejemplo, una
pregunta típica en diagnóstico médico es: dado que el paciente presenta un conjunto de
síntomas, ¿cuál de las enfermedades posibles es la que tiene el paciente?. Esta situación
implica un cierto grado de incertidumbre puesto que:
. Los hechos o datos pueden no ser conocidos con exactitud. Por ejemplo, un paciente
puede no estar seguro de haber tenido fiebre la noche pasada. Por ello, hay un cierto grado
de incertidumbre en la información asociada a cada paciente (subjetividad, imprecisión,
ausencia de información, errores, datos ausentes, etc.).
. El conocimiento no es determinista. Por ejemplo, las relaciones entre las enfermedades y
los síntomas no son deterministas, puesto que un mismo conjunto de síntomas puede estar
asociado a diferentes enfermedades. De hecho, no es extraño encontrar dos pacientes con
los mismos síntomas pero diferentes enfermedades.
La probabilidad es, hoy en día, la más intuitiva y la más aceptada de las medidas de
incertidumbre. Lindley (1987), por ejemplo, dice:
“La única descripción satisfactoria de la incertidumbre es la probabilidad. Esto quiere
decir que toda información incierta debe estar en forma de una probabilidad, que varias
incertidumbres deben ser combinadas usando las reglas de la probabilidad, y que el
cálculo de probabilidades es adecuado para manejar situaciones que implican
incertidumbre. En particular, las descripciones alternativas de la incertidumbre son
innecesarias.”
3.2 ALGUNOS CONCEPTOS BÁSICOS DE LA TEORÍA DE LA PROBABILIDAD
3.2.1 Medida de Probabilidad
Para medir la incertidumbre se parte de un marco de discernimiento dado S, en el que se
incluyen todos los posibles resultados de un cierto experimento como conjunto exhaustivo
y mutuamente exclusivo. El conjunto S se conoce como espacio muestral. Una vez definido
este conjunto, el objetivo consiste en asignar a todo subconjunto de S un número real que
mida el grado de incertidumbre sobre su realización. Para obtener medidas con significado
24
físico claro y práctico, se imponen ciertas condiciones o propiedades intuitivas adicionales
que definen una clase de medidas que se conocen como medidas de probabilidad.
Definición: Medida de Probabilidad. Una función p que proyecta los subconjuntos A ⊆ S
en el intervalo [0, 1] se llama medida de probabilidad si satisface los siguientes axiomas:
. Axioma 1 (Normalización): p(S) = 1.
. Axioma 2 (Aditividad): Para cualquier sucesión infinita, A1, A2, . . ., de subconjuntos
disjuntos de S, se cumple la igualdad:
De los axiomas anteriores pueden deducirse las siguientes propiedades:
. Propiedad 1 (Normalización): p(ö) = 0.
. Propiedad 2 (Monotonicidad): Si A ⊆ B ⊆ S, entonces p(A) p(B).
. Propiedad 3 (Continuidad-Consistencia): Para toda sucesión creciente A1 ⊆ A2 ⊆ . . . o
decreciente A1 ⊇ A2 ⊇ . . . de subconjuntos de S se tiene:
. Propiedad 4 (Inclusión-Exclusión): Dado cualquier par de subconjuntos A y B de S, se
cumple siempre la siguiente igualdad:
3.2.2 Distribuciones de Probabilidad
Sea {X1, . . . , Xn} un conjunto de variables aleatorias discretas y {x1, . . . , xn} el conjunto de
sus posibles realizaciones. Las variables aleatorias se denotan con mayúsculas y sus
realizaciones se denotan con minúsculas. Por ejemplo, si Xi es una variable binaria,
entonces xi puede ser 1 ó 0. Los resultados que siguen son también válidos si las variables
son continuas, pero en este caso los símbolos de suma deben sustituirse por integrales.
Sea p(x1, . . . , xn) la función de probabilidad conjunta de las variables de X, es decir,
La función de probabilidad marginal de la i-ésima variable se obtiene mediante la fórmula:
Definición: Probabilidad condicional: Sean X e Y dos conjuntos disjuntos de variables
tales que p(y) > 0. Entonces, la probabilidad condicional (función de probabilidad
condicionada) de X dado Y = y viene dada por:
25
La ecuación (3.5) implica que la función de probabilidad conjunta de X e Y puede escribirse
como:
Se obtiene un caso particular de (3.5) cuando X es una única variable e Y es un subconjunto
de variables. En este caso, (3.5) se convierte en:
que es la función de probabilidad de la i-ésima variable, Xi, dado el subconjunto de
variables {X1, . . . , Xk}. La suma del denominador de (3.7) se extiende a todos los valores
posibles de Xi.
3.2.3 Dependencia e Independencia
Definición: Independencia de dos variables: Sean X e Y dos subconjuntos disjuntos del
conjunto de variables aleatorias {X1, . . . , Xn}. Entonces se dice que X es independiente de
Y si y solamente si:
para todos los valores posibles x e y de X e Y; en otro caso, X se dice dependiente de Y .
Si X es independiente de Y, pueden combinarse (3.6) y (3.8) para obtener p(x, y)/p(y) = p(x),
que implica:
Una propiedad importante de la relación de independencia es su simetría, es decir, si X es
independiente de Y, entonces Y es independiente de X. Esto ocurre porque:
Definición: Independencia de un conjunto de variables: Las variables aleatorias {X1, . .
. , Xm} se dice que son independientes si y sólo si:
para todos los valores posibles x1, . . . , xm de X1, . . . , Xm. En otro caso, se dice que son
dependientes.
26
Si X1, . . . , Xm son condicionalmente independientes dado otro subconjunto Y1, . . . , Yn,
entonces:
3.2.4 Teorema de Bayes
Una conocida fórmula de la teoría de la probabilidad puede obtenerse como sigue.
Utilizando (3.3) y (3.5), se obtiene:
3.2.5 Tipos de Errores
En situaciones de incertidumbre pueden cometerse dos tipos de errores:
. Una decisión positiva falsa, también conocida como error de tipo I.
. Una decisión negativa falsa, también conocida como error de tipo II.
En un caso de diagnóstico médico, por ejemplo, los posibles errores son:
. Error de Tipo I: Un paciente no tiene la enfermedad pero el doctor concluye que la tiene.
. Error de Tipo II: Un paciente tiene la enfermedad pero el doctor concluye que no la tiene.
Estos tipos de errores se ilustran en la Tabla 3.1.:
Tabla 3.1.
3.3 REGLAS GENERALIZADAS
La medida de probabilidad puede utilizarse para extender los sistemas basados en reglas a
situaciones de incertidumbre. Una forma de introducir la incertidumbre en los sistemas
basados en reglas consiste en utilizar reglas generalizadas.
Por ejemplo, dada la regla determinista:
. Regla 1: Si A es cierta, entonces B es cierta, se puede introducir incertidumbre asociando
una probabilidad a esta afirmación.
. Regla 2: Si A es cierta, entonces la probabilidad de que B sea cierta es p(b) = è.
Acá 0 è 1 es una medida de la incertidumbre de B. La Regla 1 es un caso especial de
la Regla 2 haciendo è = 1 (certeza). Pero cuando 0 < è < 1 (incertidumbre), se puede
27
pensar en la Regla 2 como una regla generalizada. Por ello, el valor de è determina el nivel
de implicación como sigue (figura 3.1):
Implicación fuerte (è = 1): Si la premisa de una regla es cierta, su conclusión debe ser
también cierta. Por ello, dada la regla “Si A es cierta, entonces B es cierta”, se puede decir
que A implica B con probabilidad 1. Esto se ilustra en la Figura 3.1(a).
Implicación débil (0 < è < 1): La regla anterior puede ser vista en un sentido generalizado
cuando A implica B sólo en algunas ocasiones. En este caso, se dice que A implica B con
probabilidad p(B = cierto / A = cierto), como se muestra en la Figura 3.1(b).
No implicación (è = 0): El caso en que A no implica B puede considerarse como que A
implica B con probabilidad 0. Esto se ilustra en la Figura 3.1(c).
Figura 3.1
El uso de reglas generalizadas requiere utilizar medidas de incertidumbre para objetos y
reglas, junto con fórmulas de agregación para combinar la incertidumbre de los objetos en
las premisas con las de las reglas para obtener la incertidumbre de los objetos en las
conclusiones.
Una forma alternativa de utilizar la medida de probabilidad consiste en describir las
relaciones entre los objetos (variables) mediante una función de probabilidad conjunta. A
los sistemas expertos que utilizan las funciones de probabilidad conjunta de las variables
como base para hacer la inferencia, se les conoce como sistemas expertos de tipo
probabilístico.
3.4 INTRODUCIENDO
PROBABILIDAD
LOS
SISTEMAS
EXPERTOS
BASADOS
EN
El núcleo de los sistemas expertos basados en reglas es el conjunto de reglas que describen
las relaciones entre los objetos (variables). En los sistemas expertos probabilísticos las
relaciones entre las variables se describen mediante su función de probabilidad conjunta.
Por ello, la función de probabilidad conjunta forma parte de lo que se llama conocimiento.
28
Ejemplo: Diagnostico médico. Supóngase que se dispone de una base de datos con
información sobre N pacientes y que un paciente puede tener una y sólo una de m
enfermedades, e1, . . . , em, tal como muestra la Figura 3.2 para m = 5 enfermedades.
Supóngase también que un paciente puede tener ninguno, uno, o más de n síntomas S 1, . . . ,
Sn, como indica la Figura 3.3 para n = 3 síntomas. Supóngase que la variable aleatoria
enfermedad, E, toma como valores las enfermedades e1, . . . , em. Supóngase también que
los síntomas son variables binarias, de forma que cada una toma el valor 1, si está presente,
o el valor 0, si está ausente. Cualquier variable aleatoria en el conjunto {E, S1, . . . , Sn}
define una partición del conjunto universal de pacientes en una clase disjunta y exhaustiva
de conjuntos. Entonces, combinando las enfermedades y los síntomas, cada paciente puede
clasificarse en una y sólo una región tal como se muestra en la Figura 3.4, que proviene de
superponer las Figuras 3.2 y 3.3. Por ejemplo, el círculo negro de la Figura 3.4 representa
un paciente que tiene la enfermedad e4 y los tres síntomas: S1, S2 y S3.
Figura 3.2
Figura 3.3
29
Figura 3.4
3.5 LA BASE DE CONOCIMIENTO
La base de conocimiento de un sistema experto basado en reglas consta del conjunto de
objetos variables y del conjunto de reglas. La base de conocimiento de un sistema experto
probabilístico consiste en un conjunto de variables, {X1, . . . , Xn}, y una función de
probabilidad conjunta definida sobre ellas, p(x1, . . . , xn). Por ello, para construir la base de
conocimiento de un sistema experto probabilístico, se necesita definir la función de
probabilidad conjunta de las variables.
El modelo más general posible se basa en especificar directamente la función de
probabilidad conjunta, es decir, asignar un valor numérico (parámetro) a cada una de las
posibles combinaciones de valores de las variables. Pero, la especificación directa de la
función de probabilidad conjunta implica un gran número de parámetros por lo que, no hay
ordenador en el mundo capaz de almacenarlo incluso para un valor de n tan pequeño como
50. Esta fue una de las primeras críticas al uso de la probabilidad en los sistemas expertos.
Sin embargo, en la mayor parte de las situaciones prácticas, muchos subconjuntos de
variables pueden ser independientes o condicionalmente independientes. En tales casos, se
pueden obtener simplificaciones del modelo más general teniendo en cuenta la estructura de
independencia de las variables. Esto suele dar lugar a una reducción importante del número
de parámetros; a continuación se dan los siguientes ejemplos de tales simplificaciones:
1. El Modelo de Síntomas Dependientes (MSD).
2. El Modelo de Síntomas Independientes (MSI).
3. El Modelo de Síntomas Relevantes Independientes (MSRI).
4. El Modelo de Síntomas Relevantes Dependientes (MSRD).
Para introducir estos modelos se considera el problema del diagnóstico médico, en el que se
tienen n síntomas S1, . . . , Sn, y una variable aleatoria E, que podría tomar uno de m valores
posibles e1, . . . , em. En este problema se desea diagnosticar la presencia de una enfermedad
dado un conjunto de síntomas s1, . . . , sk. Para ello se tiene la función de probabilidad
conjunta de la enfermedad y los síntomas p(e, s1, . . . , sn).
3.5.1 El Modelo de Síntomas Dependientes
30
En este modelo se supone que los síntomas son dependientes pero que las enfermedades
son independientes entre sí, dados los síntomas. El MSD se ilustra en la Figura 3.5, donde
todo síntoma se conecta con los demás síntomas y con todo valor posible de E (indicando
dependencia).
Entonces la función de probabilidad conjunta para el MSD puede escribirse como:
Figura 3.5
Esta ecuación se obtiene utilizando (3.6) con X = {E} e Y = {S1, . . . , Sn}. Ahora,
p(ei|s1,....sn) puede expresarse como:
La primera de las ecuaciones se deduce de (3.3), y la segunda se obtiene aplicando (3.6). La
proporcionalidad se sigue de que p(s1, . . . , sn) es una constante de normalización.
3.5.2 El Modelo de Síntomas Independientes
Debido a la imposibilidad de trabajar con el modelo anterior en muchos casos prácticos,
resulta necesario proceder a la simplificación del modelo. Una simplificación posible
consiste en suponer que, para una enfermedad dada, los síntomas son condicionalmente
independientes entre sí. El modelo resultante se denomina modelo de síntomas
independientes (MSI) que se muestra en la Figura 3.6, donde los síntomas no están ligados,
para indicar la independencia.
Puesto que los síntomas se suponen condicionalmente independientes dada la enfermedad,
se tiene:
31
Figura 3.6
Por ello, se puede escribir la función de probabilidad conjunta de la enfermedad E dados los
síntomas s1, . . . , sn como:
Sustituyendo (3.26) en (3.21), se obtiene el modelo de síntomas independientes (MSI).
La ecuación (3.26) muestra cómo la hipótesis de independencia modifica las probabilidades
de todas las enfermedades cuando se conocen nuevos síntomas.
3.5.3 Modelo de Síntomas Relevantes Independientes
Se puede conseguir una reducción aún mayor del número de parámetros suponiendo que
cada enfermedad tiene un número reducido de síntomas relevantes. En consecuencia, para
cada valor ei de la enfermedad E se seleccionan algunos síntomas relevantes S 1, . . . , Sr
(relativamente pocos frente al total de síntomas) y los restantes síntomas se suponen
independientes para ese valor de E. El MSRI se ilustra en la Figura 3.7. Nótese que para e1,
el conjunto de síntomas relevantes es {S1, S2}; para e2, el conjunto de síntomas relevantes es
{S2, S3, S4}; y así sucesivamente.
Figura 3.7
32
Por simplicidad de notación, supóngase que S1, . . . , Sri son relevantes para la enfermedad ei
y que los restantes síntomas Sri+1, . . . , Sn son irrelevantes. Según el MSRI, p(sj|ei) se
supone idéntica para todos los síntomas que son irrelevantes para la enfermedad ei.
Entonces la función de probabilidad conjunta de la enfermedad ei dados los síntomas s1, . . .
, sn puede escribirse como sigue:
Sustituyendo (3.28) en (3.21), se obtiene el MSRI.
3.5.4 El Modelo de Síntomas Relevantes Dependientes
Aunque el MSRI reduce el número de parámetros considerablemente, es poco realista, ya
que los síntomas asociados a ciertas enfermedades suelen producirse en grupos o
síndromes. Por ello, puede ser poco razonable suponer que los síntomas relevantes son
independientes. El modelo de síntomas relevantes dependientes (MSRD) evita este
inconveniente. Se puede pensar en el MSRD como una solución de compromiso entre el
MSD y el MSRI. El MSRD se ilustra en la Figura 3.8, donde los síntomas relevantes para
cada enfermedad están conectados, indicando la dependencia.
Figura 3.8
33
Supóngase que S1, . . . , Sri son relevantes para la enfermedad ei y que los restantes síntomas
Sri+1, . . . , Sn son irrelevantes. Entonces según el MSRD, la función de probabilidad
conjunta de ei dados los síntomas s1, . . . , sn puede escribirse como:
donde pj = p(sj|ei), que es la misma para todas las enfermedades para las que Sj es
irrelevante. Sustituyendo (3.32) en (3.21), se obtiene el MSRD.
Sea cual sea el modelo elegido, la base de conocimiento debe contener el conjunto de
variables de interés y el mínimo de parámetros (probabilidades o frecuencias) necesarios
para especificar la función de probabilidad conjunta de las variables.
3.6 EL MOTOR DE INFERENCIA
El motor de inferencia utiliza el conocimiento y los datos para responder a ciertas
cuestiones hechas por el usuario. Los ejemplos de tales preguntas son:
. Cuestión 1: Antes de que sea examinado por un doctor, ¿cuál es la enfermedad más
probable para el paciente?. Aquí no hay evidencia disponible. El paciente todavía no ha
sido examinado y el conjunto de síntomas que presenta el paciente es vacío (queda por
determinar). El problema consiste en calcular la probabilidad marginal (inicial) de E,
. Cuestión 2: Dado que el paciente presenta un subconjunto de síntomas S 1 = s1, . . . , sk =
sk, ¿qué enfermedad tiene el paciente con mayor probabilidad?. El conjunto evidencial en
este caso consiste en el conjunto de valores s1, . . . , sk. El problema consiste en calcular la
función de probabilidad conjunta para cada enfermedad ei dada la evidencia s1, . . . , sk:
Una de las tareas del motor de inferencia en los sistemas expertos probabilísticos consiste
en calcular las probabilidades condicionales de diferentes enfermedades cuando se conocen
nuevos síntomas o datos. El motor de inferencia es responsable de actualizar las
probabilidades condicionales:
34
para todos los posibles valores de los síntomas, y de decidir cuáles tienen probabilidades
condicionales altas.
3.7 CONTROL DE LA COHERENCIA
Uno de los problemas más serios de los sistemas expertos es la presencia de incoherencias
en su base de conocimiento y/o en su memoria de trabajo.
Existen algunas razones para ello, como ser:
1. Los expertos humanos pueden suministrar conocimiento incoherente.
2. El usuario puede suministrar datos incoherentes.
3. El motor de inferencia no actualiza los hechos .
4. No hay un subsistema para controlar la coherencia que evite que llegue conocimiento
inconsistente a la base de conocimiento y/o la memoria de trabajo.
35
3.8 COMPARANDO LOS DOS TIPOS DE SISTEMAS EXPERTOS
BASADOS EN REGLAS
Objetos y conjunto de reglas.
Fácil de implementar, pues sólo
es necesario utilizar elementos
simples, tales como objetos,
Base de
Conocimiento conjuntos de valores, premisas,
conclusiones y reglas.
El conocimiento que puede ser
almacenado es limitado.
PROBABILISTICOS
Espacio de probabilidad, que
incluye las variables, sus posibles
valores, y su función de probabilidad
conjunta.
Inconveniente: el alto número de
parámetros que manejan, lo que hace
que sea difícil su especificación y
definición.
Las conclusiones se obtienen de
los hechos aplicando las
diferentes
estrategias
de
inferencia, tales como Modus
Ponens, Modus Tollens y
encadenamiento de reglas; por lo
que es rápido y fácil de
implementar.
Se basa en la evaluación de las
probabilidades
condicionales
utilizando uno o varios métodos
propuestos por los diferentes tipos
de sistemas expertos probabilístico. El
grado de dificultad depende del
modelo seleccionado y varía desde
baja,
para
los
modelos
de
independencia, a alta, para los modelos
de dependencia generales.
La explicación es fácil, ya que se
sabe qué reglas han sido
utilizadas para concluir en cada
momento. El motor de inferencia
Subsistema de sabe qué reglas se han utilizado
Explicación en el encadenamiento y han
contribuido
a
obtener
conclusiones y qué reglas se han
utilizado sin éxito.
Se basa en los valores relativos de las
probabilidades condicionales que
miden los grados de dependencia. Una
comparación de las probabilidades
condicionales
para
diferentes
conjuntos de evidencia permite
analizar
sus
efectos
en
las
conclusiones.
Consiste en incorporar nuevos
objetos, nuevos conjuntos de
valores factibles para los objetos,
Subsistema de nuevas reglas o modificaciones
Aprendizaje de los objetos existentes, de los
conjuntos de valores posibles, o
de las reglas.
Consiste en incorporar o modificar la
estructura del espacio de probabilidad:
variables, conjunto de posibles valores,
o los parámetros (valores de las
probabilidades).
Motor de
Inferencia
36
CAPÍTULO 4:
REDES NEURONALES
37
4.1 DEFINICIONES DE INTELIGENCIA ARTIFICIAL (IA)
•
•
•
Métodos y algoritmos que permitan comportarse a las computadoras de modo
inteligente.
Estudio de las facultades mentales a través del uso de modelos computacionales.
Desarrollo de autómatas (máquinas construidas por el hombre) para simular el
proceso deductivo e inductivo humano de adquisición y aplicación de conocimiento.
Dogma central de la IA
“Los procesos que se llevan a cabo en el cerebro pueden ser analizados, a un nivel de
abstracción dado, como procesos computacionales de algún tipo".
4.1.1 CONTROVERSIA
Durante el desarrollo de la IA siempre ha existido una controversia sobre los límites de esta
Ciencia.
Hubert L. Dreyfus: Qué no pueden hacer las computadoras:
“Grandes artistas han tenido la sensación de que la realidad era inflexiblemente rechazada
por ambos filósofos y tecnologístas, y que la base de la inteligencia humana no puede ser
aislada y explícitamente entendida.”.
Donald Michiel: Jefe científico del Instituto Turing:
“Es una equivocación preguntar todo el tiempo, ¿Pueden las computadoras pensar?,
¿Pueden ellas ser realmente creativas?, para todos los propósitos prácticos que ellas
pueden. El mejor camino para nosotros es dejar a los filósofos en su cuarto oscuro y
avanzar usando la computadora al máximo.”.
4.2 EVOLUCIÓN DE LA IA
Primera Generación (hasta 1955)
Esta generación estableció las bases filosóficas y los primeros modelos matemáticos de esta
disciplina.
Alan Turing (1950) publicó “Computing Machinery and Intelligence” donde sugiere:
38
“las maquinas pueden algunas veces competir con el hombre en todas las persecuciones
intelectuales.”.
Claude Shannon (1950) publicó “A Chess-Playing Machine” en Scientific American
analizando el problema del juego automático de ajedrez (10120 movimientos posibles).
En 1953, publicó “Computers and Autómata” con nuevos y sugestivos interrogantes.
¿Podrá construirse una máquina que:
1. Localice y repare sus propias averías?.
2. Se programe a sí misma?.
3. “Aprenda”?.
Warren McCulloch and Walter Pitts (1943) desarrollaron el primer modelo matemático
de red neuronal en “A Logical Calculus of the Ideas Immanent in Nervous Activity”. Este
modelo consistía en una red de neuronas binarias y sinapsis. Este modelo es esencialmente
equivalente a una máquina de Turing.
Segunda Generación:
•
La Conferencia de Dartmouth Organizada por John McCarthy y Marvin Minsky
(1956), fundó las bases modernas de esta disciplina bajo el lema:
“Para avanzar sobre las bases de la conjetura que todo aspecto del aprendizaje o
cualquier otro rasgo de la inteligencia puede en principio describir que una máquina
puede ser hecha para simularlo.”.
•
Logic Theorist fue uno de los primeros programas eficientes desarrollado por
Allen Newell, Herbert Simon y J.C. Shaw.
•
Mycin fue el pionero de los sistemas expertos (desarrollado por Edward Shortlie).
Puede diagnosticar infecciones bacterianas a partir de síntomas.
•
En 1957 Allen Newell predijo que en un plazo de 10 años, un ordenador sería el
campeón del mundo de ajedrez.
4.3 EL TEST DE TURING
Alan M. Turing (1912-1954), en el artículo “Computing Machinery and Intelligence”,
describió un juego de imitación para probar la inteligencia de las máquinas:
“Si la conversación con una computadora es indistinguible de una con un humano, la
computadora está desplegando inteligencia.”.
•
Test de Turing: Primera Fase:
39
Un interrogante intenta determinar cuál de los dos comunicadores es un hombre y cuál
es una mujer cuestionando a cada uno. Las reglas del juego le exigen al hombre que
intente engañar al interrogante y la mujer intente convencerlo que ella es la mujer. Se
hacen preguntas a través de un medio neutro como una terminal remota y cada reunión
se aísla en un cuarto separado para eliminar cualquier pista visual o audible.
•
Test de Turing: Segunda Fase:
Ahora el hombre es reemplazado por una computadora y los resúmenes del juego. Si la
computadora puede engañar al interrogante tan a menudo como el hombre lo hizo,
nosotros decimos que la computadora está desplegando inteligencia.
4.4 CARACTERÍSTICAS DE LOS MODELOS DE IA
Los modelos y algoritmos “estándar” de la IA tienen las siguientes características:
• El conocimiento se representa explícitamente usando reglas, redes semánticas,
modelos probabilísticos, etc.
• Se imita el proceso humano de razonamiento lógico para resolver los problemas,
centrando la atención en las causas que intervienen en el problema y en sus
relaciones (encadenamiento de reglas, inferencia probabilística).
• Se procesa la información secuencialmente.
Con el rápido desarrollo de la IA aparecieron un gran número de problemas complejos
donde no se disponía de una representación explícita del conocimiento y de un
procedimiento de razonamiento lógico para resolverlo.
- Posibles causas de este fallo: Procedimientos algorítmicos y estructura computacional
empleados eran incorrectos.
- Posible solución: Uso de estructuras computacionales paralelas inspiradas en redes
neuronales biológicas.
4.5 INSPIRACIÓN BIOLÓGICA
Las neuronas reciben señales (inputs) de otras neuronas vía conexiones sinápticas que
pueden ser excitantes o inhibidoras. En función de las señales recibidas, una neurona envía
a su vez una señal a otras neuronas por medio del axón.
40
Una neurona contiene un potencial interno continuo llamado potencial de membrana.
Cuando éste excede un cierto valor umbral, la neurona puede transmitir todo su potencial
por medio del axón.
Se estima que el cerebro humano contiene más de cien mil millones (10 11) de neuronas y
que hay más de 1000 sinapsis a la entrada y a la salida de cada neurona.
4.6 REDES NEURONALES ARTIFICIALES (NEURAL NETWORKS)
Neural Network Study (1988, AFCEA International Press, p. 60):
“… una red nerviosa es un sistema compuesto de muchos elementos de procesamiento
simple operando en paralelo cuya función es determinada por estructura de red, fuerzas de
conexión y el proceso realizado al ejecutar elementos o nodos.”.
Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY: Macmillan, p. 2:
“... Una red nerviosa es un procesador distribuido masivamente en paralelo que tiene una
propensión natural por guardar conocimiento experimental y hacerlo disponible para el
uso.” .
Se parece el cerebro en dos aspectos:
1.- El conocimiento es adquirido por la red a través de un proceso de aprendizaje.
2.- Las fuerzas de conexión interneurónicas conocidas como pesos sinápticos son usados
para guardar el conocimiento.
4.7 REDES NEURONALES. ESTRUCTURA
41
ü Las redes neuronales artificiales están compuestas de gran cantidad de
procesadores conectados entre sí y actuando en paralelo.
ü Los modelos neuronales biológicos son mucho más complejos que los modelos
computacionales actuales.
ü El comportamiento de la red está determinado por su topología, los pesos de las
conexiones y la función característica de las neuronas.
4.7.1 REDES NEURONALES. CARACTERÍSTICAS
•
•
•
•
Aprendizaje adaptativo: Las RNA aprenden a realizar tareas a partir de un
conjunto de datos dados en el proceso de aprendizaje.
Auto-organización: Pueden crear su propia organización o representación de la
información recibida.
Operación en tiempo real: Las operaciones realizadas pueden ser llevadas a cabo
por computadores paralelos, o dispositivos de hardware especiales que aprovechan
esta capacidad.
Tolerancia a fallos parciales: La destrucción parcial de una red daña parcialmente
el funcionamiento de la misma, pero no la destruye completamente. Esto es debido
a la redundancia de la información contenida.
4.7.2 REDES NEURONALES. DEFINICIONES
Definición 1: Neurona o Unidad Procesadora: Una neurona, o unidad procesadora, sobre
un conjunto de nodos N, es una tripleta (X; f; Y ), donde X es un subconjunto de N, Y es un
único nodo de N y f :à es una función neuronal (también llamada función activación) que
calcula un valor de salida para Y basado en una combinación lineal de los valores de las
componentes de X, es decir,
Los elementos X, Y y f se denominan conjunto de nodos de entrada, conjunto de nodos de
salida, y función neuronal de la unidad neuronal, respectivamente.
42
Definición 2: Red Neuronal Artificial: Una red neuronal artificial (RNA) es un par (N;U),
donde N es un conjunto de nodos y U es un conjunto de unidades procesadoras sobre N
que satisface la siguiente condición: Cada nodo Xi ª N tiene que ser un nodo de entrada o
de salida de al menos una unidad procesadora de U.
4.7.3 EJEMPLO
43
4.8 EL APRENDIZAJE
Existen dos fases en toda aplicación de las redes neuronales: la fase de aprendizaje o
entrenamiento y la fase de prueba.
•
Fase de Aprendizaje: Una característica de las redes neuronales es su capacidad de
aprender. Aprenden por la actualización o cambio de los pesos sinápticos que
caracterizan a las conexiones.
Los pesos son adaptados de acuerdo a la
información extraída de los patrones de entrenamiento nuevos que se van
presentando. Normalmente, los pesos óptimos se obtienen optimizando
(minimizando o maximizando) alguna “función de energía”. Por ejemplo, un
44
criterio popular en el entrenamiento supervisado es minimizar el least-square-error
(error cuadrático medio) entre el valor deseado y el valor de salida de la red.
•
Fase de Prueba: Una vez calculados los pesos de la red, las neuronas de la última
capa se comparan con la salida deseada para determinar la validez del diseño.
4.8.1 EL APRENDIZAJE: METODOS
Supervisado: Los datos están constituidos por varios patrones de entrada y de salida. El
hecho de conocer la salida implica que el entrenamiento se beneficia con la supervisión de
un maestro.
No Supervisado: Para los modelos de entrenamiento No Supervisado, el conjunto de datos
de entrenamiento consiste sólo en los patrones de entrada. Por lo tanto, la red es entrenada
sin el beneficio de un maestro. La red aprende a adaptarse basada en las experiencias
recogidas de los patrones de entrenamiento anteriores.
4.8.2 APRENDIZAJE DE HEBB
Hebb describe una forma de ajustar el peso de una conexión acorde a la correlación
existente entre los valores de las dos unidades de proceso que conecta. En su libro, “The
Organization of Behavior” (1949) expresa:
“Cuando un axón de célula A es bastante como para excitar una célula B y repetidamente o
persistentemente toma una parte disparándola, algún proceso de crecimiento o cambio
metabólico tiene lugar en una o ambas células tal que A es tan eficiente como una de las
células B que al disparar se aumenta.”.
Computacionalmente, esto se traduce en:
No Supervisado: el valor del peso wij es la correlación del valor de las unidades xi y xj:
45
Supervisado: Se ajusta el valor del peso entre las dos unidades en proporción a la
diferencia entre los valores deseado y calculado en cada una de las unidades de la capa de
salida.
á es la constante de aprendizaje (0 < á < 1).
4.9 VALIDACIÓN DEL MODELO
Una vez que ha terminado el proceso de aprendizaje y los pesos de la red neuronal han sido
calculados, es importante comprobar la calidad del modelo resultante.
Algunas medidas estándar del error son:
1. La suma de los cuadrados de los errores (Sum Square Errors, SSE), definida como:
2. La raíz cuadrada del error cuadrático medio (Root Mean Square Error, RMSE) definida
como:
3. El error máximo,
donde
es la salida de la red para el vector de entrada a p . Nótese que en el caso de una
única salida, la función norma || . || se reduce a la función valor absoluto | . | usual.
4.10 SOBREAJUSTE (OVERFITTING)
En estadística es bien conocido que cuando se utiliza un modelo con muchos parámetros
para ajustar un conjunto de datos procedente de procesos con pocos grados de libertad, el
modelo obtenido puede no descubrir las tendencias reales del proceso original, aunque
pueda presentar un error pequeño.
La curva (a) pasa exactamente por los puntos de entrenamiento. La curva (b) muestra el
comportamiento sobre un conjunto alternativo. La curva (c) es un polinomio de tercer
grado. La diferencia entre ambos modelos puede verse en (d).
46
4.11 NEURONAS UNIDADES DE PROCESO
•
Neuronas: X = (x1; ... ; xi; ... ; xn), donde xi es el nivel de actividad de la i-ésima
neurona.
• Pesos: Los pesos de la neurona i-ésima forman un vector Wi = (wi1,.....;wij;...;win);
donde wij es el peso de la conexión de xj a xi.
La actividad lineal de xi está dada por la función:
que depende de los pesos Wi.
Para incluir un valor umbral èi para la neurona xi, se considera una neurona auxiliar de
valor X0 = -1 y se conecta a xi con un peso èi.
4.12 FUNCIONES DE ACTIVACIÓN
•
Funciones lineales: f(x) = x.
47
•
Funciones paso: Dan una salida binaria dependiente de si el valor de entrada está
por encima o por debajo del valor umbral.
•
Funciones sigmoidales: Funciones monótonas acotadas que dan una salida gradual
no lineal.
1. La función logística de 0 a 1:
2. La función tangente hiperbólica de -1 a 1:
fc(x) = tanh(cx):
4.13 ARQUITECTURAS DE RED
1. Conexiones hacia delante.
2. Conexiones laterales.
3. Conexiones hacia atrás (o recurrentes).
48
4.14 LA RED DE HOPFIELD
La red neuronal de Hopfield es una arquitectura formada por una sola capa que se utiliza
principalmente como memoria auto asociativa, para almacenar y recuperar información.
La información se almacena usando un método simple de aprendizaje no supervisado que
obtiene la matriz de pesos que hace que dado cada uno de los patrones de entrenamiento
(almacenamiento) la red devuelva el mismo patrón (recuperación). Posteriormente, cuando
se tenga una configuración arbitraria de las neuronas como entradas, la red devolverá aquel
patrón almacenado que esté más cerca de la configuración de partida en términos de la
distancia de Hamming.
4.14.1 LA RED DE HOPFIELD MEMORIZANDO DATOS
Se considera una red neuronal de una sola capa sobre un conjunto de neuronas binarias
{x1;....xn} (con valores en {-1; 1}) donde cada neurona xi posee un vector de pesos wi =
(wi1; ... ; win), con wii = 0 indicando que no existe conexión consigo misma.
Se considera también la siguiente definición binaria de la neurona:
Ahora, supóngase que se quieren obtener los pesos apropiados para “memorizar” un patrón
a=(a1; ... ; an). Entonces, los pesos tienen que satisfacer las siguientes condiciones de
estabilidad:
por tanto la red devuelve el mismo patrón dado como entrada. Como se están usando los
valores neuronales {-1; 1}, entonces
pueden alcanzar considerando los pesos:
y las condiciones anteriores de estabilidad se
El mismo algoritmo puede extenderse a varios patrones, {(ap1;...; apn); p = 1;..... ; r}
En este caso, cuando se da como entrada un patrón ap se obtiene:
49
El problema de estabilidad se determina por los términos de correlación cruzada en el
segundo término de la suma en (8). Si es más pequeño que n, entonces se puede concluir
que el patrón es estable.
4.14.2 EJEMPLO: RECONOCIMIENTO DE CARACTERES
Para este ejemplo se utiliza una red de Hopfield con 25 neuronas consistente en una
cuadrícula 5 x 5 que recibe una imagen de puntos de una letra. Se consideran únicamente
las tres representaciones habituales de las vocales A, E, e I.
Los dígitos A, E, e I se representan como -1-11-1-1..., 1111-1...., y -1111-1....,
respectivamente donde los valores negativos se representan en gris y los positivos en negro.
La matriz de pesos 25 x 25 se obtiene como:
El valor resultante, ignorando la constante de normalización, se representa por un cuadrado
negro de pequeño tamaño en la esquina superior izquierda (peso w12). En la siguiente
figura, los colores negro y gris están asociados a los pesos positivos y negativos,
respectivamente, donde el tamaño de la caja representa la magnitud del valor.
50
4.15 INFORMACIÓN CORRUPTA
Una vez construida la red de Hopfield, ésta reconoce las tres vocales aún cuando se utiliza
como entrada cualquier otra cuadrícula (digitalización) 5 x 5 correspondiente a una versión
particular no estándar de la vocal.
4.16 ESTADOS ESPÚREOS
Si se intenta utilizar la misma arquitectura de red para reconocer las cinco vocales:
51
como en este caso el número de patrones es mayor de 0,138 x n = 0,138 x 25 = 3,45,
pueden aparecer algunos estados de falsa estabilidad en el modelo.
4.17 REDES MULTI-CAPA
Entre las arquitecturas de red más populares destacan las llamadas redes multi-capa o de
retropropagación.
Definición: Capa de Entrada de una Red Neuronal:
Una unidad se dice que está en la capa de entrada de una red neuronal (X;U), si es la
entrada de al menos una unidad funcional de U y no es la salida de ninguna unidad
procesadora de U.
Definición: Capa de Salida de una Red Neuronal:
Una unidad se dice que está en la capa de salida de una red funcional (X;U), si es la salida
de al menos una unidad funcional de U y no es la entrada de ninguna unidad procesadora
de U.
Definición: Capas Intermedias u Ocultas de una Red Neuronal:
Una unidad se dice que está en la capa intermedia de una red neuronal (X;U), si es la
entrada de al menos una unidad funcional de U y, al mismo tiempo, es la salida de al
menos una unidad procesadora de U.
4.18 EL PERCEPTRÓN
El perceptrón es una red neuronal de dos capas (una de entrada y una de salida) con
conexiones hacia delante.
52
¿Cómo se pueden obtener los pesos adecuados para “aprender” un conjunto de patrones?.
4.18.1 EL PERCEPTRÓN (APRENDIZAJE)
•
Aprendizaje Hebbiano: Inicialmente se eligen valores aleatorios para los pesos. La
idea del aprendizaje Hebbiano era modificar los pesos acorde a la correlación entre
las unidades. Se eligen los patrones de uno en uno; por ejemplo:
, entonces se modifica el peso:
•
Descenso de Gradiente: Inicialmente se eligen valores aleatorios para los pesos. La
idea de este método es utilizar un proceso iterativa que minimice la función de
error:
En el caso lineal (f(x) = x) se tiene:
53
En general, se tiene:
El parámetro ç se llama tasa de aprendizaje.
En el caso de funciones sigmoidales, las fórmulas anteriores no involucran derivadas
simbólicas, pues:
Se han propuesto distintas mejoras de este método para incrementar su eficiencia.
• Se puede incluir un parámetro de inercia á para acelerar la convergencia al mínimo:
•
Otros métodos incluyen términos de la función de error que penalizan grandes
pesos:
donde ë ¸ es un parámetro de regularización, que controla el equilibrio entre el modelo
ajustado y la penalización. El efecto de esta regularización de los pesos es suavizar la
función de error, ya que los pesos grandes están usualmente asociados a valores de salida
altos.
4.19 CLASIFICACIÓN LINEAL: PLANTEAMIENTO
Los problemas de clasificación consisten en asignar patrones dados a sus respectivas clases,
o categorías, basándose en patrones representativos de cada clase.
54
Se puede construir un perceptrón con estos puntos para obtener automáticamente el criterio
de clasificación. Por ejemplo, si se considera un perceptrón con dos entradas, xi y yi, y una
salida ci con función de activación lineal:
4.19.1 CLASIFICACIÓN LINEAL: APRENDIZAJE
Descenso de gradiente con ç = 0,2.
55
Si se considera una función de activación sigmoidal:
56
4.20 CLASIFICACIÓN NO LINEAL
Supóngase que se tiene un conjunto de 100 puntos aleatorios en el intervalo (-1; 1)
clasificados en dos categorías: los que están dentro del círculo (puntos rellenos), y los que
están fuera (puntos huecos).
57
Como estas dos categorías no son linealmente separables, entonces un perceptrón
no puede obtener un criterio de clasificación apropiado.
4.21 EL PERCEPTRÓN MULTI-CAPA
En este caso los patrones de aprendizaje son un conjunto de inputs
y sus correspondientes outputs
El método más popular de aprendizaje se denomina retro-propagación y está basado en
minimizar la función de error mediante un método de descenso de gradiente.
Inicialmente se eligen valores aleatorios para los pesos.
58
4.22 RETRO-PROPAGACIÓN. LA CAPA DE SALIDA
Los pesos correspondientes a las neuronas de la capa de salida yi = f(Yi) son modificados
considerando los valores de las neuronas ocultas hi = f(Hi). En este caso, la función de error
es:
4.22.1 RETRO-PROPAGACIÓN: LA CAPA OCULTA
Los pesos correspondientes a las neuronas de la capa oculta hi = f(Hi) son modificados
considerando los valores de las neuronas de entrada xi = f(Xi) y los de las neuronas de salida
yi = f(Yi).
59
4.22.2 RETRO-PROPAGACIÓN: ALGORITMO
1. Inicializar los pesos con valores arbitrarios.
2. Elegir un patrón p y propagarlo hacia delante. Con ello obtenemos
las capas oculta y de salida).
3. Calcular los errores de salida:
(outputs de
4. Calcular los errores de la capa oculta:
5. Calcular:
y actualizar los pesos.
6. Repetir los pasos anteriores para cada patrón.
60
4.23 CLASIFICACIÓN NO LINEAL
Perceptrón multicapa 2 : 5 : 1
4.24 MAPAS CAÓTICOS: EL MAPA DE HENON
El mapa de Henon es uno de los ejemplos más ilustrativos de sistemas simples con
dinámica compleja (caos determinista).
61
Para aproximar este mapa se utiliza una red neuronal 2:3:1 (la salida es xn y las entradas xn-1
x n-2).
4.24.1 EL MAPA DE HENON: RED NEURONAL
62
En algunos casos el proceso de optimización no converge al mínimo global, sino a uno
local. Esto es debido al gran número de parámetros involucrados en la red y a las
características de los modelos de aprendizaje.
4.25 REDES COMPETITIVAS
Las redes competitivas son muy utilizadas para detectar automáticamente grupos, o
categorías, dentro de los datos disponibles. Cada patrón de entrada representa un punto en
el espacio de configuración (el espacio de entradas) donde se quieren obtener clases. Para
ello, la capa de salida contiene tantas neuronas como clases, o categorías, como se quieran
obtener.
4.25.1 REDES COMPETITIVAS: APRENDIZAJE
Este tipo de arquitectura se entrena normalmente con un algoritmo consistente en
seleccionar la ganadora (“winner takes all"), por lo que sólo son actualizados los pesos
asociados a la neurona de mayor salida (la ganadora) para un patrón dado. Considérense los
datos de entrenamiento consistentes en un conjunto de patrones de entrada (a 1j; ... ; anj); j =
1; ... ; m. Se empieza con pequeños valores aleatorios para los pesos. A continuación, se
aplica el patrón (a 1j; ... ; anj), y se selecciona la unidad de salida ganadora, sea yk. Los pesos
asociados con esta neurona son modificados de acuerdo con:
63
El efecto es mover el vector peso (wk1; ... ; wkn) directamente hacia (a1j; ... ; anj).
64
CAPÍTULO 5:
CONCLUSIONES
5.1 CONCLUSIONES
A partir del trabajo realizado se puede demostrar que mediante la Inteligencia Artificial se
pueden resolver problemas que antes eran considerados altamente complejos y difíciles de
tratar a través de ordenadores, como ser: el reconocimiento de la voz, juegos y sistemas de
tipos deterministas y estocásticos, entre otros. Esta engloba varias áreas, una de las cuales
son los sistemas expertos, que están presentes en la mayor parte de las áreas de la
Inteligencia Artificial.
A pesar de que la adquisición de un sistema experto es cara, la ganancia y la amortización
son elevadas, además cuenta con ciertas ventajas: pueden ser utilizados para realizar
trabajos que son considerados inconfortables para el hombre, personal inexperto puede
resolver problemas que requieren un mayor conocimiento, mediante su uso se obtienen
grandes ahorros, entre otras ventajas. Estos se utilizan en transacciones bancarias, control
de tráfico, diagnóstico médico, etc.
De los dos tipos de sistemas expertos, la regla determinista constituye la metodología más
sencilla empleada en los sistemas expertos y es tratada por los Sistemas Basados en Reglas.
De la misma manera, la incertidumbre es común en muchas aplicaciones, donde una de las
medidas más aceptadas para tratar este problema es la probabilidad.
Otra de las ramas de la Inteligencia Artificial son las Redes Neuronales, que pueden
realizar tareas a partir de un proceso de aprendizaje mediante procesadores conectados
entre sí y actuando en paralelo.
65
BIBLIOGRAFÍA
-
Enrique Castillo, José Manuel Gutiérrez y Ali S. Hadi. Sistemas Expertos y
Modelos de Redes Probabilísticas. Editorial Academia de Ingeniería (España).
Madrid, España. 1998. ISBN 84-600-9395-6.
-
Enrique Castillo, Ángel Cobo, José Manuel Gutiérrez y Rosa Eva Pruneda.
Introducción a las Redes Funcionales con Aplicaciones – Un Nuevo Paradigma
Neuronal. Editorial Paraninfo. Madrid, España. 1999. ISBN 84-283-2525-1.
-
José Manuel Gutiérrez (Universidad de Cantabria). Neural Networks. 2002.
66
ÍNDICE
1. INTRODUCCIÓN
1.1 Introducción.
1.2 Sistemas Expertos: Definición.
1.3 Ejemplos de Aplicación de Sistemas Expertos.
1.4 ¿Por qué los Sistemas Expertos?.
1.5 Tipos de Sistemas Expertos.
1.6 Componentes de un Sistema Experto.
1.7 Desarrollo de un Sistema Experto.
1.8 Otras Áreas de la Inteligencia Artificial.
1
1
2
2
3
4
5
7
9
2. SISTEMAS BASADOS EN REGLAS
2.1 Introducción.
2.2 La Base de Conocimiento.
2.3 El Motor de Inferencia.
2.4 Control de Coherencia.
2.5 Explicando Conclusiones.
10
10
10
12
20
23
3. SISTEMAS BASADOS EN PROBABILIDAD
3.1 Introducción.
3.2 Algunos básicos de la teoría de la probabilidad.
3.3 Reglas generalizadas.
3.4 Introduciendo los Sistemas Expertos basados en Probabilidad.
3.5 La Base de Conocimiento.
3.6 El Motor de Inferencia.
3.7 Control de la Coherencia.
3.8 Comparando los dos tipos de Sistemas Expertos.
24
24
24
27
28
30
34
35
36
4. REDES NEURONALES
4.1 Definiciones de Inteligencia Artificial.
4.2 Evolución de la Inteligencia Artificial.
4.3 El Test de Turing.
4.4 Características de los modelos de Inteligencia Artificial.
4.5 Inspiración Biológica.
4.6 Redes Neuronales Artificiales.
4.7 Redes Neuronales. Estructura.
4.8 El Aprendizaje.
4.9 Validación del modelo.
4.10 Sobreajuste.
4.11 Neuronas Unidades de Proceso.
4.12 Funciones de Activación.
4.13 Arquitecturas de Red.
4.14 La Red de Hopfield.
37
38
38
39
40
40
41
41
44
46
46
47
47
48
49
67
4.15 Información Corrupta.
4.16 Estados Espureos.
4.17 Redes Multi – capa.
4.18 El Perceptrón.
4.19 Clasificación Lineal: Planteamiento.
4.20 Clasificación No Lineal.
4.21 El Perceptrón multi – capa.
4.22 Retro - propagación. La Capa de salida.
4.23 Clasificación No lineal.
4.24 Mapas Caóticos: El Mapa de Henon.
4.25 Redes Competitivas.
5. CONCLUSIONES
BIBLIOGRAFÍA
51
51
52
52
54
57
58
59
61
61
63
65
66
68
Descargar