Naïve Bayes
un método de aprendizaje de máquina Mas yo les digo que de toda palabra ociosa que hablen los hombres, de ella darán cuenta en el día del juicio. Jesucristo
1
Aprendizaje Dados los datos (o conjunto de aprendizaje) D={(x1, y1), (x2, y2)... (xm, ym)}
2
Aprendizaje Dados los datos (o conjunto de aprendizaje) D={(x1, y1), (x2, y2)... (xm, ym)} (X11, X12,...X1n) entrada
3
Aprendizaje Dados los datos (o conjunto de aprendizaje) D={(x1, y1), (x2, y2)... (xm, ym)} (X11, X12,...X1n) entrada
salida Clasificación: cuando “y” es discreta Regresión: cuando “y” es continua
Meta: encontrar una hipótesis h en la clase de hipótesis H que haga un buen trabajo de mapeo de x ay 4
La mejor hipótesis Hipótesis deben Hacer un buen trabajo de descripción de datos
No sea muy complejo
5
La mejor hipótesis Hipótesis deben Hacer un buen trabajo de descripción de datos
Idealmente: h(xi)=yi Numero de errores: E(h, D)
•No sea muy complejo -medida:C(h)
6
La mejor hipótesis Hipótesis deben Hacer un buen trabajo de descripción de datos
Idealmente: h(xi)=yi Numero de errores: E(h, D)
•No sea muy complejo -medida:C(h) Minimizar: E(h, D) + α C(h) compensación 7
Aprendizaje como búsqueda Cómo podemos encontrar la hipótesis con el valor mas pequeño de E(h, D) + α C(h) ? Buscando! Para algunas clases de hipótesis podemos calcular la
dirección óptima de h directamente ! (separadores lineales) Para otros, se pueden hacer búsquedas locales(gradiente descendente en redes neuronales) Para algunos espacios de hipótesis estructuradas, construyendo una voraz(codiciosa) (greedy)
8
Naïve Bayes Basada en la regla de Bayes para inferencia probabilística (Rev. Thomas Bayes) Probabilidad de hipótesis basada en evidencia. Selecciona la hipótesis con el máximo de probabilidades después que la evidencia ha sido incorporada.
9
Naïve Bayes Basada en la regla de Bayes para inferencia probabilística (Rev. Thomas Bayes) Probabilidad de hipótesis basada en evidencia. Selecciona la hipótesis con el máximo de probabilidades después que la evidencia ha sido incorporada. El algoritmo es particularmente útil para dominios con muchos atributos. 10
Ejemplo f1
f2
f3
f4
y
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0 11
Ejemplo f1
f2
f3
f4
y
0
1
1
0
1
•R1 (1,1)=1/5: fracción que representa al
0
0
1
1
1
1
0
1
0
1
atributo 1 cuando esta en on en el subconjunto de todos los ejemplos positivos.
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
•R1 (0,1)= 4/5: fracción que representa al atributo 1 cuando esta en off en el subconjunto de todos los ejemplos positivos.
12
Ejemplo f1
f2
f3
f4
y
0
1
1
0
1
•R1 (1,1)=1/5: fracción del atributo 1 en on en
0
0
1
1
1
los ejemplos positivos
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
•R1 (0,1)= 4/5: fracción del atributo 1 en off en los ejemplos positivos
•R1 (1,0)=5/5: fracción del atributo 1 en on en los ejemplos negativos
•R1 (0,0)=0/5: fracción del atributo 1 en off en los ejemplos negativos 13
Ejemplo f1
f2
f3
f4
y
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,0)= 2/5 R2 (0,0)=3/5 R3 (1,1)= 4/5
R3 (0,1)=1/5
R3 (1,0)= 1/5
R3 (0,0)=4/5
R4 (1,1)= 2/5
R4 (0,1)=3/5
R4 (1,0)= 4/5
R4 (0,0)=1/5
14
Predicci贸n R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,0)= 2/5 R2 (0,0)=3/5 R3 (1,1)= 4/5 R3 (0,1)=1/5 R3 (1,0)= 1/5
R3 (0,0)=4/5
R4 (1,1)= 2/5
R4 (0,1)=3/5
R4 (1,0)= 4/5
R4 (0,0)=1/5
hip贸tesis
15
Predicción R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,0)= 2/5 R2 (0,0)=3/5 R3 (1,1)= 4/5 R3 (0,1)=1/5 R3 (1,0)= 1/5
R3 (0,0)=4/5
R4 (1,1)= 2/5
R4 (0,1)=3/5
R4 (1,0)= 4/5
R4 (0,0)=1/5
•Nuevo x = <0,0,1,1>
Y=?
•S(1) = R1 (0,1) * R2 (0,1)* R3 (1,1)* R4 (1,1)= 0.205 16
Predicción R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,0)= 2/5 R2 (0,0)=3/5 R3 (1,1)= 4/5 R3 (0,1)=1/5 R3 (1,0)= 1/5
R3 (0,0)=4/5
R4 (1,1)= 2/5
R4 (0,1)=3/5
R4 (1,0)= 4/5
R4 (0,0)=1/5
•Nuevo x = <0,0,1,1>
Y=?
Med id Prob a de a de se bilidad r posit ivo
•S(1) = R1 (0,1) * R2 (0,1)* R3 (1,1)* R4 (1,1)= 0.205 17
Predicción R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,0)= 2/5 R2 (0,0)=3/5 R3 (1,1)= 4/5 R3 (0,1)=1/5 R3 (1,0)= 1/5
R3 (0,0)=4/5
R4 (1,1)= 2/5
R4 (0,1)=3/5
R4 (1,0)= 4/5
R4 (0,0)=1/5
•Nuevo x = <0,0,1,1> •S(1) = R1 (0,1) * R2 (0,1)* R3 (1,1)* R4 (1,1)= 0.205 • S(0) = R1 (0,0) * R2 (0,0)* R3 (1,0)* R4 (1,0)= 0
18
Predicción R1 (1,1)=1/5 R1 (0,1)=4/5 R1 (1,0)=5/5 R1 (0,0)= 0/5 R2 (1,1)= 1/5 R2 (0,1)=4/5 R2 (1,0)= 2/5 R2 (0,0)=3/5 R3 (1,1)= 4/5 R3 (0,1)=1/5 R3 (1,0)= 1/5
R3 (0,0)=4/5
R4 (1,1)= 2/5
R4 (0,1)=3/5
R4 (1,0)= 4/5
R4 (0,0)=1/5
• Nuevo x = <0,0,1,1> •S(1) = R1 (0,1) * R2 (0,1)* R3 (1,1)* R4 (1,1)= 0.205 • S(0) = R1 (0,0) * R2 (0,0)* R3 (1,0)* R4 (1,0)= 0 •S(1) > S(0) , por tanto predecimos clase 1
19
Algoritmo de aprendizaje J: atributo i: ejemplos
El estimado de los datos para todo j: Rj(1,1)=#(xji =1 ^ yi = 1) / #(yi = 1)
20
Algoritmo de aprendizaje El estimado de los datos para todo j: Rj(1,1)=#(xji =1 ^ yi = 1) / #(yi = 1) Rj(0,1)= 1 - Rj( 1,1)
21
Algoritmo de aprendizaje El estimado de los datos para todo j: Rj(1,1)=#(xji =1 ^ yi = 1) / #(yi = 1) Rj(0,1)= 1 - Rj( 1,1)
Rj(1,0)= #(xji =1 ^ yi = 0) / #(yi = 0) Rj(0,0)=1 - Rj( 1,0)
22
Algoritmo de predicción Dado un nuevo x, Rj(1,1) S(1) =П
Rj(0,1)
si xj = 1 de lo contrario
j
23
Algoritmo de predicción Dado un nuevo x, Rj(1,1) S(1) =П
Rj(0,1)
si xj = 1 de lo contrario
j
S(0) =П
xj
Rj(1,0)
si
=1
Rj(0,0)
de lo contrario
j 24
Algoritmo de predicción Dado un nuevo x, Rj(1,1) Rj(0,1)
S(1) =П
si xj = 1 de lo contrario
j
Rj(1,0)
si
xj
=1
•Salida 1 si S(1) S(0) =П Rj(0,0) de lo contrario> S(0) 25
Algoritmo de predicción Dado un nuevo x, log S(1) =Σ
log Rj(1,1) log Rj(0,1)
si xj = 1 de lo contrario
j
log S(0) =Σ
log Rj(1,0)
si
xj
=1
j
log Rj(0,0) de lo contrario
•Salida 1 si log S(1) > log S(0) Mejor sumar logaritmos que multiplicar pequeñas probabilidades 26
Correcci贸n de Laplace Evita obtener 0 o 1 como respuesta Rj(1,1)=#(xji =1 ^ yi = 1) + 1/ #(yi = 1) +2 Rj(0,1)= 1 - Rj( 1,1)
Rj(1,0)= #(xji =1 ^ yi = 0)+1 / #(yi = 0)+2 Rj(0,0)=1 - Rj( 1,0) 27
Ejemplo con correcci贸n f1
f2
f3
f4
y
0
1
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
0
0
0
1
1
0
0
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
R1 (1,1)=2/7 R1 (0,1)=5/7 R1 (1,0)=6/7 R1 (0,0)= 1/7 R2 (1,1)= 2/7 R2 (0,1)=5/7 R2 (1,0)= 3/7 R2 (0,0)=4/7 R3 (1,1)= 5/7 R3 (0,1)=2/7 R3 (1,0)= 2/7
R3 (0,0)=5/7
R4 (1,1)= 3/7
R4 (0,1)=4/7
R4 (1,0)= 5/7
R4 (0,0)=2/7
28
Predicción con corrección R1 (1,1)=2/7 R1 (0,1)=5/7 R1 (1,0)=6/7 R1 (0,0)= 1/7 R2 (1,1)= 2/7 R2 (0,1)=5/7 R2 (1,0)= 3/7 R2 (0,0)=4/7 R3 (1,1)= 5/7 R3 (0,1)=2/7 R3 (1,0)= 2/7
R3 (0,0)=5/7
R4 (1,1)= 3/7
R4 (0,1)=4/7
R4 (1,0)= 5/7
R4 (0,0)=2/7
• Nuevo x = <0,0,1,1> •S(1) = R1 (0,1) * R2 (0,1)* R3 (1,1)* R4 (1,1)= 0.156 • S(0) = R1 (0,0) * R2 (0,0)* R3 (1,0)* R4 (1,0)= 0.017 •S(1) > S(0) , por tanto predecimos clase 1
29
O (or) Exclusivo f1
f2
f3
f4
y
0 1 1 0 1 1 0 1 0 0 1 0 0 1 0 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1
Este algoritmo asume que se puede caracterizar la influencia de cada atributo sobre la clase independientemente. 30
Or Exclusivo f1
f2
f3
f4
y
0 1 0 1 0
R1 (1,1)=2/4 R1 (0,1)=2/4 R1 (1,0)=3/6 R1 (0,0)= 3/6 R2 (1,1)= 2/4 R2 (0,1)=2/4 R2 (1,0)= 3/6 R2 (0,0)=3/6 R3 (1,1)= 2/4 R3 (0,1)=2/4
1 1 1 0 1
R3 (1,0)= 3/6
R3 (0,0)=3/6
R4 (1,1)= 2/4
R4 (0,1)= 2/4
R4 (1,0)= 3/6
R4 (0,0)=3/6
0 1 1 0 1 1 0 1 0 0 1 0 0 1 0
0 0 0 1 1
R es obtenida via conteo y correcci贸n de Laplace 31
Or Exclusivo f1
f2
f3
f4
y
0 1 0 1 0
R1 (1,1)=2/4 R1 (0,1)=2/4 R1 (1,0)=3/6 R1 (0,0)= 3/6 R2 (1,1)= 2/4 R2 (0,1)=2/4 R2 (1,0)= 3/6 R2 (0,0)=3/6 R3 (1,1)= 2/4 R3 (0,1)=2/4
1 1 1 0 1
R3 (1,0)= 3/6
R3 (0,0)=3/6
R4 (1,1)= 2/4
R4 (0,1)= 2/4
R4 (1,0)= 3/6
R4 (0,0)=3/6
0 1 1 0 1 1 0 1 0 0 1 0 0 1 0
0 0 0 1 1
• Para cualquier nueva x •S(1) =0.5 * 0.5 * 0.5 * 0.5 = 0.0625 • S(0) = 0.5 * 0.5 * 0.5 * 0.5 = 0.0625 •Estamos sin base para predecir la salida
32
Inferencia probabilística
(justificación probabilística de los algoritmos) Piense en los atributos de salida como variables randómicas. Aprenda Pr(Y = 1| f1, …fn ) Dado un nuevo ejemplo, calcule su probabilidad como valor 1 Genere respuesta 1 si ese valor es > 0.5, de lo contrario 0
Concéntrese en estimar la distribución de los datos Pr(Y = 1| f1, …fn )
33
Regla de Bayes Genéricamente:
Pr(A|B )=Pr(B|A)*(Pr(A)/Pr(B))
34
Regla de Bayes Genéricamente:
Pr(A|B )=Pr(B|A)(Pr(A)/Pr(B))
Específicamente:
Pr(Y = 1| f1 …fn )=Pr(f1 …fn |Y=1) *(Pr(Y=1)/Pr(f1 …fn ))
35
Algoritmo de aprendizaje Estimación de los datos, para todo j: R(fj=1/ Y=1) =#(xji =1 ^ yi = 1) / #(yi = 1) R(fj =0 / Y = 1)= 1 - R( fj=1/ Y=1)
R(fj=1/Y=0)= #(xji =1 ^ yi = 0) / #(yi = 0) R(fj=0/Y=0)=1 - R(fj = 1 / Y=0) 36
Algoritmo de predicción Dado un nuevo x,
S(x1…xn/Y=1) =Π R(fj = 1/ Y=1)
si xj =1
R(fj = 0 / Y=1) de otro modo
S(x1…xn/Y=0)= Π
R(fj = 1 / Y =0) si xj = 1 R(fj = 0 / Y = 0) de otro modo
Salida será 1 si S(x1…xn/Y=1) > S(x1…xn /Y=0) 37
Tomado del Instituto Tecnol贸gico de Massachusetts www.owc.mit.edu 6.034 Artificial Intelligence 2004 Archivo: ch5-mach1.pdf
38
Ejercicios: Dado el siguiente conjunto de datos, organice la matriz booleana, encuentre la hipótesis con la técnica Naive Bayes con la corrección de Laplace y prediga la nueva entrada Tipo de tierra
inclinación
precipitación
siembra
10cc
Época del año invierno
arenoso
40°
arcilloso
20°
10cc
verano
si
arcilloso
40°
10cc
invierno
no
arenoso
20°
10cc
verano
si
arcilloso
20°
15cc
verano
no
arenoso
50°
10cc
verano
si
arenoso
18
15cc
invierno
no
39
Ejercicio con Árbol de decisión Responda el siguiente problema.
0
1
1
0
1 2
3
4
5
1
1
6
7
0
8
9
1
10 11 12
Cual de los tres siguientes evaluaciones usted escogería como el nodo raíz en un árbol de decisión? X <= 1.5 x<= 5 x<=10.5 Justifique su respuesta.
40