redes bayesianas - introdução rudini sampaio dcc / ufla

32
Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Upload: internet

Post on 21-Apr-2015

128 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Redes Bayesianas - Introdução

Rudini SampaioDCC / UFLA

Page 2: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Regra de Bayes:

Marginalização:

Exemplo:P(chover) = P(chover | faz sol) P(faz sol) + P(chover | nublado) P(nublado)

)(

)()|(

)(

),()|(

efeitoP

causaPcausaefeitoP

efeitoP

causaefeitoPefeitocausaP

1

1

1

1

)()|(),()(N

i

N

iiii causaPcausaefeitoPcausaefeitoPefeitoP

Page 3: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Variáveis Discretas

Variáveis cujos valores possíveis são limitados.

São utilizadas nas redes bayesianas.

Ex: Variável Cor com 4 estados {azul, verde, amarelo, vermelho}

Ex: Variável Perda com 3 estados {pequena, média, grande}

Ex: Variável Empréstimo com 2 estados {aceito, não aceito}

Observação: Variáveis contínuas podem ser discretizadas para se adequarem às redes bayesianas.

Ex: Variável Temperatura com 4 estados {0-10, 10-20, 20-30, 30-40}.

Page 4: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Tabelas de Probabilidade a PrioriConjunto das probabilidades de uma dada variável para cada estado possível,

cuja soma deve ser 100%.

Exemplo - Tabela P(Cor) para Variável Cor

[ P(Cor=azul), P(Cor=verde), P(Cor=amarelo), P(Cor=vermelho) ]

Tabelas de Probabilidade ConjuntaConjunto das probabilidades conjuntas de duas ou mais variáveis para cada

configuração possível de estados, cuja soma deve ser 100%.

Exemplo - Tabela P(Cor,Carro)Variável Cor com 4 estados {azul, verde, amarelo, vermelho}.

Variável Carro com 5 estados {Fiat, Volks, Chev, Ford, BMW}.

A Tabela P(Cor,Carro) será uma matriz 4x5, com 20 valores que devem somar 1.

Page 5: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Tabelas de Probabilidade CondicionalConjunto das probabilidades condicionais de uma variável com respeito a uma

ou mais variáveis, para cada configuração possível de estados. A soma não deve ser 100%.

Fixando uma configuração das variáveis condicionadoras, a soma deve ser 1.

Exemplo:Variáveis A e B com 2 estados {0,1}.

Tomando A=0, temos 0.3+0.7=1

Tomando A=1, temos 0.8+0.2=1

2.07.0

8.03.0)|( ABP

Page 6: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Multiplicação de Tabelas é uma tabela com valores

Marginalização para Tabelas

Regra de Bayes para Tabelas

Onde é um fator de normalização.

)()|( XPXYP )()|( xXPxXyYP

X X

XPXYPYXPYP )()|(),()(

)()|()(

)()|()|( XPXYP

YP

XPXYPYXP

Page 7: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Exemplo:

Probab a priori de A Prob condicional de B dado A

Marginalização

Probabilidade a posteriori de B

Regra de Bayes:

]6.0,4.0[)( AP

2.07.0

8.03.0)|( ABP

]4.0,6.0[]2.06.07.04.0,8.06.03.04.0[)( BP

3.08.0

7.02.0

12.048.0

28.012.0

2.06.08.06.0

7.04.03.04.0)|( BAP

Page 8: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Com a Tabela de Probabilidade Conjunta, podemos obter qualquer probabilidade relacionada às variáveis da tabela.

Exemplo: Variáveis A={a1, a2}, B={b1, b2, b3}, C={c1, c2, c3, c4}

P(B b2, C c3) = (0.01+0.07)+(0.02+0.06)+(0.04+0.04)+ (0.09+0.02)+(0.03+0.05)+ (0.02+0.02) = 0.46

P(A = a1, B = b2, C c3) = 0.05 + 0.06 + 0.08 = 0.19 P(A=a1) = 0.01+0.02+0.03+0.04+0.05+0.06+0.07+0.08+0.09+0.03+ 0.01+0.02

= 0.51

1 2 3 4

1

2

3

........ ......... ........ ........ ......... ........ ........ ......

(0.01 0.07) (0.02 0.06) (0.03 0.05) (0.04 0.04)

(0.05 0.07) (0.06 0.02) (0.07 0.04) (0.08 0.03)

(0.09 0.02) (0.03 0.05) (0.01 0.03) (

c c c c

b

b

b

0.02 0.02)

Page 9: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Definição de Rede Bayesiana

Conjunto de variáveis discretas U = {A1, A2, ..., An}. Conjunto de arestas direcionadas entre variáveis. Não pode haver ciclos direcionados: DAG (directed acyclic graph). Cada variável tem um conjunto finito de estados mutuamente exclusivos. Para cada variável X com pais pa(X) = {Y1,...,Ym} está associada a tabela

P(X | pa(X)).

Observações: Aresta de Y para X significa “Y é causa de X ”. Chamamos Y de pai de X. Se X não tem pais, deve-se ter uma tabela de probabilidade a priori P(X).

Page 10: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Regra da Cadeia

onde pa(Ai) é o conjunto de pais de Ai

Em outras palavras, a probabilidade conjunta das variáveis de uma rede bayesiana é o produto de todas as tabelas de probabilidade condicional especificadas na rede.

Observações: A probabilidade conjunta P(U) permite calcular toda probabilidade na rede. No entanto, P(U) cresce exponencialmente com o número de variáveis.

Ex: 10 variáveis com 2 estados geram 210=1024 valores de probabilidade. Ou seja, uma rede bayesiana é apenas uma forma mais compacta de se

representar P(U). Multiplicando as tabelas da rede bayesiana, poderíamos obter P(U) e, com isso, obter qualquer probabilidade na rede.

n

iii ApaAPUP

1

))(|()(

Page 11: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

Evidência

Evidência sobre uma variável é uma declaração das certezas dos seus estados.Exemplo: Cor não pode estar no estado “vermelho”. X pode estar apenas nos estados x1 e x4.

Instanciação (ou evidência forte) estabelece qual o estado da variável.Exemplo: Cor está no estado “azul”. X está no estado x4.

Evidências são representadas por vetores de 0s e 1s. Exemplo: EX = [1,0,0,1] (“X pode estar apenas nos estados x1 e x4”)

É possível relacionar probabilidades entre estados de uma mesma variável.Exemplo: EX = [0.2,0.2,0.2,0.4] (“X tem duas vezes mais chances de estar em x4”) Genericamente, evidência é um conjunto de evidências sobre algumas variáveis.Exemplo: E = {X=x2, Y=y4} E = {Cor=azul, Carro=Fiat}

Page 12: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

D-SeparaçãoDizemos que duas variáveis A e B de uma rede bayesiana estão d-Separadas

(direction-dependent separation) se A não tem influência sobre B, e vice-versa. Para definir formalmente, utilizaremos o conceito de conexão bloqueada.

Conexão Serial ( A B C ): A e C são bloqueados se B está instanciada.

Conexão Divergente ( A B C ): A e C são bloqueados se B está instanciada.

Conexão Convergente ( A B C ): A e C são bloqueados se nem B nem seus descendentes receberam qualquer evidência.

Page 13: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Introdução

D-Separação (Definição)

Duas variáveis A e C de uma rede bayesiana são d-separadas se todo caminho não-direcionado entre A e C possui uma variável B cuja conexão no caminho esteja bloqueada.

Exemplo: Variáveis B e M instanciadas. Variável A está d-separada apenas da variável G. Bloqueios D-B-E, I-L-J e F-J-G para os três caminhos possíveis.

Page 14: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Inferência

Inferência É a atualização das probabilidades a posteriori das

variáveis de uma rede bayesiana, baseadas nas evidências disponíveis.

É a operação mais importante de redes bayesianas e uma das mais difíceis. Existem vários algoritmos de Inferência.

Exemplo: Obter P(A) com evidência e={D=d,F=f}

)|(),|(),|()|(),|()()(),,,,,,( CGPCBfPHBdPACPHABPHPAPHGfdCBAP

G G

CGPCBfPHBdPACPHABPHPAPeUP )|(),|(),|()|(),|()()(),(

HH

HBdPHABPHPCBfPACPAPHfdCBAP ),|(),|()(),|()|()(),,,,,(

),(),|()|()(),,,,( BATCBfPACPAPfdCBAP

Page 15: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Inferência

Algoritmo de Inferência Bucket Elimination No método anterior, iniciamos com um conjunto V de Tabelas, e desejamos marginalizar uma

variável X. Tomamos então todas as tabelas de V que contém X, calculamos seu produto e marginalizamos X. Esse processo é chamado eliminação da variável X. O algoritmo realiza eliminações sucessivas de variáveis.

A ordem da sequência de eliminação de variáveis é muito importante. A obtenção de uma sequência ótima, que minimize o número de multiplicações entre tabelas, é um dos problemas mais difíceis em redes bayesianas.

Algoritmo Aproximado Forward Sampling É o algoritmo de inferência mais simples. No entanto, é ineficiente por ser aproximado e pelo

número excessivo de simulações necessárias para obter resultados razoáveis em certos casos. O algoritmo escolhe aleatoriamente valores para A e H, baseado nas probabilidades a priori

P(A) e P(H). Seguindo a ordem causal, escolhe valores para B e C, baseado nas tabelas P(B |A,H) e P(C |A). Depois, escolhe valores para D, F e G, baseado nas tabelas P(D |B,H), P(F |B,C) e P(G |C).

A configuração das variáveis A,B,C,D,F,G,H é então contabilizada. Repete-se esse processo numerosas vezes. Normalizando as frequências obtemos as probabilidades a posteriori.

Page 16: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Construção

A obtenção da estrutura da rede bayesiana deve ser obtida caso a caso.

Exemplo (Teste do Leite): O leite de uma vaca pode estar infectado. Para detectar se o leite está infectado, utiliza-se um teste, que pode dar resultados positivo ou negativo. O teste não é perfeito. Ele pode dar resultado positivo em um leite não infectado, e pode dar resultado negativo em um leite infectado.

Ajuste1: Modelo não reflete tempo.

Solução: Incluir testes diários durante uma semana.

Page 17: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Construção

Ajuste2: Modelo reflete a propriedade de Markov (Dado o presente, o passado não tem influência no futuro). Doenças, como gripe, tem período de ação.

Solução: Adicionar relações causais Inf kInf k+2 , 1 k 5

Ajuste3: Falha no teste de um dia não afeta o dia seguinte.

Solução: Adicionar relações causais Test kTest k+1 , 1 k 6

Page 18: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Construção

Introdução de Vértices AuxiliaresNa obtenção da estrutura da rede bayesiana, é preciso verificar se o

relacionamento entre as variáveis está de acordo com o esperado.

Exemplo: Existem dois testes para diagnosticar gravidez: teste de sangue (TS) e teste de urina (TU).

Problema: Se sabemos da gravidez, o modelo acima diz que TS não nos informa nada sobre TU. Isso é falso, pois quanto maior TS, maior TU. Em outras palavras, o modelo deve refletir as relações de d-separação.

Solução: O que afeta os testes não é a gravidez, mas os hormônios. Deve-se adicionar uma variável que reflete o nível hormonal.

Page 19: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

CausalidadeA estrutura de uma rede bayesiana não precisa refletir relações de

causa e efeito. Mas existem boas razões para se trabalhar com redes causais.

Um modelo perfeitamente causal é mínimo com respeito ao número de arestas. Ou seja, um outro modelo pode funcionar com arestas em direção oposta a relação causal, mas terá um número de arestas maior ou igual.

A manutenção de uma rede bayesiana causal é mais fácil do que redes não causais. A adição e remoção de variáveis de uma rede causal é bem mais simplificada devido a lógica causal já existente na rede.

O impacto de nós especiais de decisão em redes bayesianas se espalha na direção causal.

Page 20: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

Exemplo: Onde há fumaça, há fogo.A frase sugere:

A introdução de uma variável nova Chuva traz problemas para esse modelo de rede, pois a Chuva não afetaria a Fumaça.

Para resolver isso, precisaríamos adicionar essa relação causal.

O fato é que o Fogo é que causa a Fumaça.

Page 21: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

Arestas Não DirecionadasFrequentemente, podem existir relações entre variáveis sem que seja possível

associar uma direção causal.

Exemplo: A, B e C são variáveis booleanas (0-1) e uma delas (e apenas uma) deve ser verdadeira.

Solução: Cria-se um nó R de Restrição com pais A, B e C e adiciona-se a

evidência {R=1}, ou seja, a restrição deve ser satisfeita.

Page 22: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

Noisy-ORNoisy-OR é uma técnica de aproximação para se obter probabilidades

condicionais sem que tenhamos todas as informações disponíveis.

Exemplo: Variável A com pais B e C requer uma tabela P(A | B,C). Assim, para cada combinação de estados de B e C, precisamos da probabilidade para cada estado de A. Talvez certas combinações sejam específicas demais e difíceis de se obter, sendo mais fácil obter P(A | B) e P(A | C).

Exemplo: Sem resfriado (RF) nem inflamação na garganta (IG), com probabilidade 0.05 eu acordo com garganta doída (GD). Se tenho apenas RF, a probabilidade de GD é de 0.4. Se tenho IG média, a probabilidade é de 0.7. Se é IG severa, certamente terei GD. Além disso, não tenho experiência suficiente com relação a RF e IG média.

Page 23: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

Solução Noisy-OR:Assume-se que Resfriado e Inflamação afetam Dor de Garganta independen-

temente. Temos então 3 inibidores independentes para dor de garganta: um básico (atua com prob 1-0.05=0.95), um para resfriado (atua com prob 1-0.4=0.6) e um para inflamação média (atua com prob 1-0.7=0.3).

P(GD =n | RF=y,GI= n) = (1-0.05) (1-0.4) = 0.95 0.6 P(GD =n | RF=y,GI=m) = (1-0.05) (1-0.4) (1-0.7) = 0.95 0.6 0.3 P(GD =y | RF=y,GI= n) = 1 - 0.95 0.6 P(GD =y | RF=y,GI=m) = 1 - 0.95 0.6 0.3

Solução Geral: P(A | B_A, C_A) é porta OU – Lógica.

Page 24: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

Divorcing (separação de pais)Se uma variável de uma rede bayesiana possui muitos pais, pode ser muito

difícil obter sua tabela de probabilidades condicionais. Podemos então agrupar as causas em “departamentos”.

Exemplo: Para um banco decidir emprestar dinheiro a um cliente, ele deve observar dados pessoais (idade, endereço, estado civil e número de filhos), dados de saúde (número de cirurgias, alergias, plano de saúde), dados financeiros (número de carros, preço da casa, investimentos) , dados trabalhistas (emprego, salário, status), etc..

Page 25: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

Modelos DinâmicosModelos dinâmicos são modelos de redes bayesianas em que as variáveis são relativas

a um tempo específico, chamado fatia de tempo (time slice), que são conectadas entre si por links temporais.

Exemplo: Teste do Leite

Classificação dos Modelos Dinâmicos Modelo Temporal Repetitivo: Se fatias de tempo e links temporais são iguais Modelo Estritamente Repetitivo: Se também as probabilidades condicionais

são idênticas Modelo Escondido de Markov: Se também possui a propriedade de Markov,

(o passado não afeta o futuro dado o presente) (Hidden Markov models). Filtro de Kalman: Se também só uma variável tem pais fora da fatia de tempo. Cadeia de Markov: Se também cada fatia de tempo possui só uma variável

Page 26: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Modelamento

Discordância entre Especialistas Em muitas situações, por causa da escassez de dados, é preciso obter as

probabilidades condicionais através de dados subjetivos de especialistas. No entanto, pode haver discordância entre os especialistas.

Exemplo: Especialistas X, Y e Z concordam nos valores de P(B) e P(C | A), mas discordam nos valores de P(A) e P(D | B,C).

Solução: Adicionar um nó ES, onde cada estado representa um especialista. ES será pai das variáveis de discordância A e D.

P (A | ES) e P (D | B, C, ES) representarão os valores de cada especialista.

P (ES) representará a confiança em cada especialista. Por exemplo, se Z é duas vezes mais confiável que X e Y, então P (ES)=(0.25,0.25,0.5).

Page 27: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Ferramentas

Análise de Sensibilidade

A análise de sensibilidade mede o quão sensível são as respostas da rede com relação a pequenas alterações. Essas alterações podem ser de dois tipos:

Variação nos parâmetros do modelo Variação nas evidências da rede

Com isso, a análise de sensibilidade pode corrigir problemas no modelamento da rede, bem como na estrutura e nos parâmetros, pois pode verificar se o relacionamento entre duas variáveis está de fato como esperado.

Page 28: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Ferramentas

Variáveis Discretas x ContínuasPor definição, as variáveis de uma rede bayesiana são discretas. No

entanto, existem formas de se permitir o uso de variáveis contínuas.

Existem duas principais restrições de cunho matemático. Uma variável discreta não pode ter como pai uma variável

contínua. Redes bayesianas podem trabalhar apenas com distribuições

condicionais Gaussianas (combinação linear de distribuições normais dos pais da variável).

Redes bayesianas com variáveis discretas e contínuas são chamadas redes bayesianas híbridas. Redes bayesianas com apenas variáveis contínuas são chamadas redes bayesianas contínuas.

Page 29: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Ferramentas

Variáveis Discretas x Contínuas

Solução 1: Discretização

Exemplo: Temperatura para febre pode variar de - a +. Discretizar para três estados: sem-febre (- a 37.5), febre-baixa (37.5 a 38.5) e febre-alta (38.5 a +).

Solução 2: Tratar distribuições condicionais Gaussianas analiticamente + Restrições. Essa solução aplica-se apenas a redes bayesianas contínuas.

Solução 3: Tratar distribuições condicionais Gaussianas analiticamente + distribuição logistic/softmax para nós discretos com pais contínuos. (Nesse caso, algoritmos exatos de inferência não podem ser aplicados)

Page 30: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Redes Bayesianas – Aprendizado

AprendizadoDado um banco de dados, é possível aprender a estrutura e os parâmetros de

uma rede bayesiana. O aprendizado da estrutura é muito mais difícil e impreciso. Existem vários

algoritmos e não há consenso sobre o melhor: K2, PC, NPC, BPC, CBL A dificuldade aumenta também quando há informação incompleta.

Exemplo: (A,B,C) → (a2,b1,c3),(a1,b3,--),(a2,b2,c1),(a3,--,c2)

Adaptação: Alteração dos parâmetros da rede, com a introdução de novas informações.

Sintonia: Alteração dos parâmetros da rede a fim de obter um resultado de probabilidade a posteriori de uma variável dada.

Page 31: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Grafos de Decisão

Grafos de Decisão (Diagramas de Influência): Redes bayesianas com variáveis especiais de decisão e de utilidade.

Arestas de precedência: identifica a ordem de sequência entre os vértices de decisão.

Arestas de informação: De uma variável comum para uma de decisão, para observação antes da decisão.

Variáveis de decisão evidenciam as variáveis filhas.

Variáveis de utilidade “calculam” o valor de uma função baseada nos pais. São usadas para medir o efeito das decisões.

Page 32: Redes Bayesianas - Introdução Rudini Sampaio DCC / UFLA

Rudini Sampaio DCC-UFLA

Grafos de Decisão

Função de Utilidade: Aposta entre escolher levar R$ 1.000.000,00 ou apostar com uma moeda R$ 3.000.000,00 ou nada. O valor esperado da aposta é de R$ 1.500.000,00. Isso significa que a aposta é melhor?

Solução: Pobres e milionários tomariam decisões diferentes.

Variáveis classificadas de acordo com o tempo de observação.

Exemplo: I0={B}, I1={E,F}, I2=, I3={G} e I4={A,C,D,H,I,J,K,L}.

Quando uma decisão é tomada, a respectiva variável de decisão se comporta exatamente como uma variável que recebeu uma evidência

Na existência de mais de um nó de utilidade, suas funções devem ser medidas em uma mesma escala de utilidade. A utilidade total é a soma das funções de utilidade.

Decisão ótima é a que minimiza a utilidade total.