martes, 2 de diciembre de 2008

Un motor de inferencia basado en redes bayesianas

Hace más de un año, un sistema experto para el diagnóstico de enfermedades y plagas del espárrago fue desarrollado por mi, y Jorge Valverde, este sistema estaba basado en la inferencia con árboles de decisión. Este modo de inferencia es el más antiguo de la programación lógica, y forma parte del modo en que se realizan las inferencias en el lenguaje Prolog. Se establecen reglas lógicas, compuestas de hipótesis->conclusión. Cuando creamos un regla A->C, siempre resultará que dado A, se tendrá C. Sin embargo, no siempre será así.

Por ejemplo, si tuviéramos una regla como:
Si (caminas por una calle) -> (asaltado)

una regla un poco ortodoxa, pero creo que útil. En este ejemplo, podríamos decir 'depende'. Tal vez si caminamos por un barrio peligroso, en donde cada 10 minutos ocurre un asalto, tal vez la regla se cumpla en un 99%. Y quizá en otras urbes, sea casi poco probable que pueda ocurrir, es decir, casi imposible. De esto podemos deducir, que depende del ambiente en que se esté para aplicar tal regla. De igual forma, en el campo médico, la situación está condicionada al ambiente, el cual es característico de cada zona, en el caso del espárrago, depende del lugar en donde se esté cultivando para poder realizar un análisis de diagnóstico. Por ello usamos un nuevo modelo probabilístico, específicamente redes bayesianas para poder realizar un diagnóstico más certero y de acuerdo al ambiente en donde se implantaría. Aquí dejo algunos fragmentos del paper SEDFE: Un Sistema Experto para el Diagnóstico Fitosanitario del Espárrago usando Redes Bayesianas.

1. Introducción del trabajo

Los Sistemas Expertos fueron concebidos desde su creación como una manera de aplicar las técnicas de la Inteligencia Artificial a problemas reales (Benítez y Pérez, 2003). Su plataforma basada inicialmente en la lógica de primer orden se ha ido potenciando al punto de contar con diversas técnicas para lograr conclusiones adecuadas tanto para los sistemas de tipo deterministas como para los de tipo estocástico. Según (Castillo, 1997), aquellos Sistemas Expertos de tipo estocástico, según que utilizan la probabilidad como medida de incertidumbre son llamados sistemas expertos probabilísticos y la estrategia de razonamiento que usan se conoce como razonamiento probabilístico o inferencia probabilística.

Actualmente, existen muchos modelos probabilísticos empleados en muchas áreas de trabajo y disciplinas de estudio, los cuales contribuyen grandemente a solucionar problemas dentro de nuestra sociedad. Con respecto al espárrago no se han encontrado muchos trabajos, a pesar de la gran importancia socioeconómica que esta hortaliza significa para el país (O’Brien y Díaz, 2004) y por constituirse como uno de los principales productos de agro-exportación (Dirección General de Información Agraria, 2007), (O’Brien y Díaz, 2004). Sin embargo, a pesar de la excelente condición climática presente en el Perú para la cosecha del espárrago y de las buenas prácticas agrícolas implementadas, uno de los principales problemas identificados es la escasa atención fitosanitaria que termina por encarecer los costos y disminuir el rendimiento de producción (O’Brien y Díaz, 2004), (Intesa, 2003).

En este contexto, presentamos un sistema experto probabilístico, el cual modela la realidad patogénica del espárrago otorgando el diagnóstico respectivo. El modelado consiste en la construcción de una Red Bayesiana compuesta por un conjunto de variables, de manera que hay m variables que representan la presencia o ausencia de varias enfermedades y n variables que representan la presencia o ausencia de determinados síntomas (Susi, 2007), las cuales mantienen una relación causa-efecto. Todos los nodos que forman parte de la red contienen una tabla de probabilidades condicionadas a priori. A partir de esto realizamos la inferencia usando el algoritmo de paso de mensajes de Kim y Pearl (Kim y Pearl, 1983), el cual tiene la ventaja de ir actualizando todos los nodos de la Red Bayesiana conforme vayan apareciendo nodos de los que ya se tiene un conocimiento a priori.

2. Teorema de Bayes
El teorema es ampliamente usado en la teoría de la probabilidad, según (Russell y Norving, 2003) subyace a todos los sistemas modernos de inferencia probabilística. El teorema es derivado de la fórmula de probabilidad condicional y permite establecer la probabilidad a posteriori de una variable Y, dado un conjunto de eventos X.

3. Definición de Red Bayesiana

Según (Susi, 2007) y (Castillo, 1997) una Red Bayesiana es un par (D,P) , donde D es un grafo acíclico dirigido (GAD) tal que los nodos representan las variables del problema X=(X1,X2,...,Xn) y los arcos representan las dependencias probabilísticas, y P={ p(X1|pa(X1)),...,p(Xn|pa(Xn)) } es un conjunto de n distribuciones de probabilidad condicionada, una para cada variable, siendo pa(Xi) el conjunto de padres del nodo X en el grafo D. Donde además el cálculo de la probabilidad conjunta del problema se obtiene mediante el producto de los elementos de P, tal que:

4. Modo de inferencia

Como hemos mencionado, el proceso de inferencia será basado en el algoritmo de paso de mensajes de Kim y Pearl (Kim y Pearl, 1983), explicado también en (Korb y Nicholson, 2004), el cual, es similar al de inferencia por enumeración, sin embargo considera la comunicación bidireccional, es decir de padres a hijos y viceversa, lo que permite establecer razonamiento de diagnóstico como de predicción. Por otro lado, el algoritmo almacena valores parciales en base a los mensajes phi y lambda, recibidos de los nodos padres e hijos respectivamente (Korb y Nicholson, 2004). Esto permite tener un pre-cálculo de probabilidades que ahorra tiempo para la siguiente vez.

A continuación describiremos los valores usados en el algoritmo de inferencia, considerando que un nodo actual X tiene un conjunto de padres U y un conjunto de hijos Y.

4.1 Probabilidad lambda

Es el valor que se usa para realizar un diagnóstico. Se obtiene a través de la contribución de cada enlace saliente del nodo actual, es decir por el conjunto de nodos hijos.

4.2 Probabilidad phi

Es el valor que da soporte a la inferencia predictiva, y es la contribución de cada enlace entrante a X, es decir, los padres de X.


4.3 Mensaje lambda

El nodo actual X calcula nuevos mensajes para enviarlos a cada uno de sus padres. En este caso la propagación del mensaje se realiza de abajo hacia arriba.

4.4 Mensaje phi

El nodo X calcula los nuevos mensajes para enviarlos a sus hijos, como se muestra en la figura 8. Esto mantiene actualizado a sus nodos padres con respecto a la propagación de evidencia vía X.
5. Experimentos y resultados

· Para la realización de pruebas, nos hemos basado en (Dirección General de Información Agraria, 2007) y las características usuales (síntomas) de las enfermedades del espárrago. Aquí exponemos el análisis de una enfermedad: la estemfiliosis y cómo el sistema logra inferir las consultas expuestas a continuación. Los datos fueron elegidos de acuerdo a nuestro criterio, basándonos en las características más comunes de cada enfermedad.

De esta manera, para el entorno A se modeló la Red Bayesiana que se muestra en la siguiente figura:

El algoritmo de inferencia de paso de mensajes de Kim y Pearl, fue analizado junto con el algoritmo de Enumeración, los resultados fueron similares, y sólo eran centésimas de diferencia, lo que indica que la inferencia aproximada de paso de mensajes, es correcta.

De la figura 9 del paper, podemos comentar lo siguiente, cuando los síntomas visibles son los que tienen más alta sensibilidad (y en nuestro caso también, más baja especificidad correspondiente), se presenta un fenómeno, esto implica que las contribuciones de los síntomas restantes no podrían ayudar a que la probabilidad de aparición de la enfermedad se de acabo. Al contrario cuando los síntomas de más baja sensibilidad (TPN y TCP) aparecen, la probabilidad de que haya Estemfiliosis es casi un hecho y esto se debe también a que los demás síntomas tienen altas probabilidades de aparecer (a comparación de TPN y TCP) dentro del ambiente por su alta sensibilidad detectada en el entorno del experimento.

6. Conclusiones

Los síntomas con baja especificidad y sensibilidad, cuando no son visibles, permiten establecer mucha más duda de que la enfermedad pueda aparecer, aún teniendo síntomas con altas sensibilidades visibles, por ello es recomendable usar siempre síntomas que traten de caracterizar en lo mejor posible a una enfermedad, teniendo altas sensibilidades y especificidades para tener mucha más precisión a la hora de responder una consulta. Ello requiere que los estudios estadísticos, acerca del entorno donde se va a implantar el sistema, tengan mucha confiabilidad en los datos, acerca de experiencias pasadas, entre las relaciones de los síntomas y la enfermedad (o enfermedades).

El método a base de mensajes resulta tener casi los mismos resultados a comparación de métodos como el de Enumeración que es más exacto pero más costoso, ya que en vez de actualizar los datos, como lo hace el método de Kim y Pearl (Kim y Pearl, 1983), a través de mensajes, realiza un cálculo completo siempre.

Por último, el sistema es totalmente adaptable a cualquier entorno, con el estudio estadístico de síntomas y enfermedades dentro de dicho entorno, como información a priori para el sistema experto. Debido a que las condiciones climáticas varían según el lugar, también varía el nivel de incidencia de ciertas enfermedades, y sus síntomas. Por tanto el sistema experto sólo requiere la información a priori adecuada para poder efectuar los diagnósticos acertados.

Referencias

  • Benítez Rochel R. y Pérez de la Cruz J.L. (2003). Presente y Futuro de los sistemas Expertos: Una perspectiva Cognitiva. Dpto. de Lenguajes y Ciencias de la Computación, Universidad de Málaga.
  • Castillo E., Gutiérrez J.M. y Hadi A.S. (1997). Expert Systems and Probabilistic Network Models. Springer-Verlag, New York.
  • Dirección General de Información Agraria. (2007). Informe de Producción Agropecuaria Febrero 2007. Ministerio de Agricultura del Perú.
  • Gonzalez Andujar J.L. (1990). Utilización de los Sistemas Expertos en Entomología. Bol. San. Veg. Plagas, 16 (1): 405-410.
  • Intesa (2003). Espárragos: Busca consolidarse como el primer exportador mundial. Reporte Sectorial, Departamento de Estudios Económicos, Banco Wiese Sudameris.
  • Kim J. y Pearl J. (1983). A computational model for causal and diagnostic reasoning in inference systems. In Proceedings of the Eighth International Joint Conference on Artificial Intelligence (IJCAI), pp. 190-193.
  • Korb K.B. y Nicholson A.E. (2004). Bayesian Artificial Intelligence. Chapman & Hall/CRC computer science and data analysis.
  • O’Brien T.M. y Díaz Rodríguez A. (2004). Mejorando la competitividad y el acceso a los mercados de exportaciones agrícolas por medio del desarrollo y normas de inocuidad y calidad: El Ejemplo del Espárrago Peruano. Reporte del Programa de Sanidad Agropecuaria e Inocuidad de Alimentos del Instituto Interamericano de Cooperación para la Agricultura (IICA).
  • Pearl J. (1986). Fusion, propagation and structuring in belief networks. Artificial Intelligence, 29, 241-288.
  • Russell, S. y Norving P. (2003). Artificial Intelligence: A modern Approach, 2da. Edición, Prentice Hall, pp. 462-646.
  • Susi García R. (2007). Análisis de Sensibilidad en Redes Bayesianas Gaussianas. Memoria presentada para optar al grado de Doctor, Departamento de Estadística e Investigación Operativa, Facultad de Ciencias Matemáticas, Universidad Complutense de Madrid.

4 comentarios:

Anónimo dijo...

hola

Anónimo dijo...

Hola, cuando desarrollaron el sistema experto con inferencia por arboles de decisión en que programa lo hicieron??

Quiero hacer un sistema experto de orientación vocacional, me dijeron que en visual prolog, pero el manejo de la base de datos es complicado, quisiera saber otras opciones que podría usar.

Gracias de antemano!

Evelyn

Carolina dijo...

Buen dia Jorge, mi nombre es Carolina, soy de Argentina y estoy
desarrollando mi tesis para poder recibirme de Licencia en Sistemas,
se trata de un sistema experto basado en redes bayesianas para el
diagnostico de trastornos generalizados del desarrollo y vi el
articulo que publicaste de tu sistema experto y me intereso mucho.
Yo para construir las redes bayesianas y representar la inferencia voy
a utilizar la herramienta llamada Elvira, pero lo que no tengo claro,
es que diagramas deberia incluir para poder representar las etapas de
conceptualizacion y formalizacion en mi tesis, por ejemplo, si deberia
detallar el arbol de descomposicion funcional, la tabla
concepto-atributo-valor y si para representar los conocimientos
tacticos deberia utilizar seudorreglas y formulas, como se realiza en
un sistema experto basado en redes.
Me podrias responder esa duda y contarme un poquito que diagramas
utilizaron para representar el conocimiento y formalizarlo?,
publicaron el trabajo completo como parapoder utilizarlo de
referencia?

Desde ya aguardo tu respuesta y te agradezco por tu ayuda.

Saludos desde Argentina.

Carolina

Carolina dijo...

Buenas tardes, conocen en que sitio de internet puedo descargar un trabajo de tesis completo, que hayan publicado acerca de un sistema experto basdo en redes bayesianas?, muchas gracias