Implementación de Redes Bayesianas con Elvira y OpenMarkov en Java

download Implementación de Redes Bayesianas con Elvira y OpenMarkov en Java

of 6

description

Desarrollo de una red Bayesiana para calcular la probabilidad de aprobar décimo módulo

Transcript of Implementación de Redes Bayesianas con Elvira y OpenMarkov en Java

  • Implementacin de Redes Bayesianas con Elvira y OpenMarkov en Java

    Cecibel ChambaUniversidad Nacional de Loja

    Marjorie ChinchayUniversidad Nacional de Loja

    Karla HerreraUniversidad Nacional de Loja

    Resmen

    En el presente artculo se abordar los conceptos ms relevantes relacionados con los redesbayesianas y la implementacin de una red bayesiana para aprobar Dcimo Mdulo en javacon la ayuda de los programas elvira y openMarkov.

    Introduccin

    La inteligencia artificial posee varias tcnicas, entre lascuales est presente las redes bayesianas, siendo stas muytiles a la hora de calcular probabilidades de que un sucesoocurra de acuerdo a las causas que lo puedan ocasionar. Porello, es fundamental su conocimiento y su aplicacin dentrode un lenguaje de programacin.

    Desarrollo

    Redes Bayesiana

    son herramientas estadsticas que representan un conjuntode incertidumbres asociadas sobre la base de las relacionesde independencia condicional que se establecen entreellas.(Edwards, 1998). Tambin es conocida como unconjunto de variables o estructura grfica conectando estasvariables y un conjunto de probabilidades condicionales.Codifica incertidumbre asociada a cada variable por mediode probabilidades y, gracias al teorema de Bayes, estaincertidumbre es susceptible de ser modificada con base enobservaciones (o evidencias) sobre el modelo.Kadie C

    Una red bayesiana consta de nodos, enlaces y parmetros.cada nodo corresponde a una variable, que a su vez represen-ta una entidad del mundo real.La informacin cuantitativa de una red bayesiana viene dadapor:

    La probabilidad a priori de los nodos que no tienenpa-dres.

    La probabilidad condicionada de los nodos con padres.

    Cuando una variable se instancia o cambia su probabilidad,informa a su padre a travs del paso de un mensaje. En ba-se a este mensaje, el padre actualiza su probabilidad (RedesBayesiana, s.f.)

    Definicin formal Una red bayesiana es:

    Un conjunto de variables proposicionales, V

    Un conjunto de relaciones binarias definida sobre lasvariables de V, E.

    Una distribucin de probabilidad conjunta sobre lasva-riables de V.

    Tales que:

    (V, E)forman un grafo acclico, conexo y dirigido G.

    (G, P) cumplen las hiptesis de independencia con-dicional, tambin llamadas de separacin direccional,que se enuncian a continuacin.

    Las hiptesis de independencia condicional establecenque cada nodo debe ser independiente de los otros nodos dela red (salvo sus descendientes) dados sus padres

    Figura 1: Red Bayesiana(Nava, s.f.)

    Modelado con redes bayesianas

    Identificacin de variablesPara identificar las variables es importante conocer el pro-

    blema a modelar y centrarse en aquellas que son de inters,con el apoyo de preguntas como las siguientes:

  • Cecibel Chamba-Marjorie Chinchay - Karla Herrera Tutor: Ing Henry Paz

    Cul es la situacin que se plantea?

    Qu posibles causas pueden explicar esta situacin?

    Qu otros factores pueden hacer que los problemas ocausas ocurran, o impedir que ocurran?

    De qu evidencia se dispone para soportar dichas cau-sas, problemas o factores?

    Tipos de variables:

    Variables objetivo :Las variables objetivo suelen utilizarse para modelarfenmenos latentes, es decir, fenmenos que no sondirectamente observables

    Variables de observacin:Las variables de observacin se usan para modelar lasformas indirectas que tenemos de medir las variablesobjetivo. Tambin sedenominan variables de eviden-cia.

    Factores:Tambin se denominan variables de contexto. Los fac-tores pueden dividirse en 4 categoras, en relacin altipo de influencia en las variables afectadas:

    Promotores:Si el factor promotor ocurre, la variable afectadaser ms probable (correlacin positiva).

    Inhibidores:Si el factor promotor ocurre, la variable afectadaes menos probable (correlacin negativa)

    Requeridos:Es indispensable que estos factores entren en ac-cin para sea posible que ocurran las variablesafectadas. Por ejemplo, para que una poblacinespecfica de bacterias crezca se requiere que latemperatura est por encima de un determinadonivel.

    Preventivos:Si el factor ocurre, la variable afectada no puedeocurrir.

    Auxiliares:Son variables que se usan por conveniencia. Por ejem-plo, para simplificar el proceso de modelado y especi-ficacin de parmetros

    Tipos de Redes Bayesianas

    Redes Bayesianas Continuasson aquellas que tienen un nmero infinito de posi-bles valores. En este tipo de redes resulta complica-do determinar explcitamente las probabilidades con-dicionadas para cada valor de las variables, as que las

    probabilidades condicionadas se representan medianteuna funcin de probabilidad.

    Redes Bayesianas DinmicasLas redes Bayesianas dinmicas consienten en la expo-sicin de procesos que contienen una variable aleato-ria en cada intervalo de tiempo. El proceso que se estestudiando puede entenderse como una serie de pro-cesos en un instante de tiempo(El papel de las redesbayesianas, s.f.)

    Aplicaciones de las redes bayesianas

    La utilizacin de las redes bayesianas ha sido muy difun-dida en diferentes campos como en la manipulacin de siste-mas expertos en la medicina, en la depuracin de programasde inteligencia artificial, en la gentica, en procesos de pro-duccin; todos estos enfocados a la solucin de problemas yen la identificacin de probabilidades que disminuyan riesgo,como es el uso primordial que se le da en la rama financiera.Las redes bayesianas como herramienta de gestin de riesgoson de suma importancia para el gremio financiero debido asus grandes aportes en la definicin de condiciones probabi-lsticas de inferencia, con un amplio manejo de variables.Las redes bayesianas son utilizadas para representar el cono-cimiento en mtodos de razonamiento, explotacin de infor-macin, anlisis de los deudores del sistema financiero y pre-diccin de ventas; basados en la teora de la probabilidad, talque se pueda predecir el valor de las variables no observadasy explicar los resultados arrojados de las variables observa-das.El uso de las redes bayesianas permiten aprender sobre rela-ciones de dependencia y combinar conocimiento con nuevosdatos.

    Elvira

    El programa Elvira es fruto de un proyecto de investiga-cin financiado por la CICYT y el Ministerio de Ciencia yTecnologa, en el que participaron investigadores de variasuniversidades espaolas y de otros centros. Aunque la se-gunda fase del proyecto finaliz en 2005, el desarrollo deElvira contina hasta la actualidad, con la adicin de nuevasfuncionalidades.Elvira est destinado a la edicin y evaluacin de modelosgrficos probabilistas, concretamente redes bayesianas y dia-gramas de influencia.Elvira est escrito y compilado en Java, lo cual permiteque funcione en diferentes plataformas y sistemas operativos(MS-DOS/Windows, linux, Solaris, etc.).(Andrs, s.f.)

    Instalacin de Elvira

    La ltima versin de Elvira es la 0.162 y ocupa 3.2MB., para poder utilizar Elvira es necesario tener instalado

    UNIVERSIDAD NACIONAL DE [email protected], [email protected], [email protected]

    2

  • Cecibel Chamba-Marjorie Chinchay - Karla Herrera Tutor: Ing Henry Paz

    previamente Java.

    1. Descargar Elvira de la pgina oficialhttp://leo.ugr.es/elvira/, ya sea para linux o parawindows.

    Figura 2:Pgina oficial de Elvira(Andrs, s.f.)

    2. Al archivo .zip descargado se lo debe descomprimir.

    Figura 3:Descomprensin del programa Elvira

    3. Dar doble clic sobre el archivo elvira.jar

    Figura 4:Pantalla Principal de Elvira

    OpenMarkov

    OpenMarkov es una herramienta informtica para mode-los grficos probabilistas (MGPs) desarrollada por el Centro

    de Investigacin sobre Sistemas Inteligentes de la UNED enMadrid.Para descargarlo, se necesita ir a su pgina oficialhttp://www.openmarkov.org/inicio.html y situarse en la op-cin Descargas. (CISIAD, s.f.)

    Figura 5: Pgina oficial de OpenMarkov(CISIAD, s.f.)

    OpenMarkov guarda sus archivos en pgmx lo que ofrecela oportunidad de realizar la conexin de archivos con estaextensin en aplicaciones de java.

    Figura 6:Ventana Principal de OpenMarkov(Chamba Cecibel, s.f.)

    Red Bayesiana para calculara la probabilidad de aprobardcimo mdulo en la Universidad Nacional de Loja

    Para la realizacin de esta red, se toma en cuenta las ma-terias vistas en el mdulo, cada una de ellas se convierte enun nodo

    Anteproyectos

    Control Automatizado

    tica Profesional

    Inteligencia Artificial

    Simulacin

    Sistemas Expertos

    UNIVERSIDAD NACIONAL DE [email protected], [email protected], [email protected]

    3

  • Cecibel Chamba-Marjorie Chinchay - Karla Herrera Tutor: Ing Henry Paz

    Figura 7:Red Bayesiana para aprobar Dcimo Mdulo

    Luego de ello, se especifica los parametros a evaluar decada una de las materias, que se convierten tambin en no-dos.

    Al final, se coloca un valor de probabilidad a cada nodohasta llegaral nodo principal. La tabla final de probabilidades

    Figura 8:Tabla de probabilidad de la Aprobacin de Dcimo Mdulo

    [figura 8 ] se calcula de acuerdo a prametros como

    Si las asistencias son mayores o menores al 80

    Las notas de los mdulos anteriores han sido altas, ba-jas o medias.

    La nota de cada una de las materias hasta el momen-to, es decir si se ha alcanzado el valor de aprobado oreprobado hasta el momento.

    Implementacin de Redes Bayesianas con Java

    1. Realizar la red bayesiana en elvira, tomando en cuentalos valores y probabilidades de cada nodo.

    Figura 9:Red Bayesiana realizada en Elvira

    2. Abrir el archivo con extensin elv en OpenMarkov yguardarlo con la extensin por defecto de esta aplica-cin, es decir pgmx.

    3. Crear la conexin para utilizar el archivo de openmar-kov en java.En cualquier IDE de desarrollo en Java se crea unanueva aplicacin y se adjunta la librera de OpenMar-kov.Esta aplicacin posee el constructor y dos mtodos:en el constructor se obtiene el archivo con extensinpgmx, se recorre cada uno de los nodos del archivopgmx y se guardan en una lista creada para ello.

    Figura 10:Mtodo Constructor(Chamba Cecibel, s.f.)

    El siguiente mtodo en cambio sirve para obtener losatributos de cada uno de los nodos e ir presentandolosen la interfaz, en este caso se ha utilizado una tabla.Los atributos presentados son:

    getName: Obtiene el nombre del nodo.

    getNode: Obtiene el nodo completo, es decir contodos sus atributos.

    getNodeType: Obtiene el tipo de nodo, es-te valor puede ser Chance, Utility, Deci-sion, Sv_Sum, Sv_Product, Cost, Effectiveness,CE(Cost-Effectiveness).

    getRelevance: Obtiene la .....

    getApproximateMaximumUtilityFunction:Obtiene la mxima probabilidad.

    getApproximateMinimumUtilityFunction:Obtiene la mnima probabilidad.

    getUtilityFunction: Obtiene los nodos que loafectan y sus probabilidades.

    getChildren: Obtiene los hijos del nodo.

    getParents: Obtiene los padres del nodo

    getCoordinateX: Obtiene la posicin del nodode acuerdo a las Xs

    getCoordinatey: Obtiene la posicin del nodode acuerdo a las Ys

    UNIVERSIDAD NACIONAL DE [email protected], [email protected], [email protected]

    4

  • Cecibel Chamba-Marjorie Chinchay - Karla Herrera Tutor: Ing Henry Paz

    Figura 11: Mtodo para la presentacin de datos en la interfaz(Chamba Cecibel, s.f.)

    getProbNet: Obtiene toda la red.

    Y por ltimo, se presenta los resultados de la red, deacuerdo a los valores seleccionados en la red bayesianahecha en elvira.

    Figura 12:Mtodo para presentar los resultados de la red(Chamba Cecibel, s.f.)

    4. Ejecutar la aplicacin A continuacin se presenta lainterfaz de la aplicacin.

    Figura 13:Interfaz de la aplicacin

    Al presionar el botn de "Probabilidad para aprobar elMdulo.aparecern los datos obtenidos de la red hechaen elvira

    Figura 14:Ejecucin de la aplicacin

    Conclusiones

    Las redes bayesianas son muy tiles a la hora de cal-cular la probabilidad de un suceso, tomando en cuentalos factores que inciden en l.

    Las redes bayesianas realizadas en elvira o en open-markov pueden ser utilizadas como parte de aplicacio-nes mucho ms grandes desarrolladas en algn lengua-je de programacin.

    Recomendacin

    Realizar un clculo adecuado del valor de la probabili-dad de cada uno los atributos de un nodo, este deberaser colocado en base a algn estudio, encuesta; es deciren base a valores reales que permitan obtener resulta-dos ms ptimos.

    Tener conocimientos acerca de un lenguaje de progra-macin, por ejemplo java, para el desarrollo de aplica-ciones de inteligencia artificial; puesto que al tenerloses ms fcil su programacin y la utilizacin de laslibreras existentes.

    Referencias

    Andrs, E. C. (s.f.). Pgina oficial de elvira. Descargado dehttp://leo.ugr.es/elvira/

    Chamba Cecibel, H. K., Chinchay Marjorie. (s.f.). Implementacinde una red bayesiana para la aprobacin de dcimo mdulo deingeniera en sistemas en java con elvira y openmarkov. Descar-gado de https://github.com/yece/redeesBayesianas

    CISIAD. (s.f.). Openmarkov. Descargado dehttp://www.openmarkov.org/inicio.html

    Edwards. (1998). Tools for and experiences with bayesian norma-tive modelling. () [On the electrodynamics of moving bodies].doi: http://www.psico.uniovi.es/REMA/v13n1/a2/p3.html

    El papel de las redes bayesianas. (s.f.). Descargado dehttps://www.google.com.ec/url?sa=trct=jq=esrc=ssource=webcd=9cad=rjauact=8ved=0CFcQFjAIurl=http %3A %2F %2Fwww.urosario.edu.co %2FAdministracion %2Fdocumentos %2Finvestigacion %2Flaboratorio %2Fmiller23.pd f ei =YZOLU qHG67JsQTug4CYAgusg =AFQ jCNH f trvGZxhXBYaanu078Fb7446tQbvm =bv,67720277, d.cWc

    Nava, F. P. (s.f.). Redes bayesianase inteligencia artificial. Descargado de

    UNIVERSIDAD NACIONAL DE [email protected], [email protected], [email protected]

    5

  • Cecibel Chamba-Marjorie Chinchay - Karla Herrera Tutor: Ing Henry Paz

    http://fdoperez.webs.ull.es/doc/RedesBayesianasEduc.pdf,Redes bayesiana. (s.f.). Descargado dehttp://www.google.com.ec/url?sa=trct=jq=esrc=ssource=webcd=10cad=rjauact=8ved=0CFgQFjAJurl=http %3A %2F %2Fwww.lcc.uma.es %2F eva %2Faic %2FRedes %2520Bayesianas.pdfei=cT6LU-OXOZWksQSmwICIAwusg=AFQjCNHTQTkmsaH10Ug5rRk59I F3GD0S gbvm =

    UNIVERSIDAD NACIONAL DE [email protected], [email protected], [email protected]

    6