Está en la página 1de 45

Métodos Bayesianos básicos

Carlos Alonso González


Grupo de Sistemas Inteligentes
Departamento de Informática
Universidad de Valladolid
Contenido

1. Motivación
2. Teorema de Bayes
3. Hipótesis HMAP
4. Clasificador Bayesiano Óptimo
5. Clasificador Naive Bayes
6. Ejemplo de aplicación: clasificación de texto
7. Bibliogrfía

2
1. Motivación

3
1. Motivación

 Enfoque probabilístico del aprendizaje

 Hay conceptos de naturaleza probabilística


 Riesgo inversión en bolsa
 Conceptos que se solapan parcialmente
 Una instancia puede tener probabilidades no nulas de
pertenecer a ambas
 Incertidumbre
 En los datos, en el concepto

 De interés para los agentes

4
Razonamiento bayesiano

 Supone que:

 Las hipótesis están gobernadas por una distribución de


probabilidad

 El conocimiento a priori se combina con las observaciones:


probabilidad a priori de cada hipótesis, observaciones y
distribución de probabilidad a posteriori

 Es posible tomar decisiones óptimas razonando con estas


probabilidades y las observaciones

5
Interés métodos bayesianos

 Algunos métodos bayesianos se encuentran entre los


más eficientes.

 Permiten interpretar el funcionamiento de otros


métodos en términos probabilísticos.

 Incluso cuando no son aplicables, proporcionan un


estándar de toma de decisión óptima, frente al que
comparar otros métodos.

6
Frente a otros paradigmas

 Similitudes:
 Inductivo basado en ejemplos
 Supervisado: necesitamos conocer la clase de los
ejemplos para estimar la probabilidad a posteriori de
las observaciones

 Diferencia:
 No basado en el error: las hipótesis compiten entre
si, venciendo la que tenga mayor probabilidad

7
Dificultades

 Requiere conocer un elevado número de probabilidades.

 Elevado coste computacional en el proceso de


actualización de probabilidades.

8
2. Teorema de Bayes

9
2. Teorema de Bayes

 Dado un conjunto de entrenamiento D, más


conocimiento a priori de la probabilidad de las distintas
hipótesis de H, ¿Cuál es la hipótesis más probable?

 Teorema de Bayes

10
Teorema de Bayes

P( D | h ) P(h )
P(h | D ) =
P( D )

 P(h) es la probabilidad a priori de la hipótesis h


 Probabilidad de h sin ninguna observación
 P(D) es la probabilidad a priori de D
 Probabilidad de observar D, sin saber que hipótesis se
verifica
 P(h|D) es la probabilidad a posteriori de h
 Probabilidad de que h sea cierta después de observar D
 P(D|h) es la probabilidad a posteriori de D
 Es la probabilidad de observar el conjunto de
entrenamiento D en un universo donde se verifica la
hipótesis h.
11
Dos formas de adaptar Bayes a
problemas de aprendizaje

 Como hasta ahora:


 H: un (sub) espacio de funciones
 Obtener h, una función

 O bien:
 V: conjunto finito de valores de la clase
 Obtener el valor de la clase de una instancia (v∈V)
 No se obtiene h de forma (totalmente) explícita

 Sólo se necesita:
∑ hi ∈H
P ( hi ) = 1

∑ hi ∈H
P ( hi D ) = 1
12
En el problema de asignación de
crédito

 V={alto, moderado, bajo}


 p(alto) + p(moderado) + p(bajo)=1
 Por ejemplo p(alto)=0.6, p(medio)=0.3, p(bajo)=0.1

 D: conjunto de entrenamiento
 p(alto/D) + p(medio/D) + p(bajo/D) =1
 p(alto/D)=6/14, p(moderado/D)=3/14, p(bajo/D)=5/14

13
3. Hipótesis hMAP
3. Hipótesis hMAP

 Dado espacio de hipótesis H y las observaciones D ¿Cuál


es la hipótesis h ∈ H más probable?

 Hipótesis hMAP: maximun a posteriori

hMAP ≡ arg max P(h | D)


h∈H

P ( D | d ) P ( h)
= arg max
h∈H P( D)
= arg max P( D | h) P(h)
h∈H
Ejemplo

 h+: paciente sufre enfermedad X


 h-: paciente no padece la enfermedad X
 Probabilidad padecer enfermedad X: 0,008

 Se dispone de un test para determinar la presencia de


la enfermedad X
 Si el paciente padece enfermedad X, el test lo detecta
en el 98% de los casos
 El test da un 97% de casos negativos correctos si el
paciente no tiene la enfermedad

16
hMAP ?

 Probabilidad a priori de la hipótesis:


 p(h+)=0,008 p(h-)=0,992
 Probabilidad a posteriori de la observación(resultado del
test):
 p(+/h+)=0,98 p(-/h+)=0,02
 p(+/h-)=0.03 p(-/h-)=0.97

 hMAP = arg max P ( D | h) P (h), dado que se observa +:


h∈H

 p(+/h+) * p(h+)=0,98*0,008= 0,0078


 p(+/h-) * p(h-)=0,03*0,992= 0,0298

 hMAP: h-
17
4. Clasificador bayesiano óptimo

18
4. Clasificador bayesiano óptimo

 hMAP proporciona la hipótesis más probable dado D


 Interesa más conocer cual es la clasificación más
probable de un nuevo ejemplo, x
 hMAP(x) no proporciona la clasificación más probable de x

 Considerar tres posibles hipótesis:

 Que clasifican la nueva instancia como:

 ¿Cuál es la hipótesis más probable?

19
Clasificador bayesiano óptimo

 Si la clase toma valores vj ∈ V, la probabilidad de que la


clasificación correcta sea vj es:

 Y la clasificación óptima es:

20
Ejemplo

Dados:

Se tiene:

Y:

21
Propiedades Clasificador Bayesiano
Óptimo

 Maximiza la probabilidad de que una nueva instancia se


clasifique correctamente:
 Ningún otro método usando el mismo espacio de hipótesis
y el mismo conocimiento a priori puede tener un menor
error verdadero.

 El etiquetado de instancias del clasificador bayesiano


óptimo puede no corresponder con ninguna de las
hipótesis de H
 En realidad, el espacio de hipótesis H’ del clasificador es
una combinación lineal de las predicciones de las hipótesis
H a las que se aplica el teorema de Bayes

22
5. Clasificador Naive Bayes

23
5. Clasificador Naive Bayes

 Dados
 Descripción de Instancias, X, (atributos, valores)
 Descripción de las Hipótesis, H
 Concepto objetivo, c
 Ejemplos y su clase, D, pares (<x, c(x)>)
 Determinar
 Valor más probable de c(x)

 Notación
 Describimos las instancia como una conjunción de atributos
x=<a1, a2, ... an> siendo ai el valor del atributo i-ésimo
 c : X  V, V finito

24
Valor más probable

 Valor más probable de c(x): vMAP

vMAP = arg max P( vj | a 1, a 2,...an )


vj∈V

P( a 1, a 2,...an | vj ) P( vj )
= arg max
vj∈V P( a 1, a 2,...an )
= arg max P( a 1, a 2,...an | vj ) P( vj )
vj∈V

25
Estimación de probabilidades

 A partir de los datos de entrenamiento


 p(vj): frecuencia de vj en datos de entrenamiento
 p(a1, a2, ... an / vj)
 Número de términos a estimar |X|*|V| !!!
 No es viable salvo conjuntos de entrenamiento muy
grandes, que repitan ejemplos

26
Aproximación Naive Bayes

 Asumir que los valores de los atributo son


condicionalmente independientes dado el valor de la
clasificación

P(a1, a 2,...an | vj ) = ∏ P(ai | vj )


i

 Clasificador Naive Bayes

vnb = arg max P(vj )∏ P(ai | vj )


vj∈V i

27
Estimación probabilidades NB

 Nº de términos p(ai/vj)
 | valores de ai |* |V|

28
Algoritmo Naive Bayes

Aprendizaje_Bayesiano_Naive(ejemplos)
Para cada posible valor del resultado vj
Obtener estimación p’(vj) de la probabilidad p(vj)
Para cada valor ai de cada atributo a
Obtener estimación p’(ai/vj) de la probabilidad P(ai/vj)

Clasificar ejemplo(x)
devolver

v NB = arg max P´(vj )∏ P´(ai / vj )


vj∈V i

29
Ejemplo: datos “weather”

Cielo Temp Humedad Viento Jugar


Soleado Alta Alta Falso No
Soleado Alta Alta Cierto No
Cubierto Alta Alta Falso Si
Lluvioso Suave Alta Falso Si
Lluvioso Fría Normal Falso Si
Lluvioso Fría Normal Cierto No
Cubierto Fría Normal Cierto Si
Soleado Suave Alta Falso No
Soleado Fría Normal Falso Si
Lluvioso Suave Normal Falso Si
Soleado Suave Normal Cierto Si
Cubierto Suave Alta Cierto Si
Cubierto Alta Normal Falso Si
Lluvioso Suave Alta Cierto No
30
Clasificación nueva instancia

 <soleado, fría, alta, cierto>


 Hay que calcular:

vNB = arg max p´(vj )∏ p´(ai / vj )


vj∈V i

= arg max p´(vj ) p´(Cielo = soleado / vj ) p´(Temp = fría / vj )


vj∈V
p´( Humedad = alta / vj ) p´(Viento = cierto / vj )

31
Estimación de probabilidades

p'(jugar=si) = 9/14 = 0,64


p'(jugar=no) = 5/14 = 0,36

p'(Cielo=soleado / jugar=si) = 2/9 = 0,22


p'(Cielo=soleado / jugar=no) = 3/5 = 0,6
p'(Temp=fría / jugar=si) = 3/9 = 0,33
p'(Temp=fría / jugar=no) = 1/5 = 0,2
p'(Humedad=alta / jugar=si) = 3/9 = 0,33
p'(humedad=alta / jugar=no) = 4/5 = 0,8
p'(Viento=cierto / jugar=si) = 3/9 = 0,33
p'(Viento=cierto / jugar=no) = 3/5 = 0,6

32
Clasificación

p´( si ) p´( soleado / si ) p´( fría / si ) p´(alta / si ) p´(cierto / si )= 0,0053 (0,205)

p´(no) p´( soleado / no) p´( fría / no) p´(alta / no) p´(cierto / no)= 0,0206 (0,795)

 Por tanto vNB=no

33
Hipótesis de independencia

 La hipótesis de independencia condicional de los


atributos normalmente no se cumple:

P( a 1, a 2,...an | vj ) ≠ ∏ P( ai | vj )
i

 Pero funciona sorprendentemente bien. El principal


argumento es que no es preciso que el cálculo de las
probabilidades a posteriori sea correcto, sólo:

arg max p( v j )∏ p( ai | v j ) = arg max p( a 1, a 2,...an | vj ) p( vj )


v j ∈V v j ∈V
i

34
Estimación probabilidades

 Problemas si en el conjunto de entrenamiento no hay


ningún ejemplo de clase vj y valor ai

p' ( ai / v j ) = 0 y p' ( v j )∏ p' ( ai / v j ) = 0


i

nc + mp
 Solución habitual, m-estima: p' ( ai | v j ) =
n+m
 n: número de ejemplos de entrenamiento con clase vj
 nc: nº ejemplos clase vj con valor ai para el atributo a
 p: estimación a priori de p(ai|vj)
 m: peso de la estimación a priori (nº de ejemplos
virtuales)

35
Discusión Naive Bayes

 Uno de los algoritmos de aprendizaje más prácticos,


junto a árboles y K-NN

 Condiciones de uso
 Conjunto de entrenamiento grande
 Atributos razonablemente independientes

 Aplicaciones
 Diagnosis
 Clasificación de texto

36
Extensiones: atributos desconocidos

 Entrenamiento: ignorar el ejemplo.


 Clasificación: ignorar el atributo

 Si en el ejemplo “Wheater” desconocemos el valor del


atributo “Cielo” de la instancia:

p´( si ) p´( fría / si ) p´(alta / si ) p´(cierto / si )= 0,0241 (0,413)

p´(no) p´( fría / no) p´(alta / no) p´(cierto / no)= 0,0343 (0,587)

37
Extensión: Atributos numéricos

 Asumir distribución normal.


 Para cada clase
 Calcular media y varianza muestral de cada atributo
numérico.
 Substituir probabilidad condicionada por función de
distribución de probabilidad condicionada.

 Justificación: al integrar en un pequeño entorno del


valor del atributo de la instancia, el efecto es el mismo
en todos los productos y se cancela.

38
Implementación en Weka

 Agrupados bajo pestaña bayes

 weka.classifiers.bayes.NaiveBayesSimple
 El clasificador que hemos presentado
 Atributos numéricos: aproximación normal

 weka.classifiers.bayes.NaiveSimple
 Distintas opciones para estimar probabilidad atributos
numéricos

39
6. Ejemplo de aplicación: clasificación
de texto

40
6. Clasificación de texto

 Gran cantidad de aplicaciones


 Clasificación de noticias, según su interés
 Páginas web, por contenido
 Correo electrónico, spam
 Servicios de Inteligencia

 Naive Bayes: uno de los algoritmos más eficientes


 Generalmente el más eficiente de los algoritmos básicos.
 Métodos actuales más eficientes: Máquinas de Vectores
Soporte.

41
Planteamiento

 Tarea de aprendizaje de conceptos, con


 Espacio de instancias, X: todos los posibles documentos
 Descripción de un documento: secuencia ordenada de
atributos, tantos atributos como palabras; valor del atributo:
palabra
 Concepto objetivo
 C: X  {v1, v2, … vn}
 Ejemplos de entrenamiento D, pares (<x, c(x)>)
 Clasificación de una nueva instancia, y
 Valor mas probable de c(y)

42
Estimación de probabilidades

 Según Naive Bayes


long ( doc )
vNB = arg max p( vj )
vj∈{+,−}
∏ p(a
i =1
i = wk | vj )

Con wk k-ésima palabra del vocabulario utilizado

 p(vj): frecuencia en ejemplos de entrenamiento


 p(ai=wk/+), p(ai=wk/-) para todas las palabras del
diccionario en cada una de las posibles posiciones
 Dificultad:
 50000 * long(doc) *2 ¡términos a estimar!
 Suponiendo 50000 palabras distintas en Inglés

43
Suposición adicional

 Suponer que la probabilidad de encontrar una palabra


es independiente de su posición en el texto
 p(ai=wk/+) = p(aj=wk/+) = p(wk/+)

 Finalmente, para evitar problema probabilidades muy


bajas, m-estima

nkj + 1
P ( wk | v j ) =
n + | vocabulario |

44
7. Bibliografía

 Ian H. Witten, Eibe Frank and Mark A. Hall. Data Mining:


practical machine learning tools and techniques (third
Edition). Morgan Kaufmann, 2011.

 Tom M. Mitchell. Machine Learning. McGraw-Hill, 1997.

 E. Castillo and J. M. Gutierrez and A. S. Hadi. "Expert systems and


probabilistic network models". Springer-Verlag, 1997.
A Spanish version is available online for free
 Daphne Keller, Nir Friedman. Probabilistic Graphical Models, principles
and techniques. The MIT Press, 2009.
 J. T. Palma y R. Marín (edts.). Inteligencia Artificial: métodos,
técnicas y aplicaciones. McGraw-Hill, 2008.

 J. Pearl. Probabilistic Reasoning in Intelligent Systems: Networks of


Plausible Inference. Morgan Kaufmann, San Mateo, California, 1988.
45

También podría gustarte