Title: Slide sem t
1Seção 6 ESTATÍSTICA EM ENGENHARIA E CIÊNCIAS
EXATAS Título
Geração de redes Bayesianas por
Metropolis-Hastings
Jaime Shinsuke Ide Fábio Gagliardi
Cozman Escola Politécnica, Universidade de São
Paulo Av. Prof. Mello Moraes, 2231, 05508-900,
São Paulo, SP Brasil jaime.ide_at_poli.usp.br,
fgcozman_at_usp.br
1
2Resumo
Este trabalho apresenta métodos para geração
uniforme de redes Bayesianas (modelos baseados em
grafos direcionados para representação de
distribuições conjuntas). Redes Bayesianas foram
originalmente propostas pela comunidade de
inteligência artificial na década de 80 e tem
sido aplicadas em uma enorme variedade de
problemas de decisão e diagnóstico automatizado.
Inúmeros trabalhos tem sido propostos para
inferência e estimação de redes Bayesianas, e
testes tem sido conduzidos em conjuntos de redes
selecionados arbitrariamente. Até o momento não
existe nenhum método na literatura que permita
gerar redes Bayesianas de forma uniforme. A
proposta deste trabalho é construir um gerador
aleatório e uniforme de redes Bayesianas com
características determinadas pelo usuário (tipo
de estrutura, tipo de distribuições de
probabilidade associadas, número máximo de arcos
ou número máximo de arcos por nó e número de
nós). Para tanto, empregam-se cadeias de Markov
para geração da estrutura da rede (informação
qualitativa) e métodos baseados em distribuições
Dirichlet para geração das distribuições de
probabilidades associadas a cada nó (informação
quantitativa). O método para geração de
estruturas foca tanto a geração de grafos
multi-conectados quanto de grafos conectados de
forma única (polytrees). O método desenvolvido
foi implementado e o programa resultante
(BNGenerator) está disponível na Internet pelo
endereço http//www.pmr.poli.usp.br/ltd/Software
/BNGenerator/index.html
2
3MOTIVAÇÃO DO TRABALHO
Inteligência Artificial (incertezas)
Redes Bayesianas (RB)
BNGenerator
Geração de RB
Algoritmos de Inferência
Gibbs sampler
Métodos Aproximados
Geração de DAG
Geração de distribuições condicionais
(Estrutura do grafo)
Métodos MCMC
números quasi- aleatórios
Motivação Inúmeros trabalhos tem sido propostos
para inferência e estimação de redes Bayesianas,
e testes tem sido conduzidos em conjunto com
redes selecionados arbitrariamente. Até o momento
não existe nenhum método na literatura que
permita gerar redes Bayesianas de forma uniforme.
A proposta deste trabalho é construir um gerador
aleatório e uniforme de redes Bayesianas com
características determinadas pelo usuário (tipo
de estrutura, tipo de distribuições de
probabilidade associadas, etc).
3
4REDES BAYESIANAS - BN
Ilustração Rede com 3 nós.
Nó representa uma variável de interesse.
- Definição
- Grafos acíclicos direcionados. (Directed Acyclic
Graph - DAG) - Cada variável está associada à uma distribuição
de probabilidade. - Distribuição Conjunta definida por
Arco indica uma dependência causal e de
informação entre duas variáveis
p(A,B,C) p(A).p(B/A).p(C/A)
p (C/A) 0 0 0,3 0 1 0,2 1 0
0,7 1 1 0,8
p (A) A0 0,3 A1 0,7
- Resultadorepresentação compacta e eficiente.
4
5REDES BAYESIANAS - BN
Grafos
Tipos diferentes de estruturas de grafos
Não direcionados
Direcionados
Conectado
Desconectado
Acíclico
Cíclico
Uni-conectado (árvore)
Multi-conectado
Ilustrações para cada tipo de estrutura
Árvore simples
Polytree
5
6Geração aleatória de redes Bayesianas
Nó representa uma variável de interesse.
- Para gerar (construir) uma rede Bayesiana
precisamos - Gerar a estrutura (grafo)
- Gerar as distribuições condicionais associadas a
cada nó
Arco indica uma dependência causal e de
informação entre duas variáveis
p(A,B,C) p(A).p(B/A).p(C/A)
p (C/A) 0 0 0,3 0 1 0,2 1 0
0,7 1 1 0,8
A parte mais difícil é a geração de grafos (de
maneira controlada)
p (A) A0 0,3 A1 0,7
6
7Geração de distribuições de probabilidade
Distribuições a serem geradas de forma uniforme
- Metodologia geral
- Para uma distribuição com k valores, emprega-se
a distribuição multivariável de Dirchlet de
dimensão k. Para isso, define-se k parâmetros
(?1,?2,...,?k). - Para se ter distribuição uniforme, define-se ?s
1. - Geração
- - Sorteia-se k valores de uU(0,1)
- - Computar - log(u) para cada u
- - Normalizar os k valores obtidos
Sejam as variáveis binárias A, B e C
p (C/A,B) 0 0 0 0,1 0 0 1
0,2 0 1 0 0,3 0 1 1 0,4 1
0 0 0,9 1 0 1 0,8 1 1 0
0,7 1 1 1 0,6
0,1 0,9
0,2 0,8
0,3 0,7
0,4 0,6
7
8Geração de Grafos - DAG
- Dimensão da dificuldade. O número de estruturas
de grafos possíveis cresce super-exponencialmente
em função do número de nós. - Métodos heurísticos são propostos para geração
de redes Bayesianas. Não garante sobre a
distribuição dos grafos gerados. - É desejável que se possua controle sobre a
geração do grafo. - Geração uniforme de grafos significa que cada
grafo tem a mesma probabilidade de ser gerado,
dentro do domínio de todos os grafos possíveis.
8
9Geração de Grafos - DAG Empregando Cadeias de
Markov
- Idéia chave partir de um grafo (estado)
inicial, e gerar grafos subsequentes segundo uma
regra de transição de Markov que garante a
convergência da simulação. A cada n- iterações
suficientes para a convergência, o grafo (estado)
atual é selecionado para a amostra. Estes grafos
selecionados constituirão uma amostra uniforme de
grafos com determinadas características. - Condições que devem ser satisfeitas
- Irredutibilidade
- Aperiodicidade
- Matriz de transição duplamente estocástica
Cadeia de Markov Ergódica Distribuição
estacionária converge para uniforme
9
10Geração de Grafos - DAG Empregando Cadeias de
Markov
Exemplo de geração de grafo multi-conectado com
3 nós
estado 1
estado 2
P21(1,2)1/6
estado 0
P01(0,2)1/6
.
.
.
P10(0,2)1/6
P12(1,2)1/6
P22
P005/6
P111/2
estado 3
P31(0,1)1/6
.
.
.
P13(0,1)1/6
P33
- Regra de transição
- Sortear um arco(i,j), com probabilidade 1/6
- Se o arco(i,j) existir, manter atual estado
- Senão, adicionar o arco(i,j)
10
11Geração de Grafos - DAG Grafo multi-conectado
Teorema 1- A matriz de transição definida pelo
Algoritmo 1 é duplamente estocástica. Teorema 2 -
A cadeia de Markov gerada pelo Algoritmo 1 é
irredutível. Teorema 3 - A cadeia de Markov
gerada é aperiódica. Teorema 4 - A cadeia de
Markov gerada é ergódica e sua distribuição
estacionária única converge para a distribuição
uniforme.
11
12Geração de Grafos - DAG Polytree
12
13Resultados Experimentais
BNGenerator
( http//www.pmr.poli.usp.br/ltd/Software/BNGenera
tor/index.html)
- Geração aleatória e uniforme de redes Bayesianas
- Programa desenvolvido em Java BNGenerator
- Linha de comando do BNGenerator
java BnGenerator -nNodes 20 -maxDegree 3 -nGraphs
1 -format xml -nval 4 -fName Poly1 -structure
singly
Visualização (no sistema JavaBayes -
http//www-2.cs.cmu.edu/javabayes ) de uma
polytree de 20 nós gerada pelo BNGenerator.
13
14Distribuição experimental de grafos
BNGenerator
4 nós maxDegree 3 446 diferentes tipos de grafos
5 nós maxDegree 3 128 diferentes tipos
14
15Conclusões
- O gerador aleatório de redes Bayesianas
desenvolvido, BNGenerator, é algo inédito na
área. Devido à sua característica de possibilitar
o controle da estrutura da rede gerada. Vale a
pena ressaltar que a metodologia desenvolvida,
empregando cadeias de Markov, para geração
aleatória de redes é flexível o suficiente para
aplicá-la a diversos tipos de estruturas de
interesse. - A desvantagem do método é a dificuldade em
determinar o número de iterações necessários para
a convergência da cadeia de Markov. O
inconveniente é superado, adotando-se um número
grande de iterações e constatou-se que o
algoritmo desenvolvido é rápido, podendo
processar muitas iterações em pouco tempo. - Provas teóricas sobre o método desenvolvido
encontra-se no artigo - Random generation of Bayesian networks. XI
Simpósio em Inteligência Artificial (SBIA2002),
Recife, 2002. (artigo aceito, a ser publicado) - O uso de amostras uniformes de redes Bayesianas
para análise de métodos MCMC de inferência é
apresentado em - Testing MCMC algorithms with ramdomly generated
Bayesian networks. I Workshop de Teses e
Dissertações em Inteligência Artificial -
WTDIA'02, realizado junto ao SBIA2002. (artigo
submetido)
15