Aprendizagem Bayesiana
Francisco Carvalho
DI-UFPE
Métodos Bayesianos
Fornece algoritmos práticos de aprendizagem
 Aprendizagem
Bayesiana ingenua
 Aprendizagem
de Redes Bayesianas
 Combina
conhecimento a priori (probabilidade a priori
ou incondicional) com dados de observação
 Requer
probabilidades à priori
Teorema de Bayes
P( D / h )P( h )
P( h / D) 
P( D)

P(h): probabilidade a priori da hipótese 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
Escolha de hipóteses


Geralmente deseja-se a hipótese mais provável
observados os dados de treinamento
Hipótese de maior probabilidade a posteriori hMAP
h MAP  arg max P( h / D)
hH
P( D / h ) P( h )
 arg max
P( D )
hH
 arg max P( D / h )P( h )
hH

Hipótese de máxima verossimilhança hML
h ML  arg max P( D / h i )
hiH
Aplicação do Teorema de Bayes:
Diagnóstico Médico
•Seja
M=doença
meningite
S= dor de cabeça
•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
cabeça é 0,02% ou ainda
1 em 5000.
Fórmulas Básicas de Probabilidade

Regra do Produto: Probabilidade de uma conjunção de
dois eventos A e B
P(A  B)  P(A / B)P(B)  P(B / A)P(A)

Regra da Soma: Probabilidade de uma disjunção de dois
eventos A e B
P(A  B)  P(A)  P(B)  P(A  B)

Teorema da Probabilidade Total: Se os eventos A1,,An
são mutuamente exclusivos e formam uma partição do
evento certo
n
P( B)   P( B / Ai )P( Ai )
i1
Teorema da Probabilidade Total
B1
B3
B6
A
B2
B4
B5

P( A )   P( A / B k ) P( B k )
k
Teorema da Multiplicação de Probabilidades
P(A1  An )  P(An / A1  An1 )P(A1  An1 )

P(A1  An )  P(An / A1  An1 )P(A2 / A1 )P(A1 )
Esse resultado permite calcular a probabilidade de ocorrência
simultânea de vários eventos a partir das probabilidades
condicionais.
Algoritmo de aprendizagem da Probabilidade
Máxima à Posteriori - MAP
1.
Para cada hipótese h  H, calcule a probabilidade a
posteriori
P( D / h )P( h )
P( h / D) 
P( D)
2.
Escolha a hipótese hMAP de maior probabilidade à
posteriori
h MAP  arg max P( h / D)
hH
Classificação mais provável
de uma nova instância

Dada uma nova instância x, qual é a sua classificação
mais provável?
 hMAP(x) não é a classificação mais provável
Considere,



Três hipóteses:
 P(h1/D) = 0.4, P(h2/D) = 0.3 e P(h3/D) = 0.3
Dada uma nova instância x,
 Suponha: h1(x) = +, h2(x) = - e h3(x) = A classificação mais provável de x: -
Classificador Bayesiano Ótimo

Um novo exemplo pode ser classificado como vj  V, a
probabilidade de que a classificação correta seja vj
P( v j / D) 
 P( v
h iH
j
/ h i )P( h i / D)
Classificação Bayesiana ótima
arg max  P( v j / h i )P( h i / D)
v jV
h iH
Classificador Bayesiano Ótimo


Exemplo.
 P(h1/D) = 0.4, P(-/h1) = 0, P(+/h1) = 1
 P(h2/D) = 0.3, P(-/h1) = 1, P(+/h1) = 0
 P(h3/D) = 0.3, P(-/h3) = 1, P(+/h1) = 0
Portanto
 P( / h )P(h
i
/ D)  0.4
 P( / h )P(h
i
/ D)  0.6
i
h iH
i
h iH

e
arg max  P( v j / h i )P( h i / D)  
v jV
h iH
Classificador Bayesiano Ingênuo


Junto com as árvores de decisão, redes neurais, vizinhos
mútuos, um dos métodos de aprendizagem mais práticos
Quando usa-lo
 Quando disponível um conjunto de treinamento médio
ou grande
 Os atributos que descrevem as instâncias forem
condicionalmente independentes dada uma
classificação
Aplicações de Sucesso
 Diagnóstico
 Classificação de documentos textuais
Classificador Bayesiano Ingênuo


Suponha uma função de classificação f: X  V, onde
cada instância x é descrita pelos atributos {a1, , an}
O valor mais provável de f(x) é
v MAP  arg max P( v j / a1 ,, a n )
v jV
 arg max
P( a 1 ,  , a n / v j ) P( v j )
P( a 1 ,  , a n )
 arg max P(a1 ,, a n / v j )P( v j )
v jV
v jV


Suposição Bayesiana Ingênua P(a1 ,, a n / v j )   P(a i / v j )
i
Classificador Bayesiano Ingênuo
v NB  arg max P( v j ) P(a i / v j )
v jV
i
Algoritmo Bayesiano Ingênuo

Aprendizagem_Bayesiana_Ingênua(exemplos)


Para cada vj
 P’(vj)  estimativa de P(vj)
 Para cada valor ai de cada atributo a
 P’(ai/vj)  estimativa de P(ai/vj)
Classificador_Novas_Instancias(x)
v NB  arg max P' ( v j ) P' (a i / v j )
v jV
a ix
Classificador bayesiano ingênuo: exemplo
Dia
Tempo
Temp. Humid.
Vento
Jogar
D1 Sol
Quente Alta
Fraco Não
D2 So
Quente Alta
Forte Não
D3 Coberto Quente Alta Fraco Sim
D4 Chuva
Normal Alta Fraco Sim
D5 Chuva
Frio Normal Fraco Não
D6 Chuva
Frio Normal Forte Não
D7 Coberto Frio Normal Forte Sim
D8 Sol
Normal Alta Fraco Não
D9 Sol
Frio Normal Fraco Sim
D10 Chuva Normal Normal Fraco Sim
D11
Sol
Frio
Alta
Forte
?















P(Sim) = 5/10 = 0.5
P(Não) = 5/10 = 0.5
P(Sol/Sim) = 1/5 = 0.2
P(Sol/Não) = 3/5 = 0.6
P(Frio/Sim) = 2/5 = 0.4
P(Frio/Não) = 2/5 = 0.4
P(Alta/Sim) = 2/5 = 0.4
P(Alta/Não) = 3/5 = 0.6
P(Forte/Sim) = 1/5 = 0.2
P(Forte/Não) = 2/5 = 0.4
P(Sim)P(Sol/Sim) P(Frio/Sim)
P(Alta/Sim) P(Forte/Sim) = 0.0032
P(Não)P(Sol/Não)P(Frio/Não)
P(Alta/Não) P(Forte/Não) = 0.0288
 Jogar_Tenis(D11) = Não
Algoritmo Bayesiano
Ingênuo : Dificuldades

Suposição de independência condicional quase sempre
violada
P ( a 1 ,  , a n / v j )   P( a i / v j )
i


Mas funciona surpreendentemente bem
O que acontece se nenhuma das instancias classificadas
como vj tiver o valor ai?
P' (a i / v j )  0  P' ( v j ) P' (a i / v j )  0
i
Algoritmo Bayesiano
Ingênuo : Dificuldades

Solução típica

Número de exemplos para os quais v = vj

Nc número de exemplos para os quais v = vj e a = ai

P é a estimativa à priori para P’(ai/vj)

M é o peso dado à priori (número de exemplos “virtuais”)
nc  m  p
P ' (a i / v j ) 
nm
Redes Bayesianas


Interesse
 Suposição de independência condicional muito
restritiva
 Mas sem esse tipo de suposição em algum nível o
problema se torna intratável
Redes Bayesianas descrevem independência condicional
entre subconjuntos de variáveis
 Permite a combinação do conhecimento a priori sobre
a independência entre variáveis com os dados
observados
Independência Condicional

X é condicionalmente independente de Y dado Z se a
distribuição de probabilidade de X é independente do
valor de Y dado o valor de Z
x i , yi , zi P(X  x i / Y  y j , Z  z k )  P(X  x i / Z  z k )
P(X / Y, Z)  P(X / Z)

Exemplo: Trovão é condicionalmente independente de
Chuva, dado Relâmpago
 P(Trovão/ Chuva, Relâmpago) = P(Trovão/ Relâmpago)
 Regra do Produto:
P(X, Y / Z)  P(X / Y, Z)P(Y / Z)
 P(X / Z)P(Y / Z)
Redes Bayesianas
Tempestade
Ônibus de Turismo
Fogo no
Acampamento
Raio
Trovão
Fogo na floresta
Redes Bayesianas
T,O
T, O
FC 0.4
0.1
0.8
0.2
FC 0.6
0.9
0.2
0.8
T,O
T, O
Fogo no Acampamento

A rede representa um conjunto de asserções de
independência condicional
 Cada nó é condicionalmente independente dos seus
não descendentes, dados os seus predecessores
imediatos
 Grafo acíclico direto
Redes Bayesianas

Representa a distribuição de probabilidade conjunta
entre todas as variáveis
 Exemplo, P(Tempestade, , Fogo na Floresta)
 Em geral
n
P( y1 ,, y n )   P( y i / Pr edecessore s(Yi ))
i 1

Onde Predecessores(Yi) significa predecessores
imediatos de Yi no grafo
A distribuição conjunta é definida pelo gafo mais os
P(yi / Predecessores(Yi))
Redes Bayesianas: representação do
conhecimento para raciocínio com incerteza

Representa 3 tipos de conhecimento do domínio:
• relações de independência entre variáveis aleatórias
(graficamente);
• probabilidades a priori de algumas variáveis;
• probabilidades condicionais entre variáveis dependentes.

Permite calcular eficientemente:
• probabilidades a posteriori de qualquer variável
aleatória(inferência);
• usando para isso uma definição recursiva do teorema de Bayes.

Conhecimento representado:
• pode ser aprendido a partir de exemplos
• reutilizando parte dos mecanismos de raciocínio
Estrutura de uma rede bayesiana
Cada variável aleatória (VA) é representada por um nó da
rede
 Cada nó (VA) recebe conexões dos nós que têm influência
direta (seus pais) sobre ele. (Tarefa fácil para o
especialista)
 Cada nó possui uma tabela de Probabilidades Condicionais
que quantifica a influência dos seus pais sobre ele.
(Difícil para o especialista)
 O grafo é acíclico

Construção (manual) de uma rede bayesiana
Escolher variáveis relevantes que descrevam o domínio;
 Escolher uma ordem para as variáveis;
 Enquanto tiver variáveis sobrando:

• pegar uma variável e adicionar um nó na rede para ela;
• criar links dos nós anteriormente inseridos que satisfaçam a
independência condicional;
• definir a tabela de probabilidade condicional para a variável.
Exemplo simples de rede bayesiana (cont.)
P(R)
P(T)
0,001
0,002
Roubo
Terremoto
R T P(A)
Alarme
A
P(J)
T
F
0,90
0,05
JohnCalls
T
T
F
F
T
F
T
F
0,95
0,94
0,29
0,001
MaryCalls
A
P(M)
T
F
0,70
0,01
Decomposição da Probabilidade Conjunta
Px1, x2 ,, xn   Px1  Px2 | x1  Px3 | x1, x2 
X1
Pxn | x1, x2 ,, xn1 
Xn
X2
X3

Essa decomposição deixa clara a necessidade de a rede
bayesiana ser um grafo acíclico
Tipos de conhecimento

Causal
• Refletem a direção conhecida de causalidade no mundo: para
algumas propriedades do mundo percepções são geradas.
• ex, P(DorDeDente|Cárie), P(MaryCalls|Alarme)

Diagnóstico
• Infere a presença de propriedades escondidas diretamente da
percepção.
• Produzem conclusões fracas.
• ex, P(Ca’rie|DorDeDente), P(Alarme|MaryCalls)
Ordenar nós de uma rede bayesiana



Algoritmo de construção apresentado especifica a ordem
Raízes sempre causais, folhas sem influência causal sobre
nenhuma outra variável
Se não perde:
• concisão da rede
• eficiência computacional (pior caso volta a distribuição de
probabilidade conjunta)
Exemplo de rede bayesiana
não puramente causal

Vamos usar o exemplo do alarme com a seguinte ordem de
inserção dos nós:
• MaryCalls, JohnCalls, Alarme, Roubo e Terremoto.
MaryCalls
JohnCalls
Alarme
Roubo
Terremoto
Exemplo de rede bayesiana
não puramente causal (cont.)

Problemas:
• A figura possui duas conexões a mais;
• julgamento não natural e difícil das probabilidades;


Tendo uma rede puramente causal, teríamos um número
menor de conexões
Podemos piorar ainda mais a nossa configuração da rede,
seguindo a seguinte ordem de criação:
• MaryCalls, JohnCalls, Terremoto, Roubo e Alarme.
Exemplo de rede bayesiana
não puramente causal (cont.)
MaryCalls
JohnCalls
Terremoto
Roubo
Alarme
Versatilidade das redes bayesianas

Redes Bayesianas oferecem 4 tipos de inferência:
• Causal (da causa para o efeito)

P(JohnCalls/Roubo) = 0,86
Roubo
Alarme
JohnCalls
Evidência
Query
• Diagnóstico (do efeito para a causa)

P(Roubo/JohnCalls) = 0,016
JohnCalls
Query
Alarme
Roubo
Evidência
Versatilidade das redes bayesianas
• Intercausal (entre causas com um efeito comum)


P(Roubo/Alarme) = 0,376
P(Roubo/Alarme Terremoto) = 0,373
Roubo
Alarme
Terremoto
Query
Evidência
• Mista (combinando duas ou mais das de cima)


P(Alarme/JohnCalls Terremoto) = 0,03
Este é um uso simultâneo de inferência causal e diagnóstico.
JohnCalls
Evidência
Alarme
Query
Terremoto
Evidência
Inferência em Redes Bayesianas


Como inferir as probabilidades dos valores de uma ou
mais variáveis na rede, à partir das probabilidades dos
valores das outras variáveis
 A rede Bayesiana contém toda a informação
necessária para essa inferência
 Quando se trata de apenas uma variável, a inferência
é trivial
 No caso geral, o problema é NP hard
Na prática, pode-se alcançar-la de várias formas
 Métodos exatos de inferência funcionam bem para
algumas estruturas de rede
 Métodos de tipo Monte Carlo “simulam” a rede
aleatoriamente para obter soluções aproximadas
Aprendizado em redes bayesianas

4 problemas de aprendizagem:
• Estrutura conhecida, completamente observável

as tabelas de probabilidade condicionada podem ser estimadas
usando o conjunto de exemplos com classificador ingênuo? de Bayes
• Estrutura desconhecida, completamente observável

o problema é construir a topologia da rede. Busca no espaço de
estruturas.
• Estrutura conhecida, variáveis escondidas

caso parecido com aprendizado em redes neurais
• Estrutura desconhecida, variáveis escondidas

não se conhece algoritmos para este tipo de problema
Exemplo da tarefa de aprendizagem
P(R)
0,001
Roubo
Terremoto
Alarme
A
T
F
P(J)
?
?
JohnCalls
R
T
T
F
T
P(T)
0,002
T P(A)
T
?
F
?
T
?
T
?
MaryCalls
A P(M)
T
?
F
?
Aprender probabilidades com estrutura fixa
Humanos acham fácil dizer o que causa o que, mas acham
difícil colocar números nos links.
 Tarefa de aprendizagem

• Dados:
relações de independência entre variáveis aleatórias (estrutura)
 probabilidades a priori das variáveis “de entrada”
 probabilidades a posteriori de variáveis “de saída”
• Calcular:
 probabilidades condicionais das variáveis dependentes


2 algoritmos principais:
• gradiente ascendente de P(D|Hi) - muito parecido com
aprendizagem de pesos em redes neurais
• algoritmo EM (Estimação Média)
• ambos iterativos e sujeito a encontrar mínimo 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 variáveis da rede ou para somente
algumas
Se a estrutura é conhecida e todas as variáveis
observadas
 Então é tão fácil como treinar um classificador
Bayesiano ingênuo
Aprendizagem de Redes Bayesianas

Suponha a estrutura conhecida e variáveis parcialmente
observáveis
 Exemplo, observa-se fogo na Floresta, Tempestade,
Ônibus de turismo, mas não Raio, Fogo no
Acampamento



Problema similar o treinamento de uma rede neural
com variáveis 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 wijk uma entrada na tabela de probabilidade
condicional para a variável Yi na rede
Wijk = P(Yi = yij/Predecessores(Yi) = lista uik de valores)
Exemplo, se Yi = Fogo no Acampamento, então uik pode
ser {Tempestade = T, Ônibus de Turismo = F}
Aplicar o gradiente ascendente repetidamente
1. Atualizar todos os wijk usando os dados de
treinamento D
Ph ( yij , u ik / d )
w ijk  w ijk   
w ijk
dD
2.
Normalizar os wijk para assegurar
e
w

1
0  w ijk  1
 ijk
j
Aprendizagem em Redes Bayesianas


O algoritmo EM também pode ser usado. Repetir:
1. Calcule as probabilidades das variáveis não
observadas, supondo h verdadeira
2. Calcule novo wijk que maximize E[ln P(D/h)], onde D
agora inclui tanto as variáveis observadas como as
probabilidades calculadas das não observadas
Quando a estrutura é desconhecida
 Tópico de pesquisa ativo ...
Sumário de Redes Bayesianas



Combina conhecimento a priori com dados observados
O impacto do conhecimento a priori (quando correto) é a
redução da amostra de dados necessários
Área de pesquisa ativa
 Passar de variáveis Booleanas para variáveis
numéricas
 Distribuições em vez de tabelas
 Lógica de primeira ordem no lugar de proposicional
 Métodos de inferência mais efetivos
Expectation Maximization (EM)


Quando usar:
 Os dados são observáveis apenas parcialmente
 Aprendizagem não supervisionada (Clustering, os
grupos são desconhecidos)
 Aprendizagem Supervisionada (alguns valores de
algumas variáveis não são observados
Alguns usos
 Treinamento das redes Bayesianas
 Clustering
 etc
Geração 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 estimação de k médias



Dado
 Instancias de x geradas pela mistura de k
distribuições Gaussianas
 Médias desconhecidas <1, , k> das k Gaussianas
 Não se sabe que instancia xi foi gerada por qual
Gaussiana
Determine
 Estimativas de Máxima Verossimilhança de <1, , k>
Considere a descrição completa de cada instancia como
yi = <xi, zi1, zi2>, onde
 zij é 1 se xi for gerado pela j-ésima Gaussiana
 xi observável
 zij não observável
EM para a estimação de k médias


EM algoritmo: Selecione aleatoriamente uma hipótese
inicial h = < 1, 2>
Passo E: Calcule o valor esperado E[zij] de cada variável
oculta zij, supondo válida a hipótese atual h = < 1, 2>
2
 1 

exp 
x


i
j 
p( x  x i /    j )
2 2


Ez ij   2
 n
2
 1


p
(
x

x
/



)
exp

x




i
n
i
n
2


2


n 1
i 1
EM para a estimação de k médias

Passo M: Calcule a nova hipótese de Máxima
Verossimilhança h’ = < ’1, ’2>, supondo que o valor
assumido por cada variável oculta zij é o valor esperado
E[zij] já calculado. Troque h = < 1, 2> por h’ = < ’1, ’2>.
 Ez x
m
j 
i 1
m
i
 Ez 
i 1

ij
ij
Converge para um máximo de verossimilhança h local e
fornece estimativas para as variáveis ocultas zij
Exemplo de aplicação bem sucedida de redes
bayesianas: PathFinder

Sistema especialista p/ diagnóstico de doenças nós
linfáticos.
• PathFinder I - sistema baseado em regras sem incerteza.
• PathFinder II
comparando vários métodos de representação da incerteza
(teoria de crença de Dempster-Shafer, coeficientes de incerteza,etc)
 modelo bayesiano simplificado (todas as doenças assumidas
independentes) melhor de todos (10% de erro)

• PathFinder III - modelo bayesiano melhorado com aquisição mais
cuidadosa das probabilidades a priori com especialistas
• PathFinder IV - Redes Bayesianas

melhor do que os especialistas cujo conhecimento foi codificado
Bibliografia





Russel, S, & Norvig, P. (1995). Artificial Intelligence: a Modern
Approach (AIMA) Prentice-Hall. Pages 436-458, 588-593
An Introduction to Baysean Networks
Mitchell, T. & (1997): Machine Learning, McGraw-Hill. Cap.6
Fayyad et al. (1996): Advances in knowledge discovery and data
mining, AAAI Press/MIT Press. Cap.11
Pearl, J. (1988) Probabilistic Reasoning in Inteligent Systems
Download

Redes Bayesianas