Redes bayesianas

7
Redes Bayesianas - Análisis probabilístico de aprobación de un módulo Faicán Rosa Japa Lauro Martínez Jhymer UNL CIS-loja UNL CIS-loja UNL CIS-loja Aliation El presente artículo tiene como finalidad dar a conocer los conceptos más relevantes de Redes Bayesianas, asi como también el funcionamiento de la herramienta Elvira en conjunto con la herramienta netbeans en la demostración de un ejemplo para la predicción de aprobación de un módulo, tomando en cuenta las materias, sus respectivas calificaciones y las asistencias de un alumno. Palabras Clave: Redes bayesianas, Teorema de Bayes, Probabilidad, Inferencia Introducción Las redes bayesianas son modelos gráficos probabilísticos que permiten organizar un conjunto de variables y las relaciones existentes entre ellas, se puede hacer también inferencia bayesiana es decir estimar la probabilidad posterior en base a las variables ya conocidas, estos modelos poseen diferentes aplicaciones que permiten el diagnostico, clasificación y la toma de decisiones, estas informaciones pueden ser interpretadas como relaciones causa – efecto.(Constantino Malagon Luque, n.d.) Estas redes eran hechas a mano basándose en el conocimiento de un experto ahora las redes bayesianas son elaboradas desarrollando diversas técnicas para que el aprendizaje pueda llevarse a cabo a partir de ciertos datos, asi mismo es posible compartir estos datos como un caso de estudio. Permite representar el conocimiento con incertidumbre, además se puede manipular el razonamiento y la toma de decisiones con multiples variables. La reglas o probabilidades se pueden estimar a partir de datos con una interpretación clara y bien estructurada teniendo en la actualidad un gran desarrollo.(Bedoya, n.d.) História Thomas Bayes, matemático británico del siglo XVIII, mundialmente conocido por su Teorema de Bayes.(Puga, Agosto de 2007) Este teorema solucionaba un problema que hasta el momento no tenía una solución: el cálculo de la probabil- idad de las causas que interfieren en un suceso, dadas las Figure 1. Thomas Bayes probabilidades de este. Figure 2. Fórmula de Bayes Si bien tenemos conocimiento de las probabilidades de un suceso, dado que se producen otros sucesos, con este teorema se calcula la probabilidad de que unos sucesos dado que han originado un suceso determinado. Más técnicamente, este teorema trata de obtener la probabilidad inversa de una probabilidad.(Larrañaga, n.d.) El término "redes bayesianas" fue acuñado por Judea Pearl en 1985 a quien a su vez se le considera el padre de las redes bayesianas. A finales de 1980 los textos seminales Razonamiento Probabilístico en Sistemas Inteligentes y Razonamiento Probabilístico en Sistemas Expertos resumen las propiedades de las redes Bayesianas y ayudó a establecer las mismas

Transcript of Redes bayesianas

Page 1: Redes bayesianas

Redes Bayesianas - Análisis probabilístico de aprobación de un módulo

Faicán Rosa Japa Lauro Martínez JhymerUNL CIS-loja UNL CIS-loja UNL CIS-loja

Affiliation

El presente artículo tiene como finalidad dar a conocer los conceptos más relevantes de RedesBayesianas, asi como también el funcionamiento de la herramienta Elvira en conjunto con laherramienta netbeans en la demostración de un ejemplo para la predicción de aprobación deun módulo, tomando en cuenta las materias, sus respectivas calificaciones y las asistencias deun alumno.

Palabras Clave: Redes bayesianas, Teorema de Bayes, Probabilidad, Inferencia

Introducción

Las redes bayesianas son modelos gráficos probabilísticosque permiten organizar un conjunto de variables y lasrelaciones existentes entre ellas, se puede hacer tambiéninferencia bayesiana es decir estimar la probabilidadposterior en base a las variables ya conocidas, estosmodelos poseen diferentes aplicaciones que permiten eldiagnostico, clasificación y la toma de decisiones, estasinformaciones pueden ser interpretadas como relacionescausa – efecto.(Constantino Malagon Luque, n.d.)

Estas redes eran hechas a mano basándose en elconocimiento de un experto ahora las redes bayesianasson elaboradas desarrollando diversas técnicas para que elaprendizaje pueda llevarse a cabo a partir de ciertos datos,asi mismo es posible compartir estos datos como un caso deestudio.

Permite representar el conocimiento con incertidumbre,además se puede manipular el razonamiento y la toma dedecisiones con multiples variables.

La reglas o probabilidades se pueden estimar a partirde datos con una interpretación clara y bien estructuradateniendo en la actualidad un gran desarrollo.(Bedoya, n.d.)

História

Thomas Bayes, matemático británico del siglo XVIII,mundialmente conocido por su Teorema de Bayes.(Puga,Agosto de 2007)

Este teorema solucionaba un problema que hasta elmomento no tenía una solución: el cálculo de la probabil-idad de las causas que interfieren en un suceso, dadas las

Figure 1. Thomas Bayes

probabilidades de este.

Figure 2. Fórmula de Bayes

Si bien tenemos conocimiento de las probabilidades deun suceso, dado que se producen otros sucesos, con esteteorema se calcula la probabilidad de que unos sucesosdado que han originado un suceso determinado. Mástécnicamente, este teorema trata de obtener la probabilidadinversa de una probabilidad.(Larrañaga, n.d.)

El término "redes bayesianas" fue acuñado por JudeaPearl en 1985 a quien a su vez se le considera el padre de lasredes bayesianas.

A finales de 1980 los textos seminales RazonamientoProbabilístico en Sistemas Inteligentes y RazonamientoProbabilístico en Sistemas Expertos resumen las propiedadesde las redes Bayesianas y ayudó a establecer las mismas

Page 2: Redes bayesianas

Faicán Rosa-Japa Lauro-Martínez Jhymer Tutor: Ing. Henry Paz

como un campo de estudio.

Variantes informales de este tipo de redes fueron uti-lizadas por el jurista John Henry Wigmore, en forma degrafos de Wigmore, para analizar la evidencia en un juicioen 1913 y el llamado diagrama de rutas que fue desarrolladopor el genetista Sewall Wright y utilizado en ciencias de laconducta y sociales.(Sucar, INAOE 2011)

Concepto

Las redes bayesianas son grafos aciclicos dirigdos quedescriben la distribución de probabilidad, en la cual los no-dos representan variables aleatorias y los arcos representanrelaciones de dependencia directa entre las variables.

Son un conjunto de variables proposicionales definidascomo V, un conjunto de relaciones binarias y una distribu-ción de probabilidad conjunta definidas sobre las variablesV,E.(Larragaña, 26 de julio de 2002)

Los nodos de una red bayesiana deben ser variablesproposicionales (toman un conjunto exhaustivo y excluyentede valores).

Ejemplo de una red:

Figure 3. Ejemplo de una red bayesiana. Los nodos repre-sentan variables aleatorias y los arcos relaciones de depen-dencia.

(Fernández, n.d.)

Estructura de uns Red Bayesiana

• Búsqueda (score).- Permite medir la estructura de lared y el conocimiento que se puede adquirir, proced-imiento de búsqueda para determinar el mejor modelode datos.

• Análisis de Dependencia.- Determinar el grado de de-pendencia usando pruebas estadísticas.

Aprendizaje

• Paramétrico.- Aprende las probabilidades de la red enbase a casos dados.

• Estructural.- Son algoritmos capaces de aprenderenlaces.(Ricardo Conejo, Valencia España, 2001)

Inferencia, Desición y Aprendizaje

La información proporcionada por una o más variablesque se observan (evidencia) se propaga por la red y seactualiza a esto se le llama inferencia.

Es posible aprender las probabilidades condicionalesque describen las relaciones entre las variables a partirde los datos. Incluso es posible aprender la estructuracompleta de la red a partir de datos completos o conalgunos de sus valores desconocidos a esto se le denominaAprendizaje.(Nava, n.d.)

Las Redes Bayesianas pueden utilizarse para tomardecisiones óptimas introduciendo posibles acciones y lautilidad de sus resultados utilizada en la toma de decisiones.

Inferencia

Tiene por objeto hallar la distribución de probabilidad dedeterminadas variables de interés dados lo valores de otrasvariables.

• Diagnóstico

Figure 4. Tipo de inferencia

Fórmula: P(X|Y)

• Predicción Fórmula: P(Y|X)

• Intercausal

Fórmula: P(Y|A,-B)(Lozano, n.d.)

Page 3: Redes bayesianas

Faicán Rosa-Japa Lauro-Martínez Jhymer Tutor: Ing. Henry Paz

Figure 5. Tipo de inferencia

Figure 6. Tipo de inferencia

Dimensión Cualitativa

La dimensión cualitativa de una red bayesiana se basaen la teoría de grafos. Aunque la definición de grafo puedevariar en función de los autores (p. e. Harary, 1969; Ronald,1988; Spirtes, Glymour, y Scheines, 2000; Tutte, 1984;Xiang, 2002), un grafo puede definirse como un conjuntode nodos (variables o vértices) y un conjunto de aristas (oenlaces).(Moral, n.d.)

Sin embargo, una red bayesiana es un tipo especial degrafo, o lo que se conoce como grafo dirigido acíclico(o GDA). En un GDA las aristas o enlaces que unen lasvariables están orientados y se representan gráficamentecomo flechas. Los enlaces dirigidos de una red bayesianaindican influencia causal o dependencia entre las variables.

Así pues, el grafo A => B indica influencia directade A sobre B; o lo que es lo mismo, que B depende deA. En términos causales diríamos que A causa a B o queB es el efecto de A. En una red bayesiana la estructuragráfica codifica relaciones de dependencia e independenciacondicional entre las variables que son usadas para agilizar laactualización de probabilidades y la inferencia estadística.(yJavier Dolado, n.d.)

Dimensión Cuantitativa

En la dimensión cuantitativa una red bayesiana constade tres elementos importantes: el concepto de probabilidadcomo un grado de creencia subjetiva relativa a la ocur-rencia de un evento, el teorema de Bayes como heurísticoactualizador de creencias y un conjunto de funciones deprobabilidad condicionada.

En primer lugar, la probabilidad puede ser entendida, al

menos, de cuatro formas: clásicamente, como frecuenciarelativa cuando los ensayos tienden a infinito, axiomática-mente o subjetivamente.

Las tres primeras son compatibles y se las ha englobadobajo el nombre de perspectiva clásica de la probabilidado frecuentista y suele contraponerse a la cuarta que se hadenominado perspectiva bayesiana de la probabilidad

Es en esta cuarta acepción en la que se basan las redesbayesianas al asumir que la probabilidad es un grado decreencia atribuible a la ocurrencia de sucesos.

Utilización de las Redes Bayesianas

El uso de las redes bayesianas ha sido muy difundidaen diferentes campos como en la manipulación de sistemasexpertos en la medicina, en la depuración de programas deinteligencia artificial, en la genética, en procesos de produc-ción; todos estos enfocados a la solución de problemas y enla identificación de probabilidades que disminuyan riesgos.

El uso que se le da a las redes bayesiana en el estu-dio y tratamiento de datos, consiste básicamente en mejo-rar el esquema de prevención de riesgo operacional, tal quesirva como sistema de ayuda a la toma de decisiones en unasituación de emergencia y realizar mejoras en las estrategiasde operacionales.(Lozano, n.d.)

• Encriptación del disco, archivos o correo electrónico.

• Prevención de fraudes.- Monitorear las transaccionesy actividades llevadas a cabo por el usuario despues dela autenticación al iniciar la sesión.

• Demanda de acceso desde cualquier lugar y encualquier momento.- adaptar el acceso de ususariosdesde ubicaciones remotas.

Adaptar el acceso de usuarios desde sistemas descono-cidos como: cabinas públicas, sistemas de hotelería oestaciones de trabajo compartidas.

El programa Elvira

El 1997 se plantea un proyecto con el objetivo de crearun entorno que sirviera, por un lado, para la investigación denuevos métodos y algoritmos de razonamiento probabilísticoy, por otro, para la implementación de sistemas expertosbayesianos. El programa resultante se llamó Elvira,tomando el antiguo nombre de la ciudad de Granada, a cuyaUniversidad están vinculados en mayor o menor medidavarios de los investigadores del proyecto.(García, n.d.)

Page 4: Redes bayesianas

Faicán Rosa-Japa Lauro-Martínez Jhymer Tutor: Ing. Henry Paz

Figure 7. Programa Elvira

Cabe resaltar que en marzo de 2001, un grupo formado porcasi todos los mismos investigadores del Proyecto Elvira,plantea un nuevo proyecto titulado Elvira II: Aplicacionesde los Modelos Gráficos Probabilísticos, que fue concedidopor el Ministerio de Ciencia y Tecnología a finales de esemismo año. Sus objetivos principales son dos: mejorarlas características del programa Elvira actual y desarrollaraplicaciones en diversos campos, como la medicina, lagenética, la agricultura y el comercio inteligente.

Aplicación de Redes Bayesianas con Elvira

Ejemplo Práctico

La Red Bayesiana utilizada para el ejemplo tiene comofinalidad simular el proceso de aprobación del ciclo delos estudiantes pertenecientes del Décimo Módulo dela Carrera de Ingeniería en Sistemas de la UniversidadNacional de Loja, la misma se estructura de la siguientemanera:(Faicán R, n.d.)

30 Nodos de los cuales se tiene:

• 1 Nodo central que indica aprobación o no del módulo

• 6 Nodos que conforman las materias a aprobar

• 1 Nodo de Asistencia a clases

• 22 Nodos con parámetros de calificación en las distin-tas materias.

29 Enlaces:

• 7 del tipo Si – No

• 22 del tipo Alto – Medio – Bajo

A continuación la gráfica de la Red Bayesiana.

Figure 8. Red - Aprobación de Módulo

Figure 9. Inferencia - Aprobación de Módulo

Cada parámetro de calificación tendrá un tipo de valorentre alto (s2), medio (s1) y bajo (s0). Para el ejemplorealizaremos la explicación basándonos en la materia deInteligencia_Artificial con la siguiente tabla de probabili-dades:

Figure 10. Parametros a calificar en Inteligencia Artificial

En el nodo Inteligencia_Artificial posee solo dos tipos devalores si (s0) y no (s1) debido a que solo se presenta unaoportunidad de aprobar o no el módulo.A su vez tiene como padres los parametros anteriormenteanalizados los mismos que convinados generan una tablarelacional con 244 posibles combinaciones.

Page 5: Redes bayesianas

Faicán Rosa-Japa Lauro-Martínez Jhymer Tutor: Ing. Henry Paz

Figure 11. Padres del nodo Inteligencia Artificial

Debido a la dimensión de la tabla resultante se tomaron los10 primeros valores para la explicación

Figure 12. Relación en nodo Inteligencia Artificial

Asignación de rangos de las calificaciones

Esta distribución se utiliza para asignar los valores decalificacion en las materias.

Figure 13. Inteligencia Artificial, Simulación, Sistemas Ex-pertos, Ética y Control Automatizado

Presentación del ejemplo en Java

Presentación del Programa.:

Figure 14. Pantalla Principal

Figure 15. Pantalla con datos

Código en Java

Para realizar una correcta implementación del codigoprimeramente se utilizo una libreria intermedia para lalectura de los datos desde Java. Dicha libreria se denominaOpenMarkov, la misma da la posibilidad de leer los ficherosde Elvira con extensión .elv y guardarlos en .pgmx.Dentro del código implementado para obtener la informaciónde la red bayesiana creada con Elvira directamente desdeuna aplicación Java utilizaremos el metodo denominadoiniciar:

public void iniciar() {try {

// Abrimos el archivo//que contiene la redInputStream file =new FileInputStream(new File("Modulo.pgmx"));

// Cargamos la red//Bayesiana

Page 6: Redes bayesianas

Faicán Rosa-Japa Lauro-Martínez Jhymer Tutor: Ing. Henry Paz

PGMXReader pgmxReader =new PGMXReader();ProbNet redPrueba =pgmxReader.loadProbNet(file, bayesNetworkName).getProbNet();

List<ProbNode > listPro =redPrueba.getProbNodes();

for (int i = 0;i < listPro.size();i++) {ProbNode probNode =listPro.get(i);}

///////////////////////

EvidenceCase evidence =new EvidenceCase();InferenceAlgorithm variableElimination =new VariableElimination(redPrueba);variableElimination.setPreResolutionEvidence(evidence);

// Obtenemos el nodo// principal Pase_ModuloVariable paseModulo =redPrueba.getVariable("Pase_Modulo");ArrayList <Variable>variablesOfInterest =new ArrayList <Variable >();variablesOfInterest.add(paseModulo);

// Computo de las posteriores probabilidadesHashMap<Variable, TablePotential >posteriorProbabilities =variableElimination.getProbsAndUtilities();

// Impresion de los resultados en consolaprintResults(evidence,variablesOfInterest ,posteriorProbabilities);

String inte=String.valueOf(this.inteligencia.getSelectedItem());evidence.addFinding(redPrueba ,"Inteligencia_Artificial",inte);

String ante=String.valueOf(this.anteproyectos.getSelectedItem());evidence.addFinding(redPrueba ,"Anteproyectos",ante);

String control=String.valueOf(this.conAutomatico.getSelectedItem());evidence.addFinding(redPrueba ,"Control_Automatizado",control);

String eti=String.valueOf(this.etica.getSelectedItem());evidence.addFinding(redPrueba ,"Etica",eti);

String exper=String.valueOf(this.sisExpertos.getSelectedItem());evidence.addFinding(redPrueba ,"Sistemas_Expertos",exper);

String simu=String.valueOf(this.simulacion.getSelectedItem());evidence.addFinding(redPrueba ,"Simulacion",simu);

String asis=String.valueOf(this.asistencias.getSelectedItem());evidence.addFinding(redPrueba ,"ASISTENCIAS",asis);

posteriorProbabilities =variableElimination.

Page 7: Redes bayesianas

Faicán Rosa-Japa Lauro-Martínez Jhymer Tutor: Ing. Henry Paz

getProbsAndUtilities(variablesOfInterest);printResults(evidence,variablesOfInterest ,posteriorProbabilities);

} catch (Exception e) {System.err.println(e.getMessage());e.printStackTrace();}}

public void printResults(EvidenceCase evidence,ArrayList <Variable>variablesOfInterest ,HashMap<Variable, TablePotential >posteriorProbabilities) {

String evidencias="Evidencias: \n";for (Finding finding :evidence.getFindings()) {evidencias=evidencias+finding.getVariable()+ ": "+finding.getState()+"\n";}this.consola.setText(evidencias);

for (Variable variable :variablesOfInterest) {double value;TablePotentialposteriorProbabilitiesPotential =posteriorProbabilities.get(variable);int stateIndex = -1;try {stateIndex =variable.getStateIndex("si");value =posteriorProbabilitiesPotential.values[stateIndex];this.resultado.setText(Util.roundedString(value, "0.001"));} catch (InvalidStateException e) {e.printStackTrace();}}}

Conclusiones

• Las redes Bayesianas son modelos que combinan lateoría de grafos y de probabilidades, son aplicadas a latoma de decisiones en dominios donde la incertidum-

bre representa un papel importante.

• Estos modelos se han aplicado al desarrollo de nuevosalgoritmos que permiten la propagación de nuevasprobabilidades en redes que representan problemasreales.

• Dentro del estudio de las redes bayesianas se encuen-tran algoritmos que podrían considerarse como partede la minería de datos.

• El uso de las redes bayesianas como técnica es muyutilizada en la prediccón de probabilidades y la tomade decisiones en el área financiera.

Recomendaciones

• Se recomienda desarrollar distintas aplicaciones paradistintos entornos ya sean web, móviles o de escrito-rio, con el fin de resolver distintos problemas medianteel uso de redes bayesianas.

• La redes bayesianas han sido de gran utilidad en lamedicina por lo que sería recomendable buscar nuevoscampos de aplicación en distintas áreas.

References

Bedoya, O. (n.d.). Inteligencia Artificial. Retrieved from http://eisc.univalle.edu.co/~oscarbed/IA

Constantino Malagon Luque, t. . (n.d.).

Faicán R, M. J., Japa L. (n.d.). Código en Java. Retrievedfrom http://mundial-ag.googlecode.com/svn/trunk/\\PredicciC3B3nMundialAlgoritmosGenC3A9ticos/

Fernández, E. (n.d.). Análisis de Clasificadores Bayesianos. Re-trieved from www.fi.uba.ar/laboratorios/lsi

García, A. M. (n.d.). Redes Bayesianas y aplicaciones.Retrieved from http://redesbayesianasyaplicaciones.weebly.com/historia.html

Larragaña, P. (26 de julio de 2002). Redes Bayesianas.Larrañaga, P. (n.d.). Clasificadores Bayesianos.Lozano, M. R. (n.d.). El papel de las Redes Bayesianas

en la toma de decisiones. Retrieved from http://www.urosario.edu.co/Administracion/documentos/investigacion/laboratorio/miller_2_3.pdf

Moral, S. (n.d.). Una introducción a las Redes Bayesianas. Re-trieved from decsai.ugr.es/~smc/redesia2.pdf

Nava, F. P. (n.d.). Redes Bayesianas e Inteligencia Artificial: Apli-caciones en Educación.

Puga, J. L. (Agosto de 2007). Modelados con una Red Bayesiana.Ricardo Conejo, E. M. (Valencia España, 2001). Modelado del

alumno: Un enfoque bayesiano.Sucar, L. E. (INAOE 2011). Clasificadores Bayesianos.y Javier Dolado, D. R. (n.d.). Redes Bayesianas en la Ingeniería

de Software. Retrieved from http://www.cc.uah.es/drg/