Buscar este blog

sábado, 5 de abril de 2014

Redes Bayesianas

Las redes bayesianas son gráficos que modelan un fenómeno mediante un conjunto de variables y las relaciones probabilisticas entre ellas. Usualmente son construidas a mano por un experto en la información que se esté modelando, aunque existen algoritmos que son capaces de crear una estructura bayesiana, estos últimos suelen ocupar algoritmos de búsqueda y fórmulas como la entropia para poder entender las relaciones existentes entre los datos.

Una red bayesiana consta de los siguientes puntos:

  • Un gráfico aciclico dirigido que muestre las relaciones de dependencia del conjunto de variables
  • Una tabla de probabilidad asociada a cada nodo. (ver clasificador bayesiano)


Un ejemplo de una red bayesiana seria la siguiente:


Usualmente primero se construye su grafo y luego las tablas de probabilidad en base al clasificador bayesiano simple,por ejemplo, se debe construir una regla para la relación P(Toma medicamento antipirético = Si | Temperatura Corporal = 36.7 ) .

Algunas de las ventajas de las redes bayesianas son las siguientes:
  • Presentan un modelo fácil de entender
  • Las inducciones son rápidas
  • Permiten predecir estados y no solo la clase (suponiendo que en el gráfico de arriba mostrado la clase fuese si tiene neumonia o no, la mayoria de los clasificadores solo podran determinar esta última, pero la red bayesiana es capaz de determinar, por ejemplo, la probabilidad de que el color del esputo sea negro)
  • Al crear el modelo se determina fácilmente aquellos atributos irrelevantes.
  • Permiten generar datos ficticios (util cuando tenemos bases de datos pequeñas que aunque explican bien el modelo, no son ùtiles con determinados clasificadores como Knn y técnicas de clustering)


El siguiente ejemplo explica mas detalladamente una red bayesiana con todo y sus tablas de probabilidad (al menos las necesarias para el ejemplo)


 
Ahora consideremos algunas de las tablas de probabilidad(para visualizar como se calculan dichas probabilidades click aqui) que se pueden obtener en base a esta red (valores inventados)

P(Ejercicio= SI) = .7
P(Dieta=Saludable) = .25
P(Enfermerdad Corazon = Si | Ejercicio = Si, Dieta = Saludable) = .25
P(Enfermerdad Corazon = Si | Ejercicio = Si, Dieta = No Saludable) = .45
P(Enfermerdad Corazon = Si | Ejercicio = No, Dieta = Saludable) = .55
P(Enfermerdad Corazon = Si | Ejercicio = No, Dieta = No Saludable) = .75
P(Presión Arterial = Alta| Enfermedad Corazon = Si) = .85
P(Presión Arterial = Alta| Enfermedad Corazon = No) = .20

Bien, aquí solo incluyo algunas de las probabilidades que podriamos obtener. Ahora digamos que quisieramos clasificar, en base a ejercicio =SI y Dieta = No, la probabilidad de que se padezca una enfermedad del corazón:

P(Enfermedad Corazon = Si| Ejercicio = No,Dieta = Saludable) = .55
P(Enfermedad Corazon = No| Ejercicio = No,Dieta = Saludable) = .45 (1 - 0.55)

Entonces podriamos decir que es probable que padezca el paciente alguna enfermedad del corazon, mas aun, deacuerdo al grafo es probable que obtengamos una presion alta.

La rapidez de estas redes al momento de clasificar es que evitan calculos y atributos innecesarios, por ejemplo, para el caso anterior, los atributos de acidez y dolor de pecho son innecesarios de calcular, sin embargo, podrian proporcionar informaciòn importante, por ejemplo, si desearamos determinar la causa del dolor de pecho, entonces podriamos realizar las clasificaciones por el lado de enfermedad del corazon (ejercicio, dieta, enfermedad del corazon) vs por el lado de la acidez (dieta,Acidez) y determinar cual otorga un valor mayor de probabilidad.

Algoritmos de aprendizaje en las redes bayesianas

La naturaleza de las redes Bayesianas hace que el aprendizaje de la red sea en dos etapas: primero se aprende la estructura de la red, después se aprenden las tablas de probabilidad. Existen ciertas técnicas para esto:

  • Métricas de evaluación locales: Aprender una estructura de red BS se puede considerar como un problema de optimización en donde la medida de calidad de una estructura de red dado un conjunto de datos de entrenamiento Q(BS|D) necesita ser maximizado. La medida de calidad puede estar basada desde una perspectiva Bayesiana, MDL (Minimum Description length), información (como entropía) y otros criterios. Estas métricas tienen la propiedad práctica de que la puntuación (evaluación) de la totalidad de la red puede descomponerse como la suma (o el producto) de la puntuación de los nodos individuales. Lo cual permite hacer puntuaciones locales y también métodos de búsqueda local.
  • Pruebas de independencia condicional: Estos métodos se derivan principalmente de descubrir la estructura causal. La suposición es que hay una estructura de red que representa exactamente la independencia en la distribución que generó los datos. Entonces sigue que si una independencia se puede identificar en los datos entre dos variables tal que no existe una flecha entre esas dos variables. Una vez que se han identificado las ubicaciones de los arcos, la dirección de los mismos es asignada tal que la independencia condicional en los datos es representada adecuadamente.
  • Métricas de evaluación global: Una manera natural de medir que tan bien una red Bayesiana se desempeña en un conjunto de datos dado es predecir su desempeño futuro estimando utilidades esperadas, tal como la precisión de la clasificación. El método cross-validation provee una salida de evaluación por medio de dividir los datos repetidamente en dos conjuntos: datos de entrenamiento y datos de prueba. Una estructura de red Bayesiana puede ser evaluada estimando los parámetros de la red usando los datos de entrenamiento yel desempeño de la red Bayesiana resultante puede ser determinado usando el conjunto de datos de prueba. El desempeño promedio de una red Bayesiana sobre los conjuntos de prueba provee una métrica para la calidad de la red. Cross-validation difiere de una métrica de evaluación local en que la calidad de una estructura de red frecuentemente no puede se descompuesta en la evaluación (puntuación) de los nodos individuales. Así, la totalidad de la red necesita ser considerada para determinar esta evaluación (puntuación).

No hay comentarios: