B.4 Clasificadores Bayesianos - Departamento de Inteligencia Artificial
B.4 Clasificadores Bayesianos - Departamento de Inteligencia Artificial
B.4 Clasificadores Bayesianos - Departamento de Inteligencia Artificial
- 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/