Вы находитесь на странице: 1из 18

Aprendizagem de Mquina

Aprendizagem Bayesi ana


Aula 4
Alessandro L. Koerich
Mestrado em Informtica Aplicada
Ponti f ci a Uni ver si dade Catli ca do Par an (PUCPR)
Mestrado em Informtica Aplicada Aprendizagem de Mquina 2 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Plano de Aula
Introduo
Teorema de Bayes e Aprendizagem Conceitual
Classificador timo de Bayes
Algoritmo de Gibbs
Classificador Nave Bayes
Exemplos
Resumo
Mestrado em Informtica Aplicada Aprendizagem de Mquina 3 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Referncias
Duda R., Hart P., Stork D. Pattern
Classification 2ed. Willey Interscience, 2002.
Captulos 2 & 3
Mitchell T. Machine Learning. WCB McGraw
Hill, 1997. Captulo 6.
Theodoridis S., Koutroumbas K. Pattern
Recognition. Academic Press, 1999. Captulo 2
Mestrado em Informtica Aplicada Aprendizagem de Mquina 4 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Introduo
O pensamento Bayesiano fornece uma
abordagem probabilstica para aprendizagem
Est baseado na suposio de que as
quantidades de interesse so reguladas por
distribuies de probabilidade.
Distribuies de probabilidade: Ver documento
em anexo.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 5 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Introduo
Decises timas podem ser tomadas com base
nestas probabilidades conjuntamente com os
dados observados.
Fornece uma soluo quantitativa ponderando
a evidncia suportando hipteses alternativas.
Fornece a base para algoritmos de
aprendizagem que manipulam probabilidades
bem como outros algoritmos que no
manipulam probabilidades explicitamente.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 6 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Introduo
Os mtodos Bayesianos so relevantes por dois
motivos:
1. Fornecem algoritmos de aprendizagem
prticos:
Aprendizagem Nave Bayes
Aprendizagem de Redes Bayesianas
Combinam conhecimento a priori com os dados
observados
Requerem probabilidades a priori
Mestrado em Informtica Aplicada Aprendizagem de Mquina 7 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Introduo
2. Fornecem uma estrutura conceitual til:
Fornece norma de ouro para avaliar outros
algoritmos de aprendizagem
Percepo adicional dentro do Occams razor
Norma de Ouro: menor erro possvel
Mestrado em Informtica Aplicada Aprendizagem de Mquina 8 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Caractersticas da Aprendizagem
Bayesiana
1. Cada exemplo de treinamento pode decrementar ou
incrementar incrementalmente a probabilidade de
uma hiptese ser correta.
2. Conhecimento a priori pode ser combinado com os
dados observados para determinar a probabilidade de
uma hiptese.
3. Mtodos Bayesianos podem acomodar hipteses que
fazem predies probabilsticas (Ex: Este paciente tem
uma chance de 93% de se recuperar)
Mestrado em Informtica Aplicada Aprendizagem de Mquina 9 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Caractersticas da Aprendizagem
Bayesiana
4. Novas instncias podem ser classificadas
combinando a probabilidade de mltiplas
hipteses ponderadas pelas suas
probabilidades.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 10 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Dificuldades Prticas
Mtodos Bayesianos requerem o conhecimento
inicial de vrias probabilidades.
Quando no conhecidas, podem ser estimadas a
partir de conhecimento prvio, dados previamente
disponveis e suposies a respeito da forma da
distribuio.
Custo computacional significativo para
determinar a hiptese tima de Bayes
geralmente linear com o nmero de hipteses
Mestrado em Informtica Aplicada Aprendizagem de Mquina 11 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes
) (
) ( ) | (
) | (
D P
h P h D P
D h P =
P(h): probabilidade a priori da hiptese h
P(D|h): probabilidade de Ddado h.
P(h|D): probabilidade de hdado D
P(D): probabilidade a priori dos dados de treinamento D
Mestrado em Informtica Aplicada Aprendizagem de Mquina 12 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes
P(h|D) chamada de probabilidade a posteriori
de h porque ela reflete nossa confiana que h se
mantenha aps termos observado o dado de
treinamento D.
P(h|D) reflete a influncia do dado de
treinamento D.
Em contraste, a probabilidade a priori P(h)
independente de D.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 13 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes
Geralmente queremos encontrar a hiptese
mais provvel h H, sendo fornecidos os dados
de treinamento D.
Ou seja, a hiptese com o mximo a posteriori
(MAP)
) ( ) | ( max arg
) (
) ( ) | (
max arg
) | ( max arg
h P h D P
D P
h P h D P
D h P h
H h
H h
H h
MAP

=
=

Mestrado em Informtica Aplicada Aprendizagem de Mquina 14 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)


Teorema de Bayes
Desprezamos o termo P(D) porque ele uma
constante independente de h.
Se assumirmos que cada hiptese em H
igualmente provvel a priori, i.e.
P(h
i
) = P(h
j
) h
i
e h
j
em H
Ento, podemos simplificar mais e escolher a
hiptese de mxima probabilidade condicional
(maximum likelihood = ML).
Mestrado em Informtica Aplicada Aprendizagem de Mquina 15 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes
O termo P(D|h) chamado de probabilidade
condicional (ou likelihood) de D
Sendo fornecido h, qualquer hiptese que
maximiza P(D|h) chamada de uma hiptese
ML.
) | ( max arg h D P h
H h
ML

Mestrado em Informtica Aplicada Aprendizagem de Mquina 16 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)


Teorema de Bayes: Exemplo
Considere um problema de diagnstico
mdico onde existem duas hipteses
alternativas:
1. O paciente tem cncer
2. O paciente no tem cncer
Os dados disponveis so de um exame de
laboratrio com dois resultados possveis:
: positivo
: negativo
Mestrado em Informtica Aplicada Aprendizagem de Mquina 17 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes: Exemplo
Temos o conhecimento prvio que na populao
inteira somente 0.008 tem esta doena.
O teste retorna um resultado positivo correto
somente em 98% dos casos nos quais a doena est
atualmente presente.
O teste retorna um resultado negativo correto
somente em 97% dos casos nos quais a doena no
esteja presente.
Nos outros casos, o teste retorna o resultado oposto.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 18 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes: Exemplo
P(cncer) = P(cncer) =
P(|cncer) = P(|cncer) =
P(|cncer) = P(| cncer) =
Mestrado em Informtica Aplicada Aprendizagem de Mquina 19 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes: Exemplo
Supondo que um paciente fez um teste de
laboratrio e o resultado deu positivo.
O paciente tem cncer ou no ?
Mestrado em Informtica Aplicada Aprendizagem de Mquina 20 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aplicando o Teorema de Bayes
Calculando a hiptese com maior
probabilidade a posteriori:
P(|cncer) P(cncer) = 0.98 . 0.008 = 0.0078
P(|cncer) P(cncer) = 0.03 . 0.992 = 0.0298
Assim, h
MAP
= cncer
Mestrado em Informtica Aplicada Aprendizagem de Mquina 21 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Formulao Bsica de Probabilidades
Mestrado em Informtica Aplicada Aprendizagem de Mquina 22 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual ForaBruta
Qual a relao entre o teorema de Bayes e a
aprendizagem de conceito?
Considere:
um espao finito de hipteses H definido sobre um
espao de instncias X
a tarefa aprender algum conceito alvo c: X {0,1)
Assumindo que fornecida uma seqncia de
exemplos de treinamento <x
1
...x
m
> e valores alvos
correspondentes <d
1
...d
m
>
Mestrado em Informtica Aplicada Aprendizagem de Mquina 23 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual ForaBruta
Podemos projetar um algoritmo de
aprendizagem de conceito que fornece na
sada a hiptese de mxima probabilidade a
posteriori:
1. Para cada hiptese h em Hcalcular a probabilidade
a posteriori:
2. Escolher a hiptese h
MAP
com probabilidade a
posteriori mais alta:
) (
) ( ) | (
) | (
D P
h P h D P
D h P =
) | ( max arg D h P h
H h
MAP

=
Mestrado em Informtica Aplicada Aprendizagem de Mquina 24 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual ForaBruta
Escolher P(h) como sendo uma distribuio uniforme
Escolher P(D|h)
Agora podemos usar o teorema de Bayes para estimar
P(h|D) para cada hiptese h dado os dados de
treinamento D.

=
contrrio caso
D com e consistent for h se
h D P
0
1
) | (
H h
H
h P =
1
) (
Mestrado em Informtica Aplicada Aprendizagem de Mquina 25 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual ForaBruta
Se h for inconsistente com os dados de
treinamento D, temos:
Se h for consistente com D:
onde VS
H,D
o subconjunto de hipteses de H
que so consistentes com D (i.e Espao Verso).
.
0
) (
) ( . 0
) | ( = =
D P
h P
D h P
D H D H
VS
H
VS
H
D P
H
D h P
, ,
1
1
. 1
) (
1
. 1
) | ( = = =
Mestrado em Informtica Aplicada Aprendizagem de Mquina 26 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual ForaBruta
Em resumo, o teorema Bayes implica que a
probabilidade a posteriori P(h|D) para P(h) e
P(D|h) assumidos seja:

=
contrrio caso
D com e consistent for h se
VS
D h P
D H
0

1
) | (
,
Mestrado em Informtica Aplicada Aprendizagem de Mquina 27 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual ForaBruta
Evoluo das probabilidades a posteriori com o
aumento dos dados de treinamento.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 28 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual
Mestrado em Informtica Aplicada Aprendizagem de Mquina 29 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador timo de Bayes
At agora consideramos a questo Qual a
hiptese mais provvel (i.e. h
MAP
) dado os
exemplos de treinamento (D)?
De fato, a questo mais significativa na
verdade Qual a classificao mais provvel
de uma nova instncia dado os dados de
treinamento?
A hiptese MAP (h
MAP
) ou no
a classificao mais provvel?
Mestrado em Informtica Aplicada Aprendizagem de Mquina 30 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador timo de Bayes
Considere trs hipteses possveis h
1
, h
2
e h
3
e
suponha as seguintes probabilidades a
posteriori destas hipteses dado o conjunto de
treinamento D:
P(h
1
|D) = 0.4 P(h
2
|D) = 0.3 P(h
3
|D) = 0.3
Qual a hiptese MAP?
h
1
Mestrado em Informtica Aplicada Aprendizagem de Mquina 31 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador timo de Bayes
Exemplo: Dada uma nova instncias x que
classificada da seguinte forma:
h
1
(x) = + h
2
(x) = h
3
(x) =
Qual ser a classificao mais provvel de x?
Mestrado em Informtica Aplicada Aprendizagem de Mquina 32 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador timo de Bayes
A classificao mais provvel da nova instncia
x obtida atravs da combinao das predies
de todas as hipteses ponderadas pelas suas
probabilidades a posteriori.
Assim, a P(v
j
|D) que a correta classificao para
a instancia seja v
j
:

=
H h
i i j j
i
D h P h v P D v P ) | ( ) | ( ) | (

=
H h
i i j
V v
j
i
j
D h P h v P D v P ) | ( ) | ( max arg ) | (
Mestrado em Informtica Aplicada Aprendizagem de Mquina 33 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador timo de Bayes
A classificao tima para a nova instncia o valor v
j
para o qual P(v
j
|D) mxima, i.e.:
Qualquer sistema que classifique novas instncias de
acordo com a equao acima chamada de um
classificador timo de Bayes.
Importante: Nenhum outro classificador que utilize o
mesmo espao de hipteses H e mesmo conhecimento a
priori pode superar este mtodo

H h
i i j
V v
i
j
D h P h v P ) | ( ) | ( max arg
Mestrado em Informtica Aplicada Aprendizagem de Mquina 34 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador timo de Bayes
Exemplo:
P(h
1
|D) = 0.4, P(|h
1
) = 0, P(+|h
1
) = 1
P(h
2
|D) = 0.3, P(|h
2
) = 1, P(+|h
2
) = 0
P(h
3
|D) = 0.3, P(|h
3
) = 1, P(+|h
3
) = 0
portanto
e
6 . 0 ) | ( ) | (
4 . 0 ) | ( ) | (
=
= +

H h
i i
H h
i i
i
i
D h P h P
D h P h P
=

+
H h
i i j
v
i
j
D h P h v P ) | ( ) | ( max arg
} , {
Mestrado em Informtica Aplicada Aprendizagem de Mquina 35 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Algoritmo de Gibbs
O classificador timo de Bayes fornece melhores
resultados mas pode ser dispendioso se existirem
muitas hipteses.
Algoritmo de Gibbs:
1. Escolha uma hiptese aleatoriamente de acordo com P(h|D)
2. Usea para classificar uma nova instncia
Fato surpreendente: Assumindo que os conceitos alvo
so tirados aleatoriamente de Hsegundo a priori em
H, ento:
E[erro
Gibbs
] 2E[erro
Bayestimo
]
Mestrado em Informtica Aplicada Aprendizagem de Mquina 36 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Algoritmo de Gibbs
E[erro
Gibbs
] 2E[erro
Bayestimo
]
Supondo que temos uma distribuio uniforme
de probabilidades a priori sobre H, ento:
Pegue qualquer hiptese de VS, com probabilidade
uniforme.
Seu erro esperado no ser pior do que o dobro do
erro de uma classificador Bayes timo.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 37 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Junto com rvores de deciso, redes neurais e kNN,
Nave Bayes um dos mtodos de aprendizagem mais
prticos.
Quando usar ?
houver disponibilidade de um conjunto de treinamento grande
ou moderado.
os atributos que descrevem as instncias forem
condicionalmente independentes dada a classificao.
Aplicaes bem sucedidas:
Diagnsticos
Classificao de documentos de textuais
Mestrado em Informtica Aplicada Aprendizagem de Mquina 38 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Se aplica a tarefas de aprendizagem onde cada
instncia x descrita por um conjuno de
valores de atributos e onde a funo alvo, f(x)
pode assumir qualquer valor de um conjunto V.
Um conjunto de exemplos de treinamento da
funo alvo fornecido a uma nova instncia
apresentada, descrita pela tupla de valores de
atributos <a
1
, a
2
, ..., a
n
>.
A tarefa predizer o valor alvo (ou
classificao) para esta nova instncia.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 39 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
A soluo Bayesiana para classificar a nova
instncia consiste em atribuir o valor alvo mais
provvel (v
MAP
) dados os valores dos atributos
<a
1
, a
2
, ..., a
n
> que descrevem a instncia.
Mas podemos usar o teorema de Bayes para
reescrever a expresso . . .
) ,..., , | ( max arg
2 1 n j
V v
MAP
a a a v P v
j

=
Mestrado em Informtica Aplicada Aprendizagem de Mquina 40 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Devemos agora estimar os dois termos da
equao acima baseando-se nos dados de
treinamento.
P(v
j
) fcil de estimar . . .
Porm, P(a
1
,a
2
,...,a
n
| v
j
) . . .
) ( ) | ,..., , ( max arg
) ,..., , (
) ( ) | ,..., , (
max arg
) ,..., , | ( max arg
2 1
2 1
2 1
2 1
j j n
V v
n
j j n
V v
MAP
n j
V v
MAP
v P v a a a P
a a a P
v P v a a a P
v
a a a v P v
j
j
j

=
=
=
Mestrado em Informtica Aplicada Aprendizagem de Mquina 41 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
O classificador Nave Bayes baseado na
suposio simplificadora de que os valores dos
atributos so condicionalmente independentes
dado o valor alvo.
Ou seja, a probabilidade de observar a
conjuno a
1
, a
2
,..., a
n
somente o produto das
probabilidades para os atributos individuais:

=
i
j i j n
v a P v a a a P ) | ( ) | ,..., , (
2 1
Mestrado em Informtica Aplicada Aprendizagem de Mquina 42 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Temos assim o classificador Nave Bayes:
onde v
NB
indica o valor alvo fornecido pelo
Nave Bayes.

=
i
j i j
V v
NB
v a P v P v
j
) | ( ) ( max arg
Mestrado em Informtica Aplicada Aprendizagem de Mquina 43 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Em resumo, o algoritmo Nave Bayes envolve
Aprendizagem no qual os termos P(v
j
) e P(a
i
|v
j
) so
estimados baseado nas suas freqncias no conjunto
de treinamento.
O conjunto destas estimativas corresponde as hipteses
aprendidas
As hipteses so ento utilizadas para classificar
cada nova instncia aplicando a equao vista
anteriormente (v
NB
)
Mestrado em Informtica Aplicada Aprendizagem de Mquina 44 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Algoritmo Nave Bayes
Nave_Bayes_Learn (examplos)
Para cada valor alvo v
j
P (v
j
) estimar P (v
j
)
Para cada valor de atributo a
i
de cada atributo a
P (a
i
|v
j
) estimar P (a
i
| v
j
)
Classify_New_Instances (x)

=
x a
j i j
V v
NB
i
j
v a P v P v ) | ( ' ) ( ' max arg
Mestrado em Informtica Aplicada Aprendizagem de Mquina 45 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Exemplo: Considere os 14 exemplos de
treinamento de PlayTennis e uma nova
instncia que o Nave Bayes deve classificar:
<Outlook=sunny, Temperature=cool, Humidity=high, Wind=strong>
Nossa tarefa predizer o valor alvo (yes ou no)
do conceito PlayTennis para esta nova
instncia.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 46 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Atributo alvo: PlayTennis (yes, no)
Mestrado em Informtica Aplicada Aprendizagem de Mquina 47 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
O valor alvo V
NB
ser dado por:
Note que a
i
foi instanciado utilizando os valores
particulares de atributo da nova instncia.
Para calcular V
NB
so necessrias 1o probabilidades que
podem ser estimadas a partir dos exemplos de
treinamento.
) | ( ) | (
) | ( ) | ( ) ( max arg
) | ( ) ( max arg
} , {
} , {
j j
j j j
no yes v
i
j i j
no yes v
NB
v strong Wind P v high Humidity P
v cool e Temperatur P v sunny Outlook P v P
v a P v P v
j
j
= =
= = =
=


Mestrado em Informtica Aplicada Aprendizagem de Mquina 48 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Probabilidades a priori:
P(PlayTennis = yes) = 9/14 = 0.64
P(PlayTennis = no) = 5/14 = 0.36
Probabilidades condicionais:
P(Wind=strong | PlayTennis = yes) = 3/9 = 0.33
P(Wind=strong | PlayTennis = no) = 3/5 = 0.60
. . .
Mestrado em Informtica Aplicada Aprendizagem de Mquina 49 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Usando estas estimativas de probabilidade e
estimativas similares para os valores restantes
dos atributos, calculamos v
NB
de acordo com a
equao anterior (omitindo nome dos
atributos) :
P(yes) P(sunny| yes) P(cool| yes) P(high| yes)
P(strong| yes) = 0.0053
P(no) P(sunny| no) P(cool| no) P(high| no) P(strong|
no) = 0.026
Ento o classificador atribui o valor alvo
PlayTennis = no para esta nova instncia.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 50 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Sutilezas:
1. Suposio de independncia condicional muitas vezes
violada
. . . mas, de qualquer maneira, ele funciona bem. Note que
no necessrio estimar probabilidades a posteriori
P(v
j
|x) para ser correta. Necessita somente que
Probabilidades Nave Bayes a posteriori prximas de 0
e 1 so geralmente no realsticas

=
i
j i j
v a P v a a P ) | ( ) ,..., , (
2 1
) | ,..., ( ) ( max arg ) | ( ' ) ( ' max arg
1 j n j
V v
i
j i j
V v
v a a P v P v a P v P
j j

=

Mestrado em Informtica Aplicada Aprendizagem de Mquina 51 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)


Classificador Nave Bayes
Sutilezas:
2. E se nenhuma das instncias de treinamento com valor
alvo v
j
tiver uma atributo de valor a
i
? Ento,
e ...
A soluo tpica uma estimativa Bayesiana para P(a
i
|v
j
)
.
0 ) | ( ' =
j i
v a P
m n
mp n
v a P
c
i i
+
+
) | ( '
0 ) | ( ' ) ( ' =

i
j i j
v a P v P
Mestrado em Informtica Aplicada Aprendizagem de Mquina 52 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
onde:
n o nmero de exemplos de treinamento para
os quais v = v
j
,
n
c
o nmero de exemplos para os quais v = v
j
e a = a
i
p a estimativa a priori para P(a
i
|v
j
)
m o peso dado as priori (i.e. nmero de
exemplos virtuais).
m n
mp n
v a P
c
i i
+
+
) | ( '
Mestrado em Informtica Aplicada Aprendizagem de Mquina 53 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Por que ?
Aprender quais notcias so interessantes
Aprender a classificar pginas WEB por assunto
Nave Bayes um dos algoritmos mais
eficientes
Quais atributos devemos usar para representar
documentos de texto?
Mestrado em Informtica Aplicada Aprendizagem de Mquina 54 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Contexto
Considere um espao de instncias X consistindo de
todos os documentos de texto possveis.
Dados exemplos de treinamento, de alguma funo
alvo f(x) que pode assumir valores de um conjunto
finito V.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 55 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
A tarefa de aprendizagem aprender, a partir dos
exemplos de treinamento, a predizer o valor alvo
para os documento de texto subseqentes.
Considere a funo alvo como sendo documentos
interessantes e no interessantes.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 56 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Projeto do Nave Bayes:
Como representar um documento de texto arbitrrio
em termos de valores de atributos
Decidir como estimar as probabilidades necessrias
para o Nave Bayes.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 57 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Representao de texto arbitrrio
Dado um documento de texto, este pargrafo, por
exemplo, definimos um atributo para cada posio
de palavra no documento e definimos o valor do
atributo como sendo a palavra em portugus
encontrada nesta posio.
O pargrafo anterior pode ser descrito por 34 valores
de atributos correspondendo as 34 posies de
palavras.
O valor do primeiro atributo a palavra Dado e do
segundo a palavra um e assim por diante.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 58 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Dada a representao de documento de texto,
podemos aplicar o Nave Bayes.
Assumimos
um conjunto de 700 documentos classificados por
uma pessoa como no interessantes
outros 300 classificados como interessantes
Mestrado em Informtica Aplicada Aprendizagem de Mquina 59 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Conceito alvo interessante: documento {+,
}
1. Representar cada documento por um vetor de
palavras
Um atributo por posio da palavra no documento
2. Aprendendo usar exemplos de treinamento
para estimar
P (+)
P ()
P (doc|+)
P (doc|)
Mestrado em Informtica Aplicada Aprendizagem de Mquina 60 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Suposio da independncia condicional Nave
Bayes
onde P(a
i
= w
k
|v
j
) a probabilidade que a
palavra na posio i w
k
, dado v
j
.
Mais uma suposio

=
= =
) (
1
) | ( ) | (
doc length
i
j k i j
v w a P v doc P
m i v w a P v w a P
j k m j k i
, ) | ( ) | ( = = =
Mestrado em Informtica Aplicada Aprendizagem de Mquina 61 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Learn_Nave_Bayes_Text (Examples, V)
1. Colecionar todas palavras, pontuao e outros
tokens que ocorrem em Examples
Vocabulary todas as palavras distintas e outros
tokens que ocorrem em Examples
2. Calcular as probabilidade necessrias P (v
j
) e P
(w
k
|v
j
) ...
Mestrado em Informtica Aplicada Aprendizagem de Mquina 62 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Para cada valor alvo v
j
em V faa
docs
j
subconjunto de documento de Examples para o
qual o valor alvo v
j

Text
j
um documento nico criado pela concatenao de
todos os membros de docs
j
n nmero total de posies distintas de palavras em Text
j
Para cada palavra w
k
em Vocabulary
n
k
nmero de vezes que a palavra w
k
ocorre em Text
j

Examples
docs
v P
j
j
= ) (
Vocabulary n
n
v w P
k
j k
+
+

1
) | (
Mestrado em Informtica Aplicada Aprendizagem de Mquina 63 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Classify_Nave_Bayes_Text (Doc)
positions todas as posies das palavras em Doc
que contm tokens encontrados em Vocabulary
retornar v
NB
onde

=
positions i
j i j
V v
NB
v a P v P v
j
) | ( ) ( max arg
Mestrado em Informtica Aplicada Aprendizagem de Mquina 64 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Mestrado em Informtica Aplicada Aprendizagem de Mquina 65 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Dados 1000 documentos de treinamento de cada grupo,
aprenda a classificar novos documentos de acordo com
o newsgroup de origem.
Nave Bayes: preciso de classificao: 89%
Mestrado em Informtica Aplicada Aprendizagem de Mquina 66 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Artigo de rec.sport.hockey
Mestrado em Informtica Aplicada Aprendizagem de Mquina 67 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Curva de Aprendizagem
Mestrado em Informtica Aplicada Aprendizagem de Mquina 68 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Resumo
Mtodos Bayesianos: acomodam conhecimento
prvio e e dados observveis; atribuem probabilidade
a posteriori para cada hiptese candidata, baseando
se na priori e dados.
Mtodos Bayesianos: podem determinar a hiptese
mais provvel (MAP), tendo os dados.
Bayes timo: combina predies de todas hipteses
alternativas, ponderadas pela probabilidade a
posteriori, para calcular a classificao mais provvel
de cada nova instncia.
Mestrado em Informtica Aplicada Aprendizagem de Mquina 69 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Resumo
Nave Bayes: chamado de nave (simples,
no sofisticado), porque assume que os
valores dos atributos so condicionalmente
independentes.
Nave Bayes: se a condio encontrada, ele
fornece a classificao MAP, caso contrrio,
pode fornecer tambm bons resultados.

Вам также может понравиться