estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas felipe leal...

65
Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação: Ricardo Martins de Abreu Silva

Upload: internet

Post on 21-Apr-2015

105 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas

Felipe Leal Valentim

Orientação: Rudini Menezes Sampaio

Co-Orientação: Ricardo Martins de Abreu Silva

Page 2: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Roteiro

1) Fundamentos da teoria da probabilidade2) Redes bayesianas3) Inferência bayesiana 4) Aprendizado de parâmetros5) Aprendizado de estrutura6) O sistema UFLABayes7) Resultados8) Conclusões

Page 3: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Fundamentos da Teoria da probabilidadeVariável aleatória

Algo que se refere a “parte” do mundo cujo “status” é inicialmente desconhecido. Por exemplo, DorDeCabeça poderia se referir ao fato de uma pessoa estar sentindo uma dor de cabeça, e inicialmente não se sabe se o “status” seria verdadeiro ou falso.Classificação dependendo do tipo do domínio:

– Booleanas : DorDeCabeça = (verdadeiro, falso)– Discretas : Tempo = ( ensolarado, chuvoso, nublado)– Contínuas : Renda = (Renda<350, 351<Renda<900, Renda >900)

Page 4: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Fundamentos da Teoria da probabilidadeProbabilidade incondicional

Notação: P(A)

A probabilidade a priori (P(A)), só deverá ser usada na ausência de outra evidência

Ex: P(cárie=verdadeiro) = 0.1 - significa que, como não há outra informação, a probabilidade de um paciente ter cárie é de 10%

Distribuição de probabilidade a priori: P(tempo = chuvoso) = 0.28

P(tempo = ensolarado) = 0.7

P(tempo = nublado) = 0.02

P(tempo) = (0.28, 0.7, 0.02) - distribuição a priori

Page 5: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Fundamentos da Teoria da probabilidadeProbabilidade condicional

Notação: P(A|B) Usada quando se tem alguma evidência no domínio

da aplicação Representa a probabilidade de A “dado que tudo

que sabemos” é B Ex: P(Cárie|DorDeDente) = 0.8 - indica que se a

única evidência é que o paciente tem dor de dente, então a probabilidade dele ter cárie será 80%

P(A|B,C) A probabilidade a priori é um caso especial da

probabilidade condicional - P(A|)

Page 6: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Fundamentos da Teoria da ProbabilidadeRegra do produto

• Probabilidade condicional pode ser definida em termos da probabilidade a priori. Denotada pela equação:

P(A,B) = P(A|B) P(B)

ou

P(A,B) = P(B|A) P(A)

Regra do produto

“Para que A e B sejam verdadeiros é necessário B ser verdadeiro e então A ser verdadeiro dado B”

Page 7: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

O Teorema de Bayes

Dada as duas equações da regra do produto:

P(A,B) = P(A|B) P(B)

P(A,B) = P(B|A) P(A)

Igualando e dividindo as equações por P(A), obtém-se:

P(B|A) = P(A|B) P(B)

P(A)

Esta equação é conhecida como Regra de Bayes (Lei de Bayes ou Teorema de Bayes) que representa a base da maioria dos sistemas de IA para inferência probabilística

Page 8: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Fundamentos da Teoria da ProbabilidadeExemplo

Câncer de mama

Mamografia + -

+ 80% 0,96%

- 20% 99,04%

Prob. Condicional de Mamografia dado Câncer

Câncer de mama

+ -

1% 99%

Probabilidade a priori de Câncer

Antes de qualquer observação, qual a probabilidade deuma mulher se depararcom um exame de mamografia com resultado positivo?

P(mamo+) = P(mamo+ | cancer+)*P(cancer+)

+ P(mamo+ | cancer-)*P(cancer-) =

= 80%*1% + 0,96%*99% = 1,7504%

Teorema de Bayes

De posse de uma mamografiacom resultado positivoqual é a probabilidade de uma mulher estarcom câncer de mama?

P(cancer+ | mamo+) = P(mamo+ | cancer+)

*P(cancer+) / P(mamo+) = 80%*1% / 1,7504%

= 45,7% (probabilidade a posteriori)

Marginalização

Page 9: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

2) Redes bayesianas

Uma Rede Bayesiana é um grafo acíclico e dirigido onde: Cada nó da rede representa uma variável aleatória Um conjunto de ligações ou arcos dirigidos conectam pares de nós cada nó recebe arcos dos nós que tem influência direta sobre ele. Cada nó possui uma tabela de probabilidade condicional associada

que quantifica os efeitos que os pais têm sobre ele

É composta por dois elementos: Estrutura gráfica S; Parâmetros numéricos Θ.

Page 10: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Definição de redes bayesianas

= P(S) P(C|S) P(B|S) P(X|C,S) P(D|C,B)

Cancer

Fumar

Raio-X

Bronquite

Dispnea

P(S, C, B, X, D)

P(D|C,B)

P(B|S)

P(S)

P(X|C,S)

P(C|S)

Permite uma representação eficiente da distribuição conjunta total!

CausaCausa

EfeitoEfeito

Page 11: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Construção de redes bayesianas

1. Defina uma ordenação para as variáveis;

2. Enquanto restarem variáveis no conjunto

3. Selecione uma variável Xi e adicione um nó para ela à rede;

4. Defina os pais de Xi (pa(Xi)) com algum conjunto mínimo de nós que já

estão na rede.

6. Defina a tabela de probabilidades condicionais de Xi;

[RUSSEL & NORVIG, 2003]

Page 12: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Construção de redes bayesianas Exemplo Rede Alarme

Ladrão Terremoto

Alarme

MariaLiga JoãoLiga

P(T)

0,002

P(L)

0,001

L 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

Ordem: L T A J M

Page 13: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

3) Inferência bayesiana

A tarefa básica de um sistema de redes bayesianas é computar a distribuição da probabilidade condicional para um conjunto de variáveis de consulta, dado os valores de um conjunto de variáveis de evidência

P(Variável_consulta|Variáveis_Evidência)

Page 14: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Classificação dos Algoritmos de Inferência [CASTILHO & GUTIERREZ, 1997]

Exatos Aproximados Simbólicos

Principais Algoritmos Exatos Eliminação de Variáveis [RUSSEL & NORVIG, 2004; COZMAN, 2001] Enumeração [RUSSEL & NORVIG, 2004] Junction Tree

Principais Algoritmos Aproximados Forward Sampling [RUSSEL & NORVIG, 2004] Likelihood Weighting [FUNG & CHANG, 1990, RUSSEL & NORVIG, 2004] Gibbs Sampling [GEMAN & GEMAN, 1984; RUSSEL & NORVIG, 2003] Metropolis-hasting

Inferência bayesiana

Page 15: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Métodos exatos de inferência

Montar uma tabela de distribuição conjunta total é uma maneira muito ineficiente de se computar a inferência exata:

Complexidade de Tempo = O(n2n) Complexidade de espaço = O(2n)

Page 16: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo de Enumeração

A idéia básica do algoritmo de Enumeração é avaliar a equação (1) sem ter que montar explicitamente a tabela de probabilidade conjunta total.

Apenas, percorrem-se os nós da rede propagando as evidências e extraindo as probabilidades para que sejam feitas os somatórios e multiplicações necessárias.

( | ) ( , , )y

P X E P X e y Equação 1

Page 17: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo de Enumeração

BB EE

AA

MM JJ

P(B|J,M)?? ( | , ) ( , , ) ( , , , , )e a

P B j m P B j m P B e a j m Equação 1

Evidências

Variável de consulta

Page 18: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo de Enumeração

Nota-se que a Figura torna explícita as subexpressões

repetidas que são avaliadas pelo algoritmo.

Os produtos P(j | a)P(m | a) e P(j | a)P(m | a) são calculados

duas vezes, um para cada valore de e.

Page 19: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo de Eliminação de variáveis

Elimina os cálculos repetidos do algoritmo de Enumeração;

A idéia é simples : efetuar o cálculo apenas uma vez e guardar os resultados para uso posterior;

Esta é uma forma de programação dinâmica.

Page 20: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo de Eliminação de variáveisExemplo

BB EE

AA

MM JJEvidências

Variável de consulta

B = Burglary

E = Earthquake

M = MaryCalls

J = JohnCalls

Page 21: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Variável de consulta : BEvidências : J = true , M = trueOrdenação das variáveis : M, J, A, B, E (das folhas para a raiz)

Factores : [ ]Variável analisada:

[ fM(A) ]

M

[fJ(A) , fM(A) ]

J

[fA(A,B,E) , fJ(A) , fM(A) ]

A

• Como a variável A é oculta vai-se eliminá-la (através da soma). Para isso é necessário:

• Efetuar o produto pontual dos factores que têm o parâmetro A:

• fAJM(A,B,E) = fA(A,B,E) x fJ(A) x fM(A)

• Eliminar a variável A obtendo o factor fÂJM(B,E)

[ fÂJM(B,E) ]

B

[ fB(B) , fÂJM(B,E) ]

E

[fE(E) , fB(B) , fÂJM(B,E) ][fB(B) , fÊÂJM(B) ]

Page 22: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo de Eliminação de variáveis

Problemas do algoritmo Eliminação de variáveis:

A configuração inicial das variáveis influencia no tempo de execução dos algoritmos.

Encontrar uma configuração inicial ótima é um problema NP-Completo.

Page 23: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos aproximados de inferência

Utilizam distintas técnicas de simulação para obter valores aproximados das probabilidades

Classificação:– Simulação estocástica– Simplificação de modelos– Busca e propagação de crenças em ciclos

Simulação estocásticaSimula o fluxo do impacto ou influência da evidência sobre o resto das variáveis

Page 24: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo Forward Sampling

O Forward Sampling é um algoritmo para produzir amostras de uma distribuição difícil de amostrar a partir de uma distribuição fácil de amostrar.

Page 25: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

BB

AA

CC

DD EE

A B C D E

y n y n y n y n y n

0 0 0 0 0

A B C D E

Contador das amostras geradas:

Amostra geradas:

A

y n

0.4 0.6A

B y n

y 0.3 0.8

n 0.7 0.2

A

C y n

y 0.7 0.4

n 0.3 0.6

B

D y n

y 0.5 0.1

n 0.5 0.9

B E

Evidências:

E

C D y n

y y 0.9 0.1

y n 0.999 0.001

n y 0.999 0.001

n n 0.999 0.001

Número aleatório: 0.55

n

Amostra gerada: A = n

Distribuição analisada :P(A): (0.4,0.6)P(B|A=n) : (0.8,0.2)

0.9B = n

n

P(C|A=n) : (0.4,0.6)

0.5C = n

n

P(D|B=n) : (0.1,0.9)

0.01D = y

y

P(E|C=n,D=y) :(0.999, 0.001)

0,8E = y

y

n y

Amostras Consistentes !!!

01 0 0 0 01 1 1 1

Forward Sampling

Page 26: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Forward Sampling

Problemas do Forward Sampling Se uma evidência é muito rara, a maioria das

configurações geradas serão rejeitadas e será necessário muitas simulações para se gerar um número razoável de configurações compatíveis.

A fração de amostras consistentes com a evidência cai exponencialmente conforme o número de variáveis de evidência cresce, assim, esse algoritmo é simplesmente inútil para problemas complexos.

Page 27: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo Likelihood Weighting

Resolve o problema de rejeições do Forward Sampling, gerando apenas amostras consistentes;

Cada evento gerado é ponderado pela probabilidade de que o evento concorde com a evidência, medida pela função de ponderação:

1

( , ) ( | ( ))m

i ii

w z e P e pa E

Page 28: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

BB

AA

CC

DD EE

A B C D E

y n y n y n y n y n

0 0 1 0 1 0 0

A B C D E

n y

Amostras geradas:

A

y n

0.4 0.6

A

B y n

y 0.3 0.8

n 0.7 0.2

A

C y n

y 0.7 0.4

n 0.3 0.6

B

D y n

y 0.5 0.1

n 0.5 0.9

B D

n y

E

C D y n

y y 0.9 0.1

y n 0.999 0.001

n y 0.999 0.001

n n 0.999 0.001

Evidências:

Evidência?não sim

Peso = Gera amostra Atualiza peso

Distribuição :

Número aleatório:

Amostra gerada:

P(A) = (0.4 , 0.6)

0.3

A = y

y

1

Peso = Peso * P(B=n|A=y)

Peso = 0.7

0.7P(C|A=y) = (0.7,0.3)

0.75

C = n

n

Peso = Peso * P(D=y|B=n)

Peso = 0.07

0.07P(E|C=n,D=y) = (0.999,0.001)

0,55

C = y

y

Contador das amostras geradas:

0 0 00.07 0.07 0.07

Likelihood Weighting

Page 29: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo Gibbs Sampling

Gera cada amostra baseado na configuração gerada pela amostra anterior e atualiza a configuração atual para amostras futuras;

Depende de uma configuração inicial; A estimativa do algoritmo é baseada na

probabilidade da variável fazer a transição de um estado para outro – probabilidade de transição

Page 30: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Cobertura de Markov

Um nó é condicionalmente independente de todos os outros nós na rede, dados seus pais e pais dos filhos – isso é, dada sua cobertura de Markov:

O conjunto de nós em cinza representa a Cobertura de Markov de A

Page 31: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

BB

AA

CC

DD EE

A B C D E

y n y n y n y n y n

A B C D E

Contador das amostras geradas:

Configuração atual:

A

y n

0.4 0.6

A

B y n

y 0.3 0.8

n 0.7 0.2

A

C y n

y 0.7 0.4

n 0.3 0.6

B

D y n

y 0.5 0.1

n 0.5 0.9

B E

n n

Evidências:

E

C D y n

y y 0.9 0.1

y n 0.999 0.001

n y 0.999 0.001

n n 0.999 0.001

Número aleatório:Amostra gerada:

Distribuição analisada :Distribuição :Cobertura de Markov :

y n y y n

B, Cα ( P(A=y) *P(B=n|A=y)*P(C=y|A=y) , P(A=n) *P(B=n|A=n)*P(C=y|A=n) )

(0.8 , 0.2) 0,45

A = y

y

0 0 0 0 0000001 1 1 1 1

A, D, Eα( P(C=y|A=y)*P(A=y)*P(D=y|B=n)*P(E=n|C=y,D=n) , P(C=n|A=y)*P(A=y)*P(D=y|B=n)*P(E=n|C=n,D=n))

(0.7 , 0.3)0.85

C = n

n

2 212 2

B,C,Eα(P(D=y|B=n)*P(B=n|A=y)*P(C=n|A=y)*P(E=n|C=n,D=y) ,P(D=n|B=n)*P(B=n|A=y)*P(C=n|A=y)*P(E=n|C=n,D=n))

(0.1 , 0.9)0,55

D = n

n

3 3 2 1 3

Gibbs Sampling

Page 32: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Gibbs Sampling

Problema 1: Se a configuração inicial é pouco provável, as primeiras serão pouco representativas.

Solução: Burn-in (Descartar as primeiras 5-10% das configurações)

Problema 2: As configurações podem ficar restritas a certas configurações. Solução: Para alcançar as configurações mais prováveis, uma variável poderia alterar seu estado um estado altamente improvável.

Problema 3: Pode ser muito difícil obter uma configuração inicial (NP-Difícil)Solução: Usar heurísticas para determinar a configuração.

O algoritmo Forward Samplig pode ser usado para determinar uma configuração inicial,

Page 33: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo Gibbs Weighting*

Analisa a mesma distribuição que o algoritmo Gibbs Sampling, e gera amostras da mesma forma que esse algoritmo, porém, atualiza a contagem segundo a função de ponderação, como o algoritmo Likelihood Weighting.

Page 34: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

4) Aprendizado de parâmetros

Consiste em aprender automaticamente as TPC´s de uma rede bayesiana, dada a sua estrutura e uma base de dados.

DadosAlgoritmo

de Aprendizado de Parâmetros

C

E

D

A

B

+

B E P(A|B,E) e b 0,90 0,10 e ~b 0,70 0,30

~e b 0,72 0,28 ~e ~b 0,99 0,01

C

E

D

A

B

Page 35: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo AprendeParametros para aprendizado de parâmetros

AA

BB CC

DD EE

P(A)

P(B|A)

P(D|B)

P(C|A)

P(E|C,D)

A B C D E

v f v

f f v

v f v

v f v

v f f

f f f

v f v

v f v

v v f

f f v

C

A

TPC de C:Base de dados:

f

v

f

v

f

f

f

f

f

f

v

v

f

v

v

v

v

v

v

f

v

v

f

f

1 17 1

Normalizando

0.5 0.5

0.1250.875

Page 36: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

5) Aprendizado de estrutura

Consiste em aprender automaticamente a estrutura gráfica de uma rede bayesiana, dada uma base de dados.

DadosAlgoritmo

de aprendizado de estrutura C

E

D

A

B

+

Conhecimentode Fundo

Page 37: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Aprendizado de estrutura

Duas abordagens principais para o aprendizado de estrutura:

Métodos baseados em Busca e Pontuação– Vantagem: Menor complexidade no tempo– Desvantagem: Não garante encontrar melhor soluçãoAlgoritmos:

- K2

Métodos baseados em análise de dependência– Vantagem: Sob certas condições, encontra a melhor solução– Desvantagem: Teste de independência com uma quantidade muito

grande de variáveis pode se tornar inviávelAlgoritmos:

- PC- CBL

Page 38: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de busca e pontuação

Busca no espaço de estruturas a “melhor” estrutura Definição da medida de avaliação (Pontuação) Processo de busca prossegue enquanto a

pontuação de uma rede for significativamente melhor que a anterior

Page 39: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo K2 (Busca e pontuação)

Busca entre as 2n(n-1)/2 configurações possíveis a que maximiza a função de pontuação (n = nº de variáveis).

Necessita de uma ordenação prévias das variáveis.

A ordenação das variáveis garante que a estrutura da rede não terá ciclos.

Page 40: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo K2 (Busca e pontuação)

AA CC DDBB

Ordenação: A, B, C e D

MAX(Função de pontuação)

Page 41: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de análise de dependência

Procura uma rede que represente da melhor maneira possível a distribuição conjunta que surge da amostra aleatória

É fundamental que esta rede represente todas as relações de independência e dependência da distribuição conjunta induzida pela amostra.

As principais diferenças entre os algoritmos do enfoque análise de dependência são: a maneira como os conjuntos de variáveis S são determinados e as regras para associar direções aos arcos.

Page 42: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

6) O Sistema UFLABayes

Implementado em Java; Implementado em camadas de interface gráfica, IO,

aprendizado e inferência; Permite a inferência, aprendizado de parâmetros e

de estrutura de forma sistêmica; As operações são dividas em módulos: módulo de

inferência,módulo aprendizado de parâmetros, módulo de aprendizado de estrutura;

Page 43: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

O Sistema UFLABayes

Algoritmos Implementados• Algoritmos de inferência

• Enumeração• Eliminação de variáveis• Forward Sampling• Likelihood Weighting• Gibbs Sampling• Gibbs Sampling Burn-in • Gibbs Weighting

• Algoritmo de aprendizado de parâmetros• Algoritmo AprendeParâmetros

• Algoritmo de aprendizado de estrutura• Algoritmo K2

Page 44: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

7) Resultados

8.1) O Sistema UFLABayes

8.2) Algoritmos de Inferência exata - Tempo de execução

8.3) Algoritmos de inferência aproximada - Convergência

8.4) Algoritmo de aprendizado de parâmetros - Divergência KL

8.5) Algoritmo de aprendizado de estrutura - Análise estrutural

Page 45: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

O Sistema UFLABayes

Constitui-se de uma ferramenta computacional que permite o aprendizado e a inferência através dos diferentes algoritmos implementados, permitindo uma análise e comparação de cada método.

Apesar de ser bastante genérico, o sistema foi projetado de modo que possa atender problemas reais e ser utilizado como um sistema especialista.

O software será distribuído livremente.

Page 46: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de inferência exata – Análise de tempo de execução

Tempo de Execução (milisegundos) Número de variáveis

Enumeração Eliminação de Variáreis

15 15 3

21 20 4

38 32 5

47 45 7

67 59 8

15485 4875 20

Page 47: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos aproximados

Testados em redes de topologias diversas; Análise de precisão dos resultados variando

o número de simulações e o tempo de execução;

Page 48: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Rede de teste Asia

Page 49: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Rede de teste DogProblem

Page 50: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Rede de teste CarDiagnostic

Page 51: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de inferência aproximada – Análise de precisão - nº de iterações – Rede Asia

Page 52: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de inferência aproximada – Análise de precisão - nº de iterações – Rede DogProblem

Page 53: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de inferência aproximada – Análise de precisão - nº de iterações – Rede carDiagnostic

Page 54: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de inferência aproximada – Análise de precisão - Tempo – Rede Asia

Page 55: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de inferência aproximada – Análise de precisão - Tempo – Rede DogProblem

Page 56: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmos de inferência aproximada – Análise de precisão - Tempo – Rede carDiagnostic

Page 57: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo AprendeParametros – Análise da divergência KL

A divergência KL mede a qualidade de quaisquer probabilidades estimadas calculando a distância entre a probabilidade estimada e a probabilidade exata pela equação:

^

( | )( | ) log

( | )x X

P x eP x e

P x e

Page 58: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo AprendeParametros – Análise da divergência KL

Page 59: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Algoritmo K2 – Análise estrutural

Rede original Rede aprendida

Page 60: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Conclusões – Algoritmos para inferência exata

Enumeração– Fácil implementação;– Em redes menores é bem aceitável, porém,

Inviável para redes com muitos vértices – requer um tempo muito grande de processamento;

Eliminação de Variáveis– Melhoria substancial da eficiência em relação ao

algoritmo de Enumeração, porém ainda inviável para redes maiores;

Page 61: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Conclusões – Algoritmos para inferência aproximada

Forward Sampling– Eficiente em redes menores, porém inútil para problemas complexos

devido ao grande número de amostras rejeitadas; Likelihood Weighting

– Boa convergência, considerando o tempo e o número de simulações;– Fácil implementação;Gibbs Sampling– Algoritmo mais poderoso: melhor convergência considerando o tempo e

número de simulações;– O burn-in aumenta a eficiência do algoritmo quando um número grande de

simulações é requisitado; Gibbs Weighting

– Desempenho similar aos de seus precursores Gibbs Sampling e Likelihood Weighting.

– Boa convergência considerando o número de simulações, porém requer muito tempo para a convergência.

Page 62: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Conclusões – Algoritmos de aprendizado

Algoritmo K2– Aprende a estrutura da rede, mas necessita de muitos casos na

base dados (50.000 casos para uma rede com apenas oito e não encontrou o resultado ótimo) ;

– Não é uma tarefa barata cara coletar muitos dados para alimentar a base dados;

Algoritmo AprendeParâmetros– Converge para o resultado exato com o aumento de número de

casos na base de dados;– Necessidade de muitos casos para a convergência para o

resultado exato.

Os algoritmos de aprendizado fornecem uma ajuda valiosa para a modelagem de um problema utilizando redes bayesianas, porém, a ajuda de um especialista para validar ou re-calibrar os dados aprendidos não deve ser descartada.

Page 63: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Trabalhos Futuros

Analisar o impacto da ordenação de variáveis no tempo de execução do algoritmo Eliminação de Variáveis;

Implementar o algoritmo Junction Tree, para obter uma sequência melhor para algoritmo Eliminação de Variáveis (encontrar a sequência ótima de eliminação um problema NP-Completo).

Fazer análises mais sofisticadas nos algoritmos, buscando identificar outras propriedades que permitam uma maior contribuição para esta área;

Analisar possíveis melhorias e adaptações no algoritmo Gibbs Sampling;

.

Page 64: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Trabalhos Futuros

Estudar e implementar outros algoritmos de aprendizado de estrutura, baseados em diferentes métodos permitindo uma comparação entre eles;

Estudar as abordagens de aprendizagem de estrutura que trabalham quando a base de dados contêm dados faltosos;

Estudar a fundo as propriedades e características dos algoritmos de aprendizado de estrutura que permita uma maior contribuição para a área;

Implementar algoritmos de inferência e aprendizado para variáveis contínuas;

Especializar o sistema para atender a um problema real

Page 65: Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação:

Bibliografia

[CASTILHO & GUTIERREZ, 1997] CASTILHO E., GUTIERREZ J.. "Expert Systems and Probabilistic Network Models". Ed. Springer, 1997.

[COOPER & HERSKOVITS, 1992] COOPER G. F., HERSKOVITS E.. "A Bayesian method for the induction of probabilistic networks from data". Machine Learning, v. 9, p. 309-347, 1992.

[COZMAN, 2000] COZMAN F. G.. "Generalizing Variable Elimination in Bayesian Netorks". To appears: Workshop on Probabilistic Reasoning in Artificial Intelligence, Atibaia, 2000.

[FUNG & CHANG, 1990] FUNG R., CHANG K.C.. "Weighing and integrating evidence for stochastic simulation in Bayesian networks". In M. Henrion, R. Shachter, L. Kanal, & J. Lemmer (Eds.), Uncertainty in Artificial Intelligence 5. Amsterdam: Elsevier.

[GEMAN & GEMAN, 1984] GEMAN S., GEMAN D.. "Stochastic relaxation, Gibbs distribution and Bayesian restoration of images". IEE Transactions on Pattern Analysis and Machine Intelligence 6: p.721–741, 1984.

[JENSEN, 2001] JENSEN F.V.. "Bayesian Networks and Decision Graphs". Ed. Springer, 2001.[NEAPOLITAN, 1990] NEAPOLITAN R.E.. "Learning Bayesian Networks". Ed. Prentice Hall, 2003.[RUSSEL & NORVIG, 2004] RUSSEL S. J., NORVIG P.; "Inteligência Artificial". Tradução da 2a Edição.

Ed.Campus, 2004.[SILVA & LADEIRA , 2002] SILVA, W. T. da., LADEIRA, M. "Mineração de dados em redes Bayesianas". In:

CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO, 22., 2002, Florianópolis. Anais... Florianópolis: UFSC, 2002.