Implementación de Redes Bayesianas con Elvira y OpenMarkov en Java Cecibel Chamba Universidad Universidad Nacional de Loja
Marjorie Chinchay
Karla Herrera
Universidad Universidad Nacional de Loja
Universidad Universidad Nacional de Loja Resúmen
En el presente artículo se abordará los conceptos más relevantes relacionados con los redes bayesianas y la implementación de una red bayesiana para aprobar Décimo Módulo en java con la ayuda de los programas elvira y openMarkov.
Introducción
La inteligencia artificial posee varias técnicas, entre las cuales está presente las redes bayesianas, siendo éstas muy útiles a la hora de calcular probabilidades de que un suceso ocurra de acuerdo a las causas que lo puedan ocasionar. Por ello, es fundamental su conocimiento y su aplicación dentro de un lenguaje de programación. Desarrollo Redes Bayesiana
son herramientas estadísticas que representan un conjunto de incertidumbres asociadas sobre la base de las relaciones de ind indepe epende ndenci nciaa condic condicion ional al que se establ establece ecenn entre entre ellas. ellas.(Ed (Edwar wards, ds, 1998). 1998). También ambién es conoci conocida da como como un conjunto de variables o estructura gráfica conectando estas variables y un conjunto de probabilidades condicionales. Codifica incertidumbre asociada a cada variable por medio de probab probabil ilida idades des y, gracia graciass al teorem teoremaa de Bayes, Bayes, esta esta incertidumbre es susceptible de ser modificada con base en observaciones observaciones (o evidencias) evidencias) sobre el modelo.Kadie C Una red bayesiana consta de nodos, enlaces y parámetros. cada nodo corresponde a una variable, que a su vez representa una entidad del mundo real. La información cuantitativa cuantitativa de una red bayesiana viene dada por: La probabilidad a priori de los nodos que no tienenpadres.
Un conjunto de variables proposicionales, proposicionales, V Un conjunto de relaciones binarias definida sobre las variables de V, E. Una distribución de probabilidad conjunta sobre lasvariables de V. Tales que: (V, (V, E)forman un grafo acíclico, conexo y dirigido G. (G, P) cumplen las hipótesis de independencia condicional, también llamadas de separación direccional, que se enuncian a continuación. Las hipótesis de independencia condicional establecen que cada nodo debe ser independiente de los otros nodos de la red (salvo sus descendientes) dados sus padres
Figura 1: Red Bayesiana
(Nava, s.f.)
La probabilidad condicionada de los nodos con padres. Cuando una variable se instancia o cambia su probabilidad, informa a su padre a través del paso de un mensaje. En base a este mensaje, el padre actualiza su probabilidad ( Redes Bayesiana, s.f.) Definición formal Una red bayesiana es:
Modelado con redes bayesianas Identificación de variables
Para identificar las variables es importante conocer el problema a modelar y centrarse en aquellas que son de interés, con el apoyo de preguntas como las siguientes:
Cecibel Chamba-Marjorie Chinchay - Karla Herrera ¿Cuál es la situación que se plantea? ¿Qué posibles causas pueden explicar esta situación? ¿Qué otros factores pueden hacer que los problemas o causas ocurran, o impedir que ocurran? ¿De qué evide evidenci nciaa se dispon disponee para para soport soportar ar dichas dichas caucausas, problemas o factores? Tipos de variables: Variables objetivo :
Las variables objetivo suelen utilizarse para modelar fenómenos latentes, es decir, fenómenos que no son directamente observables observables Variables de observación:
Las variables de observación se usan para modelar las formas indirectas que tenemos de medir las variables objetivo. También sedenominan variables de evidencia. Factores:
También se denominan variables de contexto. Los factores pueden dividirse en 4 categorías, en relación al tipo de influencia en las variables afectadas: •
Promotores:
Si el factor promotor ocurre, la variable afectada será más probable (correlación positiva). positiva). •
Inhibidores:
Si el factor promotor ocurre, la variable afectada es menos probable (correlación negativa) negativa) •
Requeridos:
Es indispensable que estos factores entren en acción para sea posible que ocurran las variables afectadas. Por ejemplo, para que una población específica de bacterias crezca se requiere que la temperatura esté por encima de un determinado nivel. •
Preventivos:
Si el factor ocurre, la variable afectada no puede ocurrir. Auxiliares:
Son variables que se usan por conveniencia. conveniencia. Por ejemplo, para simplificar el proceso de modelado y especificación de parámetros Tipos de Redes Bayesianas Redes Bayesianas Continuas
son aquellas que tienen un número infinito de posibles valores. En este tipo de redes resulta complicado determinar explícitamente las probabilidades condicionadas para cada valor de las variables, así que las
Tutor: Ing Henry Paz probabilidades condicionadas se representan mediante una función de probabilidad. Redes Bayesianas Dinámicas
Las redes redes Bayesi Bayesiana anass din dinámi ámicas cas consi consient enten en en la expoexposición de procesos que contienen una variable aleatoria en cada intervalo de tiempo. El proceso que se está estudiando puede entenderse como una serie de procesos en un instante de tiempo( El papel de las redes bayesianas, s.f.) Aplicaciones de las redes bayesianas
La utilización de las redes bayesianas ha sido muy difundida en diferentes campos como en la manipulación de sistemas expertos en la medicina, en la depuración de programas de inteligencia artificial, en la genética, en procesos de producción; todos estos enfocados a la solución de problemas y en la identificación de probabilidades que disminuyan riesgo, como es el uso primordial que se le da en la rama financiera. Las redes bayesianas como herramienta de gestión de riesgo son de suma importancia para el gremio financiero debido a sus grandes aportes en la definición de condiciones probabilísticas de inferencia, con un amplio manejo de variables. Las redes bayesianas son utilizadas para representar el conocimiento en métodos de razonamiento, explotación de información, análisis de los deudores del sistema financiero y predicción de ventas; basados en la teoría de la probabilidad, tal que se pueda predecir el valor de las variables no observadas y explicar los resultados arrojados de las variables observadas. El uso de las redes bayesianas permiten aprender sobre relaciones de dependencia y combinar conocimiento con nuevos datos. Elvira
El programa Elvira es fruto de un proyecto de investigación financiado por la CICYT y el Ministerio de Ciencia y Tecnología, en el que participaron investigadores de varias universidades españolas y de otros centros. Aunque la segunda fase del proyecto finalizó en 2005, el desarrollo de Elvira continúa hasta la actualidad, con la adición de nuevas funcionalidades. Elvira está destinado a la edición y evaluación de modelos gráficos probabilistas, concretamente redes bayesianas y diagramas de influencia. Elvira está escrito y compilado en Java, lo cual permite que funcione en diferentes plataformas plataformas y sistemas operativos operativos (MS-DOS / Windows, Windows, linux, Solaris, etc.). (Andrés, s.f.) Instalación de Elvira
La última versión de Elvira es la 0.162 y ocupa 3.2 MB., para poder utilizar Elvira es necesario tener instalado
UNIVERSIDAD NACIONAL DE LOJA 2
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] [email protected]
Cecibel Chamba-Marjorie Chinchay - Karla Herrera previamente Java. 1. Descargar Elvira de la página oficial // leo.ugr.es http: // leo.ugr.es / elvira elvira / , ya sea sea para para li linu nuxx o para para windows.
Figura 2:Página oficial de Elvira
(Andrés, s.f.)
2. Al archivo .zip descargado descargado se lo debe descomprimir. descomprimir.
Tutor: Ing Henry Paz de Investigación sobre Sistemas Inteligentes de la UNED en Madrid. Para Para desc descar arga garl rlo, o, se nece necesi sita ta ir a su pági página na ofici oficial al // www.openmarkov.org http: // www.openmarkov.org / inicio.html inicio.html y situarse en la opción Descargas. (CISIAD, s.f.)
Figura 5: Página oficial de OpenMarkov
(CISIAD, s.f.) OpenMarkov guarda sus archivos en pgmx lo que ofrece la oportunidad de realizar la conexión de archivos con esta extensión en aplicaciones de java.
Figura 3:Descomprensión del programa Elvira Figura 6:Ventana Principal de OpenMarkov
(Chamba Cecibel, s.f.) 3. Dar doble clic sobre el archivo elvira.jar Red Bayesi Bayesiana ana para para calcul calculara ara la proba probabil bilida idad d de aproba aprobarr décimo módulo en la Universidad Nacional de Loja
Para la realización de esta red, se toma en cuenta las materias vistas en el módulo, cada una de ellas se convierte en un nodo Anteproyectos Control Automatizado Figura 4:Pantalla Principal de Elvira
Ética Profesional Inteligencia Artificial
OpenMarkov
OpenMarkov es una herramienta informática para modelos gráficos probabilistas (MGPs) desarrollada por el Centro
Simulación Sistemas Expertos
UNIVERSIDAD NACIONAL DE LOJA 3
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] [email protected]
Cecibel Chamba-Marjorie Chinchay - Karla Herrera
Figura 7:Red Bayesiana para aprobar Décimo Módulo
Tutor: Ing Henry Paz 3. Crear la conexión para utilizar utilizar el archivo archivo de openmarkov en java. En cualquier IDE de desarrollo en Java se crea una nueva aplicación y se adjunta la librería de OpenMarkov. Esta aplicación posee el constructor y dos métodos: en el constructor se obtiene el archivo con extensión pgmx, se recorre cada uno de los nodos del archivo pgmx y se guardan en una lista creada para ello.
Luego de ello, se especifica los parametros a evaluar de cada una de las materias, que se convierten también en nodos. Al final, se coloca un valor de probabilidad a cada nodo hasta llegaral nodo principal. La tabla final de probabilidades
Figura 8:Tabla de probabilidad de la Aprobación de Décimo Módulo
Figura 10:Método Constructor
(Chamba Cecibel, s.f.) [figura 8 ] se calcula de acuerdo a párametros como Si las asistencias son mayores o menores al 80 Las notas de los módulos anteriores han sido altas, ba jas o medias.
El siguiente método en cambio sirve para obtener los atributos de cada uno de los nodos e ir presentandolos en la interfaz, en este caso se ha utilizado una tabla. Los atributos presentados son:
La nota de cada una de las materias hasta el momento, es decir si se ha alcanzado el valor de aprobado o reprobado hasta el momento. Implementación de Redes Bayesianas con Java
1. Realizar la red bayesiana bayesiana en elvira, elvira, tomando en cuenta los valores y probabilidades de cada nodo.
getName: Obtiene el nombre del nodo. getNode: Obtiene el nodo completo, es decir con
todos sus atributos. atributos. getNodeType: Obti Obtien enee el ti tipo po de nodo nodo,, eseste valo valorr pued puedee ser ser Chan Chance ce,, Util Utilit ityy, Deci Deci-sion, Sv_Sum, Sv_Product, Cost, E ff ectiveness, ectiveness, CE(Cost-Eff ectiveness). ectiveness). getRelevance: Obtiene la ..... getApproximateMaximum getApproximateMaximumUtilityFunctio UtilityFunction: n:
Obtiene la máxima probabilidad. getApproximateMinimu getApproximateMinimumUtilityFuncti mUtilityFunction: on:
Figura 9:Red Bayesiana realizada en Elvira
2. Abrir el archivo con extensión elv en OpenMarkov y guardarlo con la extensión por defecto de esta aplicación, es decir pgmx. UNIVERSIDAD NACIONAL DE LOJA 4
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] [email protected]
Obtiene la mínima probabilidad. getUtilityFunction: Obtiene los nodos que lo afectan y sus probabilidades. probabilidades. getChildren: Obtiene los hijos del nodo. getParents: Obtiene los padres del nodo getCoordinateX: Obtiene la posición del nodo de acuerdo a las X’s getCoordinatey: Obtiene la posición del nodo de acuerdo a las Y’s
Cecibel Chamba-Marjorie Chinchay - Karla Herrera
Tutor: Ing Henry Paz
Figura 14:Ejecución de la aplicación
Conclusiones Figura 11: Método para la presentación de datos en la interfaz
Las redes bayesianas son muy útiles a la hora de calcular la probabilidad de un suceso, tomando en cuenta los factores que inciden en él.
(Chamba Cecibel, s.f.)
getProbNet: Obtiene toda la red.
Y por último, se presenta los resultados de la red, de acuerd acuerdoo a los valor valores es selecc seleccion ionado adoss en la red bayesi bayesiana ana hecha en elvira.
Las redes bayesianas realizadas en elvira o en openmarkov pueden ser utilizadas como parte de aplicaciones mucho más grandes desarrolladas en algún lengua je de programación. Recomendación
Realizar un cálculo adecuado del valor de la probabilidad de cada uno los atributos de un nodo, este debería ser colocado en base a algún estudio, encuesta; es decir en base a valores reales que permitan obtener resultados más óptimos. Tener Tener conocimientos acerca de un lenguaje de programación, por ejemplo java, para el desarrollo de aplicaciones de inteligencia artificial; puesto que al tenerlos es más fácil su programación y la utilización de las librerías existentes. Figura 12:Método para presentar los resultados de la red
Referencias
(Chamba Cecibel, s.f.)
Andrés Andrés,, E. C. (s.f.) (s.f.).. Página oficial oficial de elvira. Descargado de http://leo.ugr.es/elvira/
4. Ejecutar la aplicación A continuación se presenta la interfaz de la aplicación.
Figura 13:Interfaz de la aplicación
Al presionar el botón de "Probabilidad para aprobar el Módulo.aparecerán los datos obtenidos de la red hecha en elvira
Chamba Cecibel, H. K., Chinchay Marjorie. Marjorie. (s.f.). Implementación de una red bayesiana para la aprobación de décimo módulo de ingeniería en sistemas en java con elvira y openmarkov. Descarhttps://github.com/yece/redeesBayesi m/yece/redeesBayesianas anas gado de https://github.co CISIAD. (s.f.). Openmarkov. Descar Descargad gadoo de http://www.openmarkov.org/inicio.html
Edwards. (1998). Tools for and experiences with bayesian normative modelling. () [On the electrodynamics of moving bodies]. doi: http: // www.psico.uniovi.es www.psico.uniovi.es / REMA REMA / v13n1 v13n1 / a2 a2 / p3.html p3.html (s.f (s.f.) .).. Desc Descar arga gado do de El papel de las redes bayesianas. bayesianas. https://www.google.com.ec/url?sa=trct= https://www.google .com.ec/url?sa=trct=jq=esrc=ssource=web jq=esrc=ssource=webcd=9 cd=9 YZOLU qHG 67 J sQT ug4CYAgusg = − = AF Q jCN H f trvGZ xhXBY aanu0 78Fb 7446tQbvm bv 67720277 d cWc Nava, F. F. P. P. (s.f.). Rede Redess bay bayes esia iana nass Desc Descar arga gado do de e inte inteli lige genc ncia ia arti artific ficia ial. l. ,
UNIVERSIDAD NACIONAL DE LOJA 5
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] [email protected]
,
.
Cecibel Chamba-Marjorie Chinchay - Karla Herrera
Tutor: Ing Henry Paz
http://fdoperez.webs.ull.es/doc/Rede http://fdoperez.w ebs.ull.es/doc/RedesBayesianasEduc.pdf sBayesianasEduc.pdf, , (s.f.). Descargado de Redes bayesiana. bayesiana. http://www.google.com.ec/url?sa=trct=j http://www.google. com.ec/url?sa=trct=jq=esrc=ssource=webc q=esrc=ssource=webcd=10 d=10
UNIVERSIDAD NACIONAL DE LOJA 6
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] [email protected]