Académique Documents
Professionnel Documents
Culture Documents
Francisco Carvalho
DI-UFPE
Mtodos Bayesianos
Fornece algoritmos prticos de aprendizagem
Aprendizagem Bayesiana ingenua
Aprendizagem de Redes Bayesianas
Combina conhecimento a priori (probabilidade a priori
ou incondicional) com dados de observao
Requer probabilidades priori
Teorema de Bayes
P(h): probabilidade a priori da hiptese h
P(D): probabilidade a priori dos dados de treinamento D
P(h/D): probabilidade de h dado D
P(D/h): probabilidade de D dado h
) (
) ( ) / (
) / (
D P
h P h D P
D h P =
Escolha de hipteses
Geralmente deseja-se a hiptese mais provvel
observados os dados de treinamento
Hiptese de maior probabilidade a posteriori h
MAP
Hiptese de mxima verossimilhana h
ML
) ( ) / ( 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
=
=
=
) / ( max arg
i
H h
ML
h D P h
i
e
=
Aplicao do Teorema de Bayes:
Diagnstico Mdico
Seja
M=doena
meningite
S= dor de cabea
Um Doutor sabe:
P(S/M)=0.5
P(M)=1/50000
P(S)=1/20
P(M/S)=P(S/M)P(M)
P(S)
=0,5*(1/50000)=0,002
1/20
A probabilidade de uma
pessoa ter meningite dado
que ela est com dor de
cabea 0,02% ou ainda
1 em 5000.
Frmulas Bsicas de Probabilidade
Regra do Produto: Probabilidade de uma conjuno de
dois eventos A e B
Regra da Soma: Probabilidade de uma disjuno de dois
eventos A e B
Teorema da Probabilidade Total: Se os eventos A
1
,.,A
n
so mutuamente exclusivos e formam uma partio do
evento certo
) ( ) / ( ) ( ) / ( ) ( A P A B P B P B A P B A P = = .
) ( ) ( ) ( ) ( B A P B P A P B A P . + = v
=
=
n
1 i
i i
A P A B P B P ) ( ) / ( ) (
Teorema da Probabilidade Total
O
B
1
B
2
B
3 B
6
B
5
B
4
A
=
k
k k
B P B A P A P ) ( ) / ( ) (
Teorema da Multiplicao de Probabilidades
Esse resultado permite calcular a probabilidade de ocorrncia
simultnea de vrios eventos a partir das probabilidades
condicionais.
) ( ) / ( ) (
1 n 1 1 n 1 n n 1
A A P A A A P A A P
=
) ( ) / ( ) / ( ) (
1 1 2 1 n 1 n n 1
A P A A P A A A P A A P
=
Algoritmo de aprendizagem da Probabilidade
Mxima Posteriori - MAP
1. Para cada hiptese h e H, calcule a probabilidade a
posteriori
2. Escolha a hiptese h
MAP
de maior probabilidade
posteriori
) (
) ( ) / (
) / (
D P
h P h D P
D h P =
) / ( max arg D h P h
H h
MAP
e
=
Classificao mais provvel
de uma nova instncia
Dada uma nova instncia x, qual a sua classificao
mais provvel?
h
MAP
(x) no a classificao mais provvel
Considere,
Trs hipteses:
P(h
1
/D) = 0.4, P(h
2
/D) = 0.3 e P(h
3
/D) = 0.3
Dada uma nova instncia x,
Suponha: h
1
(x) = +, h
2
(x) = - e h
3
(x) = -
A classificao mais provvel de x: -
Classificador Bayesiano timo
Um novo exemplo pode ser classificado como v
j
e V, a
probabilidade de que a classificao correta seja v
j
Classificao Bayesiana tima
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
i
j
D h P h v P ) / ( ) / ( max arg
Classificador Bayesiano timo
Exemplo.
P(h
1
/D) = 0.4, P(-/h
1
) = 0, P(+/h
1
) = 1
P(h
2
/D) = 0.3, P(-/h
1
) = 1, P(+/h
1
) = 0
P(h
3
/D) = 0.3, P(-/h
3
) = 1, P(+/h
1
) = 0
Portanto
e
4 0 D h P h P
H h
i i
i
. ) / ( ) / ( = +
e
6 0 D h P h P
H h
i i
i
. ) / ( ) / ( =
e
=
e
e
H h
i i j
V v
i
j
D h P h v P ) / ( ) / ( max arg
Classificador Bayesiano Ingnuo
Junto com as rvores de deciso, redes neurais, vizinhos
mtuos, um dos mtodos de aprendizagem mais prticos
Quando usa-lo
Quando disponvel um conjunto de treinamento mdio
ou grande
Os atributos que descrevem as instncias forem
condicionalmente independentes dada uma
classificao
Aplicaes de Sucesso
Diagnstico
Classificao de documentos textuais
Classificador Bayesiano Ingnuo
Suponha uma funo de classificao f: X V, onde
cada instncia x descrita pelos atributos {a
1
, ., a
n
}
O valor mais provvel de f(x)
Suposio Bayesiana Ingnua
Classificador Bayesiano Ingnuo
) ( ) / , , ( max arg
) , , (
) ( ) / , , (
max arg
) , , / ( max arg
j j n 1
V v
n 1
j j n 1
V v
n 1 j
V v
MAP
v P v a a P
a a P
v P v a a P
a a v P v
j
j
j
e
e
e
=
=
=
[
=
i
j i j n 1
v a P v a a P ) / ( ) / , , (
[
e
=
i
j i j
V v
NB
v a P v P v
j
) / ( ) ( max arg
Algoritmo Bayesiano Ingnuo
Aprendizagem_Bayesiana_Ingnua(exemplos)
Para cada v
j
P(v
j
) estimativa de P(v
j
)
Para cada valor a
i
de cada atributo a
P(a
i
/v
j
) estimativa de P(a
i
/v
j
)
Classificador_Novas_Instancias(x)
[
e
e
=
x a
j i j
V v
NB
i
j
v a P v P v ) / ( ' ) ( ' max arg
Dia Tempo Temp. Humid. Vento
Jogar
D1 Sol Quente Alta Fraco No
D2 So Quente Alta Forte No
D3 Coberto Quente Alta Fraco Sim
D4 Chuva Normal Alta Fraco Sim
D5 Chuva Frio Normal Fraco No
D6 Chuva Frio Normal Forte No
D7 Coberto Frio Normal Forte Sim
D8 Sol Normal Alta Fraco No
D9 Sol Frio Normal Fraco Sim
D10 Chuva Normal Normal Fraco Sim
D11 Sol Frio Alta Forte ?
Classificador bayesiano ingnuo: exemplo
P(Sim) = 5/10 = 0.5
P(No) = 5/10 = 0.5
P(Sol/Sim) = 1/5 = 0.2
P(Sol/No) = 3/5 = 0.6
P(Frio/Sim) = 2/5 = 0.4
P(Frio/No) = 2/5 = 0.4
P(Alta/Sim) = 2/5 = 0.4
P(Alta/No) = 3/5 = 0.6
P(Forte/Sim) = 1/5 = 0.2
P(Forte/No) = 2/5 = 0.4
P(Sim)P(Sol/Sim) P(Frio/Sim)
P(Alta/Sim) P(Forte/Sim) = 0.0032
P(No)P(Sol/No)P(Frio/No)
P(Alta/No) P(Forte/No) = 0.0288
Jogar_Tenis(D11) = No
Algoritmo Bayesiano
Ingnuo : Dificuldades
Suposio de independncia condicional quase sempre
violada
Mas funciona surpreendentemente bem
O que acontece se nenhuma das instancias classificadas
como v
j
tiver o valor a
i
?
[
=
i
j i j n 1
v a P v a a P ) / ( ) / , , (
0 ) v / a ( ' P ) v ( ' P 0 ) v / a ( ' P
i
j i j j i
= =
[
Algoritmo Bayesiano
Ingnuo : Dificuldades
Soluo tpica
Nmero de exemplos para os quais v = v
j
N
c
nmero de exemplos para os quais v = v
j
e a = a
i
P a estimativa priori para P(a
i
/v
j
)
M o peso dado priori (nmero de exemplos virtuais)
m n
p m n
) v / a ( ' P
c
j i
+
+
Redes Bayesianas
Interesse
Suposio de independncia condicional muito
restritiva
Mas sem esse tipo de suposio em algum nvel o
problema se torna intratvel
Redes Bayesianas descrevem independncia condicional
entre subconjuntos de variveis
Permite a combinao do conhecimento a priori sobre
a independncia entre variveis com os dados
observados
Independncia Condicional
X condicionalmente independente de Y dado Z se a
distribuio de probabilidade de X independente do
valor de Y dado o valor de Z
Exemplo: Trovo condicionalmente independente de
Chuva, dado Relmpago
P(Trovo/ Chuva, Relmpago) = P(Trovo/ Relmpago)
Regra do Produto:
( ) ) z Z / x X ( P ) z Z , y Y / x X ( P z , y , x
k i k j i i i i
= = = = = =
) Z / X ( P ) Z , Y / X ( P =
) Z / Y ( P ) Z / X ( P
) Z / Y ( P ) Z , Y / X ( P ) Z / Y , X ( P
=
=
Redes Bayesianas
Tempestade
nibus de Turismo
Fogo no
Acampamento
Trovo
Fogo na floresta
Raio
Redes Bayesianas
T,O T,O T, O T, O
FC 0.4 0.1 0.8 0.2
FC 0.6 0.9 0.2 0.8
Fogo no Acampamento
A rede representa um conjunto de asseres de
independncia condicional
Cada n condicionalmente independente dos seus
no descendentes, dados os seus predecessores
imediatos
Grafo acclico direto
Redes Bayesianas
Representa a distribuio de probabilidade conjunta
entre todas as variveis
Exemplo, P(Tempestade, ., Fogo na Floresta)
Em geral
Onde Predecessores(Y
i
) significa predecessores
imediatos de Y
i
no grafo
A distribuio conjunta definida pelo gafo mais os
P(y
i
/ Predecessores(Y
i
))
[
=
=
n
1 i
i i n 1
)) Y ( s edecessore Pr / y ( P ) y , , y ( P
Redes Bayesianas: representao do
conhecimento para raciocnio com incerteza
Representa 3 tipos de conhecimento do domnio:
relaes de independncia entre variveis aleatrias
(graficamente);
probabilidades a priori de algumas variveis;
probabilidades condicionais entre variveis dependentes.
Conhecimento representado:
pode ser aprendido a partir de exemplos
reutilizando parte dos mecanismos de raciocnio
Permite calcular eficientemente:
probabilidades a posteriori de qualquer varivel
aleatria(inferncia);
usando para isso uma definio recursiva do teorema de Bayes.
Estrutura de uma rede bayesiana
Cada varivel aleatria (VA) representada por um n da
rede
Cada n (VA) recebe conexes dos ns que tm influncia
direta (seus pais) sobre ele. (Tarefa fcil para o
especialista)
Cada n possui uma tabela de Probabilidades Condicionais
que quantifica a influncia dos seus pais sobre ele.
(Difcil para o especialista)
O grafo acclico
Construo (manual) de uma rede bayesiana
Escolher variveis relevantes que descrevam o domnio;
Escolher uma ordem para as variveis;
Enquanto tiver variveis sobrando:
pegar uma varivel e adicionar um n na rede para ela;
criar links dos ns anteriormente inseridos que satisfaam a
independncia condicional;
definir a tabela de probabilidade condicional para a varivel.
Exemplo simples de rede bayesiana (cont.)
Roubo Terremoto
Alarme
JohnCalls
MaryCalls
P(T)
0,002
P(R)
0,001
R T P(A)
T T 0,95
T F 0,94
F T 0,29
F F 0,001
A P(J)
T 0,90
F 0,05
A P(M)
T 0,70
F 0,01
Decomposio da Probabilidade Conjunta
( )
1 2 1
, , , |
n n
x x x x P
( ) ( )
1 2 1
, , , x P x x x P
n
= ( )
2 1 3
, | x x x P ( )
1 2
| x x P
X
1
X
2
X
3
X
n
Essa decomposio deixa clara a necessidade de a rede
bayesiana ser um grafo acclico
Tipos de conhecimento
Causal
Refletem a direo conhecida de causalidade no mundo: para
algumas propriedades do mundo percepes so geradas.
ex, P(DorDeDente|Crie), P(MaryCalls|Alarme)
Diagnstico
Infere a presena de propriedades escondidas diretamente da
percepo.
Produzem concluses fracas.
ex, P(Carie|DorDeDente), P(Alarme|MaryCalls)
Ordenar ns de uma rede bayesiana
Algoritmo de construo apresentado especifica a ordem
Razes sempre causais, folhas sem influncia causal sobre
nenhuma outra varivel
Se no perde:
conciso da rede
eficincia computacional (pior caso volta a distribuio de
probabilidade conjunta)
Exemplo de rede bayesiana
no puramente causal
Vamos usar o exemplo do alarme com a seguinte ordem de
insero dos ns:
MaryCalls, JohnCalls, Alarme, Roubo e Terremoto.
Roubo
Terremoto
Alarme
JohnCalls
MaryCalls
Exemplo de rede bayesiana
no puramente causal (cont.)
Problemas:
A figura possui duas conexes a mais;
julgamento no natural e difcil das probabilidades;
Tendo uma rede puramente causal, teramos um nmero
menor de conexes
Podemos piorar ainda mais a nossa configurao da rede,
seguindo a seguinte ordem de criao:
MaryCalls, JohnCalls, Terremoto, Roubo e Alarme.
Exemplo de rede bayesiana
no puramente causal (cont.)
Roubo
Terremoto
Alarme
JohnCalls
MaryCalls
Versatilidade das redes bayesianas
Redes Bayesianas oferecem 4 tipos de inferncia:
Causal (da causa para o efeito)
P(JohnCalls/Roubo) = 0,86
Roubo Alarme JohnCalls
Evidncia Query
Diagnstico (do efeito para a causa)
P(Roubo/JohnCalls) = 0,016
JohnCalls Alarme Roubo
Evidncia Query
Versatilidade das redes bayesianas
Intercausal (entre causas com um efeito comum)
P(Roubo/Alarme) = 0,376
P(Roubo/Alarme .Terremoto) = 0,373
Mista (combinando duas ou mais das de cima)
P(Alarme/JohnCalls .Terremoto) = 0,03
Este um uso simultneo de inferncia causal e diagnstico.
Roubo Alarme Terremoto
Query
Evidncia
JohnCalls
Alarme Terremoto
Evidncia
Evidncia
Query
Inferncia em Redes Bayesianas
Como inferir as probabilidades dos valores de uma ou
mais variveis na rede, partir das probabilidades dos
valores das outras variveis
A rede Bayesiana contm toda a informao
necessria para essa inferncia
Quando se trata de apenas uma varivel, a inferncia
trivial
No caso geral, o problema NP hard
Na prtica, pode-se alcanar-la de vrias formas
Mtodos exatos de inferncia funcionam bem para
algumas estruturas de rede
Mtodos de tipo Monte Carlo simulam a rede
aleatoriamente para obter solues aproximadas
Aprendizado em redes bayesianas
4 problemas de aprendizagem:
Estrutura conhecida, completamente observvel
as tabelas de probabilidade condicionada podem ser estimadas
usando o conjunto de exemplos com classificador ingnuo? de Bayes
Estrutura desconhecida, completamente observvel
o problema construir a topologia da rede. Busca no espao de
estruturas.
Estrutura conhecida, variveis escondidas
caso parecido com aprendizado em redes neurais
Estrutura desconhecida, variveis escondidas
no se conhece algoritmos para este tipo de problema
Exemplo da tarefa de aprendizagem
Roubo Terremoto
Alarme
JohnCalls
MaryCalls
P(T)
0,002
P(R)
0,001
R T P(A)
T T ?
T F ?
F T ?
T T ?
A P(J)
T ?
F ?
A P(M)
T ?
F ?
Aprender probabilidades com estrutura fixa
Humanos acham fcil dizer o que causa o que, mas acham
difcil colocar nmeros nos links.
Tarefa de aprendizagem
Dados:
relaes de independncia entre variveis aleatrias (estrutura)
probabilidades a priori das variveis de entrada
probabilidades a posteriori de variveis de sada
Calcular:
probabilidades condicionais das variveis dependentes
2 algoritmos principais:
gradiente ascendente de P(D|Hi) - muito parecido com
aprendizagem de pesos em redes neurais
algoritmo EM (Estimao Mdia)
ambos iterativos e sujeito a encontrar mnimo local
Aprendizagem de Redes Bayesianas
Variantes da tarefa de aprendizagem
A estrutura da rede pode ser conhecida ou
desconhecida
O conjunto de treinamento pode fornecer valores
para todas as variveis da rede ou para somente
algumas
Se a estrutura conhecida e todas as variveis
observadas
Ento to fcil como treinar um classificador
Bayesiano ingnuo
Aprendizagem de Redes Bayesianas
Suponha a estrutura conhecida e variveis parcialmente
observveis
Exemplo, observa-se fogo na Floresta, Tempestade,
nibus de turismo, mas no Raio, Fogo no
Acampamento
Problema similar o treinamento de uma rede neural
com variveis ocultas
Aprende-se a tabela de probabilidades condicionais
de cada n usando o algoritmo do gradiente
ascendente
O sistema converge para a rede h que maximiza
localmente P(D/h)
Gradiente Ascendente p/ Redes Bayesianas
Seja w
ijk
uma entrada na tabela de probabilidade
condicional para a varivel Y
i
na rede
W
ijk
= P(Y
i
= y
ij
/Predecessores(Y
i
) = lista u
ik
de valores)
Exemplo, se Y
i
= Fogo no Acampamento, ento u
ik
pode
ser {Tempestade = T, nibus de Turismo = F}
Aplicar o gradiente ascendente repetidamente
1. Atualizar todos os w
ijk
usando os dados de
treinamento D
2. Normalizar os w
ijk
para assegurar
e
e
+
D d
ijk
ik ij h
ijk ijk
w
d u y P
w w
) / , (
q
1 w
j
ijk
=
1 w 0
ijk
s s
Aprendizagem em Redes Bayesianas
O algoritmo EM tambm pode ser usado. Repetir:
1. Calcule as probabilidades das variveis no
observadas, supondo h verdadeira
2. Calcule novo w
ijk
que maximize E[ln P(D/h)], onde D
agora inclui tanto as variveis observadas como as
probabilidades calculadas das no observadas
Quando a estrutura desconhecida
Tpico de pesquisa ativo ...
Sumrio de Redes Bayesianas
Combina conhecimento a priori com dados observados
O impacto do conhecimento a priori (quando correto) a
reduo da amostra de dados necessrios
rea de pesquisa ativa
Passar de variveis Booleanas para variveis
numricas
Distribuies em vez de tabelas
Lgica de primeira ordem no lugar de proposicional
Mtodos de inferncia mais efetivos
Expectation Maximization (EM)
Quando usar:
Os dados so observveis apenas parcialmente
Aprendizagem no supervisionada (Clustering, os
grupos so desconhecidos)
Aprendizagem Supervisionada (alguns valores de
algumas variveis no so observados
Alguns usos
Treinamento das redes Bayesianas
Clustering
etc
Gerao de Dados a partir de k Gaussianas
Cada instancia x gerada
1. Escolhendo uma das k Gaussianas com probabilidade
uniforme
Gerando uma instancia aleatoriamente de acordo com
essa Gaussiana
EM para a estimao de k mdias
Dado
Instancias de x geradas pela mistura de k
distribuies Gaussianas
Mdias desconhecidas <
1
, .,
k
> das k Gaussianas
No se sabe que instancia x
i
foi gerada por qual
Gaussiana
Determine
Estimativas de Mxima Verossimilhana de <
1
, .,
k
>
Considere a descrio completa de cada instancia como
y
i
= <x
i
, z
i1
, z
i2
>, onde
z
ij
1 se x
i
for gerado pela j-sima Gaussiana
x
i
observvel
z
ij
no observvel
EM para a estimao de k mdias
EM algoritmo: Selecione aleatoriamente uma hiptese
inicial h = <
1
,
2
>
Passo E: Calcule o valor esperado E[z
ij
] de cada varivel
oculta z
ij
, supondo vlida a hiptese atual h = <
1
,
2
>
| |
( )
( )
= =
(
=
= =
= =
=
n
1 i
2
n i
2
2
j i
2
2
1 n
n i
j i
ij
x
2
1
x
2
1
x x p
x x p
z E
o
exp
exp
) / (
) / (
EM para a estimao de k mdias
Passo M: Calcule a nova hiptese de Mxima
Verossimilhana h = <
1
,
2
>, supondo que o valor
assumido por cada varivel oculta z
ij
o valor esperado
E[z
ij
] j calculado. Troque h = <
1
,
2
> por h = <
1
,
2
>.
Converge para um mximo de verossimilhana h local e
fornece estimativas para as variveis ocultas z
ij
| |
| |
=
=
m
1 i
ij
m
1 i
i ij
j
z E
x z E