Você está na página 1de 11

ctrica

Departamento de Ingeniera Ele


ticas
Facultad de Ciencias Fsicas y Matema
Universidad de Chile
EL4106 - Inteligencia Computacional

Tarea N1

Clasificador Bayesiano

Profesor:
Javier Ruiz del Solar

Auxiliar:
Patricio Loncomilla

Ayudantes:
Felipe Valdes
Pedro Orellana

Integrantes:
Roberto Rojas

Fecha:
April 14, 2015

EL4106 - Inteligencia Computacional

Introducci
on

El presente informe da cuenta de la primera tarea del curso, la cual pretende entregar una primera
aproximacion al proceso de clasificaci
on de caractersticas. En particular, se pretende dise
nar un
clasificador Bayesiano que permita determinar en forma probabilstica si un vino pertenece a la clase
Blanco o Tinto.
Dado que las verosimilitudes de las muestras son desconocidas, estas deberan ser estimadas. Para
ello, se proponen dos enfoques: por un lado, utilizacion de histogramas en un escenario Naive Bayes,
mientras que por otro, estimaci
on de vector media y matriz de covarianza para un modelo gaussiano
multidimensional.

Marco Te
orico

Esta seccion se basa en los contenidos expuestos por [1]. Especficamente, el captulo 2 aborda de
manera detallada la teora bayesiana de clasificacion, mientras que el captulo 3 muestra reglas de
estimacion parametrica.

2.1

Clasificador de Bayes

El clasificador de Bayes se basa en la teora de deteccion bayesiana, en la cual se utiliza la regla que
minimiza el riesgo.
En primer lugar, se define el riesgo condicional como el costo esperado de tomar la accion i , dado
que se observa el vector de caractersticas ~x:
R(i |~x) =

c
X

(i |j )p(j |~x)

(1)

j=1

donde (i |j ) es el costo de elegir i cuando en realidad ~x pertenece a la clase wj y p(j |~x) es la


probabilidad de que, dado que observo ~x, este pertenezca a la clase j (c es la cantidad de clases).
La funcion riesgo condicional R(i |~x) tiene dos grados de libertad: i y ~x. Sin embargo, sera
interesante obtener una expresi
on que considere el costo esperado, pero sobre todo el espacio de caractersticas. Esta funci
on se denomina riesgo bayesiano y, considerando un espacio de dimension d, se
expresa por:
Z
R() =

R((~x)|~x)p(~x) d~x

(2)

Rd

El clasificador bayesiano busca minimizar el riesgo bayesiano, lo cual implica minimizar el riesgo
condicional en 1 para cada ~x. Si se tiene un set de datos o muestras {x~1 , x~2 , . . . , x~n }, para cada xj se
elige la decision i que minimiza 1. En general, se tiene igual n
umero de decisiones que de clases, tal
que i corresponde a decidir la clase i .

2.1.1

Caso particular: 2 clases

Para el caso particular de dos clases (y por ende dos decisiones), se debe computar el riesgo condicional
para 1 y 2 :
R(1 |~x) = 11 p(1 |~x) + 12 p(2 |~x)
R(2 |~x) = 21 p(1 |~x) + 22 p(2 |~x)
El clasificador elige la clase 1 (i.e. decisi
on 1 ) si:
R(1 |~x) < R(2 |~x)
11 p(1 |~x) + 12 p(2 |~x) < 21 p(1 |~x) + 22 p(2 |~x)
(11 21 )p(1 |~x) < (22 12 )p(2 |~x)
1

EL4106 - Inteligencia Computacional

Se puede observar que la regla de decision encontrada queda en funcion de las probabilidades a
posteriori, algo que no es dato y es difcil de obtener. Sin embargo, usando la regla de Bayes:
(11 21 )p(~x|1 )p(1 ) < (22 12 )p(~x|2 )p(2 )
Finalmente, considerando ii < ij , i 6= j (pues acertar debera tener un costo menor que fallar),
resulta una regla de decisi
on en la que se elige la clase w1 si:
p(~x|1 )
(12 22 )p(2 )

p(~x|2 )
(21 11 )p(1 )

(3)

Las distribuciones o funciones likelihood en 3 pueden obtenerse de forma aproximada a partir de datos
de entrenamiento. Una forma de hacerlo es a traves de estimacion.

2.2

Estimaci
on param
etrica

En clasificacion, las tecnicas de estimaci


on se utilizan cuando no se tiene conocimiento de las funciones
de probabilidad p(~x|i ).
Cuando se entrena un clasificador, lo que se hace realmente es utilizar un conjunto de entrenamiento
{~xi , yi }i=1,2,...,M para ajustar los par
ametros del clasificador. En particular, para clasificadores probabilsticos, si se sabe que p(~x|i ) distribuye de alguna forma particular (Gaussiana, por ejemplo), se
utiliza el conjunto de entrenamiento para estimar el vector media ~i y la matriz de covarianza i .
Supongamos que para cierta clase j , el vector de parametros que caracteriza a la ditribuci
on
t
~
~
p(~x|j ) es j = (1 , 2 , . . . , p ) , denotado como p(~x|j ; j ), y se posee un conjunto de muestras i.i.d.
D = {~xm1 , ~xm2 , ~xm3 , . . . , ~xmM } (cada muestra es una realizacion del vector de caractersticas). El estimador ML (maximum likelihood ) busca maximizar la verosimilitud de las observaciones o muestras:

~ = argmax p(D|j ; ~j ) = argmax p(~xm1 , ~xm2 , . . . , ~xmM |j ; ~j )


~j

~j

= argmax
~j

p(~xmi |j ; ~j )

i=1

argmax
~j

M
Y

M
X

ln[p(~xmi |j ; ~j )] = argmax
~j

i=1

M
X

l(~j )

i=1

donde se ha utilizado la independencia de las muestras y la monotona de la funcion ln[]. Finalmente,


como se desea maximizar, se considera el operador ~j = ( 1 , 2 , . . . , p )t para computar:
~j l(~j ) =

M
X

~j [ln(p(~xmi |j ; ~j ))] = ~0

(4)

i=1

resultando p ecuaciones para resolver p parametros.


2.2.1

Distribuci
on gaussiana con media y varianza desconocida

Se analizara el caso univariante, en el cual el ~x es un escalar (solo 1 caracterstica). Considerando


1 = y 2 = 2 , la funci
on log-likelihood es:
~ = 1 ln(22 ) 1 (xk 1 )2
ln[p(xk |)]
2
22
y su derivada corresponde a:
"
~ =
~ = ln[p(xk |)]

1
2 (xk 1 )
1 )2
212 + (xk2
2
2

EL4106 - Inteligencia Computacional

Utilizando la condici
on 4, se obtienen las dos ecuaciones que determinan los parametros desconocidos:
M
X
1
(xk 1 ) = 0
2

k=1
M
X
k=1

X (xk 1 )2
1
+
=0
22
222
k=1

Luego, los estimadores de m


axima verosimilitud para la media y varianza son:

M
1 X
xk
M
k=1

(5)

M
1 X

2
(xk
)2
=
M
k=1

Para el caso multivariante, i.e. dimensi


on del espacio de caractersticas mayor que uno, el analisis es
similar, pero requiere un mayor manejo matematico. Los estimadores en este caso corresponden a:
M
1 X

~ =
~xk
M

= 1

k=1
M
X

(6)
(~xk
~)(~xk
~)

k=1

Resultados y An
alisis

3.1

Base de datos

La base de datos utilizada en este trabajo corresponde a Wine Quality Data Set, la cual forma parte del
UC Irvine Machine Learning Repository. La base de datos contiene 11 caractersticas fisicoqumicas
medidas para cada muestra de vino.
a) En general, una base de datos se divide en 2 subconjuntos: conjunto de entrenamiento y conjunto de test o prueba. A su vez, el conjunto de entrenamiento se puede dividir, dejando un
subconjunto para el ajuste de par
ametros y el otro como un conjunto de validacion.
El conjunto de entrenamiento se utiliza para dise
nar o ajustar los parametros de alg
un sistema
de aprendizaje, como un clasificador bayesiano o una red neuronal. Por ejemplo, si el clasificador
se basa en la funci
on de probabilidad de las muestras, los parametros de ajuste seran el vector
de medias y la matriz de covarianza, o la altura de los histogramas, dependiendo del enfoque
que se utilice. En el caso de una red neuronal, los parametros corresponden a los pesos sinapticos.
El conjunto de validaci
on se utiliza para comparar la performance o rendimiento de los clasificadores candidatos y decidir as con cual quedarse.
Finalmente, el conjunto de prueba se utiliza para obtener las caractersticas o rendimiento del
clasificador elegido. Si el clasificador funciona muy bien para el conjunto de entrenamiento, pero
mal para el conjunto test, es muy probable que exista un sobreajuste de datos en la etapa de
dise
no.
b) Para la base de datos completa, se pudo observar que el porcentaje de cada clase corresponde
PT into 49% y PBlanco 51%, para las clases Tinto y Blanco, respectivamente. El c
odigo
en Parte1.m realiza lo solicitado, generando aleatoriamente los conjuntos de entrenamiento y
test, siempre cumpliendose la proporcion que estas clases tienen en la base de datos completa.
3

EL4106 - Inteligencia Computacional

3.2

Modelo con histogramas

a) La aproximaci
on Naive Bayes permite obtener de una manera mas simple las verosimilitudes
para cada clase. Dado que ~x es un vector de caractersticas, las verosimilitudes son distribuciones conjuntas. Si se adopta un enfoque discretizado (uso de histogramas) y la cantidad de
caractersticas consideradas es N , se requiere un histograma de dimension N para aproximar la
verosimilitud de las muestras. La aproximacion Naive Bayes se basa en asumir independencia
entre las caractersticas (variables aleatorias), de modo que la verosimilitud corresponde a la
pitatoria de las distribuciones marginales (i.e. para cada caracterstica por separado). De este
modo, se requieren N histogramas de dimension 1 dada una clase, simplificando el problema.
b) La funcion implementada display hist parte2(Nbins).m entrega los 22 histogramas (11 por
cada clase) que deben calcularse, pidiendo como entrada el n
umero de bins a considerar. El
conjunto de entrenamiento considerado corresponde al utilizado en todo el desarrollo de la tarea.
En este punto, es necesario hacer una observacion respecto a las muestras de la caracterstica
2. Existen 4 mediciones que se escapan notoriamente del valor que toman en general las dem
as
muestras. Estos valores corresponden a 1185, 1035, 1115 y 1025[g/L], mientras que el resto de
las muestras no superan los 5[g/L]. Mas a
un, los lmites legales de esta caracterstica (Volatile
acidity) en U.S. corresponde a 1.2[g/L] para el vino tinto y 1.1[g/L] para el vino blanco [2]. Dado
lo anterior, si alguna de estas mediciones aparece en el conjunto de entrenamiento, se cambia
dicho valor por el de la media emprica de las muestras (obviamente sin considerar estas malas
mediciones).
c) La seccion Evaluate test set and Performance del codigo en parte2.m calcula las verosimilitudes para cada muestra, buscando primero el bin en el que se encuentra cada una, tanto para
los histogramas de la clase Tinto como para los de la clase Blanco.
Cuando alguna muestra se encuentra fuera del rango considerado por los histogramas de entrenamiento (bin cero), esta queda asociada con una probabilidad cero. Esta consideracion no
es tan alejada de la realidad, dado que los histogramas poseen colas muy cercanas cero.
Finalmente, las verosimilitudes para cada vector muestra dado clase Tinto se encuentran en el
vector likelihood givenR, mientras que el vector likelihood givenW contiene las verosimilitudes
dado clase Blanco (primero se debe correr el script Parte2.m).
d) El script Parte2.m contiene todo lo solicitado en la parte 2 de la tarea, para finalmente entregar
un grafico de la curva ROC. La figura 1 muestra la curva ROC para el clasificador Naive Bayes,
considerando 20 bins para cada histograma.
e) En primer lugar, se ha considerado el mismo n
umero de bins para cada histograma, tomando el
maximo valor de cada caracterstica (en conjunto de entrenamiento) como el inicio del u
ltimo
bin. De esta forma, el vector rango se obtiene con la funcion de Matlab linspace(a,b,N).
La importancia de los histogramas radica en su aproximacion como funcion de probabilidad para
cada caracterstica. Por lo mismo, el histograma debe tener la forma de la distribucion a aproximar. El siguiente an
alisis se basa en comparar los histogramas para la caracterstica 1, dada
la clase Tinto, con la pdf emprica, obtenida mediante la funcion de Matlab ksdensity(muestras).
La figura 2 muestra que una cantidad de bins muy peque
na no alcanza para una buena aproximacion, dado que solo dos bins (en los que se concentra toda la informacion) no bastan para
representar la forma cuasi-gaussiana de la pdf.
Por otro lado, la figura 3 muestra que una cantidad muy grande de bins tampoco aproxima
de buena manera la distribuci
on, puesto que existen bins que deberan tener un valor mayor
del que poseen. Especficamente, si se considera la mitad creciente de la pdf, las probabilidades
4

EL4106 - Inteligencia Computacional

ROC Curve Naive Bayes


1

0.9

0.8

TPR

0.7

0.6

0.5

0.4

0.1

0.2

0.3

0.4

0.5

0.6

0.7

FPR

Figura 1: Curva ROC para enfoque Naive Bayes, considerando 20 bins en histogramas.
o cuentas normalizadas de los bins tambien deberan presentar un crecimiento monotono; sin
embargo, hay bins que otorgan un crecimiento irregular o no monotono. Esto se debe a que la
cantidad de muestras es muy poca para la cantidad de bins que se usa.
Por u
ltimo, la figura 4 muestra una mejor aproximacion que los casos anteriores. Luego, se
desprende que la cantidad de bins no debe ser muy peque
na ni muy grande; debe ser ajustado
en un valor intermedio que, de hecho, dependera de la cantidad de muestras que se posee.

Normalized histogram feature 1 given Red wine class


0.8
Normalized histogram 4 bins
empirical pdf

0.7

normalized counts

0.6
0.5
0.4
0.3
0.2
0.1
0

10

12

14

16

18

20

fixed acidity bins

Figura 2: Comparaci
on histograma fixed acidity clase Tinto con pdf emprica, considerando 4 bins.

EL4106 - Inteligencia Computacional

Normalized histogram feature 1 given Red wine class


0.35
Normalized histogram 60 bins
empirical pdf
0.3

normalized counts

0.25

0.2

0.15

0.1

0.05

10

15

fixed acidity bins

Figura 3: Comparaci
on histograma fixed acidity clase Tinto con pdf emprica, considerando 60 bins.
Normalized histogram feature 1 given Red wine class
0.4
Normalized histogram 10 bins
empirical pdf
0.35

normalized counts

0.3
0.25
0.2
0.15
0.1
0.05
0

10

12

14

16

fixed acidity bins

Figura 4: Comparaci
on histograma fixed acidity clase Tinto con pdf emprica, considerando 10 bins.
El analisis anterior concuerda con el rendimiento que se alcanza considerando dichas cantidades
de bins. La figura 5 compara las curvas ROC obtenidas para 4, 10 y 60 bins.

3.3

Modelo Gaussiano

a) La densidad de probabilidad para un vector aleatorio gaussiano corresponde a:


f (x1 , x2 , . . . , xn ) =

1
n
2

(2) ||

1
2

t 1 (~
x~
u)

e 2 (~x~u)

(7)

donde
~ = E[~x] es el vector media y es la matriz de covarianza, definida como:
ij = E[(xi i )(xj j )]

(8)

EL4106 - Inteligencia Computacional

ROC Curves Naive Bayes for different Nbins


1
4 bins
10 bins
60 bins

0.9
0.8

TPR

0.7
0.6
0.5
0.4
0.3
0.2
0.1

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

FPR

Figura 5: Curvas ROC para 4, 10 y 60 bins.


b) En primera instancia, la idea es aplicar los estimadores ML descritos por 6. De hecho, la funci
on
mean(A) de Matlab calcula la media muestral. Sin embargo, el estimador para la matriz de
covarianza descrito en 6 es sesgado, por lo que se utilizara la funcion cov(A) para tales efectos.
1
La u
nica diferencia es el factor escalar: para cov(A) es n1
, mientras que para el estimador ML
1
es n . Dicho c
alculo se puede apreciar en la seccion Get mean vector and covariance matrix del
codigo parte3.m.
c) Una vez encontradas
~ Tinto ,
~ Blanco , Tinto y Blanco , se debe computar p(~x|Tinto) y p(~x|Blanco)
para cada muestra de prueba, utilizando la expresion en 7. Dicho calculo se puede apreciar en
la seccion Evaluate test set and Performance del codigo parte3.m.
d) La figura 6 muestra la curva ROC obtenida para el clasificador de Bayes, asumiendo que la
distribuci
on conjunta de las caractersticas corresponde a una gaussiana multidimensional.
ROC Curve MD Gaussian Model
1

0.95

0.9

TPR

0.85

0.8

0.75

0.7

0.65

0.1

0.2

0.3

0.4

0.5

0.6

0.7

FPR

Figura 6: Curva ROC para clasificador bayesiano, considerando un enfoque gaussiano multivariante.

EL4106 - Inteligencia Computacional

3.4

Comparaci
on

a) La figura 7 muestra las curvas ROC obtenidas para ambos enfoques, donde se ha considerado
20 bins para el modelo de histogramas.
ROC Curve Naive Bayes and MD Gaussian Model
1
0.9

Naive Bayes
MD Gaussian

0.8
0.7

TPR

0.6
0.5
0.4
0.3
0.2
0.1
0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

FPR

Figura 7: Curvas ROC para clasificador bayesiano, considerando enfoque de histogramas (Naive
Bayes) y modelo gaussiano multivariante.
Se puede observar en general un mejor rendimiento para el modelo gaussiano multivariante,
dado que para un F P R fijo, la tasa de verdaderos positivos para dicho modelo es superior a la
conseguida por el enfoque Naive Bayes. A pesar de esto, ambas curvas expresan un desempe
no
deseado, puesto que el codo de estas se ubica en una zona donde la tasa de falsos positivos es
muy baja y la de verdaderos positivos muy alta.
Una de las ventajas que posee el enfoque gaussiano multivariante es la simplicidad en los calculos,
puesto que el entrenamiento se basa en calcular 4 parametros a partir de las muestras (2 por
cada clase), para luego evaluar cada muestra de test en base a 7. Por otro lado, para el enfoque
Naive Bayes se tuvo que calcular 11 histogramas por cada clase, dado que no se asumio ninguna
distribuci
on para la funci
on verosimilitud. Mas a
un, el desempe
no del modelo de histogramas
depende de que estos resulten una buena aproximacion de la pdf en cuestion, para lo cual debe
elegirse una cantidad de bins acorde con el tama
no del conjunto de entrenamiento que se posee.
Por u
ltimo, se pretende realizar un analisis del supuesto de independencia realizado para el
enfoque Naive Bayes. Para ello, se calculo los coeficientes de correlacion muestrales entre caractersticas, para cada clase en el conjunto de entrenamiento. Las tablas 1 y 2 muestran los
resultados, omitiendo la trianguar inferior dada la simetra existente en los coeficientes de correlacion. Se puede apreciar que, en general, los coeficientes son cercanos a cero para ambas
clases. Los coeficientes mayores a 0.5 estan marcados con rojo, pues indican una correlacion no
menor entre las caractersticas en cuestion. Estos valores altos permiten asegurar la dependencia
entre dichas caractersticas, sin embargo nada puede afirmarse para los valores cercanos a cero.
Esto, pues el teorema indica una implicancia entre independencia y no-correlacion, pero no una
equivalencia. Por lo tanto, para la clase Tinto por ejemplo, caractersticas como 1 y 3, 1 y 8 o
1 y 9 no son una buena aproximaci
on de independencia.

EL4106 - Inteligencia Computacional

Features
Feat.1
Feat.2
Feat.3
Feat.4
Feat.5
Feat.6
Feat.7
Feat.8
Feat.9
Feat.10
Feat.11

Feat.1
1,000

Feat.2
-0,017
1,000

Feat.3
0,642
-0,047
1,000

Feat.4
0,015
0,045
0,114
1,000

Feat.5
0,105
0,008
0,176
-0,010
1,000

Feat.6
-0,189
-0,033
-0,076
0,185
-0,034
1,000

Feat.7
-0,149
-0,030
0,030
0,245
0,016
0,671
1,000

Feat.8
0,584
0,002
0,266
0,233
0,205
-0,066
0,026
1,000

Feat.9
-0,688
0,067
-0,504
-0,040
-0,243
0,033
-0,090
-0,283
1,000

Feat.10
0,190
-0,023
0,300
-0,039
0,321
0,027
0,050
0,145
-0,214
1,000

Feat.11
-0,055
0,007
0,164
0,111
-0,223
-0,057
-0,178
-0,560
0,189
0,097
1,000

Tabla 1: Coeficientes de correlaci


on muestrales entre caractersticas, para clase Tinto .
Features
Feat.1
Feat.2
Feat.3
Feat.4
Feat.5
Feat.6
Feat.7
Feat.8
Feat.9
Feat.10
Feat.11

Feat.1
1,000

Feat.2
-0,051
1,000

Feat.3
0,234
-0,164
1,000

Feat.4
0,053
0,055
0,039
1,000

Feat.5
0,035
0,087
0,200
0,062
1,000

Feat.6
-0,036
-0,062
0,076
0,265
0,030
1,000

Feat.7
0,063
0,136
0,070
0,379
0,163
0,645
1,000

Feat.8
0,249
0,008
0,115
0,825
0,242
0,283
0,524
1,000

Feat.9
-0,467
0,001
-0,148
-0,143
-0,107
-0,009
0,010
-0,099
1,000

Feat.10
-0,039
-0,014
0,057
-0,036
0,047
0,110
0,177
0,090
0,131
1,000

Tabla 2: Coeficientes de correlaci


on muestrales entre caractersticas, para clase Blanco .

Conclusi
on
 El modelo de histogramas con la simplificacion Naive Bayes entrega un clasificador con desempe
no aceptable. Lo anterior radica en la curva ROC obtenida, la cual posee una zona donde
las tasas de verdederos positivos y negativos son muy altas (mayor a 96% y 99%, respectivamente).
 Los histogramas se utilizan para aproximar la distribucion probabilstica (pdf ) de una caracterstica. La cantidad de bins considerada determina la forma del histograma, ante lo cual se
pudo observar que no puede ser muy peque
na ni muy grande. La cantidad optima de bins ser
a
un n
umero intermedio que dependera de la cantidad de muestras que se tenga.
 El modelo gaussiano multivariante otorga un gran desempe
no al clasificador. En la curva ROC
obtenida se observa una zona donde la tasa de verdaderos positivos y negativos es 1.
 La implementaci
on del clasificador mediante el enfoque gaussiano multivariante es mas simple,
puesto que el entrenamiento consiste en determinar 2 parametros por clase. Por otro lado, para
el primer modelo utilizado se requirio un histograma por caracterstica, dada una clase.

Feat.11
-0,121
0,063
-0,082
-0,442
-0,330
-0,242
-0,445
-0,805
0,166
-0,068
1,000

EL4106 - Inteligencia Computacional

Anexos

5.1

Funciones implementadas

i) funcion parte2(training set,test set): Realiza lo solicitado en la parte 2 de la tarea, entregando


como salida los vectores TPR y FPR. Considera 20 bins en histogramas.
ii) funcion parte3(training set,test set): Realiza lo solicitado en la parte 3 de la tarea, entregando
como salida los vectores TPR y FPR.
iii) histogram feat(feat,Nbins): Recibe vector de muestras de alguna caracterstica feat y n
umero
de bins Nbins. Entrega el rango y los bincounts del histograma.
iv) MD gaussian(row vector,mean vector,covariance matrix): Entrega el valor de la densidad de una
gaussiana MD evaluada en row vector.
v) split(N,p1):Entrega vector con indices para dividir aleatoriamente un conjunto de datos en dos
subconjuntos: subset1(p1 N datos) y subset2((1 p1) N datos).

References
[1] Richard O Duda, Peter E Hart, and David G Stork. Pattern classification. 2nd. Edition. New
York, 2001.
[2] Davis University of California.
Volatile Acidity.
http://waterhouse.ucdavis.edu/
whats-in-wine/volatile-acidity, 2012. [Online; accessed 12-April-2015].

10

Você também pode gostar