Documente Academic
Documente Profesional
Documente Cultură
CIFASIS- Centro Internacional Franco Argentino de Ciencias de la Informacin y de Sistemas. CCT Rosario CONICET 27 de Febrero 210bis S2000EZP Rosario
REDES BAYESIANAS
Leonardo Ornella, Pilar Bulacio, Elizabeth Tapia. Actualizado Julio 2011
MOTIVACIN
Muchos de los datos del mundo real (real-world data) son heterogneos y ricamente interconectados. Ejemplos de esto son Internet, un hipertexto, informacin de un ecosistema y redes sociales. En particular, la interpretacin de un sistema agroecolgico como un conjunto de sistemas y/o variables que actan en forma acoplada (y generalmente no lineal) resulta de particular interespara el desarrollo sostenible. Al mismo tiempo, la mayora de los mtodos de aprendizaje estadsticos utilizan representaciones lineales (flat) de los datos; forzando al analista a convertir los mismos en formas que pierden mucha de la estructura subyacente. Como alternativa se plantea lo que se conoce como redes bayesianas: un modelo probabilstico multivariado que permite explicitar las relaciones causales entre las distintas variables mediante grafos. El objetivo del presente trabajo es realizar una breve introduccin a las redes bayesianas. Las mismas pueden resultar una herramienta de suma utilidad para investigadores del rea agropecuaria no familiarizados con el rea de aprendizaje supervisado. En la primera parte se presenta la definicin de las mismas junto con alguna de sus propiedades ms relevantes. Tambin se exponen dos ejemplos que intentan exhibir las ventajas (y dificultades) de las redes para analizar relaciones causales. En la segunda parte se realiza una breve sinopsis de algunos programas o entornos de minera de datos que poseen implementaciones de redes bayesianas.
DEFINICIN
Una red bayesiana o BN (Bayes Network) es un grafo dirigido acclico que codifica una distribucin de probabilidad conjunta de un grupo de variables aleatorias (Friedman et al., 1997; Russell and Norvig, 2002). Si en la estructura de grafo se encuentra un arco dirigido (o arco) desde el nodo A al nodo B, se dice que A es padre de B o que B es hijo de A 1. Cada
1Los arcos indican restricciones sobre la certeza de los nodos que unen: p (A / B) cuantifica la certeza de B A.
arco indica una relacin causal y cada variable xi es independiente de su no-descendientes dado sus padres (Condicin de Markov). Adems de la topologa del grafo, la informacin relevante de los datos, para cada nodo, se encuentra indicada en tablas de probabilidad condicional o CPTs (conditional probability tables), que relacionan cada variable con sus padres. Por ejemplo, de la tabla 1 se deduce que la probabilidad de que E sea cierta, dado que B y D son verdaderas: P(E=V/B=V D = V) = 0.10. Es importante resaltar que el grafo es dirigido y acclico, i.e., que no se encuentra dentro de la red ningn ciclo dirigido2. Esta estructura define una regla nica para expandir la distribucin conjunta en trminos de probabilidades condicionales ms simples (regla de la cadena).
Por ejemplo, una distribucin conjunta como la presentada en la figura 1 puede ser expresada como: )))) Se puede ver que la distribucin conjunta como el producto de las probabilidades condicionales y siguiendo la semntica de la red (Figura 1); en el caso de los nodos A y D, que no tienen padres, solo se indican las probabilidades de ocurrencia. Finalmente, en la tabla 1 se muestra un ejemplo de tabla de probabilidad condicional, la variable analizada corresponde al nodo E y los padres a los nodos B y D.
B F V F V
D F F V V
TABLA 1- TABLA DE PROBABILIDAD CONDICIONAL QUE RELACIONA LA VARIABLE E DE LA FIGURA 1 CON LOS NODOS PADRES
*Para facilitar la presentacin, se analiza un ejemplo donde las variables (E, B y D) son dicotmicas.
CONDICIN DE MARKOV
Una propiedad muy importante de las redes bayesianas es lo que se define como condicin o propiedad de Markov (ver figura 2 como ejemplo): Dado sus padres (P 1, P2), un nodo (X) es condicionalmente independiente de sus no-descendientes (non-descendants): ND1, ND2.
Una casa tiene una alarma que se activa ante intento de robo (Burglary), pero puede activarse ante temblores (Earthquake) ya que el escenario ocurre en Los ngeles. Dos vecinos, Juan y Mara se han ofrecido a llamar al dueo si escuchan la alarma. Juan a veces confunde el sonido de la alarma con otros sonidos, pero llama de todos modos y Mara a veces no la escucha por otras fuentes de sonido que tiene encendida (TV, Msica).
Es decir, conocido el estado de la alarma, para predecir el estado de Mara (llam) no importa saber si hubo un terremoto, un robo o Juan llam. Si la Red Bayesiana es una representacin de la probabilidad conjunta, sirve para responder consultas del dominio. Muchas de las preguntas pueden ser respondidas aplicando la regla de Bayes y/o unos pocos axiomas de probabilidad (los que estn indicados Apndice), la dificulta principal es el nmero de operaciones requerido para resolver el problema, especialmente si el nmero de variables es grande.
Ejemplo: calcular la probabilidad del evento de que suene la alarma, sin que se haya producido robo ni temblor, habiendo llamado Juan solamente: P(J M A R T ) = P(J/A) P(M/A) P(A/ R T) P(R) P(T) = 0.90A 0.30B 0.001C 0.99D 0.98E 0.000262 A. Directo de tabla 3.4 B. de tabla 3.5. P(M/A) = 1- P(M/A) = 1 0.70 = 0.30 C. Directo de tabla 3.3 D. Directo de tabla 3.1 E. Directo de tabla 3.2 Cul es la probabilidad de que haya habido un robo, dado que Juan llam y Mara llam? . P(B/JM) ??. Eq. 1 Siguiendo la estructura de la red, el numerador de la derecha resulta:
= 0.90 0.70 .9402* 0.001 + 0.05 0.01 0.9402* 0.001 = 0.000592326
*Clculo de = =
= 0.9402
= 0.63 P(A)+0.0005
Clculo de
P(A/B,E)P(B) P(E) + P(A/B,E) P(B)P(E) + P(A/B,E)P(B) P(E) + P(A/B,E)P(B) P(E)
La solucin anterior fue encontrada teniendo en cuenta la semntica de la red y computando directamente las probabilidades condicionales a partir de las tablas CPTs, sin representar la distribucin conjunta. En el captulo 14 de Russell and Norvig (2002, pags.504-506) se enuncia una forma general para este tipo de situaciones.
En muchas de las reas de aplicacin es muy difcil fijar a priori las relaciones entre las distintas variables. En este caso, primero se determina el esqueleto del grafo, para calcular posteriormente las tablas de dependencia. Como ejemplo se presentarn las alternativas que presenta el entorno WEKA para generar una red bayesiana a partir de un conjunto de datos de entrenamiento (Bouckaert, 2008). De hecho tanto RapidMiner como Knime solo poseen una implementacin de Naive Bayes (una versin muy simple de red bayesiana), aunque ambas pueden implementar redes bayesianas utilizando las libraras de WEKA3. Dado un conjunto de datos, lo primero que se realiza en WEKA es la bsqueda del esqueleto que mejor ajuste a los datos. Dicho ajuste se puede cuantificar por distintas mtricas. Entre las ms relevantes se puede mencionar4: Bayes (valor por defecto). Entropa. longitud de descripcin mnima (minimun description lenght o MDL). Las mtricas antes mencionadas (mtricas locales) tienen la ventaja de que el puntaje de toda la red puede ser descompuesto como la suma (o el producto) de los puntajes de cada uno de los nodos. Esto permite utilizar mtodos de bsqueda locales. De la misma manera, la bsqueda del mejor esqueleto involucra una heurstica de bsqueda determinado (la bsqueda exhaustiva de todos los esqueletos posibles es un problema intratable para un nmero relativamente grande de variables) y un estimador de la mtrica seleccionada. El algoritmo de bsqueda por defecto en Weka es K2, una variante de ascenso de colina (Hill cimbling) que aade o elimina arcos del grafo sin establecer un orden determinado en los nodos. Al estimador por defecto el autor de la clase lo denomina Estimador simple (SimpleEstimator), que estima las probabilidades condicionales directamente de los datos. Una alternativa interesante de bsqueda interesante para mencionar es un algoritmo de bsqueda gentico: una BN puede ser representada mediante un arreglo de bits de orden n n (n = nmero de nodos). El bit en la posicin (i, j) indica si existe o no un arco del nodo j al nodo i (j i). La heurstica del algoritmo gentico busca distintas variantes del arreglo
3 Verificado en la versin 5.0.001 de RapidMiner y la versin 2.2.0 de Knime. 4 Una desventaja de BN en WEKA Es que solo puede trabajar con variables discretas.
(grafos) mediante operaciones derivadas de la biologa de poblaciones: mutaciones, entrecruzamientos, etc. (Witten and Eibe, 2005). Otros mtodos implementados, tambin reportados en la bibliografa son Tabu Search (bsqueda tab) y Recocido Simulado o SA (Simulated Annealing). Aprendizaje basado en un puntaje global. Muchas de las implementaciones de minera de datos estn orientadas a lo que se conoce como aprendizaje supervisado. En aprendizaje supervisado, y particularmente en clasificacin, el algoritmo debe aprender una funcin que relaciona los atributos con la clase a partir de un cierto nmero de ejemplos de entrenamiento (Russell and Norvig, 2002). Ms formalmente, cada ejemplo se puede definir como un par (x, f(x)), donde x es un vector de (n-1) atributos de entrada y f(x) es lo que se denomina variable de clase. El objetivo del algoritmo de aprendizaje es encontrar una funcin h que mejor aproxime a f (aprendizaje inductivo) a partir de datos de entrenamiento5. En mtodos de seleccin basados en un puntaje global, el algoritmo selecciona el esqueleto no en funcin del ajuste a los datos de entrenamiento, sino en que tan bien una red en particular puede predecir el valor de clase de ejemplos desconocidos. En Weka, dichos ejemplos de prueba son generados (la mayora de las veces) mediante validacin cruzada k-fold o validacin cruzada acumulada (Bouckaert, 2008). En particular, para generar utilizar una red bayesiana como clasificador, el algoritmo de bsqueda selecciona una red B:PB(A1, A2, . . . , An, C), que mejor ajusta a los datos de entrenamiento de acuerdo a algn puntaje (Friedman et al., 1997). Ante un ejemplo de prueba, la red B devuelve el valor de la clase C que maximiza la probabilidad posterior PB(c/a1, . . . , an).
datos
de
ejemplo
en
Weka
en
el
sitio
http://www.cs.waikato.ac.nz/~ml/weka/index_datasets.html. La clase indica 3 especies de lirios (Iris Setosa, Iris Versicolor, Iris Virginica) y los atributos indican valores de medidas del ptalo (ancho y largo) y del spalo (ancho y largo).
FIGURA 7. RESULTADOS DE LA EVALUACIN CRUZADA 10-FOLD DEL CLASIFICADOR RED BAYESIANA SOBRE LOS DATOS DE LIRIO (IRIS DATASET).
Por ltimo, se puede solicitar el grafo de la mejor red bayesiana con mejor puntaje (Figura 8). Se puede observar en la figura que la variable correspondiente a la clase no tiene nodos padres. Esta ordenacin, i.e., colocar la variable de clase como variable independiente (nodo sin padre), es la que utiliza WEKA para utilizar las redes bayesianas como clasificadores.
En esta presentacin se har un breve resumen de 3 paquetes de R que permiten obtener Redes Bayesianas mediante distintos mtodos de bsqueda y mediante distintos
estimadores. De todas maneras, el nmeros de paquetes disponibles es mayor; siendo en algunos casos diseados para un dominio de aplicacin especfico.
CATNET PACKAGE.
Si bien este paquete del entorno R fue diseado para la reconstruccin de redes de genes y protenas (Balov and Salzman, 2010), los autores plantean que su diseo permitira ser utilizado en otros dominios. La clase bsica de este paquete se llama catNetwork (por categorical network). Esto significa que los nodos del grafo solo pueden ser variables categricas. Entre una de las ventajas ms importante, Catnet permite comparar dos grafos mediante dos grupos de mtricas: las mtricas del primer grupo permiten comparar la topologa de los dos grafos; mientras que las del segundo grupo (probabilsticas) comparan las distribuciones asociadas a las redes. Esto puede ser particularmente til cuando se quieren evaluar redes bayesianas obtenidas mediante diferentes heursticas y/o estimadores. Finalmente, con respecto al aprendizaje de la red a partir de un conjunto de datos, catnet implementa un algoritmo de puntaje global, y realiza una bsqueda exhaustiva de las redes de acuerdo al criterio de estimador de mxima verosimilitud o MLE (Maximum Likelihood Estimator). Si el orden de los nodos no es conocido, la funcin cnSearchSA permite realizar una bsqueda estocstica basada en el algoritmo de recocido simulado o SA (Simulated Annealing), derivado del algoritmo Metrpolis. Para visualizacin y/manipulacin de los grafos, se requiere de otros paquetes de R, tales como Graphviz o igraph. Al igual que la mayora de los paquetes de R, las funciones se encuentran descriptas en detalle en el manual disponible en el repositorio pblico.
computar la estructura de la red. Con respecto a algoritmos basado en un puntaje de la red se encuentran implementados hill climbing y taboo search; y finalmente, algoritmos hbridos tales como Max-Min Hill-Climbing (mmhc) y maximizacin restringida (Restricted Maximization), una implementacin mas general del mmhc que permite utilizar cualquier combinacin de algoritmos de los primeros dos grupos. Este paquete permite analizar tanto datos discretos como redes gaussianas. Dentro de los scores utilizados para evaluar las redes discretas se encuentran 6: logaritmo de la verosimilitud multinomial (equivalente a la medida de entropa usada en Weka), criterio de informacin de Akaike (aic) y puntaje basado en el criterio de informacin bayesiano (bic), que es equivalente a la longitud de descripcin mnima o Minimum Description Length (MDL) y tambin es conocido como criterio de informacin de Schwarz. Dentro de los puntajes utilizados para evaluar redes gaussianas se encuentran: logaritmo de la verosimilitud, criterio de informacin de Akaike y criterio de informacin Bayesiano. Otras funciones de utilidad son: comparacin y manipulacin de modelos (distancia de Hamming estructural), generacin aleatoria de datos y finalmente, validacin cruzada para evaluar la capacidad predictiva de la red para un nodo en particular. Tambin se encuentran disponibles funciones graficas avanzadas, que requieren de la instalacin de los paquetes Rgraphviz y lattice.
DEAL.
Deal (Autores: Susanne Bottcher y Claus Dethlefsen) permite aprender y comparar redes bayesianas a partir de datos con variables continuas y/o discretas utilizando el algoritmo reportado por Bottcher (2001). Dentro de las funciones ms relevantes se puede mencionar: autosearch, es una bsqueda codiciosa (Greedy search) donde en cada paso se crea una lista de redes agregando o eliminando arcos (evitando que se genere un ciclo); la red de la lista con mejor puntaje se selecciona para el prximo paso en la bsqueda, si no se encuentra una red con mejor puntaje que la obtenida en el paso anterior, se termina la bsqueda. Y Drawnetwork, que permite especificar la estructura del grafo.
Otra funcin que se puede mencionar es rnetwork, donde dada una red de topologa y distribucin de probabilidad conjunta conocida permite simular un conjunto de datos proveniente de dicha distribucin. Algunas de estas funciones y otras reportadas en el manual se analizarn en el siguiente ejemplo.
install.packages("deal") ## Instala el paquete desde un repositorio de la WEB o de un archivo local. library("deal") # # Carga el paquete data(rats) fit <- network(rats) ##Genera un objeto de la clase network a partir de los datos. Entre las propiedades
del objeto se encuentran el nmero y tipo de nodos (discreto o continuo), el puntaje de la red, la lista de arcos prohibidos, etc. fit.prior <- jointprior(fit,12) ##Genera la distribucin de probabilidad conjunta.
##Genera una nueva red a partir de la distribucin conjunta y mediante al algoritmo de Bottcher (2001). fit <- getnetwork(insert(fit,2,1,rats,fit.prior)) ##Inserta o remueve un arco de la red (en este caso del nodo 2 al nodo 1). fit <- getnetwork(insert(fit,1,3,rats,fit.prior)) ##Idem anterior pero del nodo 1 al 3.
##heuristic reinicia la bsqueda perturbando la red y llamando la funcin autosearch. La perturbacin se logra agregando o eliminando un nmero determinado de arcos. plot(getnetwork(hisc2)) ##Genera un objeto de la clase network a partir de los datos.
2. -160.6097 0.6802642 [Sex][Drug][W1|Drug][W2|SexW1] 3. -161.4324 0.2987972 [Sex|Drug][Drug][W1|Drug][W2|W1] 4. -161.4324 0.2987972 [Sex][Drug|Sex][W1|Drug][W2|W1] 5. -161.8177 0.2032610 [Sex|Drug][Drug][W1|Drug][W2|SexW1] 6. -161.8177 0.2032610 [Sex][Drug|Sex][W1|Drug][W2|SexW1] 7. -162.3077 0.1245122 [Sex][Drug][W1|Drug][W2|DrugW1] ... 89. -177.3214 3.757134e-08 [Sex|Drug][Drug][W1|Sex][W2|Sex] 90. -178.071 1.775455e-08 [Sex][Drug|Sex][W1|Sex][W2|SexDrug] 91. -178.071 1.775455e-08 [Sex|Drug][Drug][W1|Sex][W2|SexDrug]
par(op)
*Score es un puntaje bayesiano que cuantifica que tan bien la red ajusta a los datos (verosimilitud) y RelScore es un valor
relativo, el puntaje de la red comparado con el mejor puntaje de la familia.
BIBLIOGRAFA
Balov, N. and Salzman,P. (http://rwiki.sciviews-.org). (2010) Presentacin del paquete CATNET Bottcher, S.G. (2001). Learning Bayesian Networks with Mixed Variables. Artificial Intelligence and Statistics 2001, Morgan Kaufmann, San Francisco, CA, USA, 149-156. Bouckaert R.R (2008). Bayesian Network Classifiers in Weka for Version 3-5-8 (http://www.cs.wa-ikato.ac.nz/ml/weka/). Friedman, N.; Geiger, D. and Goldszmidt, M. (1997). Machine Learning 29: 131163. Li, J.; Gursel Serpen, G.; Steven Selman,S.; Matt Franchetti,M.; Mike Riesen,M. and Cynthia Schneider,C. (2010) Bayes Net Classifiers for Prediction of Renal Graft Status and Survival Period. International Journal of Biological and Biomedical Sciences 2:4. Lpez Puga, J. Juan Garca Garca,J.; de la Fuente Snchez, L. y de la Fuente Solana, E.I. (2007) Las redes bayesianas como herramientas de modelado en psicologa. Anales de psicologa 23(2): 307-316. Ornella, L. y Tapia, E (2008) Tcnicas de Aprendizaje Computacional para Integrar Informacin de reas Rurales en un Contexto GIS. pp. Jornadas de Informtica Industrial: Agroinformtica - JII 2008. Santa Fe, Argentina, 8-12 setiembre 2008. ISSN 1850-2849. pp. 168-179. Russell S.J. and Norvig P. (2002) Artificial Intelligence A Modern Approach Second Edition. Prentice Hall. Scutari, M. (2010). Learning Bayesian Networks with the bnlearn R Package. Journal of Statistical Software, 35(3), 122. Walker, A.; Pham, B. and Moody, M. (2005) Spatial Bayesian learning algorithms for Geographic information retrieval. In Proceedings 13th annual ACM international workshop on Geographic information systems, pages pp. 105-114, Bremen, German (Disponible en http://eprints.qut.edu.au/3637/1/. Witten, I. H. & Eibe, F. E. (2005) Data Mining: Practical machine learning tools and techniques. 2nd ed. Morgan Kaufmann San Francisco. Werhli, A.V.; M. Grzegorczyk, M. and D. Husmeier, D. (2006). Comparative evaluation of reverse engineering gene regulatory networks with relevance networks, graphical Gaussian models and Bayesian networks. Bioinformatics 22:25232531.
Algunos axiomas de probabilidad. P: PROB [0,1] P(A B) = P(A)+P(B)- P(AB) P( A) = 1- P(A) P(A/B) = P(AB) / P(B) (Probabilidad Condicional). Regla de Bayes (Reverendo Thomas Bayes, 1763). P(A/B) = P(B/A)P(A) / P(B) Es comn pensar en la regla de Bayes en trminos de la actualizacin de la creencia (belief) acerca de una hiptesis A la luz de nuevas pruebas B. En concreto, nuestra creencia posterior P (A | B) se calcula multiplicando nuestra creencia antes de P (A) por el probabilidad P (B | A) que B se producir si A es verdad. Independencia Condicional. Se dice que dos variables aleatorias X e Y que son independientes si se cumple: P(X,B) = P(A) P(B) P(Y | X) = P(X) P(X | Y) = P(Y)
Se dice que dos variables A y B son condicionalmente independientes dado C si se cumplen cualquiera de los siguientes requisitos: P(A, B | C) = P(A | C) P(B | C) P(A | B, C) = P(A | C) P(B | A, C) = P(B | C)