23.01.2015 Views

B.4 Clasificadores Bayesianos - Departamento de Inteligencia Artificial

B.4 Clasificadores Bayesianos - Departamento de Inteligencia Artificial

B.4 Clasificadores Bayesianos - Departamento de Inteligencia Artificial

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong><br />

Concha Bielza, Pedro Larrañaga<br />

<strong>Departamento</strong> <strong>de</strong> <strong>Inteligencia</strong> <strong>Artificial</strong><br />

Universidad Politécnica <strong>de</strong> Madrid<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 1/


Mo<strong>de</strong>los básicos<br />

• Naïve Bayes (Minsky, 1961)<br />

• Seminaïve Bayes (Pazzani, 1997)<br />

• Naïve Bayes aumentado a árbol (Friedman y<br />

col., 1997)<br />

• Clasificador Bayesiano k-<strong>de</strong>pendiente<br />

(Sahami, 1996)<br />

• Red Bayesiana (Jensen, 2001)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 2/


<strong>Clasificadores</strong> <strong>Bayesianos</strong><br />

Clasificación Supervisada con Paradigmas Probabilistas<br />

• Matriz <strong>de</strong> costes: co(r, s)<br />

γ : (x 1 , . . .,x n ) → {1, 2, . . .,r 0 }<br />

• Minimización <strong>de</strong>l coste total <strong>de</strong> errores<br />

γ(x) = arg mín<br />

k<br />

r 0<br />

∑<br />

c=1<br />

co(k, c)p(c|x 1 , . . .,x n )<br />

• Función <strong>de</strong> pérdida 0/1<br />

γ(x) = arg máx<br />

c<br />

p(c|x 1 , . . .,x n )<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 3/


Naïve Bayes<br />

Formulación clásica <strong>de</strong> un problema <strong>de</strong> diagnóstico<br />

• m diagnósticos posibles no excluyentes<br />

X 1 . . . X n Y 1 . . . Y m<br />

(x (1) , y (1) ) x (1)<br />

1<br />

. . . x (1)<br />

n y (1)<br />

1<br />

. . . y m<br />

(1)<br />

(x (2) , y (2) ) x (2)<br />

1<br />

. . . x (2)<br />

n y (2)<br />

1<br />

. . . y m<br />

(2)<br />

. . . . . . . . .<br />

(x (N) , y (N) ) x (N)<br />

1<br />

. . . x n<br />

(N)<br />

y (N)<br />

1<br />

. . . y m<br />

(N)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 4/


Naïve Bayes<br />

Formulación clásica <strong>de</strong> un problema <strong>de</strong> diagnóstico<br />

(y ∗ 1, . . . , y ∗ m) = arg máx<br />

(y 1 ,...,y m ) p(Y 1 = y 1 , . . . , Y m = y m |X 1 = x 1 , . . . , X n = x n )<br />

p(Y 1 = y 1 , . . . , Y m = y m |X 1 = x 1 , . . . , X n = x n )<br />

∝ p(Y 1 = y 1 , . . . , Y m = y m )p(X 1 = x 1 , . . . , X n = x n |Y 1 = y 1 , . . . , Y m = y m )<br />

número <strong>de</strong> parámetros a estimar: 2 m − 1 + 2 m (2 n − 1)<br />

m n parámetros<br />

3 10 ≃ 8 · 10 3<br />

5 20 ≃ 33 · 10 6<br />

10 50 ≃ 11 · 10 17 <strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 5/


Naïve Bayes<br />

Diagnósticos excluyentes<br />

c ∗ = arg máx<br />

c<br />

p(C = c|X 1 = x 1 , . . . , X n = x n )<br />

p(C = c|X 1 = x 1 , . . . , X n = x n ) ∝ p(C = c)p(X 1 = x 1 , . . . , X n = x n |C = c)<br />

número <strong>de</strong> parámetros a estimar: (r 0 − 1) + r 0 (2 n − 1)<br />

r 0 n parámetros<br />

3 10 ≃ 3 · 10 3<br />

5 20 ≃ 5 · 10 6<br />

10 50 ≃ 11 · 10 15 <strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 6/


Naïve Bayes<br />

Diagnósticos excluyentes y variables condicionalmente<br />

in<strong>de</strong>pendientes dado el diagnóstico (naïve Bayes)<br />

c ∗ = arg máx<br />

c<br />

p(C = c|X 1 = x 1 , . . . , X n = x n )<br />

= arg máx<br />

c<br />

p(C = c)<br />

ni=1<br />

p(X i = x i |C = c)<br />

número <strong>de</strong> parámetros a estimar: (r 0 − 1) + r 0 n<br />

r 0 n parámetros<br />

3 10 32<br />

5 20 104<br />

10 50 509<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 7/


Naïve Bayes<br />

Naïve Bayes (Minsky, 1961)<br />

• Variables predictoras condicionalmente in<strong>de</strong>pendientes dada C<br />

• Predictoras discretas<br />

c ∗ = arg máx<br />

c<br />

p(C = c)<br />

• Predictoras continuas y normales<br />

n∏<br />

p(X i = x i |C = c)<br />

i=1<br />

c ∗ = arg máx<br />

c<br />

p(C = c)<br />

n∏<br />

[<br />

1<br />

√ e −1<br />

2<br />

2πσ<br />

c<br />

i<br />

i=1<br />

x i −µ c i<br />

σ c i<br />

2]<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 8/


Naïve Bayes<br />

Naïve Bayes<br />

C<br />

X 1<br />

X X . . . X<br />

2 3 n<br />

Estructura gráfica <strong>de</strong> un mo<strong>de</strong>lo naïve Bayes<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 9/


Seminaïve Bayes<br />

Paso 1. Inicializar el conjunto <strong>de</strong> variables a utilizar a vacío.<br />

Clasificar todos los ejemplos como pertenecientes a la clase<br />

más frecuente<br />

Paso 2. Repetir en cada paso la mejor opción entre:<br />

(a) Consi<strong>de</strong>rar cada variable que no está en el mo<strong>de</strong>lo como una<br />

variable a incluir en el mo<strong>de</strong>lo. Dicha variable <strong>de</strong>be incluirse<br />

condicionalmente in<strong>de</strong>pendiente <strong>de</strong> las variables presentes en<br />

el mo<strong>de</strong>lo, dada la variable clase<br />

(b) Juntar cada variable no presente en el mo<strong>de</strong>lo con una<br />

variable que ya forme parte <strong>de</strong>l mismo<br />

Evaluar cada posible opción por medio <strong>de</strong> la estimación <strong>de</strong>l<br />

porcentaje <strong>de</strong> bien clasificados<br />

Hasta que ninguna opción produzca mejoras<br />

Pseudocódigo <strong>de</strong>l algoritmo FSSJ (Pazzani, 1997)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 10/


Seminaïve Bayes<br />

C<br />

Seminaïve Bayes<br />

C<br />

C<br />

X Y Z V<br />

Y<br />

Y,V<br />

C<br />

Z<br />

Y,V<br />

Proceso <strong>de</strong> construcción <strong>de</strong> un mo<strong>de</strong>lo seminaïve Bayes.<br />

p(c|x, y, z, v) ∝ p(c)p(z|c)p((y, v)|c)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 11/


Naïve Bayes aumentado a árbol<br />

• Cantidad <strong>de</strong> información mutua entre X e Y<br />

I(X, Y ) =<br />

r Xi=1<br />

r Yj=1<br />

p(x i , y j ) log p(x i, y j )<br />

p(x i )p(y j )<br />

mi<strong>de</strong> la reducción <strong>de</strong> la incertidumbre <strong>de</strong> una <strong>de</strong> las variables cuando se conoce<br />

la otra<br />

• Cantidad <strong>de</strong> información mutua entre X e Y condicionada a C<br />

I(X, Y |C) =c<br />

p(c)I(X, Y |C = c)<br />

=<br />

r Xi=1<br />

r Yj=1<br />

r 0k=1<br />

p(x i , y j , c k ) log<br />

p(x i , y j |c k )<br />

p(x i |c k )p(y j |c k )<br />

• Relación entre la cantidad <strong>de</strong> información mutua y la verosimilitud<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 12/


Naïve Bayes aumentado a árbol<br />

Paso 1. Calcular I(X i , X j | C) con i < j, i, j = 1, . . . , n<br />

Paso 2. Construir un grafo no dirigido completo cuyos nodos<br />

correspon<strong>de</strong>n a las variables predictoras: X 1 , . . . , X n . Asignar<br />

a cada arista conectando las variables X i y X j un peso<br />

dado por I(X i , X j | C)<br />

Paso 3. Asignar las dos aristas <strong>de</strong> mayor peso al árbol a construir<br />

Paso 4. Examinar la siguiente arista <strong>de</strong> mayor peso, y añadirla al<br />

árbol a no ser que forme un ciclo, en cuyo caso se <strong>de</strong>scarta<br />

y se examina la siguiente arista <strong>de</strong> mayor peso<br />

Paso 5. Repetir el paso 4 hasta seleccionar n − 1 aristas<br />

Paso 6. Transformar el árbol no dirigido resultante en uno dirigido<br />

escogiendo una variable como raiz, para a continuación<br />

direccionar el resto <strong>de</strong> aristas<br />

Paso 7. Construir un mo<strong>de</strong>lo TAN añadiendo un nodo etiquetado<br />

como C y posteriormente un arco <strong>de</strong>s<strong>de</strong> C a cada variable<br />

predictora X i<br />

Pseudocódigo <strong>de</strong>l algoritmo TAN (Friedman y col., 1997)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 13/


Naïve Bayes aumentado a árbol<br />

X<br />

Y<br />

X<br />

Y<br />

X<br />

Y<br />

X<br />

Y<br />

Z<br />

V<br />

Z<br />

V<br />

Z<br />

V<br />

Z<br />

V<br />

W<br />

W<br />

W<br />

W<br />

X<br />

Y<br />

X<br />

Y<br />

X<br />

Y<br />

C<br />

Z<br />

V<br />

Z<br />

V<br />

Z<br />

V<br />

X Y Z V W<br />

W<br />

W<br />

W<br />

Proceso <strong>de</strong> construcción <strong>de</strong> TAN. I(X, Z|C) > I(Y, V |C) > I(X, Y |C) > I(Z, V |C) ><br />

I(X, V |C) > I(Z, W |C) > I(X, W |C) > I(Y, Z|C) > I(Y, W |C) > I(V, W |C)<br />

p(c|x, y, z, v, w) ∝ p(c)p(x|c)p(y|x, c)p(z|x, c)p(v|y, c)p(w|z, c)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 14/


Clasificador Bayesiano k-<strong>de</strong>pendiente<br />

Clasificador Bayesiano k-<strong>de</strong>pendiente (Sahami, 1996)<br />

• Precalcula I(X i ,C) y I(X i ,X j |C) para todo par <strong>de</strong><br />

variables<br />

• Aña<strong>de</strong> en cada iteración, <strong>de</strong> entre las variables que no<br />

están en el mo<strong>de</strong>lo, aquella X max que tenga mayor<br />

I(X i ,C)<br />

• Asigna a la variable añadida como padres la variable<br />

C y aquellas k variables con mayor I(X j ,X max |C)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 15/


Clasificador Bayesiano k-<strong>de</strong>pendiente<br />

C<br />

C<br />

X 1<br />

X X X X<br />

2 3 4<br />

5<br />

X 3<br />

Proceso <strong>de</strong> construcción <strong>de</strong> kDB con k = 2.<br />

I(X 3 , C) > I(X 1 , C) > I(X 4 , C) > I(X 5 , C) > I(X 2 , C)<br />

I(X 3 , X 4 |C) > I(X 2 , X 5 |C) > I(X 1 , X 3 |C) > I(X 1 , X 2 |C) > I(X 2 , X 4 |C) ><br />

I(X 2 , X 3 |C) > I(X 1 , X 4 |C) > I(X 4 , X 5 |C) > I(X 1 , X 5 |C) > I(X 3 , X 5 |C)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 16/


Clasificador Bayesiano k-<strong>de</strong>pendiente<br />

C<br />

C<br />

X 1<br />

X 3<br />

X 1<br />

X<br />

X<br />

3 4<br />

Proceso <strong>de</strong> construcción <strong>de</strong> kDB con k = 2.<br />

I(X 3 , C) > I(X 1 , C) > I(X 4 , C) > I(X 5 , C) > I(X 2 , C)<br />

I(X 3 , X 4 |C) > I(X 2 , X 5 |C) > I(X 1 , X 3 |C) > I(X 1 , X 2 |C) > I(X 2 , X 4 |C) ><br />

I(X 2 , X 3 |C) > I(X 1 , X 4 |C) > I(X 4 , X 5 |C) > I(X 1 , X 5 |C) > I(X 3 , X 5 |C)<br />

p(c|x 1 , x 2 , x 3 , x 4 , x 5 )<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 17/


Clasificador Bayesiano k-<strong>de</strong>pendiente<br />

C<br />

C<br />

X 1<br />

X X X<br />

3 4<br />

5<br />

X 1<br />

X X X X<br />

2 3 4<br />

5<br />

Proceso <strong>de</strong> construcción <strong>de</strong> kDB con k = 2.<br />

I(X 3 , C) > I(X 1 , C) > I(X 4 , C) > I(X 5 , C) > I(X 2 , C)<br />

I(X 3 , X 4 |C) > I(X 2 , X 5 |C) > I(X 1 , X 3 |C) > I(X 1 , X 2 |C) > I(X 2 , X 4 |C) ><br />

I(X 2 , X 3 |C) > I(X 1 , X 4 |C) > I(X 4 , X 5 |C) > I(X 1 , X 5 |C) > I(X 3 , X 5 |C)<br />

p(c|x 1 , x 2 , x 3 , x 4 , x 5 ) ∝<br />

p(c)p(x 1 |x 3 , c)p(x 2 |x 1 , x 5 , c)p(x 3 |c)p(x 4 |x 1 , x 3 , c)p(x 5 |x 1 , x 4 , c)<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 18/


Red Bayesiana múltiplemente conectada<br />

X 1<br />

X 3<br />

X<br />

2<br />

X 4<br />

X 5<br />

p(X 1 = 0) = 0,20 p(X 4 = 0|X 2 = 0, X 3 = 0) = 0,80<br />

p(X 2 = 0|X 1 = 0) = 0,80 p(X 4 = 0|X 2 = 1, X 3 = 0) = 0,80<br />

p(X 2 = 0|X 1 = 1) = 0,80 p(X 4 = 0|X 2 = 0, X 3 = 1) = 0,80<br />

p(X 3 = 0|X 1 = 0) = 0,20 p(X 4 = 0|X 2 = 1, X 3 = 1) = 0,05<br />

p(X 3 = 0|X 1 = 1) = 0,05 p(X 5 = 0|X 3 = 0) = 0,80<br />

p(X 5 = 0|X 3 = 1) = 0,60<br />

Factorización <strong>de</strong> la distribución <strong>de</strong> probabilidad conjunta obtenida con la red Bayesiana adjunta<br />

<strong>B.4</strong> <strong>Clasificadores</strong> <strong>Bayesianos</strong>– p. 19/

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!