INTRODUCCION A LAS REDES BAYESIANAS A. Hananel Definición.- Una red Bayesiana consiste de:
Un conjunto de enlaces dirigidos entre variables Cada variable tiene un conjunto finito finito de estados Las variables junto con los enlaces dirigidos forman un gráfico dirigido aciclico (DAG) Para cada variable A con padres B 1,... Bn existe una función de probabilidad condicional p(A/ B1,... Bn). Si A no tiene padres, entonces la expresión anterior se reduce a la probabilidad no condicional P (A). En la figura 01, se necesita especificar las probabilidades a priori P(A), P(B), P(C\A,B), P(E\C), P(D\C), P(F\E) y P(G\D,E,F)
.
B
A C E
F
D G Figura 01 : Un gráfico dirigido ciclico
Como se podrá intuir, la transmisión de evidencia es un trabajo muy laborioso, más aún cuando el número de variables va riables involucradas es muy grande. Afortunadamente, existen herramientas que pueden hacer el trabajo por nosotros. Una de ellas es HUGIN, software para modelación y procesamiento de redes Bayesianas.
Ejemplo 01: El árbol de manzana.
En este ejemplo, el problema consiste en una pequeña plantación de manzanas. Uno de los días, el dueño descubre que una de sus plantas más apreciadas, está perdiendo sus hojas. El quiere conocer cuál es la causa de esto. Sabe que si el árbol esta seco a causa de la sequía, Solucion
No hay misterio (es muy común que los árboles pierdan sus hojas durante una sequía). Por otro lado, la pérdida de hojas puede ser un indicio de enfermedad. La situación puede ser modelada en la figura 02. Enf
Seq Enf
Pérd Figura 02 : Problema de la manzana
La red Bayesiana consiste en tres nodos Enf, Seq, Pérd, los cuales pueden estar en dos estados Enf=Si o No: Seq=Si o No y Pérd=Si o No. La red Bayesiana nos dice que existe una dependencia causal de Enf a Pérd y de Seq a Pérd. Esto es representando por las dos flechas. La representación anterior, solamente es la representación cualitativa de la red Bayesiana. La parte cualitativa es la función de probabilidad condicional, la cual esta representada por las siguientes tablas de probabilidades: Enf=”si” Enf=”no” 0.1 0.9 Tabla 1 : P(Enf)
Seq=”si” Seq=”no”
0.1
0.9
Tabla 2 : P(Seq)
Perd=”si” Perd=”no”
Seq=”si” Enf=”si” Enf=”no”
Seq=”no” Enf=”si” Enf=”no”
0.95 0.05
0.9 0.1
0.85 0.15
Tabla 3 : P(Perd Enf,Seq)
0.02 0.98
Se observa que las tres tablas exhiben la probabilidad de que un nodo se encuentre en un estado especifico dependiendo de los estados de los nodos de sus padres. Como ni Enf ni Seq tienen padres, las tablas 1 y 2 no están condicionadas por algo. Con la información anterior, las probabilidades asociadas a diferentes combinaciones de estados se pueden calcular utilizando la regla fundamental del calculo de probabilidades y y la regla de Bayes. Para calcular la probabilidad conjunta P(Perd,Enf,Seq) se utiliza la regla fundamental: P(Perd,Enf,Seq)=P(Enf,Seq)P(Perd Enf,Seq) Como Enf y seq son independientes, tenemos: P(Perd,Enf,Seq)=P(Enf)P(Seq)P(Perd Enf,Seq) Los resultados se muestran en la tabla 4. Seq No Seq Enf (0.0095,0.0005) (0.081,0.009) No Enf (0.0765,0.0135) (0.0162,0.7938) Tabla 4: P(Perd, Enf, Seq) Ejemplo 02 Dibujar el grafo de una red bayesiana para un dominio que considere las siguientes variables:
R : “renta per capita de un país” 2
E : “extensión en km del mismo” I : “número de casos por 1000 habitantes (o prevalencia) de enfermedades infantiles en ese país” K : “kilómetros de autopista en el país”
Comentar las dependencias e independencias probabilísticas representadas (implícita o explícitamente) en la red y enumerar, además, que tablas de probabilidad intervienen en la misma. Solución:
¿Qué pretende este problema? . Estudiar ejemplos de representación de conocimiento causal de un dominio mediante redes bayesianas. Parece lógico pensar que la extensión de un país influirá en el número de kilómetros de autopista y que la renta per cápita lo hará sobre las enfermedades infantiles y sobre los kilómetros de autopista del mismo, sin que exista ninguna otra relación de dependencia entre las cuatro variables consideradas (la renta per cápita de un país, así como la proporción de casos de enfermedades infantiles en el mismo, son independientes de su extensión y los kilómetros de autopista tampoco influyen en la prevalencia o proporción de enfermedades infantiles que se presentan). De acuerdo con las relaciones que se han establecido, el grafo pedido seria el siguiente: EXTENSIÓN
RENTA PER CAPITA
R
PROPORCIÓN ENFERMEDADES INFANTILES
KMS. AUTOPISTA
I
E
K
Figura 03
En cuanto a las probabilidades que intervienen en la red son : P ( r ),
P ( e ),
P (i / r ),
P (k /r, e)
Donde las dos primeras son probabilidades a priori y las restantes son probabilidades condicionadas (las letras mayúsculas representan variables y las minúsculas los valores que éstas toman)
Ejemplo 03
Dibujar el grafo de una red bayesiana que considere el sexo de una persona, su edad, sus ingresos mensuales, su estatura, el número de calzado que usa y el tipo de coche que posee. Comentar las dependencias e independencias probabilísticas representadas (implícita o explicitamente) en la red. Enumerar, además, qué tablas de probabilidad forman parte de dicha red. Solución
Las variables que van a ser consideradas son: S : Sexo E : Edad I : Ingresos T : Estatura C : Coche N : Número de calzado Evidentemente el sexo de una persona influira ensus ingresos (todavia en nuestra sociedada una importante parte de las profesiones siguen considerandose tipicas de un determinado sexo e incluso dentro de la misma profesion las mujeres suelen ganar menos que los hombres), tipo de coche (en general los hombres prefieren coches potentes , mientras que las mujeres optan por aquellos que les facilitan la conduccion), la estatura (la estatura media es liligeramente superior a la de la mujer) y el numero de calzado (las mujeres suelen usar numeros menores). Tambien el sexo influye enla edad que una persona va alcanzar; de hecho, las mujeres tienen una esperanza de vida varios añs mas que la de los hombres. Esto dara lugar a que, dada cierta persona de un determinado sexo, la probabilidad de que sea de avanzada edad sera mayor si se trata de una mujer y no de un hombre. Como consecuencia de todo lo comentado con anterioridad, se podria ir trazando los siguientes enlaces.
SEXO
S
EDAD
I
E
T C COCHE N N° CALZADO Figura 04
En cuanto a la edad, ésta va a influir en el nivel de ingresos de una persona (en general, con la edad cualquier trabajador alcanza una mayor experiencia y cualificación en su trabajo, que le permite elevar su nivel de ingresos), en el tipo de coche que posea (mientras que la gente de más edad prefiere coches más seguros, los jóvenes ven en la velocidad una cualidad importante) y en su estatura. Por tanto, se podría ampliar el grafo anterior de la siguiente forma:
E
S
I
T ESTATURA
INGRESOS C COCHE
N N° CALZADO Figura 05
Obsérvese que no se ha trazado ningún enlace desde E hasta N. Esto es así debido a que dada una determinada estatura para una persona, la edad de la misma no influirá en su número de calzado (por tanto, tal como se hace más adelante, habrá que trazar un enlace entre T y N). Finalmente, fijado el sexo, la estatura determina el número de calzado de una
persona y, por otra parte, sus ingresos influyen sobre el tipo de coche que posee. La red final, por tanto, sería : S
SEXO
EDAD
I
E
T ESTATURA
INGRESOS C COCHE
N ° Figura 06
Obsérvese, por ejemplo, que no se ha trazado ningún enlace desde Ingresos hasta N° calzado, ya que estas dos variables son condicionalmente independientes entre si. Por otra parte, se podría haber supuesto que la estatura influye en el nivel de ingresos de una persona, pues una estatura adecuada contribuye a una mejor presencia física, requisito necesario para determinados puestos de trabajo (aquí, sin embargo, se ha considerado que un puesto donde se requiera buena presencia física no es sinónimo de puesto bien remunerado y por eso no se ha trazado un enlace de T a I). Tampoco se ha tenido en cuenta que la estatura ni el número de calzado influyan en el tipo de coche de una persona y, por tanto, no se han trazado los enlaces de T a C y de N a C. Las probabilidades que habría que añadir al grafo anterior para completar la red bayesiana son : P(s) P(e|s) P ( i | s, e) P ( t | s, e) P ( c | i, s, e ) P ( n | s, t )
Notas sobre Redes Bayesianas
1.-
Las redes Bayesianas constituyen una de las herramientas más poderosas en el diseño de sistemas expertos probabilísticos. Desde un punto de vista gráfico una red Bayesiana es un Grafo Dirigido Acíclico, donde los nodos representan las variables del problema que queremos resolver. Estas estructuras nos permiten representar el conocimiento desde dos puntos de vista : Cualitativo : Expresa las relaciones de dependencia e independencia entre las variables. De forma gráfica se representa mediante la presencia de conexiones o caminos entre variables. Así, si tenemos dos variables X e Y conectadas por un arco X
Y podemos deducir que X es Y son variables que están relacionadas (por
ejemplo, X puede ser una causa de Y). Cuando dicho arco no existe, entonces podemos decir que existe una relación de independencia (bien marginal o bien condicional) entre X e Y. Cuantitativo : Expresa la fuerza con la que nos creemos las relaciones de relevancia o dependencia. Nos permite representar la incertidumbre que tenemos sobre la ocurrencia de los sucesos (supuesto que conocemos un conjunto determinado de hechos). Este tipo de conocimiento se proporcionará mediante un conjunto de distribuciones de probabilidad condicionadas.
2.-
Pasamos a ver de una forma más detallada la red Bayesiana como un formalismo que
permite representar la base de conocimiento de un sistema experto probabilístico. Construcción de Sistemas Expertos Probabilísticos
La base de conocimiento de un sistema experto probabilístico esta formada por un conjunto de variables y una distribución de probabilidad conjunta sobre ellas. Tenemos dos alternativas para especificar la base de conocimiento: la primera en la cual hacemos uso de una tabla de la distribución conjunta (esta aproximación resulta inabordable incluso para problemas con un número de variables pequeño) o bien hacer uso de modelos más sofisticados que (utilizando relaciones de independencia entre variables) factorizen la distribución en funciones de tamaño menor. En este caso, los pasos que tenemos que seguir a la hora de diseñar el sistema experto son: 1.
Planteamiento del Problema :
Tener una buena definición del problema es un paso
crucial a la hora de obtener un buen sistema experto, ya que de ello dependerán en gran medida la calidad de los resultados que obtengamos. Consideremos el siguiente ejemplo: Ejemplo 05.
En una consulta médica estamos interesados en la construcción de un sistema experto que, ante un conjunto de síntomas que presenta un determinado paciente, nos ayude a determinar (a) ¿Cuál es la enfermedad más probable? (b) ¿Qué tratamiento tenemos que suministrar?.
En concreto imaginemos la siguiente situación hipotética: Tenemos dos posibles enfermedades, amigdalitis y la otra más extrema, como el padecer de un cáncer en el cerebro. Si consideramos los síntomas que pueden aparecer encontramos: - Cuando un paciente tiene amigdalítis los síntomas que aparecen son dolor de cabeza y fiebre. - Si el paciente tiene cáncer en el cerebro, no aparecen los síntomas hasta que no se ha producido una metástasis de las células cancerosas. En este caso, los síntomas son dolor de cabeza y mareos. Por otro lado, si consideramos los tratamientos de las enfermedades tenemos que - Si un paciente tiene amigdalitis, entonces se propone un tratamiento en base a penicilina (TA) con un costo bajo. Sin embargo, si este tratamiento es proporcionado a un paciente alérgico a la penicilina podemos provocarle fuertes reacciones. En este caso, se prefiere aplicar un segundo tratamiento, (TB), más costoso, pero que no le es perjudicial. - Por otro lado, si un paciente padece de cáncer, tenemos que el tratamiento TA carece de eficacia, siendo el tratamiento TB el más aconsejable. 2.
Selección de Variables: El
siguiente paso consiste en seleccionar el conjunto de
variables que son relevantes para tener una buena definición del problema (esta tarea debe ser realizada por los expertos en el problema a analizar). Ejemplo 06. En el ejemplo anterior, las variables de interés serán :
Alergía a la Penicilina A con valores amiGdalitis G D
({d , d }) ;
B
({tb, tb}) .
{ g , g } ;
Mareo Mr
Metástasis M ({mr , mr }) ;
({a, a}) ;
({m, m}) ;
Cancer C con los casos
; Fiebre F
Tratamiento A T A
({ f , f }) ;
({ta, ta})
{c, c} ;
Dolor de Cabeza
y Tratamiento B T
De forma genérica, para una variable X el caso X = x expresa la idea de que se hace cierta la relación y
X
x expresa
que la relación es falsa, por ejemplo C = c expresa
la idea de que el paciente tiene cáncer y C 3.
c
indica que no tiene cáncer.
Adquisición de la información cualitativa
: Si disponemos de un experto le
pediremos que muestre las relaciones de relevancia entre las variables que definen el problema. En este proceso es importante que el experto también determine las relaciones de independencia entre variables. Es de gran utilidad en esta etapa el apoyarse en modelos gráficos ya que permiten de forma explícita mostrar las relaciones de relevancia entre las variables. Cuando no disponemos de un experto para diseñar la estructura de dependencias, podemos utilizar técnicas que, partiendo de una base de ejemplos, permiten construir de forma automática la red. Ejemplo 07. Para nuestro problema, el experto nos puede dar la siguiente red:
Alergia Penicilina
Cáncer
Amigdalitis
Metastasis Tratamiento B 4.
Tratamiento A
Fiebre
Dolor Cabeza
Mareos
Adquisición de la información cuantitativa : Este último paso consiste en asignarle
valores a las distribuciones de probabilidad conjunta que tenemos que almacenar en cada nodo en la red. En los últimos dos pasos es muy conveniente que el experto pueda colaborar con especialistas en Estadística ya que el uso de métodos específicos puede ayudar a mejorar la calidad de los datos y validar el modelo construido.
Ejemplo 08.
Para nuestro problema, supongamos que tenemos las siguientes distribuciones de probabilidad condicionadas. C P(C)
G P(G)
c 0.05
g
c_ 0.95
M
A P(A) a
0.35
a_ 0.75
g_ 0.65
P(M/C)
Mr
0.25
P(Mr/M)
F
P(F/G)
C
c
c_
M
m
m_
G
g
g_
m
0.7
0.01
mr
0.9
0.09
f
0.95
0.15
M_
0.3
0.99
mr_
0.1
0.91
f_
0.05
0.85
D
P(D/G,M)
G
g
M
m
d
0.99
g_
TA
P(TA/G,A)
G
g
m_ m
m_
A
0.7 0.85
0.15
ta
d_ 0.01 0.3 0.15 0.85
a
g_ a_
a
a_
0.01 0.99 0.01 0.2
ta_ 0.99 0.01 0.99 0.8
TB
P(TB/C,G,A)
C
c
c_
G
g
A
a
tb
0.99 0.95 0.98 0.95 0.9 0.01 0.01 0.01
g_ a_
a
g a_
a
g_ a_
a
a_
tb_ 0.01 0.05 0.02 0.05 0.1 0.99 0.99 0.99 Para este ejemplo, si quisiéramos presentar la tabla completa de la distribución conjunta necesitaremos de 512 valores, mucho mayor que los 25 que realmente hemos tenido que proporcionar.