Академический Документы
Профессиональный Документы
Культура Документы
=
=
=
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
=
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.