Sie sind auf Seite 1von 69

Aprendizagem de Mquina

Aprendizagem Bayesiana
Alessandro L. Koerich
Mestrado/Doutorado em Informtica (PPGIa)
Pontifcia Universidade Catlica do Paran (PUCPR)
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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 D dado h.
P(h|D): probabilidade de h dado D
P(D): probabilidade a priori dos dados de treinamento D
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) Aprendizagem de Mquina 13 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Teorema de Bayes
Geralmente queremos encontrar a hiptese
mais provvel h e 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
e
e
e
=
=

Mestrado/Doutorado em Informtica (PPGIa) 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
(maximumlikelihood = ML).
Mestrado/Doutorado em Informtica (PPGIa) 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
e

Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) Aprendizagem de Mquina 21 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Formulao Bsica de Probabilidades
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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
e
=
Mestrado/Doutorado em Informtica (PPGIa) 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 e =
1
) (
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) Aprendizagem de Mquina 28 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Aprendizagem Conceitual
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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
:

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

e
e
=
H h
i i j
V v
j
i
j
D h P h v P D v P ) | ( ) | ( max arg ) | (
Mestrado/Doutorado em Informtica (PPGIa) 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

e
e
H h
i i j
V v
i
j
D h P h v P ) | ( ) | ( max arg
Mestrado/Doutorado em Informtica (PPGIa) 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 ) | ( ) | (
=
= +

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

e
+ e
H h
i i j
v
i
j
D h P h v P ) | ( ) | ( max arg
} , {
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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
e
=
Mestrado/Doutorado em Informtica (PPGIa) 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
e
e
e
=
=
=
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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.
[
e
=
i
j i j
V v
NB
v a P v P v
j
) | ( ) ( max arg
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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)
[
e
e
=
x a
j i j
V v
NB
i
j
v a P v P v ) | ( ' ) ( ' max arg
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) Aprendizagem de Mquina 46 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Classificador Nave Bayes
Atributo alvo: PlayTennis (yes, no)
Mestrado/Doutorado em Informtica (PPGIa) 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
= =
= = =
=
e
e
[
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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
e e
=
[
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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
z n
k
nmero de vezes que a palavra w
k
ocorre em Text
j
z
Examples
docs
v P
j
j
= ) (
Vocabulary n
n
v w P
k
j k
+
+

1
) | (
Mestrado/Doutorado em Informtica (PPGIa) 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
[
e
e
=
positions i
j i j
V v
NB
v a P v P v
j
) | ( ) ( max arg
Mestrado/Doutorado em Informtica (PPGIa) Aprendizagem de Mquina 64 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) Aprendizagem de Mquina 66 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Exemplo: Classificando Texto
Artigo de rec.sport.hockey
Mestrado/Doutorado em Informtica (PPGIa) Aprendizagem de Mquina 67 Alessandro L. Koerich (alekoe@ppgia.pucpr.br)
Curva de Aprendizagem
Mestrado/Doutorado em Informtica (PPGIa) 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/Doutorado em Informtica (PPGIa) 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.

Das könnte Ihnen auch gefallen