3.1 Aprendizaje Naïve Bayes 2011 (40d)

40
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

description

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 Dados los datos (o conjunto de aprendizaje) D={(x 1 , y 1 ), (x 2 , y 2 )... (x m , y m )} 2 (X 1 ,...X 1 , X 1 3 1 2 n Clasificación: cuando “y” es discreta Regresión: cuando “y” es continua salida (X 1 ,...X 1 , X 1 4 1 2 n Hipótesis deben  No sea muy complejo  Hacer un buen trabajo de descripción de datos 5

Transcript of 3.1 Aprendizaje Naïve Bayes 2011 (40d)

Page 1: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Naïve Bayesun 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

Page 2: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

2

AprendizajeDados los datos (o conjunto de aprendizaje)

D={(x1, y1), (x2, y2)... (xm, ym)}

Page 3: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

3

Dados los datos (o conjunto de aprendizaje)

D={(x1, y1), (x2, y2)... (xm, ym)}

(X11, X1

2,...X1n)

entrada

Aprendizaje

Page 4: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

4

Dados los datos (o conjunto de aprendizaje)

D={(x1, y1), (x2, y2)... (xm, ym)}

(X11,

X12,...X1

n)entrada

salidaClasificació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 a y

Aprendizaje

Page 5: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

5

La mejor hipótesisHipótesis deben

Hacer un buen trabajo de descripción de datos

No sea muy complejo

Page 6: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

6

La mejor hipótesisHipó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)

Page 7: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

7

La mejor hipótesisHipó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

Page 8: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

8

Aprendizaje como búsquedaCó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)

Page 9: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

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

Page 10: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Naïve BayesBasada 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

Page 11: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Ejemplof1 f2 f3 f4 y0 1 1 0 10 0 1 1 11 0 1 0 10 0 1 1 10 0 0 0 11 0 0 1 01 1 0 1 01 0 0 0 01 1 0 1 01 0 1 1 0

11

Page 12: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Ejemplof1 f2 f3 f4 y0 1 1 0 10 0 1 1 11 0 1 0 10 0 1 1 10 0 0 0 11 0 0 1 01 1 0 1 01 0 0 0 01 1 0 1 01 0 1 1 0

•R1 (1,1)=1/5: fracción que representa al atributo 1 cuando esta en on en el subconjunto de todos los ejemplos positivos.

•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

Page 13: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Ejemplof1 f2 f3 f4 y0 1 1 0 10 0 1 1 11 0 1 0 10 0 1 1 10 0 0 0 11 0 0 1 01 1 0 1 01 0 0 0 01 1 0 1 01 0 1 1 0

•R1 (1,1)=1/5: fracción del atributo 1 en on en los ejemplos positivos

•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

Page 14: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Ejemplof1 f2 f3 f4 y0 1 1 0 10 0 1 1 11 0 1 0 10 0 1 1 10 0 0 0 11 0 0 1 01 1 0 1 01 0 0 0 01 1 0 1 01 0 1 1 0

R1 (1,1)=1/5 R1 (0,1)=4/5R1 (1,0)=5/5 R1 (0,0)= 0/5

R2 (1,1)= 1/5 R2 (0,1)=4/5R2 (1,0)= 2/5 R2 (0,0)=3/5

R3 (1,1)= 4/5 R3 (0,1)=1/5R3 (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

Page 15: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Predicción

R1 (1,1)=1/5 R1 (0,1)=4/5R1 (1,0)=5/5 R1 (0,0)= 0/5R2 (1,1)= 1/5 R2 (0,1)=4/5R2 (1,0)= 2/5 R2 (0,0)=3/5R3 (1,1)= 4/5 R3 (0,1)=1/5R3 (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

Page 16: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Predicción

R1 (1,1)=1/5 R1 (0,1)=4/5R1 (1,0)=5/5 R1 (0,0)= 0/5R2 (1,1)= 1/5 R2 (0,1)=4/5R2 (1,0)= 2/5 R2 (0,0)=3/5R3 (1,1)= 4/5 R3 (0,1)=1/5R3 (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

Page 17: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Predicción

R1 (1,1)=1/5 R1 (0,1)=4/5R1 (1,0)=5/5 R1 (0,0)= 0/5R2 (1,1)= 1/5 R2 (0,1)=4/5R2 (1,0)= 2/5 R2 (0,0)=3/5R3 (1,1)= 4/5 R3 (0,1)=1/5R3 (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

Medida de Probabilidadde ser positivo

17

Page 18: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Predicción

R1 (1,1)=1/5 R1 (0,1)=4/5R1 (1,0)=5/5 R1 (0,0)= 0/5R2 (1,1)= 1/5 R2 (0,1)=4/5R2 (1,0)= 2/5 R2 (0,0)=3/5R3 (1,1)= 4/5 R3 (0,1)=1/5R3 (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

Page 19: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Predicción

R1 (1,1)=1/5 R1 (0,1)=4/5R1 (1,0)=5/5 R1 (0,0)= 0/5R2 (1,1)= 1/5 R2 (0,1)=4/5R2 (1,0)= 2/5 R2 (0,0)=3/5R3 (1,1)= 4/5 R3 (0,1)=1/5R3 (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

Page 20: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de aprendizajeEl estimado de los datos para todo j:

Rj(1,1)=#(xji =1 ^ yi = 1) / #(yi = 1)

J: atributoi: ejemplos

20

Page 21: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de aprendizaje

El estimado de los datos para todo j:Rj(1,1)=#(xj

i =1 ^ yi = 1) / #(yi = 1)

Rj(0,1)= 1 - Rj( 1,1)

21

Page 22: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de aprendizaje

El estimado de los datos para todo j:Rj(1,1)=#(xj

i =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

Page 23: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de predicciónDado un nuevo x,

Rj(1,1) si xj = 1

S(1) =П Rj(0,1) de lo contrario

j

23

Page 24: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de predicciónDado un nuevo x, Rj(1,1) si xj = 1

S(1) =П Rj(0,1) de lo contrario

j

Rj(1,0) si xj = 1

S(0) =П Rj(0,0) de lo contrario

j

24

Page 25: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de predicciónDado un nuevo x,

Rj(1,1) si xj = 1

S(1) =П Rj(0,1) de lo contrario j

Rj(1,0) si xj = 1

S(0) =П Rj(0,0) de lo contrario •Salida 1 si S(1) > S(0)

25

Page 26: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de predicciónDado un nuevo x, log Rj(1,1) si xj = 1

log S(1) =Σ log Rj(0,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

Page 27: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Corrección de LaplaceEvita obtener 0 o 1 como respuestaRj(1,1)=#(xj

i =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

Page 28: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Ejemplo con correcciónf1 f2 f3 f4 y0 1 1 0 10 0 1 1 11 0 1 0 10 0 1 1 10 0 0 0 11 0 0 1 01 1 0 1 01 0 0 0 01 1 0 1 01 0 1 1 0

R1 (1,1)=2/7 R1 (0,1)=5/7R1 (1,0)=6/7 R1 (0,0)= 1/7R2 (1,1)= 2/7 R2 (0,1)=5/7R2 (1,0)= 3/7 R2 (0,0)=4/7R3 (1,1)= 5/7 R3 (0,1)=2/7R3 (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

Page 29: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Predicción con corrección

• 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

R1 (1,1)=2/7 R1 (0,1)=5/7R1 (1,0)=6/7 R1 (0,0)= 1/7R2 (1,1)= 2/7 R2 (0,1)=5/7R2 (1,0)= 3/7 R2 (0,0)=4/7R3 (1,1)= 5/7 R3 (0,1)=2/7R3 (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

29

Page 30: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

O (or) Exclusivof1 f2 f3 f4 y0 1 1 0 11 0 1 0 01 0 0 1 00 1 0 1 01 1 1 0 10 0 0 1 1 Este algoritmo

asume que se puede caracterizar la influencia de cada atributo sobre la clase independientemente.

30

Page 31: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Or Exclusivof1 f2 f3 f4 y0 1 1 0 11 0 1 0 01 0 0 1 00 1 0 1 01 1 1 0 10 0 0 1 1

R1 (1,1)=2/4 R1 (0,1)=2/4R1 (1,0)=3/6 R1 (0,0)= 3/6R2 (1,1)= 2/4 R2 (0,1)=2/4R2 (1,0)= 3/6 R2 (0,0)=3/6R3 (1,1)= 2/4 R3 (0,1)=2/4R3 (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

R es obtenida via conteo y corrección de Laplace 31

Page 32: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Or Exclusivof1 f2 f3 f4 y0 1 1 0 11 0 1 0 01 0 0 1 00 1 0 1 01 1 1 0 10 0 0 1 1

R1 (1,1)=2/4 R1 (0,1)=2/4R1 (1,0)=3/6 R1 (0,0)= 3/6R2 (1,1)= 2/4 R2 (0,1)=2/4R2 (1,0)= 3/6 R2 (0,0)=3/6R3 (1,1)= 2/4 R3 (0,1)=2/4R3 (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• 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

Page 33: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

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 1Genere respuesta 1 si ese valor es > 0.5, de lo contrario 0

Concéntrese en estimar la distribución de los datosPr(Y = 1| f1, …fn ) 33

Page 34: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Regla de BayesGenéricamente: Pr(A|B )=Pr(B|A)*(Pr(A)/Pr(B))

34

Page 35: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Regla de BayesGené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

Page 36: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de aprendizajeEstimació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

Page 37: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Algoritmo de predicciónDado 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

Page 38: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Tomado del Instituto Tecnológico de Massachusetts www.owc.mit.edu6.034 Artificial Intelligence 2004

Archivo: ch5-mach1.pdf

38

Page 39: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Ejercicios:

Tipo de tierra inclinación precipitación Época del año

siembra

arenoso 40° 10cc invierno no

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

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

39

Page 40: 3.1 Aprendizaje  Naïve Bayes 2011 (40d)

Ejercicio con Árbol de decisión

Responda el siguiente problema.

0 1 1 0 1 1 0 1  

1 2 3 4 5 6 7 8 9 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