Algoritmos EM para Aprendizagem de Redes - FACOM

Transcrição

Algoritmos EM para Aprendizagem de Redes - FACOM
Algoritmos EM para
Aprendizagem de Redes
Bayesianas a partir de
Dados Incompletos
José Eduardo Ochoa Luna
Dissertação de Mestrado
Orientação: Profa. Dra. Maria Bernadete Zanusso
Área de Concentração: Inteligência Artificial
Dissertação apresentada como requisito para a obtenção do tı́tulo de mestre em Ciência
da Computação.
dct
ufms
Departamento de Computação e Estatı́stica
Centro de Ciências Exatas e Tecnologia
Universidade Federal de Mato Grosso do Sul
Julho/2004
Algoritmos EM para Aprendizagem de Redes Bayesianas a partir de
Dados Incompletos
Este exemplar corresponde à redação final
da tese devidamente corrigida
e defendida por José Eduardo Ochoa Luna
e aprovada pela comissão julgadora.
Campo Grande/MS, 29 de julho 2004.
Banca Examinadora:
• Profa. Dra. Maria Bernadete Zanusso (Orientadora) (DCT-UFMS)
• Prof. Dr. Wagner Texeira da Silva (CIC-UnB)
• Prof. Dr. Paulo Aristarco Pagliosa (DCT-UFMS)
Agradecimentos
A Deus, guia em cada passo dado.
À Professora Doutora Maria Bernadete Zanusso, por sua orientação, atenção, esclarecimentos importantes e confiança durante todo o decorrer deste trabalho.
À Fátima, em especial, pelo amor, carinho e a felicidade que significa partilhar cada
instante juntos.
A minha mãe Felicia, meu pai José Luis, e meus irmãos que sempre estiveram nos
meus pensamentos cada dia que estive longe de casa. Pelo amor e os ensinamentos que
foram e serão sempre importantes na minha vida.
Aos amigos e colegas do curso de Mestrado, cuja motivação e companheirismo sempre
foram de muita importância. Agradeço aos membros da banca examinadora, Professor
Doutor Wagner Texeira da Silva (UnB) e ao Professor Doutor Paulo Pagliosa (UFMS).
Aos professores e funcionários do DCT-UFMS.
Ao professor e amigo Marcelo Ladeira e ao pessoal do LARA-UnB pelo apoio durante
minha estada em Brasilia.
À Capes pelo apoio financeiro.
i
Resumo
O objetivo deste trabalho é implementar algoritmos de aprendizagem para redes bayesianas a partir de dados incompletos baseando-se no algoritmo Expectation Maximization
(EM). Redes bayesianas são modelos gráficos para representar incerteza e raciocinar com
probabilidades. São formadas de uma estrutura que define as relações de independência
entre variáveis, e de parâmetros numéricos que são as probabilidades condicionadas pela
estrutura. Em geral, um especialista define este modelo, porém, também pode-se aprender
a estrutura e parâmetros a partir de dados disponı́veis. Quando os dados são completos,
a aprendizagem das probabilidades é simples, pois são baseadas em freqüências. Quando
os dados são incompletos, o algoritmo EM permite determinar valores faltosos mediante
estimativas de máxima verossimilhança. Neste trabalho foi implementado o algoritmo
EM paramétrico de Lauritzen para completar os dados e realizar a aprendizagem das
probabilidades para o caso de uma estrutura qualquer. O algoritmo EM de Friedman
foi implementado para aprendizagem de estrutura baseando-se no paradigma de busca
e pontuação, o qual, entre várias estruturas candidatas, define a de maior pontuação,
segundo uma métrica, para ser a estrutura intermediária de um processo iterativo que
busca a estrutura ótima para os dados incompletos. O processo começa a partir de uma
estrutura aleatória, completa os dados a cada estrutura intermediária e aprende suas
probabilidades usando EM de Lauritzen. Do mesmo modo que as propostas atuais de
implementação oferece-se soluções descobrindo distribuições de probabilidades conjuntas
para futuras inferências e descoberta de relações causais entre variáveis, mas ainda estão
sujeitas a melhorias, principalmente quanto a otimizar o tempo de execução. As soluções
obtidas neste trabalho são semelhantes com as redes reais usadas para teste, como o
benchmark ALARM e outras, sendo que, para comparações, foi medida a qualidade das
probabilidades em termos da entropia cruzada e das estruturas aprendidas em termos
de diferenças topológicas, ou seja, inclusão ou exclusão correta de arcos. Com suporte
na plataforma da ferramenta UnBBayes o estudo foi desenvolvido ampliando, depois, sua
própria base para a construção de redes bayesianas e a realização de processos de inferência
diagnóstica ou preditiva no caso de dados incompletos.
ii
Abstract
The aim of this work is to implement algorithms for learning in bayesian networks from
incomplete data based on Expectation Maximization algorithm (EM). Bayesian networks
are graphical models for reasoning and representing probabilities. They are constituted
of a structure, which defines independence relationships between various variables, and
numerical parameters measuring the strong of the relationships. In geral, an expert defines this model, but, it is possible to learn both structure and parameters when data is
given. EM algorithm can be used when data contain missing values. In this work was
implemented parametric EM algorithm by Lauritzen, it consists of data completations
using bayesian inference and parameter learning as usual. For structure learning was
implemented structural EM algorithm by Friedman wich, based on search and score paradigm, choose the best structure among various candidats, using a particular metric. This
is an initial structure of an iterative process that search the best structure to incomplete
data. Given a random structure, complete data and for each intermediate structure make
parametric learning using Lauritzen’s algorithm. Current proposal of implementations,
provide solutions discovering joint probability distributions to future inferences and causal relationships between variables, but subject, mainly, to execution time optimization.
Research results are similar with real network tested that is Alarm benchmark and others.
In this case to make comparisons, quality of probabilities learned was measured, based
on cross entropy. For structures learned, topological differences were avaliated, indicating
added or missing arcs. It was increased UnBBayes tool funcionality, allowing predictive
and diagnostic inference and learning when incomplete data is available.
iii
Conteúdo
Resumo
ii
Abstract
iii
Lista de Figuras
viii
Lista de Tabelas
x
Lista de Abreviaturas
xi
Lista de Sı́mbolos
xii
1 Introdução
1
1.1
Justificativa e Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.2
Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.3
Perspectivas Futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.4
Organização do Texto
8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Redes Bayesianas
2.1
9
Fundamentos da Teoria da Probabilidade . . . . . . . . . . . . . . . . . . .
9
2.1.1
Experimento Aleatório, Espaço Amostral e Evento . . . . . . . . . . 10
2.1.2
Frequência Relativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.3
Axiomas da Probabilidade . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.4
Definição Freqüentista de Probabilidade (Intuitiva) - “A Posteriori”
2.1.5
Definição Clássica de Probabilidade (Laplace) - “A Priori” . . . . . 12
2.1.6
Variáveis Aleatórias e Proposições . . . . . . . . . . . . . . . . . . . 13
iv
12
Conteúdo
2.2
2.3
2.4
dct-ufms
2.1.7
Distribuição Conjunta, Marginal e Condicional . . . . . . . . . . . . 14
2.1.8
Independência Condicional . . . . . . . . . . . . . . . . . . . . . . . 15
Modelo Bayesiano de Probabilidade (Subjetivo) . . . . . . . . . . . . . . . 16
2.2.1
Teorema de Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2
Distribuição Multinomial e de Dirichlet . . . . . . . . . . . . . . . . 17
Redes Bayesianas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1
Definição de Rede Bayesiana . . . . . . . . . . . . . . . . . . . . . . 18
2.3.2
O Problema da Inferência . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.3
O Problema da Aprendizagem . . . . . . . . . . . . . . . . . . . . . 21
2.3.4
Por que usar Redes Bayesianas? . . . . . . . . . . . . . . . . . . . . 22
Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Inferência em Redes Bayesianas
3.1
25
Métodos Exatos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.1
Propagação de Evidências . . . . . . . . . . . . . . . . . . . . . . . 26
3.1.2
Propagação em Poliárvores . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.3
Propagação em Redes Multiconectadas . . . . . . . . . . . . . . . . 33
3.1.4
Algoritmo de Árvore de Junção . . . . . . . . . . . . . . . . . . . . 35
3.2
Métodos Aproximados - Simulação Estocástica . . . . . . . . . . . . . . . . 42
3.3
Métodos Simbólicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.4
Comentários Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4 Aprendizagem de Redes Bayesianas
47
4.1
Algoritmo Expectation Maximization EM . . . . . . . . . . . . . . . . . . . 48
4.2
Aprendizagem de Parâmetros . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3
4.4
4.2.1
Estrutura Conhecida e Dados Completos . . . . . . . . . . . . . . . 51
4.2.2
Estrutura Conhecida e Dados Incompletos - EM Paramétrico . . . . 54
Aprendizagem de Estrutura . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3.1
Dados Completos-Paradigma Busca e Pontuação . . . . . . . . . . . 58
4.3.2
Dados Incompletos-EM . . . . . . . . . . . . . . . . . . . . . . . . . 66
Comentários Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
v
Conteúdo
dct-ufms
5 Implementação e Resultados
73
5.1
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.2
Descrição dos Dados Usados . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.3
Metodologia Experimental . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.4
Aspectos de Implementação e Resultados . . . . . . . . . . . . . . . . . . . 78
5.5
5.4.1
Ambiente de Implementação . . . . . . . . . . . . . . . . . . . . . . 78
5.4.2
Algoritmo EM Paramétrico . . . . . . . . . . . . . . . . . . . . . . 82
5.4.3
Algoritmo EM Estrutural . . . . . . . . . . . . . . . . . . . . . . . 95
Comentários Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6 Conclusão
110
6.1
Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
6.2
Limitações Atuais e Sugestões para Trabalhos Futuros . . . . . . . . . . . . 112
Referências Bibliográficas
114
vi
Lista de Figuras
2.1
Estrutura de rede bayesiana para detecção de problemas de fraude: F =
Fraude; I = Idade; S = Sexo; G = Gasolina; J = Jóias. . . . . . . . . . . . 19
3.1
Grafo acı́clico orientado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2
O nó D divide a poliárvore em duas poliárvores não conexas. . . . . . . . . 29
3.3
Alarme contra roubos: R = Roubo; T = Terremoto; A = Alarme; J =
João-liga; M = Maria-liga. . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4
Pais e filhos de um nó qualquer X. . . . . . . . . . . . . . . . . . . . . . . 32
3.5
Estrutura de rede bayesiana multiconectada. . . . . . . . . . . . . . . . . . 34
3.6
Exemplo de grafo moralizado. . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.7
Grafo triangular do grafo da Figura 3.6. . . . . . . . . . . . . . . . . . . . 38
3.8
Exemplo de estrutura de árvore de junção para o exemplo da Figura 3.5. . 40
3.9
Estrutura de rede bayesiana para simulação estocástica, variáveis com estados sim e nao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.10 Probabilidades condicionais para a rede bayesiana exemplo. . . . . . . . . . 44
4.1
Várias estruturas de rede candidatas. . . . . . . . . . . . . . . . . . . . . . 61
5.1
Rede bayesiana ALARM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2
Rede bayesiana ASIA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.3
Rede bayesiana NETICA. . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.4
Pacotes principais da ferramenta UnBBayes. . . . . . . . . . . . . . . . . . 79
5.5
Classes principais do pacote aprendizagem. . . . . . . . . . . . . . . . . . . 81
5.6
Especificação das classes dos algoritmos EM. . . . . . . . . . . . . . . . . . 83
5.7
Rotina principal do algoritmo EM paramétrico. . . . . . . . . . . . . . . . 84
5.8
Algoritmo EM paramétrico. . . . . . . . . . . . . . . . . . . . . . . . . . . 85
vii
Lista de Figuras
5.9
dct-ufms
Porcentagens de tempo de processamento, rede bayesiana ALARM. . . . . 87
5.10 Passo Expectation dentro do algoritmo EM. . . . . . . . . . . . . . . . . . . 87
5.11 Estimativa dos parâmetros (Expectation). . . . . . . . . . . . . . . . . . . . 88
5.12 Atualização de parâmetros e cálculo da verossimilhança (Maximization). . . 89
5.13 Algoritmo Qt para o cálculo das novas probabilidades para Vi . . . . . . . . 90
5.14 Tempo e distância NETICA - algoritmo EM paramétrico. . . . . . . . . . . 92
5.15 Tempo e distância ASIA - algoritmo EM Paramétrico . . . . . . . . . . . . 93
5.16 Tempo e distância ALARM - algoritmo EM paramétrico. . . . . . . . . . . 94
5.17 Detalhe do algoritmo EM estrutural. . . . . . . . . . . . . . . . . . . . . . 96
5.18 Algoritmo EM estrutural resumido. . . . . . . . . . . . . . . . . . . . . . . 96
5.19 Algoritmo Iterated Hill Climbing. . . . . . . . . . . . . . . . . . . . . . . . 97
5.20 Algoritmo EM estrutural. . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5.21 Algoritmo Greedy Hill Climbing para busca de estruturas. . . . . . . . . . . 99
5.22 Algoritmo que adiciona arco temporário e testa a pontuação. . . . . . . . . 100
5.23 Algoritmo adiciona um arco na estrutura. . . . . . . . . . . . . . . . . . . . 101
5.24 Algoritmo que calcula a pontuação por causa da mudança local. . . . . . . 102
5.25 Algoritmo que calcula a pontuação para uma variável Vi . . . . . . . . . . . 103
5.26 Aspectos do cálculo da métrica BDe para Vi . . . . . . . . . . . . . . . . . . 104
5.27 Tempo algoritmo SEM - ASIA. . . . . . . . . . . . . . . . . . . . . . . . . 108
viii
Lista de Tabelas
2.1
Distribuição conjunta de sistema operacional × processador [20]. . . . . . . 14
2.2
P (F ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3
P (I). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4
P (S).
2.5
P (G|F ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6
P (J|F, I, S). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.7
Vantagens comparativas das redes bayesianas. . . . . . . . . . . . . . . . . 24
3.1
P (R). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2
P (T ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.3
P (A|R, T ). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.4
P (J|A). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5
P (M |A). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.6
Ordem de eliminação dos nós. . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.7
Exemplo de potenciais para a árvore de junção do exemplo da Figura 3.5. . 41
3.8
Exemplo de marginalização a partir de potenciais para o exemplo da Figura
3.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.9
Conjunto de 100 configurações de (A, B, C, D, E). . . . . . . . . . . . . . . 44
4.1
Amostra de dados disponı́vel para estrutura X → Y → Z. . . . . . . . . . 54
4.2
Freqüências calculadas para X2 |X1 (N2jk ). . . . . . . . . . . . . . . . . . . 54
4.3
Distribuição de probabilidade condicional P (X2 |X1 ). . . . . . . . . . . . . 54
4.4
Amostra de dados incompleta para aprendizagem. . . . . . . . . . . . . . . 56
4.5
Freqüências esperadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.6
Banco de dados completo para aprendizagem. . . . . . . . . . . . . . . . . 61
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
ix
Lista de Tabelas
dct-ufms
5.1
Amostra de dados lida e armazenada para as variáveis A, B, C. . . . . . . . 82
5.2
Análise de resultados para rede bayesiana ASIA. . . . . . . . . . . . . . . . 106
5.3
Análise de resultados para rede bayesiana ALARM. . . . . . . . . . . . . . 107
x
Lista de Abreviaturas
BC
BDe
EA
EM
fd
GAO
GC
IC
LC
MAP
MCAR
MDL
MLE
MS-EM
RB
SEM
va
Bound and Collapse, algoritmo para aprendizagem de redes bayesianas.
Bayesian Dirichlet equivalence, métrica Bayesiana para redes equivalentes em verossimilhança.
Evolutionary Algorithm, algoritmo evolutivo.
Expectation Maximization.
Função de Distribuição.
Grafo Acı́clico Orientado.
Global Conditioning, condicionamento global.
Independência Condicional.
Local Conditioning, condicionamento local.
Maximum a Posteriori.
Missing Completely at Random, dados faltosos por mecanismos aleatórios.
Minimum Description Length, métrica baseada na entropia.
Maximum Likelihood Estimation, estimativa de máxima verossimilhança.
Model Selection, algoritmo EM para seleção de estruturas.
Rede Bayesiana.
Structural EM, algoritmo EM estrutural.
Variável Aleatória.
xi
Lista de Sı́mbolos
X
DX
Xi
U
P (U )
xi
D
Dl
λ
π
BEL(X)
Ci
SC i C k
φ
φC
φS
S
B
P ai
P (Xi |P ai )
Θ
θi
θij
θijk
ri
qi
n
m
N0
Nijk
Nij
αijk
αij
Dirichlet(x)
Γ(x)
Variável aleatória, conjunto de variáveis.
Domı́nio de X.
Variável aleatória com posição i, Xi ∈ X.
Um domı́nio, conjunto de variáveis aleatórias U = {X1 . . . , Xn }.
Probabilidade conjunta do domı́nio.
Instância da variável Xi (xi é um estado) não conhecida.
Um banco de dados.
l−ésimo caso do banco de dados.
Mensagens enviados de filhos para os pais.
Mensagens enviados de pais para filhos.
Crença de um conjunto de variáveis.
Clique ou agregado.
Separador de cliques.
Potencial de crença.
Potencial de clique.
Potencial de separador.
Uma estrutura de rede bayesiana.
Rede bayesiana.
Conjunto de variáveis aleatórias pais da variável i em uma estrutura de RB.
Probabilidade condicional da variável Xi dado seus pais P ai .
Conjunto de parâmetros de uma rede bayesiana.
Conjunto de parâmetros da variável Xi .
Conjunto de parâmetros da variável Xi com relação aos pais j ou P (Xi |P ai = j).
P (Xi = k|P ai = j).
Conjunto de estados da variável Xi .
Conjunto de instâncias P ai .
Número de variáveis.
Número de casos no banco de dados.
Amostra de tamanho equivalente.
Número de casos no banco de dados onde Xi = k e P ai = j.
P
= ri
k=1 Nijk .
Coeficientes de Dirichlet para θijk .
P
= ri
k=1 αij .
Distribuição de Dirichlet.
R∞
Função definida como Γ(n) = (n − 1)! ou Γ(x) = 0 tx−1 e−t dt.
xii
Capı́tulo 1
Introdução
O objetivo da inteligência artificial é prover um modelo computacional de comportamento inteligente e, sobretudo, raciocı́nio de senso comum [56]. O objetivo da teoria da
probabilidade é prover uma explicação coerente de como devem mudar as crenças à luz
de informação parcial ou incerta. Desde que ao raciocı́nio de senso comum se aplica à
informação incompleta, naturalmente poder-se-ia esperar que as duas disciplinas compartilhassem linguagem, objetivos e técnicas.
O atrativo primário da teoria da probabilidade é sua capacidade para exprimir relações
qualitativas úteis entre crenças e processar estas relações a fim de produzir, intuitivamente,
conclusões plausı́veis, pelo menos em casos nos quais julgamentos intuitivos são convincentes. Por razões de economia de armazenamento e generalidade, as pessoas esquecem
as experiências atuais e retém suas impressões mentais na forma de médias, pesos, ou
relações qualitativas abstratas que as ajudam a determinar ações futuras [8].
Segundo Pearl [56], existem três escolas para lidar com a incerteza em sistemas de inteligência artificial: a logı́stica, a neo-calculista, e a neo-probabilista. A escola logı́stica tenta
lidar com incerteza utilizando técnicas não numéricas, como lógica não monotônica. A escola neo-calculista utiliza representações numéricas de incerteza mas considera o cálculo
de probabilidades inadequado para esta tarefa, inventando um novo cálculo, tal como
função de crenças de Dempster-Shafer [25, 62, 63], lógica Fuzzy [44] e fatores de certeza. Os neo-probabilistas permanecem com os fundamentos da teoria da probabilidade,
tentando misturar a teoria com as facilidades computacionais necessárias para realizar
tarefas de inteligência artificial. As redes bayesianas [55] fazem parte desta última escola.
Para Diez [27] as redes bayesianas fazem parte dos métodos numéricos para raciocı́nio
incerto. O primeiro método numérico que surgiu foi o tratamento probabilista. Como descrito por Diez [27], no século XVIII, Bayes [2] e Laplace propuseram a probabilidade como
uma medida de crença pessoal. No inı́cio do século XX surgem outras interpretações da
probabilidade, como a freqüência (a longo prazo) associada a situações ou experimentos
que se repetem; nesta linha, estão os trabalhos estatı́sticos de Fisher [28]. No inı́cio dos
1
dct-ufms
anos 30, devido ao trabalho de Savage e B. de Finetti [23] especialmente, se redescobre a
probabilidade como medida de crença pessoal.
Alguns anos depois, são inventados os computadores e logo após surge a inteligência
artificial. Naquela época, os computadores tinham superado em muito a capacidade de
cálculo dos seres humanos, mas estavam muito aquém do denominado “comportamento
inteligente”. Para se usar a capacidade dos computadores a inteligência artificial esforçavase na resolução de problemas simbólicos e em métodos algorı́tmicos dedicados ao cálculo
numérico. Esta foi uma das razões pelas quais, inicialmente, não se prestou atenção no
estudo da probabilidade como ramo ou ferramenta da inteligência artificial.
Contudo, para determinados problemas, como o de diagnóstico médico, por exemplo,
era inevitável ter que lidar com incerteza. Naqueles anos, a única técnica disponı́vel,
ainda com suas limitações, era o método probabilista clássico (as vezes denominado naı̈ve
Bayes [49]); com ele foram construı́dos os primeiros sistemas de diagnóstico médico que
tiveram sucesso relativo em problemas que agora parecem pequenos em tamanho.
O método probabilista clássico apresentava dois inconvenientes principais: o primeiro
deles era a dificuldade de obter as probabilidades condicionais necessárias para construir o modelo. A aplicação do teorema de Bayes, usado no cálculo das probabilidades
a posteriori, requeria um número exponencial de parâmetros, pelo que precisava-se introduzir hipóteses simplificadoras. A primeira era a exclusividade dos diagnósticos e a
independência condicional dos achados. Ainda assim, o número de parâmetros continuava
sendo elevado, tendo-se o fato que raramente havia bancos de dados a partir das quais
poder-se-ia obter as probabilidades objetivas, pelo que na maioria das vezes era preciso
utilizar estimativas subjetivas, pouco confiáveis. O segundo inconveniente do modelo era
que as hipóteses eram pouco verossı́meis, sobretudo a de independência condicional. Por
estes motivos, a maior parte dos pesquisadores concordavam em que a probabilidade não
era um método adequado para a inteligência artificial.
De outro lado, o sucesso obtido pelo sistema especialista DENDRAL [4], um dos
primeiros sistemas especialistas, demonstrou as vantagens da programação baseada em
regras. Por isto, os criadores do MYCIN [5]1 procuravam um método de cálculo eficiente
que pudesse se adaptar ao raciocı́nio mediante o encadeamento de regras. Os problemas
citados anteriormente e a incapacidade dos métodos probabilistas para se encaixarem neste esquema levaram os responsáveis por este projeto a desenvolver um método próprio,
consistente em atribuir a cada regra um fator de certeza. Este modelo na prática não
tinha nenhuma relação com a teoria da probabilidade, nem sequer com sua interpretação
subjetiva.
O sucesso de MYCIN foi grande, pois em um campo tão complexo e incerto como as
doenças infecciosas, foi capaz de conseguir diagnósticos e recomendações terapêuticas tão
1
Sistema de consulta médica criado em 1976.
2
dct-ufms
boas quanto dos especialistas. Mas um estudo matemático demonstrou que no modelo de
combinação de regras havia hipóteses implı́citas muito fortes e difı́ceis de justificar. Nos
anos seguintes surgiram novas crı́ticas cada vez mais fortes contra a validade do modelo
de fatores de certeza, maiores detalhes podem ser encontrados em [8].
Quando os criadores de MYCIN estavam pensando na teoria de Dempster-Shafer para
resgatar o modelo de fatores de certeza (princı́pio dos anos 80), surgem as redes bayesianas que mudam totalmente o cenário: um modelo probabilista inspirado na causalidade,
cuja virtude principal consiste no modelo gráfico em que cada nó representa uma variável
e cada arco representa, geralmente, um mecanismo causal.
Uma rede bayesiana2 , segundo Heckerman [37], pode ser definida como um grafo com
as seguintes propriedades:
1. Um conjunto de variáveis aleatórias são os nós da rede.
2. Um conjunto de arcos ou setas conectam pares de nós. O significado intuitivo de
um arco do nó X para o nó Y é que X tem influência direta sobre Y .
3. Cada nó tem uma tabela de probabilidade condicional que quantifica os efeitos que
os pais tem sobre os nós. Os pais de um nó são todos aqueles nós que têm setas
apontando para ele.
4. O grafo não tem ciclos dirigidos. Daı́ dizer que são grafos acı́clicos orientados ou
dirigidos (GAO).
A representação visual das redes bayesianas, permite uma melhor comunicação com o especialista do domı́nio dos dados, favorecendo maior rapidez na definição, desenvolvimento
ou modificação do modelo, o que por sua vez, ajuda a compreender melhor o problema.
A natureza das variáveis pode ser discreta3 , por exemplo, com dois estados possı́veis
verdadeiro e falso, sendo suas probabilidades condicionais facilmente representadas em
tabelas de probabilidades. Ou podem ser de natureza contı́nua, neste caso representadas
por funções de densidade. Em suma, uma rede bayesiana representa uma distribuição de
probabilidade conjunta para um conjunto de variáveis. No contexto deste trabalho serão
utilizadas variáveis de natureza discreta.
A tarefa mais comum é utilizar a rede bayesiana para inferência probabilı́stica que
consiste em obter conclusões à medida que novas informações ou evidências são conhecidas. Por exemplo, na área médica, pode-se concluir por um diagnóstico baseando-se
em sintomas, que são evidências. Ou também se faz inferência para estimar estados de
2
Outras denominações são: rede de crença, rede probabilı́stica, rede causal.
Uma rede bayesiana não explora a natureza ordenável de suas variáveis, assim o caso discreto é
categórico.
3
3
dct-ufms
variáveis que não foram observadas.
Com ajuda de um especialista num certo domı́nio de dados, define-se um modelo de
redes bayesianas: determina-se a estrutura e suas probabilidades condicionais associadas.
Mas, em situações em que o especialista não está disponı́vel, ou no caso de um grande
domı́nio de dados em que fica difı́cil se especializar, são úteis métodos automáticos para
aprender estruturas e probabilidades (também denominados parâmetros) a partir de dados disponı́veis [6, 33].
A aprendizagem em redes bayesianas consiste em determinar a estrutura ou seus
parâmetros, ou ambos, a partir de dados de treinamento. Em geral, pode-se falar de
distintos tipos de aprendizagem, dependendo se a estrutura é conhecida ou não e se a
observação dos dados é completa ou parcial [33]. Pode haver instâncias em que o estado
de uma ou mais variáveis não foi observado e também o caso de uma ou mais variáveis
não terem sido observada em nenhuma instância. Existem inúmeras possibilidades de algoritmos para cada tipo de aprendizagem, cada uma com suas vantagens e desvantagens
sobre as outras [8]. Ainda não consta na literatura a existência de um algoritmo padrão
para aprendizagem de estruturas, dentro das redes bayesianas essa é uma área que está
em constante pesquisa.
Neste trabalho, aborda-se o problema de aprendizagem de redes bayesianas quanto a
suas estruturas e parâmetros, no cenário de dados incompletos e variáveis não observadas,
cujos algoritmos ainda não apresentam soluções satisfatórias. Especificamente escolheu-se
o algoritmo EM (Expectation Maximization, ou Estimation Maximization) e suas variantes porque apresentam soluções razoáveis.
Em geral, o algoritmo EM pode ser aplicado em situações onde se deseja estimar um
conjunto de parâmetros que descreve uma distribuição de probabilidade. O algoritmo se
baseia em estimar parâmetros de máxima verossimilhança para problemas onde os estados
das variáveis não foram observados [49].
A primeira formulação do algoritmo EM em redes bayesianas foi dada por Lauritzen [46], e trata com aprendizagem de parâmetros de redes bayesianas a partir de dados
incompletos e uma estrutura conhecida. Este é um problema interessante pois, usualmente, é mais fácil para um especialista decidir quais são os relacionamentos de dependência
condicional que acontecem num domı́nio de dados do que especificar as probabilidades
condicionais correspondentes [61]. Para autores como [30, 54, 68] este algoritmo é denominado EM paramétrico.
O Passo E deste algoritmo consiste em estimar os dados faltosos para completar a
amostra de dados incompleta. Lauritzen, usando os valores que foram observados na
amostra como evidência, realiza inferência em redes bayesianas para fazer esta estimativa. O algoritmo de inferência usado denomina-se árvore de junção [40].
4
1.1. Justificativa e Objetivos
dct-ufms
No Passo M, com os dados completados, realiza-se aprendizagem das probabilidades,
baseado nas freqüências dos estados das variáveis na amostra. Ambos Passos E e M fazem
parte de um processo iterativo, em que as novas probabilidade calculadas na fase M, serão
utilizadas para realizar a inferência na fase E.
Posteriormente, Friedman [29, 30] definiu um algoritmo EM para aprendizagem de
parâmetros e estrutura denominado Model Selection EM; uma versão modificada deste algoritmo, denominada EM estrutural, foi desenvolvida sucessivamente. A idéia fundamental destes algoritmos consiste em transformar o problema de aprendizagem de estrutura
com dados incompletos em um mais simples. Usa-se o algoritmo EM paramétrico (Passo
E) para completar os dados e busca-se a melhor estrutura de rede usando um algoritmo de
busca gulosa (Passo M). Cada estrutura é avaliada de acordo com uma métrica que mede
a aderência da estrutura aos dados. Sucessivamente, cada estrutura ótima encontrada no
Passo M é usada como ponto inicial para novos completamentos no Passo E, até encontrar
a melhor estrutura para os dados incompletos.
Nos últimos anos têm surgido novas versões e novos algoritmos, modificando partes do
procedimento geral do algoritmo EM estrutural de Friedman. Entretanto, considerou-se
importante conhecer em profundidade as versões de Lauritzen e de Friedman.
1.1
Justificativa e Objetivos
A aprendizagem em redes bayesianas é uma tarefa muitas vezes complexa. Muitos esforços
têm sido dedicados ao desenvolvimento de algoritmos para resolvê-la. Um problema ainda
mais interessante é a aprendizagem a partir de dados incompletos, principalmente porque
muitos bancos de dados de aplicações reais apresentam instâncias incompletas, produzidas
por falhas na coleta da informação ou por impossibilidade de medir o estado das variáveis,
históricos médicos seriam um bom exemplo disto.
O objetivo geral deste trabalho foi implementar e testar o algoritmo EM e suas variantes para aprendizagem em redes bayesianas de acordo com a topologia e parâmetros
disponı́veis, no caso de instâncias incompletas de dados. Especificamente:
• Implementar o algoritmo EM paramétrico de Lauritzen.
• Implementar o algoritmo EM estrutural de Friedman, utilizando duas métricas aproximadas.
• A partir de bancos de dados de redes bayesianas benchmark comparar os resultados
tanto no nı́vel de adequação à estrutura quanto a adequação das probabilidades.
• Através de uma revisão geral, obter o estado-da-arte da abordagem EM para redes
bayesianas.
5
1.2. Metodologia
1.2
dct-ufms
Metodologia
Para desenvolver um algoritmo de aprendizagem de estrutura e parâmetros a partir de
banco de dados incompletos sob o enfoque EM é necessário passar por uma série de etapas.
Devido ao fato que os algoritmos sendo considerados para implementação requeriam o
uso de inferência bayesiana para fazer estimativas dos estados não observados nos bancos
de dados incompletos, num primeiro estagio optou-se por desenvolver toda a estrutura
de dados que envolve uma rede bayesiana e implementar o algoritmo de árvore de junção
para a inferência. Porém, logo depois optou-se por aproveitar a API da ferramenta UnBBayes4 . Esta é uma ferramenta que oferece funcionalidades de inferência (algoritmo de
árvore de junção) e aprendizagem de redes bayesianas.
Contudo, esta ferramenta não oferece a possibilidade de aprendizagem a partir de
dados incompletos, tanto de parâmetros quanto de estrutura, e então considerou-se a possibilidade de acrescentar as classes que seriam desenvolvidas neste projeto ao UnBBayes,
ampliando assim sua funcionalidade.
Uma vez que se teve um conhecimento adequado da hierarquia de classes, das rotinas
principais e das estruturas fundamentais da UnBBayes é que iniciou-se, baseando-se nas
diretrizes de Lauritzen [46], a implementação do algoritmo EM paramétrico. A diferença
principal desta implementação é que os dados são completados no inicio do algoritmo, e
as sucessivas iterações somente estimam os novos valores faltosos.
Posteriormente, foi feita a implementação do algoritmo EM estrutural de Friedman[30].
O Passo E, aprendizagem de parâmetros, aproveitou a implementação do algoritmo EM
paramétrico de Lauritzen. O Passo M realiza uma busca de estruturas a partir de dados
completados no Passo E (supondo-os verdadeiros). As versões originais indicam que é
suficiente usar algoritmos gulosos de busca local como greedy hill climbing [42] na procura das estruturas. Esses algoritmos têm a desvantagem de freqüentemente encontrar só
ótimos locais. Assim, achou-se conveniente usar outro algoritmo heurı́stico para otimizar
esta tarefa, simulated annealing [42].
Existem algumas outras ferramentas disponı́veis para a comunidade acadêmica que
realizam inferência e aprendizagem em redes bayesianas. Netica5 e Hugin6 são as mais
conhecidas e usadas. Essas ferramentas foram usadas para geração de dados incompletos
de testes que seriam usados depois para a aprendizagem.
Particularmente, a Netica oferece uma versão de software limitada a poucas variáveis
4
Desenvolvida na Universidade de Brasilia - http://unbbayes.sourceforge.net/.
Netica 1.12 for windows - http://www.norsys.com/.
6
Hugin Lite 6.3 - http://www.hugin.com/.
5
6
1.3. Perspectivas Futuras
dct-ufms
e não oferece suporte para aprendizagem. Também permite gerar amostras de dados
incompletos, as quais foram usadas para realizar a maior parte dos testes, nas fases intermediárias e finais. No caso da ferramenta Hugin a versão avaliada também era limitada
a 500 instâncias e cerca de 10 variáveis, porém, uma implementação do algoritmo EM
paramétrico para dados incompletos estava disponı́vel, o que permitiu fazer comparações
simples.
Existem redes bayesianas reais, ou padrões, usadas pela comunidade cientı́fica a partir
das quais foram gerados dados com valores faltosos aleatórios para testes. Nas implementações iniciais foram usados dados de redes simples disponı́veis nas ferramentas Netica
e Hugin. Para comparações mais rigorosas foi usada a rede bayesiana ALARM [3] de
monitoração de pacientes anestesiados.
Em cada caso de dados de testes foram consideradas amostras com valores faltosos em
porcentagens de 10% e 30%. Para comparar com as redes padrões a adequação e exatidão
dos algoritmos de aprendizagem, foram usadas medidas padrões. A medida de divergência
Kullback-Leibler [36], ou entropia cruzada, permite medir a distância entre distribuições
de probabilidade, isto é, quanto aos seus valores numéricos. Esta foi usada para medir
a qualidade de aprendizagem de parâmetros obtida pelo algoritmo EM paramétrico. No
caso de aprendizagem de estrutura, a comparação com relação à rede bayesiana real foi
baseada no número de arcos corretamente inseridos ou faltosos.
1.3
Perspectivas Futuras
Os algoritmos EM implementados foram as primeiras soluções razoáveis para aprendizagem de estrutura e parâmetros a partir de dados incompletos [68]. Atualmente muitas
modificações foram feitas para melhorar seu desempenho. Por exemplo, para estimar os
dados faltosos usam-se métodos aproximados ou outras abordagens para completar os
dados [64]. Na busca de estruturas existem muitos algoritmos de otimização que podem
ser utilizados, resultados baseados em técnicas evolutivas têm sido usadas [51] e também
outros tipos de metaheurı́sticas. Mas todas essas soluções apresentam a abordagem do
algoritmo EM em sua forma geral e, especificamente, representam uma série de algoritmos
reunidos em um paradigma denominado busca e pontuação. O princı́pio desse paradigma
é gerar várias estruturas e escolher a melhor baseado na pontuação obtida com relação
aos dados.
Em um outro paradigma (independência condicional), avalia-se relações de dependência
que uma rede apresenta com relação aos dados. Esses algoritmos já demonstraram resultados alentadores em aprendizagem a partir de dados completos; também foram usados em
conjunção com algoritmos de busca e pontuação, porém, pouco trabalho tem sido desenvolvido para aprendizagem a partir de dados incompletos, sendo esta uma área promissora
e que poderia trazer soluções interessantes.
7
1.4. Organização do Texto
1.4
dct-ufms
Organização do Texto
No Capitulo 2 são apresentados os conceitos fundamentais da teoria da probabilidade incluindo o enfoque Bayesiano, distribuição de probabilidade conjunta, teorema de Bayes e,
além disso, apresenta-se a definição de redes bayesianas e algumas das suas caracterı́sticas
importantes.
No Capı́tulo 3 é descrito o processo de inferência em redes bayesianas e apresentase uma classificação dos tipos de algoritmos disponı́veis na literatura. Métodos exatos,
aproximados e simbólicos são descritos sucintamente, focalizando-se o algoritmo árvore
de junção usado na estimação de dados incompletos.
No Capı́tulo 4 é descrito o processo de aprendizagem em redes bayesianas, enfatizandose a utilização do algoritmo EM. Portanto, inicialmente, é dada a formulação geral deste
algoritmo. Depois é descrito o problema da aprendizagem de parâmetros para dados completos e incompletos. Neste último caso define-se o algoritmo EM de Lauritzen. Posteriormente, é definido o problema de aprendizagem de estruturas a partir de dados completos e
incompletos. Paradigmas para a escolha de estruturas e métricas são definidos para o caso
de dados completos. Para o caso de dados incompletos são descritos os dois algoritmos
de Friedman: MS-EM e EM estrutural.
No Capı́tulo 5 são detalhados aspectos da implementação dos algoritmos EM e resultados obtidos nos testes realizados. Especificamente, são descritos os dados usados, a
metodologia para avaliar os algoritmos, especificações dos algoritmos implementados e a
análise de resultados.
Finalmente, no Capı́tulo 6, são apresentadas conclusões inerentes ao trabalho realizado, destacando-se as dificuldades encontradas, perspectivas atuais, contribuições e
sugestões de trabalhos futuros.
8
Capı́tulo 2
Redes Bayesianas
A distribuição de probabilidade conjunta permite responder diversas questões sobre um
domı́nio de dados, mas a sua representação ocupa uma área que cresce exponencialmente
como o número de variáveis. Além disso, especificar as probabilidades de cada evento
em particular torna-se muito difı́cil, a menos que uma grande quantidade de dados esteja disponı́vel dos quais se possa obter estimativas estatı́sticas para essas probabilidades,
baseadas em freqüências relativas.
Na utilização do teorema de Bayes, a ocorrênciade independência condicional entre
variáveis aleatórias que descrevem os dados pode simplificar os cálculos para responder
perguntas e também reduzir consideravelmente o número de probabilidades condicionais
que precisam ser especificadas. A estrutura de dados chamada redes bayesianas representa a dependência entre as variáveis e dá uma especificação concisa da distribuição de
probabilidade conjunta.
O objetivo deste capı́tulo é introduzir conceitos da teoria da probabilidade (Seção
2.1), suas definições, axiomas, distribuições de probabilidade, Teorema de Bayes e as
distribuições multinomial e de Dirichlet (Seção 2.2) que são usadas na aprendizagem de
parâmetros de redes bayesianas. É dada uma definição formal de redes bayesianas (Seção
2.3), a qual servirá para fundamentar todo o trabalho, além de introduzir os conceitos
de inferência e aprendizagem em redes bayesianas, destacando-se os enfoques de busca e
pontuação e de independência condicional.
2.1
Fundamentos da Teoria da Probabilidade
Baseando-se no trabalho de da Silva e Ladeira [20], esta seção introduz conceitos da
teoria da probabilidade considerados relevantes para o entendimento dessa dissertação. O
leitor interessado em aprofundar seus conhecimentos pode consultar textos clássicos como
Degroot [24] e Bernardo (1994)apud [20] para o enfoque Bayesiano.
9
2.1. Fundamentos da Teoria da Probabilidade
2.1.1
dct-ufms
Experimento Aleatório, Espaço Amostral e Evento
Um experimento é um ensaio cientı́fico para a verificação de um fenômeno. Todas as vezes
que se estudam fenômenos de observação, cumpre-se distinguir o próprio fenômeno e o
modelo matemático (determinı́stico ou probabilı́stico) que melhor o explique.
Os fenômenos estudados pela Estatı́stica são aqueles cujo resultado, mesmo em condições normais de experimentação variam de uma observação para outra, dificultando
desta maneira a previsão de um resultado futuro. Para a explicação destes fenômenos
aleatórios — ou experimentais — adota-se um modelo matemático probabilı́stico.
Na realização de um experimento aleatório, o conjunto de todos os resultados possı́veis
é chamado de espaço amostral, aqui denotado por S. Os exemplos abaixo ilustram os
conceitos de experimento (ξ) e espaço amostral (S):
• Ex1 :
ξ1 = Jogue um dado e observe o número na face de cima.
S1 = {1, 2, 3, 4, 5, 6}
• Ex2 :
ξ2 = Jogue uma moeda 4 vezes e observe a seqüência de caras (H) e coroas (T)
S2 = {HHHH, HHHT, HHT H, HHT T, HT HH, HT HT, HT T H, HT T T,
T HHH, T HHT, T HT H, T HT T, T T HH, T T HT, T T T H, T T T T }
Um experimento aleatório pode ser repetido indefinidamente sob condições inalteradas; e em cada um dos experimentos não se sabe, a priori, qual resultado individual
ocorrerá. Embora se possa definir o conjunto de todos os possı́veis resultados, cada resultado individual parece ocorrer de forma acidental. Com a repetição em larga escala surge
uma regularidade que permite construir um modelo matemático para analisar o experimento. Por exemplo, as proporções de caras e coroas, após lançar uma moeda honesta um
grande número de vezes, são aproximadamente iguais. Isto faz com que se crie o modelo
que para cara atribui probabilidade 1/2 e para coroa atribui probabilidade 1/2.
Um evento é um subconjunto dos resultados possı́veis de um experimento. O espaço
amostral é em si um evento, também. Se S é um espaço amostral e A ⊆ S então A é um
evento. Um evento ocorre se um dos seus elementos ocorre:
a) Se x ∈ A ocorre, então A ocorre.
b) Se x ∈ (A ∩ B) ocorre, então A e B ocorrem.
Por exemplo, seja S = {1, 2, 3, 4, 5, 6}, então S é um evento e também são eventos:
10
2.1. Fundamentos da Teoria da Probabilidade
dct-ufms
a) A = {2, 4, 5} e Ac = {1, 3, 6};
b) B = {1, 3, 5} e B c = {2, 4, 6}.
2.1.2
Frequência Relativa
Se um experimento ξ é repetido n vezes, então é possı́vel calcular a freqüência relativa
fA de qualquer evento A do espaço amostral S associado ao experimento ξ. Seja nA o
número de vezes que o evento A ocorre nas n repetições de ξ, calcula-se fA = nA /n.
Sejam A e B eventos de S, suas freqüências relativas apresentam as seguintes propriedades:
a) 0 ≤ fA ≤ 1,
b) fA = 1, se nA = n,
c) fA = 0, se nA = 0,
d) fA∪B = fA + fB , se A ∩ B = φ.
2.1.3
Axiomas da Probabilidade
Dado um experimento aleatório qualquer, descrito pelo espaço amostral S, a teoria da
probabilidade está baseada em uma função P que, a cada evento A de S associa um
número real no intervalo [0, 1], representado por P (A), denominado probabilidade do
evento A, que satisfaz as seguintes propriedades:
a) P (S) = 1;
b) Se A e B são eventos disjuntos de S, então P (A ∪ B) = P (A) + P (B);
c) Se A1 , A2 , . . . , An é uma famı́lia de eventos de S, dois a dois disjuntos, então P (A1 ∪
A2 ∪ . . . ∪ An ) = P (A1 ) + P (A2 ) + . . . + P (An ).
Muitas propriedades importantes podem ser extraı́das dos axiomas acima. Por exemplo:
d) P (φ) = 0;
e) Se A ⊆ B ⊆ S, então P (A) ≤ P (B);
f ) Se A, B ⊆ S, então P (A ∪ B) = P (A) + P (B) − P (A ∩ B);
g) Se A ⊆ S, então 0 ≤ P (A) ≤ 1.
11
2.1. Fundamentos da Teoria da Probabilidade
2.1.4
dct-ufms
Definição Freqüentista de Probabilidade (Intuitiva) - “A
Posteriori”
Quando o número de repetições do experimento tende para o infinito observa-se uma certa
regularidade estatı́stica que permite definir a probabilidade do evento. Esta regularidade
se manifesta quando a freqüência relativa fA se estabiliza em torno de um valor no intervalo [0, 1], para toda A ⊆ S associado ao experimento, a medida que n cresce ficando muito
grande. Segundo este ponto de vista objetivista, as probabilidades são aspectos reais do
universo — propensão dos objetos a se comportarem de certa maneira — e não descrições
do grau de crença de um observador. Deste ponto de vista, os cálculos freqüentistas são
tentativas de observar o valor real de uma probabilidade.
No modelo freqüentista para a teoria da probabilidade, considera-se que uma distribuição de probabilidades para os eventos A do espaço amostral S pode ser obtida
tomando-se P (A) como o limite das freqüência relativas fA , isto é,
P (A) = lim fA = lim nA /n
n→∞
n→∞
(2.1)
No contexto frequentista, formalmente, só se pode falar de probabilidade para eventos
associados a um experimento passı́vel de repetição. Do ponto de vista matemático, essa
definição de probabilidade apresenta dificuldades, porque um número limite real pode
não existir na realidade. Assim, a formalização da definição não obedece rigorosamente
à teoria matemática de limite. Isto trás como conseqüência a dificuldade em demonstrar
os teoremas de probabilidade, muito embora esta definição seja bastante intuitiva. A
denominação “a posteriori” resulta do fato de se ter de repetir a experiência várias vezes
para poder calcular a probabilidade.
2.1.5
Definição Clássica de Probabilidade (Laplace) - “A Priori”
Dada um experiência aleatória uniforme, definida em um espaço de amostragem S, definese a probabilidade de ocorrer um evento A, contido em S, como sendo o quociente entre
o número de elementos do evento A, nA , e o número de elementos do espaço amostral S,
nS , isto é,
nA
(2.2)
P (A) =
nS
Embora esta definição seja bastante intuitiva também, tem algumas limitações sérias:
a) Existe dificuldade, muitas vezes, de se identificar e enumerar os casos favoráveis e
possı́veis, por exemplo, nas experiências que os resultados tenham caráter qualitativo
e/ou não se pode efetuar contagens;
b) Esta definição não depende da experiência, para que se concretize realmente o que é
idealizado, daı́ o nome “priori”;
12
2.1. Fundamentos da Teoria da Probabilidade
dct-ufms
c) No caso em que o espaço amostral tiver infinitos elementos, não terá sentido falar em
nS ;
d) Não estabelece um critério para casos igualmente possı́veis, pois partindo da hipótese
que a experiência é uniforme (todos os resultados são equiprováveis), define-se probabilidade por aquilo exatamente que se quer definir.
Esta definição, ao contrário da freqüentista, estabelece um modelo matemático adequado à interpretação de uma certa classe de fenômenos (não todos), e considera-se o seu
comportamento ideal em condições ideais.
No trabalho com redes bayesianas a frequência com que os valores das variáveis aparecem nos dados é usada para estimar as probabilidades a posteriori. Especificamente a
distribuição de Dirichlet usa essas freqüências (também denominadas contagens suficientes) para aproximar as distribuições multinomiais condicionais das variáveis.
2.1.6
Variáveis Aleatórias e Proposições
Uma variável aleatória (va) X tem natureza funcional, X : S → Sx . Ela associa a cada
elemento do espaço amostral S um elemento de seu contradomı́nio, SX ⊂ R, onde R é o
conjunto dos números reais.
Como exemplo: seja ξ o experimento de lançar duas moedas honestas e verificar
o número de caras (H), X a va que indica o número de caras obtido no experimento ξ. S = {HH, HT, T H, T T } é o espaço amostral associado a ξ e SX = {0, 1, 2}
é o conjunto de possı́veis valores de X, pois, tomando-se X : S → SX , tem-se que:
X(HH) = 2, X(HT ) = X(T H) = 1 e X(T T ) = 0.
Embora X tenha natureza funcional, é comum ignorar tal natureza e considerar apenas que X assume um dos possı́veis valores do seu contradomı́nio SX , que passa a ser
denominado domı́nio de X. A probabilidade é definida no domı́nio de X, por exemplo:
P (X = 0) = P (T T ) = 1/4, P (X = 1) = P (HT ou T H) = 2/4 e P (X = 2) = P (HH) =
1/4. Estes números estão de acordo com a definição freqüentista, conforme experiência
que se pode realizar, e também clássica, de probabilidade.
Também pode-se pensar de uma variável aleatória como sendo o atributo de uma entidade (por exemplo, idade de uma pessoa), ou como a resposta a uma pergunta (por
exemplo, jaá visitou a Ásia?). No primeiro caso, considerando apenas número completo
de anos, tem-se o conjunto {0, 1, . . . , 120} como domı́nio e no segundo caso sim, nao.
Diz-se que uma va X é discreta se o seu domı́nio SX é um conjunto enumerável de
valores. As assertivas do tipo X = 0, X < 2, são proposições que podem ser tanto
verdadeiras quanto falsas. A expressão P (X < 2), representa a probabilidade da variável
13
2.1. Fundamentos da Teoria da Probabilidade
dct-ufms
X assumir um valor menor do que 2, isto é, a probabilidade da proposição X < 2 ser
verdadeira.
2.1.7
Distribuição Conjunta, Marginal e Condicional
Seja X uma va e DX o seu domı́nio. Os valores P (X = x), para todas as instâncias x em
Dx , constituem a distribuição de probabilidade de X. Por exemplo, seja X o resultado de
lançar um dado não viciado, então DX = {1, 2, 3, 4, 5, 6} é o domı́nio de X. A distribuição
de probabilidade de X é dada por P (X = x) = 1/6, para todo x em DX .
Dado duas va X e Y , a distribuição de probabilidade de X e Y constitui uma distribuição conjunta de X e Y . Por exemplo: considere os computadores pessoais (PCs) de
uma empresa. Seja X o sistema operacional, DX = {windows, linux} o domı́nio de X
e Y a marca do processador, DY = {AM D, Intel} o domı́nio de Y . A parte interna da
Tabela 2.1 dá a distribuição conjunta de X e Y .
Tabela 2.1: Distribuição conjunta de sistema operacional × processador [20].
Y
AM D
Intel
Marginal de X
X
windows linux Marginal de Y
0.18
0.12
0.30
0.42
0.28
0.70
0.60
0.40
1.00
Tomando P (X = x, Y = y) = P (x, y), pode-se constatar na Tabela 2.1 que
P (windows, AM D) = 0.18; P (windows, Intel) = 0.42; P (linux, AM D) = 0.12 e
P (linux, Intel) = 0.28.
Nesse contexto de distribuição conjunta, faz sentido falar de distribuição marginal,
aquela distribuição de uma das variáveis do conjunto, que na Tabela 2.1 fica em uma
das margens. Na Tabela 2.1, a distribuição marginal de Y é dada pela última coluna: P (Y = AM D) = 0.30; e P (Y = Intel) = 0.70. E a distribuição marginal de X:
P (X = windows) = 0.60 e P (X = linux) = 0.40.
A expressão X|Y representa a variável X condicionada ao conhecimento de um valor
para Y e P (X = x|Y = y) = P (x|y), para todo x em DX , representa a distribuição de
probabilidade condicional de X dado que Y = y. A Equação 2.3
P (x|y) = P (x, y)/P (y)
(2.3)
confirma que a distribuição de X fica restrita ao contexto Y = y, pelo que P (y) funciona
como um fator de normalização.
14
2.1. Fundamentos da Teoria da Probabilidade
dct-ufms
Na Tabela 2.1, P (X = windows|AM D) = P (windows, AM D)/P (AM D) = 0.18/0.3,
P (X = linux|AM D) = P (linux, AM D)/P (AM D) = 0.12/0.3 e P (X = windows|Intel)
= P (windows, Intel)/P (Intel) = 0.42/0.70, P (X = linux|Intel) =P (linux, Intel)
/P (Intel) = 0.28/0.70.
Dado que P (x|y) = P (x, y)/P (y), pode-se expressar a conjunta como o produto da
condicional pela marginal, conforme Equação 2.4.
P (x, y) = P (x|y)p(y)
(2.4)
A Equação 2.4 é a chamada regra do produto. Esta regra pode ser generalizada para
se obter a fórmula da regra da cadeia. Dado que X = {X1 , X2 , . . . , Xn } é um conjunto
de variáveis aleatórias, então a distribuição conjunta de X é dada pela Equação 2.5.
P (x1 , x2 , . . . , xn ) =
n
Y
P (xi |x1 , . . . , xi−1 )
(2.5)
i=1
2.1.8
Independência Condicional
Diz-se que duas variáveis X e Y são independentes se
P (x|y) = P (x)
(2.6)
sempre que P (y) > 0, ∀x ∈ DX e y ∈ DY . Se X e Y são independentes, então Y não é
informativa para X. Significa que conhecer Y não altera a probabilidade de X.
Pode-se expressar essa independência em termos da distribuição conjunta de X e Y ,
derivada da regra do produto, como P (x, y) = P (x)P (y). A Tabela 2.1 exibe X e Y como
variáveis independentes, pois este produto é válido para todo (x, y).
Uma outra maneira de fazer esse teste de independência é usar a medida de informação
mútua, dada pela Equação 2.7 abaixo:
I(X, Y ) =
XX
x
P (x, y) log
y
P (x, y)
P (x)P (y)
(2.7)
Essa relação é reflexiva, I(X, Y ) = I(Y, X). Se I(Y, X) > 0, então X e Y são informativas uma para a outra, isto é, são dependentes; em caso contrário, X e Y são
independentes. É fácil ver que se X e Y são independentes, o argumento da função log
na Equação 2.7, é igual a 1, para todos os valores de X e Y , o que leva o somatório ao
valor 0 (zero).
15
2.2. Modelo Bayesiano de Probabilidade (Subjetivo)
dct-ufms
Dado um conjunto de variáveis aleatórias Z, não contendo X e nem Y , pode-se também
usar a medida de informação mútua condicional para verificar se X e Y são condicionalmente independentes, conforme a Equação 2.8 abaixo:
XXX
P (x, y|z)
I(X, Y |Z) =
P (x, y, z) log
(2.8)
P (x|z)P (y|z)
z
x
y
Como no caso anterior, se I(X, Y |Z) = I(Y, X|Z) > 0, então X e Y são condicionalmente dependentes dado Z, e são condicionalmente independentes em caso contrário.
Em termos probabilı́sticos, se P (x|y, z) = P (x|z), então conhecido Z, conhecer Y não
informa nada para X. Isto é, X é independente de Y dado Z. Também é verdade que
P (x, y|z) = P (x|z)P (y|z), se X e Y são independentes, dado Z.
2.2
Modelo Bayesiano de Probabilidade (Subjetivo)
O modelo Bayesiano interpreta a probabilidade de uma proposição como o grau de crença
de um agente na veracidade dessa proposição. Por exemplo, um dentista pode dizer: na
minha opinião, eu espero que a probabilidade de cárie seja aproximadamente 0.1. P (A|W )
é o grau de crença do agente na veracidade da proposição A, dado sua experiência e conhecimento W . Nesse sentido, toda probabilidade é condicionada ao conhecimento do agente,
diferentemente do enfoque freqüentista em que se considera as probabilidades como sendo
aspectos reais do universo não dependentes do conhecimento do agente.
Doravante, ao falar em probabilidade se estará falando dela na acepção bayesiana de
graus de crença de um agente.
2.2.1
Teorema de Bayes
O coração da inferência Bayesiana repousa sobre a celebrada fórmula da inversão, também
chamada de Teorema de Bayes, dado pela equação abaixo:
P (H|e) =
P (e|H)P (H)
P (e)
(2.9)
onde P (H) é a probabilidade a priori de H; P (H|e) é a probabilidade a posteriori de H,
isto é, a probabilidade de H após conhecer a evidência e; P (e|H) é a verossimilhança da
evidência e dado a hipótese H, e P (e) é um fator de normalização.
Dado que P (H|e) + P (¬H|e) = 1, tem-se que P (e|H)P (H) + P (e|¬H)P (¬H) = P (e).
Deste modo, pode-se expressar a fórmula da inversão em termos proporcionais, sem o
fator de normalização P (e), como na equação abaixo:
P (H|e) ∝ P (e|H)P (H)
16
(2.10)
2.2. Modelo Bayesiano de Probabilidade (Subjetivo)
dct-ufms
Em outros termos Posteriori ∝ Verossimilhança ∗ P riori.
2.2.2
Distribuição Multinomial e de Dirichlet
Seja X uma va discreta com domı́nio DX = {x1 , x2 , . . . , xr } com P (X = xk ) = pk .
Suponha que seja dada uma amostra aleatória D = {X1 = x1 , X2 = x2 , . . . , XN = xN },
com N observações Xi independentes e identicamente distribuı́das (iid) a X, onde cada
xi é uma instância de Xi , com xi ∈ DX . Seja Y = (Y1 , Y2 , . . . , Yr ) um vetor aleatório
tal que yk é o número de vezes que o estado xk de X está presente na amostra D, e
y1 + y2 + . . . + yr = N , onde yk é uma instância de Yk . Nesse caso, diz-se que Y tem
distribuição amostral multinomial com função de distribuição (fd) dada pela Equação
2.11.
N!
P (y|N, p) =
py1 py2 . . . pyr r
(2.11)
y1 !y2 ! . . . yr ! 1 2
Observe que p = (p1 , p2 , . . . , pr ) é o vetor de probabilidades da distribuição, tido como
conhecido. Pode-se dizer que o termo N !/(y1 !y2 ! . . . yr !) na Equação 2.11 é apenas um
normalizador. Nesses termos, pode-se redefinir a fd da multinomial como na Equação
2.12, sem o termo normalizador.
P (y|N, p) ∝ py11 py22 . . . pyr r
(2.12)
Seja p = (p1 , p2 , . . . , pr ) um vetor de reais desconhecido tal que p1 + p2 + . . . + pr = 1
e pi > 0, para todo i entre 1 e r. Então p tem distribuição Dirichlet, com fd dada pela
Equação 2.13 e vetor de parâmetros α = (α1 , . . . , αr ) com αi > 1 e E(Pi ) = αi /α0 onde
α0 = α1 + α2 + . . . + αr .
f (p|α) =
Γ(α0 )
pα1 −1 pα2 2 −1 . . . pαr r −1
Γ(α1 )Γ(α2 ) . . . Γ(αr ) 1
(2.13)
onde Γ(·) é a função Gamma que satisfaz Γ(x + 1) = xΓ(x) e Γ(1) = 1.
Na Equação 2.13 o fator Γ(α0 )/Γ(α1 )Γ(α2 ) . . . Γ(αr ) tem propósito normalizador. Podese expressar a fd da Equação 2.13 como em (2.14), em termos proporcionais. Observe a
similaridade da (2.14) com a Equação 2.12.
f (p|α) ∝ pα1 1 −1 pα2 2 −1 . . . prαr −1
(2.14)
A famı́lia de distribuições de Dirichlet é uma famı́lia conjugada para amostras com distribuição multinomial. Seja Y com distribuição Multinomial(N, p) com o vetor de probabilidades p desconhecido, nesse caso p tem distribuição a priori de Dirichlet(p|α1 , α2 , . . . , αr ),
dada pela Equação 2.14, com média E(pi ) = αi /α0 . A distribuição a posteriori de p é
proporcional a P (Y |N, p)f (p|α), conforme Equação 2.15:
f (p|α + y) ∝ P (y|N, p)f (p|α)
∝ (P1y1 P2y2 . . . Pryr )(P1α1 −1 P2α2 −1 . . . Prαr −1 )
∝ P1y1 +α1 −1 P2y2 +α2 −1 . . . Pryr +αr −1
17
(2.15)
2.3. Redes Bayesianas
dct-ufms
Assim, a distribuição a posteriori de p tem distribuição de Dirichlet(p|α1 + y1 , α2 +
y2 , . . . , αr + yr ), com média E(p|y) = (αi + yi )/(α0 + N ), onde y = (y1 , y2 , . . . , yr ) é
uma instância de Y , e N = y1 + y2 + . . . + yr . Olhando a Equação 2.14 pode-se perceber
que tomar os α’s iguais a 1 leva a uma distribuição de média, tanto a priori quanto a
posteriori:
a) E(pi ) = αi /α0 = 1/r;
b) E(p|y) = (αi + yi )/(α0 + N ) = (1 + yi )/(r + N ).
2.3
Redes Bayesianas
Nesta seção é dada uma definição de rede bayesiana (RB) e através de um exemplo
ressaltam-se suas funcionalidades: como se pode obter a expressão de uma distribuição
de probabilidade conjunta? Como visualizar assertivas de dependência e independência
e fazer inferências?. Apresenta-se, de maneira resumida, dois enfoques de aprendizagem
de estrutura e de parâmetros de RBs baseando-se numa amostra aleatória dos dados do
domı́nio de interesse, um deles busca maior aderência da rede aos dados, e o outro a
melhor representação da distribuição conjunta subjacente a amostra.
2.3.1
Definição de Rede Bayesiana
Uma rede bayesiana, segundo Castillo et al [8], é um formalismo que mistura a teoria dos
grafos e a teoria da probabilidade. Nesse sentido, uma RB tem dois componentes principais: a) uma estrutura, S, que define relacionamento qualitativo causal entre os nós, e b)
parâmetros numéricos, Θ, que quantificam a relação probabilı́stica causal entre os nós da
estrutura.
Uma RB representa uma distribuição conjunta de probabilidade P sobre um conjunto
de variáveis aleatórias X = {X1 , X2 , . . . , Xn }. Pode-se falar de uma RB para X como
tendo uma estrutura S que codifica as assertivas de independência condicional sobre as
variáveis em X e de um conjunto, instância de Θ, de distribuições locais de probabilidades
associadas às variáveis em X. Juntos, a estrutura S e os parâmetros Θ definem uma
distribuição de probabilidades conjunta, tal que:
1. S é uma grafo acı́clico orientado (GAO);
2. Os nós em S estão numa relação 1-1 com as variáveis em X;
3. Cada variável Xi , em X denota uma variável e também o correspondente nó em S;
4. P ai denota os nós pais de Xi e também as variáveis correspondentes a esses pais;
18
2.3. Redes Bayesianas
dct-ufms
5. A distribuição conjunta de X é dada por
P (x) =
n
Y
P (xi |pai )
(2.16)
i=1
onde x é uma instância de X, pai é uma instância de P ai e, particularmente,
pai ⊂ {x1 , x2 , . . . , xi−1 }, onde {x1 , x2 , . . . , xi−1 } é o termo condicionante na regra da
cadeia, conforme Equação 2.5.
A Figura 2.1 embora represente uma situação fictı́cia e improvável, ilustra bem os
conceitos pretendidos na definição acima. Nela, pretende-se estabelecer a influência causal
da Variável Fraude (Cartão Fraudado), Idade e Sexo sobre compras de Gasolina e Jóias.
O conjunto de variáveis X = {F raude, Idade, Sexo, Gasolina, Joias} retrata as variáveis
do modelo; os cı́rculos representam tanto os nós da rede quanto as variáveis do conjunto
X; os arcos representam o relacionamento causal entre as variáveis; e os parâmetros
numéricos são representados pelas distribuições marginais ou condicionais do modelo e
que são dadas nas Tabelas 2.2, 2.3, 2.4, 2.5 e 2.6. A distribuição conjunta das variáveis
do modelo pode ser expressa via
P (F raude, Idade, Sexo, Gasolina, Joias) = P (F raude)P (Idade)
P (Sexo)P (Gasolina|F raude)
P (Joias|F raude, Idade, Sexo)
lembrando que Fraude influencia a compra de Gasolina, e que Fraude, Idade e Sexo, conjuntamente, influenciam a compra de Jóias.
F
I
G
S
J
Figura 2.1: Estrutura de rede bayesiana para detecção de problemas de fraude: F =
Fraude; I = Idade; S = Sexo; G = Gasolina; J = Jóias.
Tabela 2.2: P (F ).
P(F=F) P(F=V)
0.99999 0.00001
2.3.2
Tabela 2.3: P (I).
P(I=< 30)
0.25
P(I=30 − 50)
0.40
P(I=> 50)
0.35
O Problema da Inferência
Suponha que para o problema de detecção de fraude queira se conhecer a probabilidade de
fraude dadas as observações das outras variáveis, esta probabilidade não está armazenada
19
2.3. Redes Bayesianas
dct-ufms
Tabela 2.5: P (G|F ).
Tabela 2.4: P (S).
F
F
V
P(S=Feminino) P(S=Masculino)
0.5
0.5
P(G=F)
0.99
0.8
P(G=V)
0.01
0.2
Tabela 2.6: P (J|F, I, S).
F
I
S
F
< 30
F
V
< 30
F
F
< 30
M
V
< 30
M
F 30 − 50 F
V 30 − 50 F
F 30 − 50 M
V 30 − 50 M
F
> 50
F
V
> 50
F
F
> 50
M
V
> 50
M
P(J=F) P(J=V)
0.9995
0.0005
0.95
0.05
0.9999
0.0001
0.95
0.05
0.998
0.002
0.95
0.05
0.9996
0.0004
0.95
0.05
0.999
0.001
0.95
0.05
0.9998
0.0002
0.95
0.05
diretamente no modelo e é necessário calculá-la. O cálculo das probabilidades pode ser
realizado mediante uma simplificação e fatorização de variáveis:
P (F |I, S, G, J) =
P (F, I, S, G, J)
P (F, I, S, G, J)
=P
P (I, S, G, J)
F P (F = f, I, S, G, J)
Dadas as independências condicionais a equação acima pode ser expressa como:
P (F )P (I)P (S)P (G|F )P (J|F, I, S)
F P (F = f )P (I)P (S)P (G|F = f )P (J|F = f, I, S)
P (F )P (G|F )P (J|F, I, S)
= P
F P (F = f )P (G|F = f )P (J|F = f, I, S)
P (F |I, S, G, J) = P
A partir desta simplificação, substituem-se os valores das probabilidades e eliminam-se,
seguindo uma ordem especı́fica, as variáveis I, S, G, J (maiores detalhes serão apresentados no Capı́tulo 3).
Como apresentado no exemplo precedente, a tarefa fundamental para qualquer sistema
de inferência probabilı́stica é calcular a distribuição de probabilidade a posteriori para um
conjunto de variáveis, dado o valor exato de alguma outra variável. Russell e Norving [61]
denominam as primeiras “variáveis consulta” e as últimas “variáveis evidência”. Deste
modo o sistema calcula P (Consulta|Evidencia). Redes bayesianas são flexı́veis a ponto
de qualquer nó poder servir como “consulta” ou como “evidência”.
20
2.3. Redes Bayesianas
dct-ufms
Charniak [9] especifica que, em diagnósticos médicos baseados nos sintomas apresentados pelos pacientes, usa-se o raciocı́nio ascendente, isto significa que progride dos efeitos
às causas. Esta é uma tarefa comum também em sistemas especialistas. Mas as RBs
também podem ser utilizadas para o raciocı́nio causal descendente, ou predição; por isto,
às vezes, são nomeadas de modelos “geradores” porque especificam como as causas geram
efeitos.
A questão da inferência será revista no Capı́tulo 3, enfatizando-se em algoritmos utilizados dentro de aprendizagem de RBs.
2.3.3
O Problema da Aprendizagem
Os dois componentes de uma RB — a estrutura gráfica S e os parâmetros numéricos Θ
— podem ser aprendidos indutivamente a partir de dados. Primeiro deve-se induzir a
estrutura S, e a seguir, com a estrutura conhecida, se aprende os parâmetros numéricos
Θ. Se a estrutura já é conhecida, então o problema se restringe a aprender os parâmetros
numéricos. Enquanto a aprendizagem de parâmetros é relativamente simples, a aprendizagem de estrutura é um assunto, em geral, complexo e ainda não está bem resolvido.
A indução automática da estrutura da rede mais aderente aos dados enfrenta um
problema de explosão combinatória [20]. O espaço de busca para uma rede com n variáveis tem uma dimensão mais que exponencial. A cardinalidade desse espaço, isto é, a
quantidade de redes candidatas é dada pela Equação 2.17, derivada por Robinson (1977)
apud [20]. Para se ter uma idéia, com apenas 10 variáveis, a quantidade de redes do
espaço de busca é f (10) = 4.2 × 1018 , um número extremamente grande.
f (n) =
n
X
i=1
(−1)i+1
n!
f (n − i)
(n − i)!i!
(2.17)
Além da barreira combinatória, existe o fato de que geralmente não se pode derivar
causalidade baseada apenas numa distribuição de probabilidade [57]. Embora esse seja
um assunto de intensas pesquisas, não se chegou à solução definitiva do problema. Hoje
se convive com dois enfoques básicos para aprendizagem de estrutura de redes bayesianas:
busca e pontuação e independência condicional.
A essência do enfoque de busca e pontuação consiste na escolha de uma métrica para
pontuar a aderência de cada rede aos dados e de um algoritmo para selecionar, dentre as
redes possı́veis do espaço de busca, aquelas mais promissoras. Uma visão detalhada desse
enfoque pode ser vista em Castillo et al [8]; uma visão geral é dada por Heckerman [34]; e
um caso especı́fico e pioneiro é proposto por Cooper e Herskovits [18] em termos de uma
métrica e de um algoritmo chamado K2. Esse algoritmo exige que o especialista informe
a ordem total das variáveis. Essa ordem permite ao algoritmo evitar circularidade na rede
21
2.3. Redes Bayesianas
dct-ufms
e inferir a orientação dos arcos.
No enfoque de independência condicional, busca-se uma rede que melhor represente
a distribuição conjunta subjacente à amostra aleatória. Tal rede deve representar todas
as assertivas de dependência e independência presentes na distribuição conjunta induzida
pela amostra.
Os algoritmos EM para aprendizagem de estrutura implementados usam as diretrizes
do enfoque de busca e pontuação. Detalhes deste tipo de algoritmos são dados no Capı́tulo
4, onde é revisto o problema da aprendizagem.
2.3.4
Por que usar Redes Bayesianas?
Dentre os motivos para se usar RB tem-se que (a) uma RB permite expressar as assertivas de independência de forma visual e fácil de perceber; (b) uma RB representa e
armazena uma distribuição conjunta de forma econômica, explorando a esparcidade do
relacionamento entre as variáveis; e (c) uma RB torna o processo de inferência eficiente
computacionalmente [20].
Redes bayesianas permitem analisar grandes quantidades de dados: para extrair conhecimentos úteis em tomada de decisões; controlar ou prever o comportamento de um
sistema; diagnosticar as causas de um fenômeno; etc. Utilizadas em vários domı́nios:
saúde (diagnóstico, localização de genes); indústria (controle de autômatos ou de robôs);
computação e redes (agentes inteligentes); marketing (mineração de dados, gestão da relação com os clientes); banca e finanças (análise financeira); gestão (tomada de decisões,
gestão de conhecimento e risco). Exemplos de aplicações especı́ficas podem ser encontradas em [31, 35].
De acordo com o tipo de aplicação, a utilização prática de uma RB pode ser considerada da mesma maneira que modelos como: redes neurais, sistemas especialistas, árvores
de decisão, modelos para análise de dados (regressão linear), modelos lógicos, etc. Naturalmente, na escolha do método intervém diferentes critérios, como a facilidade, o custo e
a demora na implantação de uma solução. Segundo Naim et al [52] os seguintes aspectos
das RBs as fazem preferı́veis sobre outros modelos:
• Aquisição de conhecimentos. A possibilidade de juntar e fusionar conhecimentos de
naturezas diversas num mesmo modelo: dados históricos ou empı́ricos, experiência
(expressa na forma de regras lógicas, de equações, de estatı́sticas ou de probabilidades subjetivas), observações. Por exemplo, no mundo industrial, cada uma das
fontes de informação, embora presente, é amiúde insuficiente para fornecer uma
representação precisa e realista do sistema analisado.
• Representação de conhecimentos. A representação gráfica de uma RB é explicita,
22
2.4. Considerações Finais
dct-ufms
intuitiva e compreensı́vel para uma pessoa não especialista, o que por sua vez,
facilita a validação do modelo, suas evoluções eventuais e sobretudo a sua utilização.
Tipicamente, um decisor é mais confiante sobre um modelo no qual ele compreende
o funcionamento, do que num modelo tipo “caixa preta”.
• Utilização de conhecimentos. Uma RB é multifuncional: pode-se usar o mesmo
modelo para avaliar, prever, diagnosticar, ou otimizar as decisões, o que contribui a
“rentabilizar” o esforço gasto na construção da RB.
• Qualidade da oferta com relação aos programas: hoje existe inúmeros programas
para aproveitar e tratar as RBs. Estas ferramentas apresentam funcionalidades mais
ou menos evoluı́das: aprendizagem de probabilidades, aprendizagem da estrutura da
RB, possibilidade de integrar variáveis contı́nuas, variáveis de utilidade e de decisão,
etc.
Comparação com Outras Técnicas
Do ponto de vista das aplicações, as vantagens e inconvenientes das RBs com relação
a algumas técnicas alternativas são apresentadas na Tabela 2.7. Nela Naim et al [52]
agruparam as vantagens e inconvenientes baseando-se em três critérios: aquisição, representação e utilização do conhecimento. A representação adotada é a seguinte:
• Cada linha corresponde com uma caracterı́stica, que pode ser uma vantagem ou a
identificação de um problema especı́fico.
• Se a técnica considerada permite lidar com esse problema, ou apresenta vantagem,
um sı́mbolo + é colocado no caso correspondente.
• Um sı́mbolo F indica a melhor técnica do ponto de vista da caracterı́stica considerada.
2.4
Considerações Finais
O objetivo deste capı́tulo foi definir conceitos importantes para a compreensão das definições e algoritmos apresentados nesta dissertação. Foram revistas noções da teoria da
probabilidade e definidas as redes bayesianas. Também foram descritas algumas vantagens
de se usar redes bayesianas em comparação com outras técnicas alternativas. Inferência e
aprendizagem em redes bayesianas foram abordadas sucintamente, esses conceitos serão
aprofundados em capı́tulos posteriores.
23
2.4. Considerações Finais
dct-ufms
Tabela 2.7: Vantagens comparativas das redes bayesianas.
Conhecimentos
AQUISIÇÃO
Só experiência
Só dados
Misto
Incremental
Generalização
Dados incompletos
REPRESENTAÇÃO
Incerteza
Clareza
Facilidade
Homogeneidade
UTILIZAÇÃO
Requisitos elaborados
Utilidade econômica
Desempenho
Análise
de
dados
Redes
neurais
Árvores
de
decisão
Sistemas Redes
especia- bayesialistas
nas
F
+
+
+
F
+
+
F
+
+
+
+
+
+
F
F
+
F
+
+
F
+
+
F
F
F
+
+
+
+
+
F
24
F
F
Capı́tulo 3
Inferência em Redes Bayesianas
Uma vez construı́da uma representação probabilı́stica através do modelo de RBs, para a
incerteza presente no relacionamento entre variáveis de um domı́nio de dados, uma das
tarefas mais importantes consiste em obter estimativas de probabilidades de eventos relacionados aos dados, à medida que novas informações ou evidências sejam conhecidas.
Esse processo é denominado inferência em redes bayesianas.
No capı́tulo anterior foi dada a definição de RB, apresentando-se algumas das suas
principais funcionalidades. A inferência em RBs, mediante o cálculo das probabilidades a
posteriori, permite responder a uma série de “consultas” ou “queries” sobre um domı́nio
de dados modelado através das RBs, a partir de nova informação (evidência) conhecida.
O objetivo deste capı́tulo é apresentar, de maneira formal, conceitos relativos à inferência
em RBs, assim como detalhar esse processo. Pode-se fazer uso de métodos exatos (Seção
3.1) e, em situações em que os métodos exatos não sejam os mais apropriados, podese usar os métodos aproximados (Seção 3.2) e, alternativamente, os métodos simbólicos
(Seção 3.3), que apresentam algumas vantagens que podem ser aproveitadas.
A importância da inferência bayesiana não fica restrita ao cálculo de probabilidades
interessantes à luz de novas evidências, podendo-se também tirar proveito da sua funcionalidade no processo de aprendizagem de RBs. O objetivo deste trabalho é implementar
um método de aprendizagem de RBs — de estrutura e de parâmetros — a partir de dados incompletos, onde a inferência é utilizada para estimar valores faltosos na amostra de
dados. Portanto, neste capı́tulo detalha-se o algoritmo de árvore de junção (Seção 3.1.3),
utilizado na implementação dos algoritmos de aprendizagem desse trabalho.
Por exemplo, na área médica, a principal tarefa consiste em obter um diagnóstico
para um determinado paciente apresentando certos sintomas (evidências). O mecanismo para se obter essa conclusão a partir de evidências é denominado propagação de
evidências [8, 56]. Esta tarefa consiste em atualizar as probabilidades das variáveis em
função das evidências. No caso do diagnóstico médico, tenta-se conhecer as probabilidades de cada uma das possı́veis doenças, dados os sintomas observados no paciente. Essas
25
3.1. Métodos Exatos
dct-ufms
são probabilidades a posteriori.
Segundo Castillo et al [8] há três tipos distintos de algoritmos de propagação: exatos,
aproximados e simbólicos. Um algoritmo de propagação denomina-se exato se as probabilidades dos nós são calculadas sem outro erro senão o de arredondamento, inerente à
limitações de cálculo dos computadores. Os algoritmos de propagação aproximada utilizam distintas técnicas de simulação para obter valores aproximados das probabilidades.
Em geral, estes algoritmos são utilizados em casos em que os algoritmos exatos não são
aplicáveis, ou o custo computacional é elevado. Já os algoritmos de propagação simbólica
podem operar tanto com parâmetros numéricos quanto com parâmetros simbólicos, obtendo probabilidades na forma simbólica, em função dos parâmetros.
A seguir são descritos cada um desses métodos, contudo a ênfase será dada aos métodos
exatos, que apresentam soluções eficientes, tal como o algoritmo de árvore de junção.
3.1
Métodos Exatos
Um método é denominado exato se realiza o cálculo das probabilidades a posteriori através
de somatórios e combinações de valores, sem outro erro que não seja de arredondamento
no cálculo [8]. Nesta seção evidência e métodos exatos para propagá-la são definidos. Na
Seção 3.1.1 introduz-se o método “bruto”. Existem vários métodos exatos mais convenientes para a realização de inferência em uma rede bayesiana; destacando-se dois tradicionais,
o de propagação em poliárvores [56] (Seção 3.1.2) e o de eliminação de variáveis (Seção
3.1.3) com suas variações [19].
3.1.1
Propagação de Evidências
A propagação de evidências sobre uma rede bayesiana permite obter estimativas de probabilidades quando são acrescidas informações. Seja um conjunto de variáveis X =
{X1 , X2 , . . . , Xn } associadas a um domı́nio de dados e uma função de probabilidade P (x)
para X, conforme Equação 2.5, a ser descoberta. Quando se dispõe de certa evidência,
ou seja, quando é conhecido um subconjunto de variáveis E ⊂ X com valores associados
Xi = ei , para Xi ∈ E, o processo de propagação deve considerar esses valores no cálculo
das novas probabilidades dos nós.
Definição 3.1 (Evidência) Um subconjunto de variáveis E ⊂ X com valores conhecidos, E = e, em uma dada situação, é conhecido como conjunto de evidência, ou simplesmente evidência.
A propagação de evidência consiste no cálculo das probabilidades a posteriori P (xi |e)
para cada variável Xi ∈
/ E, dada a evidência E = e. A função de probabilidade a posteriori mede a influência da evidência sobre cada variável.
26
3.1. Métodos Exatos
dct-ufms
Quando não há evidência (E = φ), as funções condicionadas P (xi |e) são simplesmente
as funções de probabilidades marginais P (xi ), para cada Xi ∈ X. Ou seja, se não há
informação, o processo de propagação consiste no cálculo das marginais. Essas fornecem
informações a priori sobre os valores que as variáveis podem assumir.
Uma maneira de se fazer o cálculo das probabilidades P (xi |e) é aplicar o Teorema de
Bayes dado pela Equação 2.9:
P (xi |e) =
P (xi , e)
∝ P (xi , e)
P (e)
(3.1)
onde 1/P (e) é uma constante de normalização. Portanto, pode-se obter P (xi |e), calculando e normalizando as probabilidades marginais P (xi , e). Desta forma tem-se,
X
P (xi , e) =
Pe (x1 , . . . , xn )
(3.2)
x\{xi ,e}
onde Pe (x1 , . . . , xn ) é uma função de probabilidade obtida da substituição em
P (x1 , . . . , xn ) das variáveis com evidência, E, pelos seus valores e; x\{xi , e} representam todas as combinaçõesPdos estados ou valores das varáveis em X sem considerar os
valores de Xi e E, sendo x\{xi ,e} a marginalização (às vezes denominado somatório ou
eliminação de variáveis) das variáveis não contidas em {xi , e}. Então, para fazer o cálculo
P (xi , e) é preciso somar Pe (x1 , . . . , xn ) para cada uma das possı́veis combinações de valores das variáveis que não estejam contidas em E, com exceção da variável Xi . Quando a
evidência não é informada, a Equação 3.2 reduz-se a
X
P (xi ) =
P (x1 , . . . , xn )
(3.3)
x\xi
onde x\xi são todas as combinações dos estados das variáveis em X sem considerar a
variável Xi .
Devido ao número elevado de combinações dos valores que envolve a Equação 3.2,
esse método “bruto” é bastante ineficiente, inclusive em redes com número de variáveis
reduzido. Por exemplo, no caso de variáveis binárias, a Equação 3.2 requer a soma de
2n−1 probabilidades distintas.
O problema das Equações 3.2 e 3.3 é não considerarem a estrutura de independência
contida na função de probabilidade P (x). O cálculo necessário no processo de propagação
pode ser reduzido se consideradas as relações de independência entre as variáveis da
função de probabilidade P (x). Por exemplo, seja um modelo probabilı́stico formado pelo
conjunto de variáveis X = {A, . . . , G} e uma função de probabilidade P (x) que pode ser
fatorada usando o grafo acı́clico da Figura 3.1 na forma:
P (x) =
n
Y
P (xi |pai ) = P (a)P (b)P (c|a)P (d|a, b)P (e)P (f |d)P (g|d, e)
i=1
27
(3.4)
3.1. Métodos Exatos
dct-ufms
A
C
B
D
E
F
G
Figura 3.1: Grafo acı́clico orientado.
onde xi ∈ X e pai é uma instância de P ai , o conjunto de pais do nó Xi . Deseja-se calcular
as probabilidades marginais dos nós. Nesse caso, o método mais simples para obter P (xi )
é marginalizar a função de probabilidade utilizando a Equação 3.3. Por exemplo, as
probabilidades iniciais da variável D podem ser calculadas assim
X
X
P (d) =
P (x) =
P (a, b, c, d, e, f, g)
(3.5)
x\d
a,b,c,e,f,g
Supondo as variáveis binárias, o somatório
da Equação 3.3 teria 26 = 64 termos distintos,
P
posto que precisa-se marginalizar ( x\d=a,b,c,d,e,f ) 6 variáveis binárias.
A estrutura de independência, contida na função de probabilidade conjunta P (x),
permite simplificar o processo de propagação de evidência. O número de operações pode
ser reduzido agrupando os termos dentro do somatório da seguinte maneira:
X
P (d) =
P (a)P (b)P (c|a)P (d|a, b)P (e)P (f |d)P (g|d, e)
a,b,c,e,f,g
!
X
=
!
X
P (a)P (b)P (c|a)P (d|a, b)
a,b,c
P (e)P (g|d, e)P (f |d)
(3.6)
e,f,g
onde cada um dos somatórios pode ser calculado de forma independente. Portanto, o
problema de marginalizar uma função de probabilidade de seis variáveis é reduzido a
marginalizar duas funções que dependem só de três variáveis. O número de termos em
cada somatório fica reduzido (de 64 a 23 + 23 = 16), sendo reduzido também o número
de fatores de cada um dos termos (de 7 a 4 e de 7 a 3, respectivamente). Uma redução
adicional se consegue reordenando os termos dentro dos somatórios da Equação 3.6, da
forma seguinte:
"
"
##
"
"
##
X
X
X
X
X
X
P (d) =
P (a)
P (c|a)
P (b)P (d|a, b)
P (e)
P (f |d)
P (g|d, e)
a
c
e
b
f
g
(3.7)
Em geral, a propagação de evidências através de métodos exatos é NP-difı́cil, como
demonstrado por Cooper [16]. Porém, há uma classe restrita de redes que podem ser eficientemente resolvidas em tempo linear quanto ao número de nós. Essa classe é denominada
28
3.1. Métodos Exatos
dct-ufms
de redes simplesmente conectadas, também conhecidas como poliárvores ou polytrees [56]
tema da seção seguinte.
3.1.2
Propagação em Poliárvores
Uma poliárvore é um dos modelos gráficos mais simples para construir RBs [8]. Nesta
seção apresenta-se um algoritmo de propagação para este tipo de modelo probabilı́stico
conforme descrito em [56]. A caracterı́stica principal desse algoritmo é sua complexidade
ser linear no número de nós e arcos que compõem a rede, comparado com o método de
força bruta, que precisa de um número exponencial de operações para realizar a propagação. O algoritmo revisado de propagação em poliárvores proposto em [58] permite a
propagação de várias variáveis simultaneamente.
Em uma poliárvore dois nós quaisquer estão unidos por um único caminho. Isto implica que cada nó divide a poliárvore em duas poliárvores não conexas: uma que possui
os seus pais e os nós que estão conectados através de seus pais, e a outra que inclui seus
filhos e os nós que estão conectados através de seus filhos.
Por exemplo, na Figura 3.1, o nó D divide a poliárvore em duas poliárvores não
conexas, a primeira, {A, B, C}, inclui seus pais e os nós que são acessı́veis desde D através
de seus pais, e a segunda, {E, F, G}, que inclui aos seus filhos e os nós acessı́veis desde D
através de seus filhos. Este fato é ilustrado na Figura 3.2. Também pode-se constatar que
o nó D separa esses dois conjuntos, a relação de independência I({A, B, C}, {E, F, G}|D)
é verificada na forma gráfica.
A
C
B
D
D
F
E
G
Figura 3.2: O nó D divide a poliárvore em duas poliárvores não conexas.
Neste tipo de grafo, o processo de propagação pode ser realizado eficientemente, combinando a informação proveniente dos distintos subgrafos mediante o envio de mensagens
(cálculos de probabilidade locais) de um subgrafo a outro [8]. As mensagens enviadas de
uma variável para seus filhos são chamadas π, e as mensagens enviadas de uma variável
para seus pais são chamadas λ.
29
3.1. Métodos Exatos
dct-ufms
Antes de descrever o algoritmo de propagação em poliárvores apresenta-se um exemplo
de uma rede bayesiana com este tipo de estrutura simples (Figura 3.3). O domı́nio modelado e simplificado é um sistema de alarme para detecção de roubos descrito inicialmente
em [56]. Uma pessoa instalou um sistema de alarme contra roubos e tem dois vizinhos
João e Maria, que prometeram ligar caso eles ouvirem o alarme. João liga sempre que
escuta o alarme, mas algumas vezes confunde o som do telefone com o alarme e também
liga. Maria gosta de ouvir música alta e algumas vezes não ouve o alarme. Dada a
evidência de quem tenha, ou não, ligado, deseja-se estimar a probabilidade de um roubo.
R
T
A
J
M
Figura 3.3: Alarme contra roubos: R = Roubo; T = Terremoto; A = Alarme; J =
João-liga; M = Maria-liga.
As Tabelas 3.1 à 3.5 apresentam as distribuições de probabilidades desta RB exemplo.
Da topologia desta RB observa-se que um roubo e os terremotos influenciam na probabilidade de que o alarme se ative.
Tabela 3.1: P (R).
Tabela 3.2: P (T ).
P(R=F)
0.99
P(T=F)
0.98
P(R=V)
0.01
P(T=V)
0.02
Tabela 3.3: P (A|R, T ).
R
F
V
F
V
T
F
F
V
V
P(A=F) P(A=V)
0.999
0.001
0.71
0.29
0.06
0.94
0.05
0.95
Há duas formas básicas de influência das variáveis em uma RB. As causas influenciam
os efeitos (influência causal π — das causas para os efeitos) e os efeitos influenciam as
30
3.1. Métodos Exatos
dct-ufms
Tabela 3.5: P (M |A).
Tabela 3.4: P (J|A).
A
F
V
P(J=F) P(J=V)
0.95
0.05
0.1
0.9
A
F
V
P(M=F)
0.99
0.3
P(M=V)
0.01
0.7
suas causas (influência diagnóstica λ — dos efeitos para as causas). No exemplo, suponha que há evidência de João ligar (efeito) e deseja-se saber se houve um roubo (causa),
P (R|J = V ). Um raciocı́nio errado é o seguinte: uma vez que o alarme seja ativado e
que João ligue será verdadeiro 90% do tempo. O alarme é muito preciso na detecção de
ladrões, assim P (R|J) deve também estar próximo de 0.9 ou 0.8 ou talvez pior. O problema é que este tipo de raciocı́nio ignora a probabilidade prévia das ligações de João. Sobre
a base de 1000 dias, é esperado 1 roubo, para o qual João é muito provável que ligue.
Mas João também liga com probabilidade 0.05 quando não há alarme, isto é, próximo a
50 vezes em 1000 dias. Assim espera-se receber cerca de 50 falsos alarmes de João para
cada 1 roubo, sendo P (R|J) próximo a 0.02. O valor real é 0.016.
Também é possı́vel calcular a influência das causas sobre os efeitos (influência causal
π — das causas para os efeitos). Dado um roubo, P (J|R = V ) = 0.86 e P (M |R = V ) =
0.67.
Em geral, seja X um nó, correspondente a uma variável X qualquer da rede. X sofre
a influência causal π de seus pais e a influência diagnóstica λ de seus filhos:
• Quando uma evidência externa impacta o nó X este atualiza sua crença (P (x|e)) e
a propaga para cada um de seus pais e para cada um de seus filhos;
• Quando uma evidência de um pai (mensagem π) chega ao filho X o filho atualiza
sua crença e a propaga a cada um de seus filhos e a cada um de seus pais, exceto
àquele que lhe enviou a mensagem;
• Quando uma evidência de um filho (mensagem λ) chega ao pai X, X atualiza sua
crença e a propaga para cada um de seus pais e para cada um de seus filhos, exceto
àquele que lhe enviou a mensagem.
Considere que X tenha m filhos, Y1 , . . . , Ym , e n pais, P a1 , . . . , P an , como ilustrado
na Figura 3.4. A distribuição de probabilidades da variável X pode ser calculada se três
tipos de parâmetros estão disponı́veis [56]:
1. A força atual do suporte causal, π, formado pela contribuição de cada arco de
chegada P ai → X:
(3.8)
πX (pai ) = P (pai |e+
P ai X )
onde e+
P ai X representa a evidência contida no subgrafo formado pelos nós ligados
a cada pai de X, P ai ; e P (pai |e+
P ai X ) é a crença formada pela propagação dessa
evidência (as mensagens π e as mensagens λ) sobre cada pai de X.
31
3.1. Métodos Exatos
dct-ufms
Pa1
. . .
Pa n
X
Y1
. . .
Ym
Figura 3.4: Pais e filhos de um nó qualquer X.
2. A força atual do suporte diagnóstico, λ, formado pela contribuição de cada arco de
saı́da X → Yj :
λYj (x) = P (e−
(3.9)
XYj |x)
onde e−
XYj representa a evidência contida no subgrafo formado pelos nós ligados a
cada filho de X, Yj ; e P (e−
XYj |x) é a crença formada pela propagação dessa evidência
(as mensagens λ e π) sobre cada filho de X.
3. A matriz de probabilidade condicional fixa P (x|pa1 , . . . , pan ) que relaciona a variável
X aos seus pais imediatos.
Usando esses parâmetros, a atualização de crença local pode ser efetuada em três
passos [56]:
Passo 1 : Atualização de crença: quando um nó X é ativado (recebe uma evidência),
simultaneamente inspeciona as mensagens πX (pai ), i = 1, . . . , n enviadas pelos seus
pais e as mensagens λYj (x), j = 1, . . . , m enviadas pelos seus filhos. Usando está
entrada, o nó atualiza sua medida de crença
BEL(x) = αλ(x)π(x)
(3.10)
Y
(3.11)
onde
λ(x) =
λYj (x)
j
é a multiplicação de cada uma das mensagens enviadas pelos filhos de X,
X
Y
π(x) =
P (x|pa1 , . . . , pan )
πX (pai )
pa1 ,...,pan
(3.12)
i
é a soma ponderada de cada mensagem enviado pelos pais de X (πX (pai )) com a
força do seu relacionamento com X, P (x|pai ). BEL (belief) indica a crença acumulada
e
α
é
uma
constante
de
normalização
para
P
x BEL(x) = 1.
32
3.1. Métodos Exatos
dct-ufms
Passo 2 : Propagação ascendente: usando as mensagens recebidas, o nó X calcula as novas mensagens λ para serem enviadas aos seus pais. Por exemplo, a nova mensagem
λX (pai ) que X envia aos seus pais P ai é calculada como
X
X
λ(x)
πX (pak )
(3.13)
λX (pai ) = β
x
pak :k6=i
Passo 3 : Propagação descendente: cada nó calcula novas mensagens π para serem
enviadas aos seus filhos. Por exemplo, a nova mensagem πYj (x) que X envia aos
seus filhos Yj é calculada como
"
#
Y
X
Y
λYk (x)
πYj (x) = α
P (x|pa1 , . . . , pan )
πX (pai )
k6=j
= α
pa1 ,...,pan
BEL(x)
λYj (x)
i
(3.14)
Cada uma das equações dadas nos passos 2 e 3 estão definidas em função da crença
e das mensagens λ e π do nó X (para maiores detalhes sobre a derivação dessas últimas
equações pode ser consultado [56]).
3.1.3
Propagação em Redes Multiconectadas
Em estruturas de redes mais gerais e complexas, denominadas multiconectadas, uma simples propagação local, como descrita na seção anterior, não é aplicável porque algoritmos
desenvolvidos para redes simplesmente conectadas —poliárvores— não prevêem a possibilidade de um nó, ao receber evidência de dois dos seus vizinhos, detectar se essa evidência
não se origina na mesma fonte e evitar contá-la duas vezes. Assim, algoritmos especializados para redes multiconectadas são necessários. Nesta seção apresenta-se um resumo
dos algoritmos exatos para inferência neste tipo de estruturas.
A Figura 3.5 ilustra uma estrutura de rede multiconectada, ou seja, na qual podem
existir vários caminhos entre dois nós. Por exemplo, pode-se observar que do nó A ao
nó F há dois possı́veis caminhos, e se a direção dos arcos não é considerada forma-se um
ciclo entre esses nós.
A abordagem natural em redes multiconectadas consiste em aplicar transformações
topológicas a essas redes visando transformá-las em poliárvores e aplicar os algoritmos
disponı́veis para propagação de evidências em poliárvores [15]. Os métodos mais utilizados com essa finalidade são os métodos de agregado e condicionantes. Ambos métodos
apresentam algumas dificuldades na transformação do GAO em poliárvores. No primeiro caso, é necessário selecionar variáveis que permitem quebrar as conexões múltiplas
do GAO e que, deste modo, formaram uma variável composta. Quanto maior for esse
agregado, maior será a dimensão da sua tabela de distribuição de probabilidades condicionais e maior a dificuldade para explicar a variação de crença devida a cada uma das
33
3.1. Métodos Exatos
dct-ufms
A
B
C
G
D
E
H
F
Figura 3.5: Estrutura de rede bayesiana multiconectada.
variáveis. Em resumo, o método de agregados constrói representações auxiliares, de estrutura mais simples, unindo conjuntos de nós do grafo original. Deste modo pode-se obter
um grafo com estrutura de poliárvore no qual é possı́vel aplicar idéias de propagação de
evidências [40].
O algoritmo de árvore de junção (tema da Seção 3.1.4) é um método de agregado eficiente para inferência em redes multiconectadas [15] e foi utilizado como parte do algoritmo
de aprendizagem de parâmetros para estimar valores faltosos.
O método de condicionantes está baseado na habilidade de mudar a conectividade de
uma rede, de forma a torná-la simplesmente conectada, selecionando-se um conjunto adequado de variáveis a serem instanciadas. A idéia fundamental do método de propagação
por condicionamento é cortar os múltiplos caminhos entre os nós mediante a atribuição
de valores a um conjunto reduzido de variáveis contidas nos ciclos [8]. Essas variáveis
formam o que se chama conjunto de corte [22], ou seja, são nós que, quando excluı́dos,
eliminam os ciclos existentes na rede. O resultado disto é uma poliárvore na qual será
possı́vel aplicar o algoritmo de propagação para poliárvores. Nesses métodos, se a rede
for muito conectada, pode ocorrer um problema de complexidade computacional combinatória, em função do número de nós e variáveis necessárias para quebrar os ciclos do
GAO.
O algoritmo dado em [56], chamado Global Conditioning (GC), condiciona todos os
nós da rede a cada variável do conjunto de corte. Neste método a propagação se torna exponencial não só com relação ao número de novas evidências, mas também com o número
de variáveis do conjunto de corte [26].
O condicionamento em nós, chamado de Knots Conditioning (KC), é um método de
34
3.1. Métodos Exatos
dct-ufms
propagação em redes de conhecimento que utiliza do algoritmo de propagação em poliárvores revisado. Existem outros métodos exatos para a resolução de knots que são
descritos em [40]. O processo de inferência que se utiliza do método chamado Local Conditioning (LC) [26] propõe um algoritmo eficiente para aplicações práticas utilizando o
condicionamento apenas dentro dos ciclos da rede. Este algoritmo de condicionamento
local segue a abordagem dos knots, aplicando o condicionamento somente dentro de cada
ciclo da rede. Com esta mudança, em alguns casos nos quais o KC possui complexidade
exponencial, o LC é linear.
Embora a complexidade do algoritmo para poliárvores seja linear com relação ao tamanho da rede, para o caso de redes multiconectadas o problema se torna NP-difı́cil [16].
Castillo et al [8] afirmam que, em geral, tanto o método de condicionamento quanto o de
agregado consideram este tipo de complexidade. Porém, as caracterı́sticas particulares
destes métodos fazem com que, em determinadas ocasiões, um deles seja mais eficiente
que o outro em redes com alguma estrutura particular.
3.1.4
Algoritmo de Árvore de Junção
Uma rede bayesiana representa um modelo probabilı́stico completo, com representação das
informações qualitativas (dependências), quantitativas (função de distribuição de probabilidades condicionais) e uma estrutura de controle para a inferência. Ao se obter uma
evidência, é preciso considerar se existe mais de um caminho entre o nó com a evidência
e aquele cuja probabilidade deve ser atualizada pela inferência. A estrutura de controle
determina qual estratégia usar para propagar crenças ou probabilidades. Uma árvore de
junção é um exemplo de estrutura de controle obtida a partir da estrutura de uma rede
bayesiana [41].
Em 1990, Finn Jensen et al apud [15] propuseram um método geral para propagação
de crenças em RBs. Esse método aproveita a estrutura da rede para propagar evidências,
calculando probabilidades locais (com pequeno número de variáveis) e evitando expressões
globais (grande número de variáveis). Para tanto é necessário criar uma estrutura intermediária, na forma de uma árvore com caracterı́sticas especiais, denominada árvore de
junção, cujos nós são determinados por subconjuntos das variáveis da rede bayesiana original (cliques). A estrutura da árvore de junção associada à rede original é fixa, sendo os
cálculos realizados localmente no sentido de que um nó necessite se comunicar somente
com os seus vizinhos. Esse método não se aplica às redes que possuem ciclos ou nós com
um número muito grande de pais (pois os cliques podem ficar muito grandes).
Definição 3.2 (Cliques) Um clique em um grafo não dirigido G é um subgrafo de G
que é completo e máximo. Completo significa que cada par de nós distintos é conectado
por um arco. Máximo significa que cada clique não está contido em um subgrafo completo
maior.
As seções seguintes especificam o processo de construção de uma árvore de junção e o
35
3.1. Métodos Exatos
dct-ufms
processo de inferência sobre esta estrutura, cujas descrições foram adaptadas de [15, 39].
Este algoritmo foi utilizado para a inferência dos valores faltosos nas instâncias de dados
que estavam incompletas.
Construindo Árvore de Junção de Redes Bayesianas
A partir do GAO de uma rede bayesiana, as transformações que resultam em uma árvore
de junção podem ser resumidas na construção das seguintes estruturas intermediárias:
1. A construção de um grafo não dirigido, chamado grafo moralizado, a partir do GAO.
2. A adição de arcos ao grafo moralizado para formar um grafo triangular.
3. A seleção de subconjuntos de nós do grafo triangular, chamados cliques.
4. A construção da árvore de junção, utilizando os cliques como agregados: conectando os agregados para formar uma árvore não dirigida e inserindo os separadores
apropriados.
Cada um desses passos é descrito com maior detalhe a seguir.
1- Construindo o Grafo Moralizado
Para construir o grafo moralizado adiciona-se um arco (se inexistente) entre pares de pais
de cada nó do grafo original e elimina-se a orientação dos arcos do grafo resultante. Na
Figura 3.6 é apresentado o grafo moral obtido do GAO da Figura 3.5.
A
B
C
G
D
E
H
F
Figura 3.6: Exemplo de grafo moralizado.
36
3.1. Métodos Exatos
dct-ufms
2- Triangularizando o Grafo Moralizado
A triangularização consiste na introdução de arcos em ciclos com mais de três nós. Os
arcos são denominados cordas e o grafo resultante, grafo cordal ou triangular. Como um
ciclo pode ser quebrado de diversas formas, existem diversas maneiras de se triangularizar
um grafo, sendo ótima a que utiliza o mı́nimo possı́vel de cordas. O algoritmo de triangularização ótima de um grafo é da classe NP-completo [71]. Os cliques de um grafo são
determinados pela sua triangularização. O tamanho dos cliques condiciona a eficiência
dos algoritmos de propagação de evidências, pois estão baseados em tabelas de probabilidades associadas a cada clique. Uma boa triangularização produz cliques pequenos
(pequenas tabelas de probabilidades). Intuitivamente, a triangularização conecta aqueles
nós que apresentam um termo comum no momento da marginalização. O procedimento
para triangularização, adaptado de Kjaerulff [43], é o seguinte:
1. Faz-se uma cópia de GM (grafo moralizado), denotada G0M .
2. Enquanto houver nós em G0M :
(a) Seleciona-se um nó V de G0M , de acordo com o critério especificado posteriormente.
(b) O nó V e seus vizinhos em G0M formam um agregado (cluster). Conecta-se
todos os nós neste agregado. Para cada arco adicionado a G0M , adiciona-se um
arco correspondente em GM .
(c) Remove-se V de G0M .
3. GM , modificado pelas arcos adicionais inseridos nos passos prévios, é agora triangular.
Para descrever o critério para selecionar os nós no passo 2a, utiliza-se a noção de peso:
• O peso de um nó V é o número de valores de V .
• O peso de um agregado é o produto dos pesos dos nós que formam o agregado.
O critério para selecionar os nós a serem removidos é assim definido: escolhe-se o nó
que produza o menor número de arcos a serem adicionados no passo 2b, quebrando as
ligações para escolher o nó que induz o agregado com o menor peso. Na Figura 3.7 é
apresentada uma das possı́veis triangularizações do grafo moralizado da Figura 3.6, onde
as linhas traçadas indicam os arcos adicionados para triangularizar o grafo moralizado.
Na Tabela 3.6 é apresentada a ordem de eliminação considerando o número de valores
(estados) de cada nó como 2.
3- Identificando Cliques
Adaptando o procedimento de triangularização, pode-se identificar os cliques do grafo
triangular no instante em que este está sendo construı́do. Precisa-se de duas observações:
37
3.1. Métodos Exatos
dct-ufms
A
B
C
G
D
E
H
F
Figura 3.7: Grafo triangular do grafo da Figura 3.6.
Tabela 3.6: Ordem de eliminação dos nós.
Ordem
1
2
3
4
5
6
7
8
Nó Eliminado
H
G
F
C
B
D
E
A
Agregado Induzido Arcos Adicionados
EGH
nenhum
CEG
nenhum
DEF
nenhum
ACE
(A, E)
ABD
(A, D)
ADE
nenhum
AE
nenhum
A
nenhum
• Cada clique no grafo triangular é um agregado induzido do passo 2b da seção anterior.
• Cada agregado induzido não pode ser um subconjunto de um grupo induzido subseqüentemente.
Estas observações sugerem que pode-se extrair os cliques durante o processo de triangularização, salvando cada agregado induzido desde que não seja um subconjunto de
algum agregado salvo previamente. Da Tabela 3.6, observa-se que os cliques do grafo
triangular são EGH, CEG, DEF, ACE, ABD e ADE.
4- Construindo uma Árvore de Junção Ótima
Definição 3.3 (Árvore de Junção) Uma árvore de junção T de um Grafo G é uma
árvore cujos nós são agregados de G e a) para cada nó V em G, existem nós em T que
contêm a famı́lia de V . A famı́lia de V é a união de V e seus pais; b) para cada par de
agregados ou cliques Ci , Ck , todos os agregados entre Ci e Ck contêm Ci ∩ Ck (propriedade
38
3.1. Métodos Exatos
dct-ufms
de árvore de junção); e c) o arco é rotulado com as variáveis comuns aos agregados que
une (separador).
Para construir uma árvore de junção ótima, deve-se conectar os cliques de maneira que a
árvore resultante satisfaça a propriedade de árvore de junção e um critério de otimização
que será definido posteriormente. A propriedade de árvore de junção é importante para
a árvore ser útil para inferência probabilı́stica. Dado um conjunto de n cliques, pode-se
formar uma árvore de junção inserindo iterativamente arcos entre pares de cliques, até
que os cliques estejam conectados por n − 1 arcos [41]. A especificação do algoritmo pode
ser dividida em duas partes: a primeira é um procedimento geral que forma uma árvore
de cliques pela seleção e inserção iterativa de separadores de conjuntos candidatos. Na
segunda parte, mostra-se como os separadores de conjuntos devem ser escolhidos, para
que a árvore de cliques seja uma árvore de junção ótima.
4.1- Formando a Árvore de Cliques
1. Inicia com um conjunto de n árvores, cada um formado de um só clique, e um
conjunto vazio S.
2. Para cada par distinto de cliques Ci e Ck :
(a) Cria-se um conjunto separador candidato, Ci ∩ Ck , com apontadores aos cliques
Ci e Ck . Denote este conjunto SCi Ck .
(b) Insere-se SCi Ck em S.
3. Repetir até que n − 1 separadores de conjuntos sejam inseridos na floresta.
(a) Seleciona-se um conjunto separador SCi Ck de acordo com critério especificado
no passo subseqüente. Exclui-se SCi Ck de S.
(b) Insere-se o separador de conjuntos SCi Ck entre os cliques Ci e Ck somente se Ci
e Ck estão em diferentes árvores na floresta. Note que a inserção deste conjunto
separador junta duas árvores em uma árvore maior.
4.2- Escolha dos Conjuntos Separadores Apropriados
Para descrever como escolher o próximo conjunto separador candidato, define-se as noções
de massa e custo.
• A massa de um separador de conjunto SCi Ck é o número de variáveis que contém,
ou seja, o número de variáveis em Ci ∩ Ck .
• O custo de um separador de conjunto SCi Ck é o peso de Ci mais o peso de Ck , onde
o peso é definido como:
– O peso de uma variável V é o número de valores de V .
39
3.1. Métodos Exatos
dct-ufms
– O peso de um conjunto de variáveis Ci é o produto dos pesos das variáveis em
Ci .
Agora pode-se estabelecer como selecionar o próximo conjunto separador candidato
de S quando se executa o passo 3a [41]:
• Para que a árvore de cliques resultante satisfaça a propriedade de árvore de junção,
deve-se escolher o conjunto separador candidato com maior massa.
• Quando dois ou mais conjuntos separadores têm igual massa, pode-se escolher o
conjunto candidato com menor custo.
No exemplo, a partir do conjunto de cliques {ABD, ACE, ADE, CEG, DEF, EGH}
da Figura 3.7, escolhe-se os conjuntos separadores AD, AE, CE, DE e EG de acordo com
a massa. Estes cliques e separadores formam a estrutura da árvore de junção ilustrado
na Figura 3.8.
ABD
AD
ADE
AE
ACE
CE
CEG
EG
DE
Conjunto
separador
EG
DEF
EGH
Agrupamento
DEF
Figura 3.8: Exemplo de estrutura de árvore de junção para o exemplo da Figura 3.5.
Inferência com Árvores de Junção
O componente numérico de uma árvore de junção é descrito utilizando a noção de potencial
de crença. Um potencial de crença é uma função que mapeia cada instanciação de um
conjunto de variáveis em um número real. Potenciais de crença são definidos sobre os
seguintes conjuntos de variáveis:
• Agregados ou cliques: cada clique C está associado com um potencial φC que mapeia
cada instanciação dos valores das variáveis que formam C em um número real.
• Separador de conjuntos: cada separador de conjuntos S está associado com um
potencial φS que mapeia cada instanciação dos valores das variáveis S em um número
real.
40
3.1. Métodos Exatos
dct-ufms
Os potenciais não são especificados de forma arbitrária, mas devem satisfazer as seguintes restrições:
• Para cada clique C e conjunto separador vizinho S, tem-se que:
X
φC = φS
(3.15)
C\S
P
onde C\S indica eliminação de variáveis ou marginalização. Quando a Equação
3.15 é satisfeita, diz-se que φS é consistente com φC . Quando esta consistência se
cumpre para cada par de cliques e separadores, diz-se que a estrutura secundária é
localmente consistente.
• Os potenciais codificam a distribuição conjunta P (U ) da rede bayesiana de acordo
com
Q
φC
P (U ) = Q i i
(3.16)
j φSj
sendo φCi e φSj são os potenciais dos cliques e dos conjuntos separadores, respectivamente.
Os potenciais φABD e φAD da Figura 3.8 são apresentados na Tabela 3.7. Note que
φABD e φAD satisfazem a exigência de consistência local, pois
X
φAD =
φABD
(3.17)
B
Tabela 3.7: Exemplo de potenciais para a árvore de junção do exemplo da Figura 3.5.
φABD
A
v
v
v
= v
f
f
f
f
B
v
v
f
f
v
v
f
f
D φABD (abd)
v
0.225
f
0.025
v
0.125
f
0.125
v
0.180
f
0.020
v
0.150
f
0.150
φAD
A
v
= v
f
f
D φAD (ad)
v
0.35
f
0.15
v
0.33
f
0.17
A consistência local também é mantida para os outros pares cliques-separadores. Finalmente, os potenciais de crença codificam a distribuição de probabilidade conjunta da
rede de acordo com
φABD φACE φADE φCEG φDEF φEGH
P (U ) =
(3.18)
φAD φAE φCE φDE φEG
Em geral são necessários os seguintes passos para realizar o processo de inferência:
41
3.2. Métodos Aproximados - Simulação Estocástica
dct-ufms
• Transformação global: transforma-se o GAO da rede bayesiana em uma estrutura
de árvore de junção, utilizando os procedimentos das seções anteriores.
• Iniciar: quantifica-se a árvore de junção com potenciais de crença. O resultado é
uma árvore de junção inconsistente, já que esta atribuição inicial de potenciais não
cumpre os requisitos de consistência local.
• Propagação global: realiza-se uma série ordenada de manuseios locais, chamados
passagens de mensagens, sobre os potenciais da árvore de junção. As passagens
de mensagens rearranjam os potenciais da árvore de junção fazendo-os localmente
consistentes; o resultado da propagação global é uma árvore de junção consistente.
• Marginalização da árvore de junção consistente: calcula-se P (V ) para cada variável
de interesse V .
Os processos Iniciar e Propagação não serão especificados aqui, maiores detalhes de
cálculo numérico e exemplos podem ser encontrados em [15, 39]. A estrutura de árvore de
junção da Figura 3.8 cumpre uma propriedade importante: para cada clique (ou conjunto
separador) C tem-se que φC = P (C). Utilizando esta propriedade, pode-se calcular a
distribuição de probabilidade de qualquer variável V , utilizando qualquer clique C que
contenha V , como
X
P (V ) =
φC
(3.19)
C\V
Por exemplo, a Tabela 3.8 apresenta um exemplo de marginalização. O potencial do
clique φABD é o potencial consistente tomado da Tabela 3.7. φABD é marginalizado para
calcular P (A) e P (B).
Tabela 3.8: Exemplo de marginalização a partir de potenciais para o exemplo da Figura
3.5.
P (A) =
P (D) =
3.2
A
P (A)
φ
=
v
0.225
+
0.025
+
0.125 + 0.125 = 0.5
BD ABD
f 0.180 + 0.020 + 0.150 + 0.150 = 0.5
P
P
AB
φABD
D
P (D)
= v 0.225 + 0.125 + 0.180 + 0.150 = 0.680
f 0.025 + 0.125 + 0.020 + 0.150 = 0.320
Métodos Aproximados - Simulação Estocástica
Os algoritmos considerados dentro do grupo de métodos aproximados utilizam distintas
técnicas de simulação para obter valores aproximados das probabilidades. Estes métodos
podem ser classificados em: algoritmos de simulação estocástica, métodos de simplificação
de modelos, métodos baseados em busca e propagação de crença em ciclos [8]. Como
42
3.2. Métodos Aproximados - Simulação Estocástica
dct-ufms
demonstrado em [21], a complexidade da inferência através destes métodos aproximados
é NP-difı́cil. Este tipo de algoritmo não foi considerado para implementação, porém, para
trabalhos futuros poderia ser avaliada a sua utilização. A seguir é apresentada uma das
suas técnicas mais representativas, a simulação estocástica.
Simulação Estocástica
Estes tipos de algoritmos também são conhecidos como algoritmos de amostragem estocástica ou Monte Carlo. A idéia principal deste método aproximado é usar o modelo
causal da RB para simular o fluxo do impacto ou influência da evidência sobre o resto das
variáveis [40]. Neste tipo de algoritmo, de acordo com as tabelas de probabilidade condicional da RB, gera-se um conjunto de amostras selecionadas aleatóriamente, então realiza-se
inferência, isto é, aproxima-se probabilidades de variáveis “consulta” pela freqüência da
suas aparições na amostra. A exatidão dos resultados vai depender do tamanho das amostras e, diferentemente dos métodos exatos, a estrutura da rede não é relevante no cálculo
da inferência, sendo essa uma de suas vantagens principais.
Para ilustrar essa técnica considere a RB da Figura 3.9 com as probabilidades condicionais especificadas na Figura 3.10.
A
B
C
D
E
Figura 3.9: Estrutura de rede bayesiana para simulação estocástica, variáveis com estados
sim e nao.
O algoritmo inicia gerando (um número suficiente de vezes) configurações aleatórias
das variáveis (A, B, C, D, E). A seleção de uma configuração aleatória é feita por amostragem dos estados das variáveis. Primeiro é amostrado o estado de A, um gerador aleatório
que devolve um número entre 0 e 1. Se o número for menor que 0.4, o estado da variável
é sim; caso contrário o estado é nao. Supondo o resultado como sim, da tabela de probabilidade condicional P (B|A) tem-se que P (B|sim) = (0.3, 0, 7). O gerador aleatório é
usado novamente, e se o número for menor a 0.3, o estado de B é sim. Este procedimento é repetido para se obter o estado de C, D e E. Assim, uma configuração é determinada.
A próxima configuração é amostrada usando o mesmo procedimento e assim sucessivamnte até obter m configurações na amostra. Na Tabela 3.9 é apresentado um conjunto
de configurações simuladas. Para calcular as distribuições de probabilidades são feitas
43
3.2. Métodos Aproximados - Simulação Estocástica
dct-ufms
Figura 3.10: Probabilidades condicionais para a rede bayesiana exemplo.
contagens no conjunto amostrado. Para 39 das amostras na Tabela 3.9, o primeiro estado
é sim, isto resulta numa estimativa da probabilidade P (A) = (0.39, 0.61).
Tabela 3.9: Conjunto de 100 configurações de (A, B, C, D, E).
A
sim
sim
nao
nao
B
sim
nao
sim
nao
sss
4
2
9
0
ssn
0
0
1
0
sns
5
16
10
4
CDE
snn nss
0
1
0
1
0
14
0
0
nsn
0
0
0
0
nns
2
8
16
7
nnn
0
0
0
0
Nesse método, chamado forward sampling, não é necessário armazenar as configurações amostradas (como a Tabela 3.9). É suficiente armazenar as freqüências para cada
variável. Quando uma configuração é determinada, as freqüências de todas as variáveis
são atualizadas e a amostra pode ser excluı́da. O método economiza espaço, e cada configuração é determinada em tempo linear ao número de variáveis.
Para o caso em que nova evidência é conhecida, simplesmente são excluı́das as configurações que não conformam essa evidência. Ou seja, é iniciada uma série de simulações
estocásticas, e quando conferido o estado de uma variável observada, o processo de simu44
3.3. Métodos Simbólicos
dct-ufms
lação para caso o estado resultante não seja o observado.
3.3
Métodos Simbólicos
Os métodos apresentados nas seções anteriores requerem que a função de probabilidade
conjunta do modelo seja especificada numericamente, isto é, que sejam atribuı́dos valores
numéricos fixos a todos os parâmetros [8]. Em algumas situações, a especificação numérica
destes parâmetros não é desejada ou possı́vel. Neste caso, os métodos numéricos devem
ser substituı́dos por métodos simbólicos que sejam capazes de lidar com os parâmetros,
sem precisar de atribuir-lhes nenhum valor.
Os métodos de propagação simbólica conduzem a soluções que se expressam como
funções dos parâmetros. As respostas a questões gerais podem ser dadas em forma
simbólica em função dos parâmetros, e as perguntas especı́ficas podem ser obtidas fazendo a substituição dos valores dos parâmetros na solução simbólica, sem precisar refazer a
propagação. A propagação simbólica pode ser útil nos casos seguintes:
1. Quando não está disponı́vel a especificação numérica dos parâmetros do modelo
probabilı́stico.
2. Quando os especialistas somente são capazes de especificar intervalos dos parâmetros
ao invés de valores exatos. Neste caso, os métodos de propagação simbólica podem
ser utilizados para obter cotas inferiores e superiores das probabilidades para todos
os valores possı́veis dos parâmetros dos intervalos dados.
3. Quando é requerida uma análise de sensibilidade. Uma das questões que surgem
normalmente no contexto é: Quão sensı́veis são os resultados a mudanças nos
parâmetros e aos valores de evidência?.
3.4
Comentários Finais
Neste capı́tulo foi definido o problema de inferência e as distintas abordagens para lidar com ele. Foi detalhado o processo de construção e inferência sobre a estrutura de
árvore de junção (Seção 3.1.4). Este algoritmo foi usado neste trabalho para estimar valores faltosos em amostras, no contexto de aprendizagem de RBs, tema do próximo capı́tulo.
Existem muitas ferramentas que oferecem a funcionalidade de inferência probabilı́stica,
sendo algumas gratuitas e outras profissionais. Os pesquisadores que desenvolveram o algoritmo de árvore de junção criaram uma empresa e uma ferramenta denominada Hugin1 .
Esta foi uma das primeiras ferramentas em que se desenvolveram algoritmos exatos para
realizar inferência em RBs. Outra funcionalidade oferecida por Hugin é a análise do tipo
1
http://www.hugin.com/.
45
3.4. Comentários Finais
dct-ufms
mais provável explanação, isto é, a configuração mais provável que as variáveis podem assumir em um dado momento, de acordo com a evidência disponı́vel. Para cada inferência
realizada Hugin permite analisar a árvore de junção e as estruturas secundárias geradas.
A ferramenta Netica2 implementa uma versão própria de árvore de junção na qual o
usuário pode inspecionar os cliques e separadores que foram criados para a inferência,
e a ordem de eliminação escolhida. Também oferece a caracterı́stica da mais provável
explanação das variáveis.
JavaBayes3 é uma ferramenta que implementa um algoritmo de inferência diferente
denominado eliminação de variáveis generalizado [19]. Diferente das ferramentas analisadas anteriormente, esta é gratuita, distribuı́da sob licença GNU, sendo o código fonte
também disponı́vel.
A ferramenta UnBBayes4 também é gratuita e implementa o algoritmo de árvore de
junção para realizar inferência. A API disponibilizada pela ferramenta possibilitou o
desenvolvimento dos algoritmos neste trabalho.
2
http://www.norsys.com/.
http://www.pmr.poli.usp.br/ltd/Software/javabayes/.
4
http://unbbayes.sourceforge.net/.
3
46
Capı́tulo 4
Aprendizagem de Redes Bayesianas
Nos capı́tulos anteriores foi pressuposto que tanto a estrutura, quanto as probabilidades,
ou parâmetros, de uma RB já estavam definidos previamente e a RB estava pronta para
responder a consultas através de um processo de inferência. Em algumas situações, é
possı́vel construir toda a RB a partir do conhecimento de um especialista, porém, dependendo do domı́nio a ser modelado, este pode ser um processo difı́cil e demorado.
Particularmente, definir cada uma das probabilidades condicionais para uma RB, cujo
número de variáveis seja maior do que dez, pode se tornar uma tarefa complicada se usada só a experiência do especialista.
Considerando isto, e também o fato que os dados estão cada vez mais acessı́veis e baratos, atualmente, há grande interesse no aperfeiçoamento e desenvolvimento de métodos
para aprender estruturas e probabilidades a partir de dados.
A aprendizagem de RBs consiste em induzir, a partir de uma amostra de dados, as
distribuições de probabilidades simples e condicionais e/ou identificar as relações de interdependência entre as variáveis de um domı́nio de dados, que se constitui na população de
interesse. Esse processo de aprendizagem indutiva pode ser de dois tipos: aprendizagem
da estrutura (Seção 4.3), quando não se tem a estrutura e aprendizagem dos parâmetros
numéricos (Seção 4.2) quando se tem a estrutura. Os métodos de aprendizagem variam,
conforme o conhecimento que se tem dos dados.
Situações ocorrem em que a estrutura da rede é conhecida e as variáveis são observadas, ou ocultas, em todas ou em algumas instâncias de dados. Ou se tem a estrutura
desconhecida com essas mesmas possibilidades para as variáveis. Quando as variáveis são
observadas em todas as instâncias, diz-se que os dados são completos. Caso contrário, os
dados são incompletos. Conseqüentemente, há quatro casos de aprendizagem de RBs a
partir de dados: estrutura conhecida e dados completos (Seção 4.2.1); estrutura conhecida e dados incompletos (Seção 4.2.2); estrutura desconhecida e dados completos (Seção
4.3.1) e estrutura desconhecida e dados incompletos (Seção 4.3.2).
47
4.1. Algoritmo Expectation Maximization EM
dct-ufms
O algoritmo EM (Expectation Maximization) é um método para estimar funções de
máxima verossimilhança a partir de dados incompletos. Se os dados são incompletos,
pode-se utilizar os casos em que foram observadas as variáveis para aprender a predizer
seus valores quando não observados. As caracterı́sticas deste algoritmo permitem usá-lo
em problemas de aprendizagem de RBs a partir de dados incompletos, sendo a abordagem
algorı́tmica principal deste trabalho. Na Seção 4.1 é dada uma formulação geral do algoritmo EM. Na Seção 4.2.2 é descrito o algoritmo EM e sua aplicação para aprendizagem
de parâmetros com estrutura conhecida e dados incompletos.
Tanto para dados completos, como para incompletos, existem dois paradigmas principais para aprendizagem de estruturas de RBs: baseado em restrições ou independência
condicional e busca e pontuação. Os algoritmos EM para aprendizagem de estrutura fazem
parte deste último paradigma e são descritos na Seção 4.3.2.
4.1
Algoritmo Expectation Maximization EM
O algoritmo EM surgiu da unificação de uma série de trabalhos aparentemente sem relação e apresentado com esse nome por Demspter et al (1977) apud [6]. Depois disto,
este algoritmo permaneceu por muito tempo esquecido. Basicamente, se alguma variável
foi algumas vezes observada e outras não, pode-se utilizar os casos para os quais foi observada para aprender a predizer seus valores quando não. O algoritmo EM realiza esta
tarefa, mas, também pode ser utilizado para variáveis cujos valores nunca foram observados, sempre e quando seja conhecida a forma geral da distribuição de probabilidade das
variáveis [49].
Em geral os parâmetros descrevem as caracterı́sticas de uma população. Seus valores
são estimados de amostras coletadas dessa população. O algoritmo EM faz uma estimativa de máxima verossimilhança dos parâmetros, ou seja, estima parâmetros que sejam
os mais consistentes como os dados da amostra no sentido de maximizar a função de
verossimilhança.
Antes de introduzir o algoritmo EM, define-se função de verossimilhança e estimador
de máxima verossimilhança, conforme [50], para o caso geral de n variáveis aleatórias que
dependem do parâmetro θ, que pode até ser um vetor de parâmetros.
Definição 4.1 (Função de Verossimilhança) A função de verossimilhança de n variáveis aleatórias X1 , X2 , . . . , Xn é definida como a densidade conjunta de n variáveis
aleatórias, digamos fX1 ,...,Xn (x1 , . . . , xn ; θ), considerada como função de θ. Em particular,
se X1 , . . . , Xn é uma amostra aleatória da densidade f (x; θ), então a função de verossimilhança é f (x1 ; θ)f (x2 ; θ) . . . f (xn ; θ).
Notação 4.1 Para lembrar que função de verossimilhança é uma função de θ, usa-se a
notação L(θ; x1 , . . . , xn ) ou L(·; x1 , . . . , xn ) para a função de verossimilhança.
48
4.1. Algoritmo Expectation Maximization EM
dct-ufms
Definição 4.2 (Estimador de Máxima Verossimilhança) Seja
L(θ) = L(θ; x1 , . . . , xn )
a função de verossimilhança para as variáveis aleatórias X1 , X2 , . . . , Xn . Se θ̂ [onde θ̂ =
ϑ̂(x1 , x2 , . . . , xn ) é uma função das observações x1 , . . . , xn ] é o valor de θ em Θ̄(universo
dos θs) que maximiza L(θ), então Θ̂ = ϑ(X1 , X2 , . . . , Xn ) é o estimador de máxima
verossimilhança de θ. θ̂ = ϑ(x1 , . . . , xn ) é a estimativa de máxima verossimilhança de θ
para a amostra x1 , . . . , xn .
Em sı́ntese o algoritmo EM (Expectation Maximization) é definido por dois passos:
• Passo E: encontra-se os valores esperados das estatı́sticas suficientes para os dados
completos Y , dado os dados incompletos Z e as estimativas atuais dos parâmetros.
• Passo M: utiliza-se estas estatı́sticas suficientes para fazer uma estimativa de máxima
verossimilhança como é usual.
Observação 1: Uma definição precisa do que é estatı́stica suficiente pode ser vista
em [50].
Observação 2: Alguns autores denominam o Passo E de Estimation, o que faz sentido,
considerando que calcular valores esperados de estatı́sticas é calcular estimativas.
Uma especificação mais formal é dada a seguir.
Especificação do Algoritmo EM
Nesta seção é apresentado o algoritmo EM conforme descrito em [49]. O algoritmo EM
pode ser aplicado nos casos onde se deseja estimar algum conjunto de parâmetros θ, que
descreve uma certa distribuição de probabilidades conjunta, dada somente uma parte observada dos dados produzidos por esta distribuição. Para ser mais preciso, considere que
X = {x1 , . . . , xm } denote os dados observados em um conjunto de m instâncias ocorridas independentemente, seja Z = {z1 , . . . , zm } os dados não observados nestas mesmas
instâncias, e seja Y = X ∪ Z o total de dados.
Z pode ser tratada como uma variável aleatória cuja distribuição de probabilidades
depende do conjunto de parâmetros desconhecido θ e dos dados observados X. Analogamente, Y é uma variável aleatória porque é definida em termos da variável aleatória Z.
Para descrever a forma geral do algoritmo EM, h denota a hipótese atual dos parâmetros
θ, e h0 denota a hipótese revisada que é estimada em cada iteração do algoritmo EM.
O algoritmo EM busca a hipótese h0 de máxima verossimilhança, isto é, que maximize
E[ln P (Y |h0 )]. Este valor esperado é calculado sob a distribuição de probabilidade de Y ,
49
4.1. Algoritmo Expectation Maximization EM
dct-ufms
que é determinada pelos parâmetros desconhecidos θ. Mas, o que significa E[ln P (Y |h0 )]?
Primeiro, P (Y |h0 ) é a verossimilhança de todos os dados Y , dada a hipótese h0 . É razoável
que se queira encontrar h0 que maximize alguma função desta quantidade. Segundo, maximizar o logaritmo desta quantidade ln P (Y |h0 ) também maximiza P (Y |h0 ). Terceiro, se
introduz o valor esperado de E[ln P (Y |h0 )] porque o total de dados Y é, ele próprio, uma
variável aleatória.
Dado que os dados Y são uma combinação dos dados observados X e não observados Z, deve-se mediar sobre os possı́veis valores não observados Z, ponderando cada
um de acordo com suas probabilidades. Em outras palavras, toma-se o valor esperado
E[ln P (Y |h0 )] sobre a distribuição de probabilidade da variável aleatória Y . A distribuição
de probabilidades de Y é determinada pelos valores completamente conhecidos para X,
mais a distribuição de probabilidade de Z.
Qual é a distribuição de probabilidade de Y ? Em geral não se sabe esta distribuição
porque ela é determinada pelos parâmetros θ que se está tentando estimar. Entretanto,
o algoritmo EM usa sua hipótese atual h no lugar do parâmetro θ atual para estimar a
distribuição de probabilidades de Y . Considere a definição de uma função Q(h0 |h) que
dá E[ln P (Y |h0 )] como uma função de h0 , sob a suposição que θ = h e dada a porção
observada X dos dados Y .
Q(h0 |h) = E[ln P (Y |h0 )|h, X]
(4.1)
Escreve-se esta função Q na forma Q(h0 |h) para indicar que ela é definida em parte pela
suposição que a hipótese atual h é igual a θ.
Em sua forma geral, o algoritmo EM repete os dois passos seguintes, até a convergência:
Passo E: Expectation(E): calcula Q(h0 |h) usando a hipótese atual h e os dados observados X para estimar a distribuição de probabilidade sobre Y .
Q(h0 |h) = E[ln P (Y |h0 )|h, X]
(4.2)
Passo M: Maximization(M): troca a hipótese h pela hipótese h0 que maximiza esta
função Q.
h = arg max Q(h0 |h)
h0
(4.3)
Quando a função Q é contı́nua, o algoritmo EM converge para um ponto estacionário
da função de verossimilhança P (Y |h0 ). Quando esta função tem um único máximo, EM
convergirá para esta estimativa de máxima verossimilhança global para h0 . De outro modo,
o algoritmo converge somente para um máximo local. Com relação a isto, EM compartilha algumas das limitações dos outros métodos de otimização, tais como o gradiente
50
4.2. Aprendizagem de Parâmetros
dct-ufms
descendente, gradiente conjugado, etc.
4.2
Aprendizagem de Parâmetros
Quando a estrutura de uma rede é conhecida e o componente numérico ainda não foi
especificado, pode-se usar técnicas para aprender as distribuições de probabilidade a partir
dos dados disponı́veis. Esta seção apresenta dois casos possı́veis: quando os dados são
completos (Seção 4.2.1) e quando os dados são incompletos ou o valor de uma variável
nunca foi observado, usando-se EM (Seção 4.2.2).
4.2.1
Estrutura Conhecida e Dados Completos
Este é o caso mais simples, estudado e compreendido da literatura de RBs [33]. A estrutura da RB é especificada, e só é necessário estimar os parâmetros numéricos (distribuição
de probabilidade conjunta). O problema é bem definido e os algoritmos computacionalmente eficientes. Estes algoritmos formam a base da aprendizagem bayesiana e são, ainda,
extremamente úteis, pois é difı́cil para uma pessoa expressar-se em números, mesmo um
especialista num domı́nio.
A aprendizagem deste tipo é alcançada, simplesmente, calculando estimativas de
máxima verossimilhança e Bayesianas [69], para as entradas nas tabelas de probabilidade condicional das variáveis. Estimativas de máxima verossimilhança não consideram
conhecimento a priori sobre as distribuições de probabilidade, utilizam somente os dados
disponı́veis. Estimativas Bayesianas, utilizam os dados e algum conhecimento a priori expresso na forma de distribuições de Dirichlet (ver Seção 2.2.2) para estimar os parâmetros
a posteriori. Neste trabalho é considerada este último enfoque, seu procedimento foi
adaptado de [20] e é detalhado a seguir.
Uma rede bayesiana tem dois componentes: uma estrutura, que é um GAO, denotada
por S, e um conjunto de parâmetros numéricos Θ. Os parâmetros numéricos são dados
pelas distribuições de probabilidades condicionais das famı́lias1 Xi |P ai em S. Conhecida a estrutura S, para se ter uma rede bayesiana é necessário estimar as distribuições
condicionais associadas a cada famı́lia. Esta estimativa pode ser feita diretamente pelo
especialista ou, havendo disponibilidade de dados que componham uma amostra aleatória
independente e identicamente distribuı́da, é possı́vel fazê-la usando freqüências relativas.
Para a aprendizagem de parâmetros usando estimativas Bayesianas é necessário fazer
as seguintes suposições:
Uma RB hS, Θi, para o conjunto de variáveis X = {X1 , X2 , . . . , Xn }, tem n famı́lias
1
Uma famı́lia é formada de uma variável e seus pais.
51
4.2. Aprendizagem de Parâmetros
dct-ufms
locais Xi |P ai . Cada Xi tem ri estados possı́veis x1i , x2i , . . . , xri i . A probabilidade de Xi
estar no estado xki , dado o j-ésimo estado dos seus pais pai e a estrutura S da RB é
expressa por P (Xi = xki |paji , S) = θijk .
A quantidade qi de estados que P ai pode assumir é dado pelo produtório da cardinalidade (número de estados possı́veis) das variáveis em P ai , conforme Equação 4.4:
Y
qi =
rk
(4.4)
xk ∈P ai
pa1i , pa2i , . . . , paqi i
Assim,
denotam as qi configurações dos pais de Xi . Por exemplo, da
RB para detecção fraude apresentada na Seção 2.3.1, os pais da variável Jóias, paJoias =
{F raude, Idade, Sexo}, têm qJoias = 2 × 4 × 2 = 16 configurações.
O parâmetro θijk é a probabilidade da variável Xi estar no estado xki , dado que seus
pais estão no estado paji . O vetor de parâmetros θij = (θij1 , θij2 , . . . , θijri ) dá as probabilidades da variável Xi para qualquer dos seus ri estados, dado que seus pais estão no
j-ésimo estado. O vetor de parâmetros θi = (θi1 , θi2 , . . . , θiqi ) dá as probabilidades da
famı́lia Xi |P ai e o vetor θ = (θ1 , θ2 , . . . , θn ) dá as probabilidades de todas as famı́lias na
RB, θ é o parâmetro numérico da RB, ele é uma instância da variável Θ.
Em geral os parâmetros da rede são desconhecidos. No processo de estimar os parâmetros
da RB o problema se reduz a computar P (Θ|D, S). Onde D é uma amostra aleatória grande o suficiente para se poder estimar os parâmetros e S é o GAO determinando as famı́lias
Xi |P ai da RB. Dado S, a distribuição a priori de Θ, P (Θ|S), deve ser estimada para RB.
Com a disponibilidade de uma amostra aleatória D, deve-se atualizar o conhecimento
sobre a distribuição Θ computando a posteriori P (Θ|D, S).
Considerando a RB como sendo discreta, todas as variáveis têm domı́nios discretos e
finitos, para viabilizar a computação da posteriori P (Θ|D, S) pode-se supor o seguinte:
1. D é uma amostra aleatória com distribuição amostral multinomial.
2. D é uma amostra completa, não há valores faltosos em nenhuma observação da
amostra.
3. Os parâmetros θij são independentes. Conforme Equação 4.5 a distribuição conjunta
deles pode ser fatorada.
qi
n Y
Y
P (θ|S) =
P (θij |S)
(4.5)
i=1 j=1
4. Os parâmetros continuam independentes, dado a amostra multinomial D, conforme
Equação 4.6 a distribuição conjunta condicionada pode ser fatorada.
qi
n Y
Y
P (θ|D, S) =
P (θij |D, S)
(4.6)
i=1 j=1
52
4.2. Aprendizagem de Parâmetros
dct-ufms
Tais suposições permitem atualizar a probabilidade de cada vetor de parâmetros θij
como se fosse uma variável simples. Aqui a variável θij é condicionada a estrutura S da
RB e tem distribuição Dirichlet, isto é, θij |S ∼ Dirichlet(θij |αij1 , αij2 , . . . , αijri ). Observe
que há um αijk para cada um dos ri estados da variável Xi . A média dessa distribuição
a priori é dada por E(θijk |S) = αijk |αij , onde αij = αij1 + αij2 + . . . + αijri . Fazendo
αij1 = αij2 = . . . = αijri = 1, então a média E(θijk |S) = 1/ri . Tomando tal média como
um bom estimador de θijk , tem-se que P (Xi = xki |paji , S) = θijk ≈ 1/ri .
Com a disponibilidade da amostra D, pode-se atualizar o conhecimento sobre a distribuição de θij , a qual condicionada a D e a S tem também uma distribuição Dirichlet,
isto é, a variável θij |D, S ∼ Dirichlet(θij |αij1 + Nij1 , αij2 + Nij2 , . . . , αijri + N ijri ). Onde
Nijk mede a freqüência, na amostra D, com que a variável Xi tem o k-ésimo estado,
condicionada ao j-ésimo estado dos seus pais. Essa distribuição a posteriori tem média
dada por:
E(θijk |D, S) = (αijk + Nijk )/(αij + Nij )
(4.7)
onde Nij = Nij1 + Nij2 + . . . + Nijri . Como no caso da priori, fazendo αij1 = αij2 =
. . . = αijri = 1 tem-se que a média assume o valor E(θijk |D, S) = (1 + Nijk )/(ri + Nij ).
Tomando essa média como um estimador de θijk tem-se que a distribuição de probabilidade
P (Xi = xki |paji , D, S) é expressa pela Equação 4.8.
P (Xi = xki |paji , D, S) = (1 + Nijk )/(ri + Nij )
(4.8)
Com os pressupostos de amostra aleatória independente e identicamente distribuı́da;
amostra completa; e distribuição amostral multinomial tem-se os elementos necessários
e suficientes para aprender os parâmetros da RB usando estimativa Bayesiana, uma vez
que sua estrutura S seja conhecida.
Por exemplo, seja uma estrutura de RB simples X1 → X2 → X3 ; com variáveis
discretas: dois estados possı́veis 0, 1; e com amostra de dados disponı́veis dada na Tabela
4.1 é possı́vel calcular a distribuição de probabilidades para cada famı́lia de variáveis.
Para determinar a distribuição de probabilidade P (X2 |X1 ) (baseado na estrutura da
RB) é preciso realizar uma contagem das freqüências2 , na amostra D, para X2 e X1 , denotadas neste caso N2jk , indicando a freqüência com que aparece a variável X2 instanciada
ao seu k-ésimo estado e condicionada ao j-ésimo estado do seu pai X1 . Estas freqüências
são apresentadas na Tabela 4.2. Para estimar a distribuição de probabilidade condicional usa-se a Equação 4.8. No exemplo, para determinar P (X2 = 0|X1 = 0) calcula-se
P (X2 = 0|X1 = 0, D, S) = (1 + N200 )/(r2 + N20 ) = (1 + 4)/(2 + 10) = 0.42, a distribuição
de probabilidade condicional final é apresentada na Tabela 4.3.
2
Também denominadas freqüências ou estatı́sticas suficientes.
53
4.2. Aprendizagem de Parâmetros
dct-ufms
Tabela 4.1: Amostra de dados disponı́vel para estrutura X → Y → Z.

X1 X2 X3





0
1
1




0
1
0




1
1
1


 0
0
0
27 casos 1
0
1




1
0
0




1
0
0




1
0
1



.
.
..
 .
..
.
.
Tabela 4.2: Freqüências calculadas para X2 |X1 (N2jk ).
Tabela 4.3: Distribuição de
probabilidade
condicional
P (X2 |X1 ).
X1 (j)
X2 (k) 0 1
0
4 5
1
6 12
N2j
10 17
4.2.2
X1
0
1
P (X2 = 0) P (X2 = 1)
0.42
0.58
0.32
0.68
Estrutura Conhecida e Dados Incompletos - EM Paramétrico
A seção anterior apresentou o caso mais simples de aprendizagem, quando a estrutura é
conhecida e no banco de dados todas as variáveis foram observadas. Em muitos bancos de
dados reais, raramente os dados disponı́veis para aprendizagem estão completos. É comum
eles apresentarem dois tipos de variáveis: com valores faltosos (missings), variáveis cujos
estados no banco de dados, estão as vezes registrado e as vezes não, e as ocultas (hidden)
cujos estados nunca são observados na amostra de dados [64]. Esta seção apresenta
soluções para estas situações, enfatizando-se a abordagem do algoritmo EM.
EM para Aprendizagem de Parâmetros em Redes Bayesianas
O algoritmo EM para aprendizagem de parâmetros, se a estrutura da RB é conhecida, foi
proposto por Lauritzen [46]. Na literatura é freqüentemente denominado algoritmo EM
paramétrico [29, 54] e doravante será referenciado deste modo.
No Passo E do algoritmo EM paramétrico, estima-se os dados faltosos para completar
a amostra de dados incompleta. Esta estimativa é feita usando os valores das variáveis
que foram observadas.
54
4.2. Aprendizagem de Parâmetros
dct-ufms
O cálculo da distribuição de probabilidade está baseado na freqüência com que os estados das variáveis aparecem nos dados, denominando-se estas de freqüências suficientes,
e as vezes também na informação a priori. Para realizar a contagem dessas freqüências
para um conjunto de variáveis, percorre-se cada caso da amostra de dados e acumula-se
a freqüência com que cada estado da variável aparece. Quando em um caso analisado
o estado de uma variável não foi observado, usa-se a RB corrente para estimá-lo — na
primeira iteração, essa RB corrente é obtida pela atribuição de valores aleatórios para a
distribuição de probabilidade conjunta. Para realizar essa estimativa, cada estado que foi
observado no caso corrente é inserido na RB como evidência que é propagada, obtendo-se
uma distribuição de probabilidade marginal para a variável que não foi observada. Por sua
vez, essa distribuição de probabilidade será considerada no cálculo das novas freqüências
relativas, denominadas freqüências esperadas.
No Passo M, com as novas freqüências esperadas, aplica-se um algoritmo para aprendizagem de parâmetros com dados completos, tal como o descrito na Seção 4.2.1. Estes
novos parâmetros substituem os parâmetros anteriores da RB, e a partir deles executa-se
novamente o Passo E e o Passo M. Este procedimento é repetido iterativamente até convergir.
Uma descrição formal, adaptada de [64], é dada a seguir. Algumas suposições são
as mesmas que para dados completos. Suponha que os dados D consistem de m casos
independentes e a função de máxima verossimilhança é dada por
L(θ; D, S) ∝ P (D|θ, S) =
m
Y
P (dl |θ, S)
l=1
=
qi ri
n Y
Y
Y
N
θijkijk
(4.9)
i=1 j=1 k=1
onde S é a estrutura da RB, n é o número de variáveis, qi é o número de possı́veis instanciações dos pais P ai da variável Xi , sendo ri o seu número de estados. Nijk é o número
de casos nos quais a variável Xi é instanciada em seu k-ésimo estado, enquanto P ai é
instanciado em seu j-ésimo estado, e θ = (θijk )n×qi ×ri são as probabilidades condicionais.
Tomando a esperança condicional do logaritmo da verossimilhança dos dados completos, e dado o valor corrente do parâmetro θ e os componentes dos dados observados, Dobs ,
obtém-se
qi
ri
n X
X
X
(t)
Q(θ|θ ) =
E(Nijk |Dobs , θ) log θijk
(4.10)
i=1 j=1 k=1
A partir da Equação 4.10 o Passo E, então, consiste em determinar o valor de
E(Nijk |D
obs
, θ) =
m
X
l=1
55
Eθ (χlijk |dobs
l )
(4.11)
4.2. Aprendizagem de Parâmetros
dct-ufms
onde dobs
é o componente observado (variáveis observadas) do l-ésimo caso na amostra, e
l
χlijk é definido como

 1, se xi e pai são observados e Xi = k-ésima inst., P ai = j-ésima inst.,
l
obs
0, se xi e pai são observados e Xi 6= k-ésima inst. ou P ai 6= j-ésima inst.,
Eθ (χijk |dl ) =

P (Xi = k, P ai = j|dobs
l , θ, S), em caso contrário.
(4.12)
Para determinar P (Xi = k, P ai = j|dobs
l , θ, S), a rede bayesiana hS, Θi é instanciada
com a evidência observada no l-ésimo caso, dobs
l , e um algoritmo de inferência probabilı́stica é usado para determinar as distribuições de probabilidade.
O Passo M consiste em usar esses valores estimados para calcular θijk . Deste modo,
θijk =
E(Nijk |Dobs , θ)
E(Nij |Dobs , θ)
(4.13)
P
onde Nij = k Nijk . No Passo M, também é possı́vel usar conhecimento a priori para
determinar os valores de θijk . Embora o algoritmo EM convirja de forma confiável, não
garante um ótimo global e freqüentemente finaliza em um máximo local.
A seguir apresenta-se, através de um exemplo, uma iteração do algoritmo EM paramétrico. Suponha uma RB simples com estrutura dada por X1 → X2 , sendo as variáveis
discretas e binárias. A distribuição a priori para X1 é Dirichlet(2, 2) e as distribuições
a priori para as condicionais de X2 são Dirichlet(1, 1). Dirichlet(2, 2) representa conhecimento anterior sobre os estados da variável X1 , de acordo com isto, a distribuição de
probabilidade a priori de X1 seria (0.5, 0.5). A amostra de dados incompleta usada para
aprendizagem é apresentada na Tabela 4.4.
Tabela 4.4: Amostra de dados incompleta para aprendizagem.
Caso X1
1
0
2
0
3
0
4
0
5
1
X2
0
?
0
1
?
A partir do modelo de RB corrente, completa-se os casos (Passo E) usando inferência
probabilı́stica. Na Tabela 4.4 o caso 2 apresenta a variável X2 com estado não observado,
logo, após aplicar inferência , a Tabela 4.5 apresenta esse caso completado com cada um
dos estados possı́veis da variável X2 , sendo que a freqüência para cada um desses casos 2
é a distribuição de probabilidade P (X2 |X1 = 0). Um processo similar é realizado sobre o
caso 5.
56
4.2. Aprendizagem de Parâmetros
dct-ufms
Tabela 4.5: Freqüências esperadas.
Caso X1
1
0
2
0
2
0
3
0
4
0
5
1
5
1
X2
0
0
1
0
1
0
1
Freqüências
1
1/2
1/2
1
1
1/2
1/2
A partir dessas freqüências esperadas, pode-se estimar as probabilidades dos parâmetros
(Passo M):
P (X1 = 0) = 6/9, P (X1 = 1) = 3/9
P (X2 = 0|X1 = 0) = 3.5/6, P (X2 = 1|X1 = 0) = 2.5/6
P (X2 = 0|X1 = 1) = 1.5/3, P (X2 = 1|X1 = 1) = 1.5/3
onde X1 = 0 aparece
indica uma freqüência
Ou seja, considerando
E(X1 |D) = (6/9, 3/9).
4 vezes na Tabela 4.5, mas a priori, tem-se Dirichlet(2, 2) que
de 2 para cada estado de X1 , por isso o valor de P (X1 ) = 6/9.
a priori X1 ∼ Dirichlet(2, 2), a posteriori X1 ∼ Dirichlet(6, 3) e
Os outros valores são calculados similarmente.
As próxima iteração usa as distribuições de probabilidades condicionais calculadas no
Passo M. Este processo é repetido até que haja estabilização nos valores das probabilidades.
Métodos Alternativos a EM
Para aprendizagem de parâmetros a partir de dados incompletos existem métodos alternativos que podem ser utilizados para substituir o algoritmo EM paramétrico, a seguir é
dada uma descrição resumida de alguns deles.
Amostragem Gibbs [33] é uma técnica muito mais geral que EM; ao invés de estimar
os parâmetros de interesse diretamente, estima a distribuição a posteriori dos parâmetros,
e sob condições de regularidade moderadas, garante convergência à posteriori verdadeira.
A desvantagem deste método é que consome mais tempo que EM.
Russell e Norving [61] usaram o enfoque do gradiente descendente na tarefa de determinar a máxima verossimilhança dos parâmetros da RB.
Ramoni e Sebastiani [60, 59] criaram um algoritmo denominado Bound and Collapse (BC). Este é um método determinı́stico para estimar probabilidades condicionais de
57
4.3. Aprendizagem de Estrutura
dct-ufms
bancos de dados incompletos. Determina limites inferiores e superiores para cada uma
das possı́veis estimativas, que sejam consistentes com a informação disponı́vel, calculando
assim estimativas máxima e mı́nima que seriam obtidas de todos os possı́veis completamentos do banco de dados. A esses limites, que determinam um intervalo de probabilidades, é aplicada uma combinação convexa, cujos pesos dependem dos padrões supostos
nos dados incompletos, que determina um ponto de corte no intervalo cujo valor vai ser a
estimativa desejada. Este método apresenta as vantagens dos métodos determinı́sticos e
um ganho de eficiência comparado com o algoritmo EM paramétrico [54].
4.3
Aprendizagem de Estrutura
Aprendizagem deste tipo é indutiva; a partir de dados disponı́veis deseja-se construir
uma estrutura para a RB cuja distribuição conjunta melhor represente a verdadeira distribuição subjacente aos dados. Para bancos de dados completos (Seção 4.3.1), embora
não seja um problema totalmente resolvido, existem algoritmos que apresentam soluções
satisfatórias. Para dados incompletos, este é ainda um problema em constante pesquisa
sendo que os algoritmos baseados no EM (Seção 4.3.2) apresentaram os primeiros resultados significativos. Muitas das técnicas usadas nos algoritmos EM para aprendizagem de
estruturas são similares as usadas nos algoritmos para dados completos, particularmente,
usam-se as diretrizes do paradigma de busca e pontuação descrito a seguir.
4.3.1
Dados Completos-Paradigma Busca e Pontuação
Uma idéia simples deste tipo de aprendizagem seria, baseando-se nos dados, determinar
relações entre as variáveis, adicionar ou excluir arcos, estabelecer direções, enfim definir um GAO para o qual serão calculadas distribuições de probabilidades. Em geral, há
dois paradigmas principais de aprendizagem de modelos gráficos a partir de dados: paradigma de busca e pontuação e o baseado em restrições ou independência condicional [11].
Em geral, conta-se com uma amostra de dados completa que representa as observações
coletadas de um conjunto de variáveis próprias de um domı́nio, e deseja-se determinar a
estrutura e, posteriormente, as probabilidades para a melhor RB que representa os dados. Este problema é útil em muitas aplicações, por exemplo, mineração de dados, onde
grandes quantidades de dados disponı́veis precisam ser interpretados [34].
O primeiro método de aprendizagem aplicado a uma estrutura de árvore representando
conhecimento é devido a Chow e Liu [14]. Para estimar uma distribuição de probabilidade conjunta P , parte de distribuição de probabilidade P 0 e em sua correspondente árvore
de conhecimento aplica um método de aprendizagem até chegar numa distribuição mais
próxima de P .
Rebane e Pearl apud [38] criaram um algoritmo para ser utilizado juntamente com
58
4.3. Aprendizagem de Estrutura
dct-ufms
o método de Chow e Liu, chamado algoritmo de recuperação de poliárvores, destinado
aos casos em que a representação gráfica da distribuição P é dada em forma de uma
poliárvore. Então, através do método de Chow e Liu, é gerada a estrutura básica da
árvore e em seguida, aplicando-se nesta estrutura o algoritmo de poliárvores, obtém-se a
representação gráfica da distribuição [38].
No paradigma de busca e pontuação, a aprendizagem se realiza buscando uma estrutura que seja aderente aos dados. Em geral se inicia com um grafo sem arcos, então,
usa-se algum método de busca gulosa que adicione um arco ao grafo. O próximo passo
consiste em usar uma função de pontuação para determinar se a nova estrutura é melhor
que a anterior. Se for melhor, o novo arco adicionado é mantido e tenta-se adicionar outro. Este processo continua até que nenhuma nova estrutura seja melhor que as anteriores.
Diferentes critérios de pontuação têm sido desenvolvidos para avaliar uma estrutura,
tais como métodos de pontuação Bayesianos [18, 36, 6], métodos baseados na entropia,
método de comprimento mı́nimo de descrição [45], e método de mensagem de comprimento mı́nimo.
Dentro deste paradigma a busca por novas estruturas é realizada através de métodos
de busca heurı́stica. Para reduzir o espaço de busca, muitos algoritmos requerem ordenamento dos nós. Posto que os métodos de aprendizagem usando busca e pontuação são
NP-difı́ceis [12], a aplicação da busca heurı́stica é justificada.
No paradigma de análise de independência condicional, o problema da aprendizagem
é abordado de maneira diferente. Devido a que a estrutura traz embutidas muitas dependências do modelo subjacente, os algoritmos deste paradigma tentam descobrir as
dependências a partir dos dados, e então usar essas dependências para inferir a estrutura. As relações de dependência são avaliadas pelo uso de alguma classe de teste de
Independência Condicional (IC). Os algoritmos descritos por Wermuth e Lauritzen [70];
Spirtes et al [65] e Cheng et al [11] estão nesta categoria.
Ambos paradigmas têm vantagens e desvantagens. Por serem bastante especı́ficas às
suas aplicações, não se pode eleger um paradigma como sendo o melhor [8]. Em geral,
o paradigma de análise de independência é mais eficiente que o paradigma de busca e
pontuação, quando usado para aprender redes esparsas (que não são densamente conectadas) [11]. Também podem obter a melhor estrutura quando a distribuição de probabilidade dos dados satisfaz certas suposições de modelos. Mas, muitos destes algoritmos
requerem um número exponencial de testes IC e testes IC de ordem superior (testes IC
com conjuntos condicionantes grandes, com número grande de pais).
Como apontado em [18], testes IC com conjuntos condicionantes grandes podem não
ser confiáveis, a menos que o volume de dados seja grande o suficiente. De outro lado,
embora o paradigma de busca e pontuação não possa encontrar a melhor estrutura, devido
59
4.3. Aprendizagem de Estrutura
dct-ufms
a sua natureza heurı́stica, seu escopo de modelos probabilı́sticos é maior que o paradigma
de análise de independência [11].
Trabalhos que apresentam soluções hı́bridas, misturando ambos paradigmas também
são encontrados na literatura, alguns exemplos podem ser vistos em [8].
A seguir aprofunda-se o estudo dos algoritmos baseados em busca e pontuação e algumas das funções de pontuação principais, versões modificadas destas métricas serão
usadas para aprendizagem de estruturas a partir de dados incompletos com EM.
Métodos Baseados em Busca e Pontuação
Os métodos baseados em busca e pontuação seguem o seguinte principio: uma função
de pontuação ou métrica é definida para cada estrutura candidata de RB, avaliando seu
grau de aderência aos dados. O objetivo é encontrar no espaço de estruturas candidatas
a a que tem maior pontuação. O espaço de estruturas é combinatório, consistente de um
número super exponencial de estruturas. Assim, não fica claro como encontrar a rede
com maior pontuação [36]. Por outro lado, o problema de busca combinatória que tenta
otimizar uma função é bem estudado na literatura. Conseqüentemente, a solução consiste
em definir um espaço de estruturas candidatas e então realizar uma busca heurı́stica.
À luz dos enunciados anteriores, um algoritmo de aprendizagem de RB neste paradigma requer os seguintes componentes:
• Função de pontuação para diferentes estruturas de rede candidatas,
• A definição do espaço de busca: operadores que tomam uma estrutura e a modificam
para produzir outra,
• Um algoritmo de busca que encontre a estrutura ótima.
Há três funções de pontuação principais freqüentemente usadas para aprender RBs:
baseada no logaritmo da verossimilhança [18], baseada no princı́pio da descrição de comprimento mı́nimo (MDL) [45], e a pontuação Bayesiana [36].
A seguir apresenta-se um exemplo de uso das métricas para avaliar estruturas. Os
dados (D) para este exemplo são apresentados na Tabela 4.6, e deseja-se conhecer a
relação entre o sexo de uma pessoa (X), o quociente intelectual(I) e o valor alto no
intervalo de confidência (C).
Suponha também um espaço de estruturas candidatas, como o dado na Figura 4.1.
Qual dessas estruturas teria a maior pontuação, considerando os dados disponı́veis?
60
4.3. Aprendizagem de Estrutura
dct-ufms
S1
X
I
C
S2
X
I
C
S3
X
I
C
S4
X
I
C
I
S5
X
C
. . .
Figura 4.1: Várias estruturas de rede candidatas.
Tabela 4.6: Banco de dados completo para aprendizagem.
Estudante
1
2
3
4
Sexo
QI
valor alto IC
masculino
baixo
nao
feminino promédio
sim
masculino
alto
sim
feminino
alto
sim
Em geral, seja D o conjunto de dados com m casos e B = (S, Θ) e B 0 = (S’, Θ0 ) duas
RBs, então:
P (S|D)
Q=
(4.14)
P (S’|D)
é uma métrica (Bayesiana) com uma distribuição de probabilidades P definida sobre RBs
e o conjunto de dados, e usada para avaliar estruturas.
Note que:
P (S, D)/P (D)
P (S, D)
=
P (S’, D)/P (D)
P (S’, D)
(4.15)
P (S, D) = P (D|S)P (S)
(4.16)
log P (S, D) = log P (D|S) + log P (S)
(4.17)
Q=
e
Assim:
deve ser determinado para cada RB (B = (S, Θ)). O logaritmo da verossimilhança é mais
fácil de avaliar que a verossimilhança, devido a que o logaritmo troca os produtórios por
somatórios.
61
4.3. Aprendizagem de Estrutura
dct-ufms
Determinando P (D|S)
Para determinar P (D|S) é necessário que as seguintes suposições se satisfaçam:
• Suposição 1: não há valores faltosos em D.
• Suposição 2: os casos dl ∈ D aconteceram independentemente, P (D|S) =
Qm
l=1
P (dl )
Um aproximação de P (D|S) foi definida em [18] e é dada a seguir:
P (D|S) =
m
Y
P (dl )
l=1
=
qi ri
m Y
n Y
Y
Y
N
θijkijk
(4.18)
l=1 i=1 j=1 k=1
Então
qi
ri
m X
n X
X
X
log P (D|S) =
Nijk log
l=1 i=1 j=1 k=1
Nijk
Nij
(4.19)
A definição da Equação 4.19 requer freqüências que podem ser facilmente coletadas de
amostras de dados completas. Essa coleta de informação depende das relações locais
entre as variáveis e seus pais correspondentes (Nijk e Nij ). Um exemplo de cálculo é
apresentado a seguir, baseado nos dados da Tabela 4.6 e a Figura 4.1. Particularmente,
para a estrutura S1 (X → I → C), a notação das freqüências Ni jk da 4.19 fica: NX
significando as freqüências da variável X que não tem pais, NI X as freqüências da variável
I condicionadas ao pai X e NC I freqüências da variável C condicionada ao pai I:
log P (D|S1 ) =
X
NX log
X
+
XX
C
2
= 2 log
4
1
1 log
2
1
1 log
2
1
1 log
1
1
1 log
1
NX X X
NIX
+
NIX log
N
NX
I
X
NCI log
I
2
4
0
+ 0 log
2
1
+ 1 log
2
0
+ 0 log
1
2
+ 2 log
2
+ 2 log
NCI
NI
+
+ 0 log
0
1
+ 1 log +
2
2
+
+ 0 log
0
0
+ 0 log +
2
1
= −8
Note que limx→0 x log x = 0. Avaliando S2 tem-se log P (D|S2 ) = −11.25, então
P (D|S1 ) > P (D|S2 ). Similarmente é avaliada cada uma das outras estruturas candidatas escolhendo-se a de maior pontuação.
62
4.3. Aprendizagem de Estrutura
dct-ufms
Conhecimento a Priori(P (S))
Se o conhecimento a priori para cada estrutura candidata for considerado, a métrica
denomina-se bayesiana. Em caso contrário, pode-se assumir que todas as RBs são igualmente verossı́meis, ou seja, P (S) é uma distribuição de probabilidades uniforme, está
métrica seria considerada de máxima verossimilhança e neste caso se cumpre:
log P (S, D) = log P (D|S) + c
(4.20)
onde c ∈ R, é uma constante. Assim
log q = log P (D|S) − log P (D|S’)
(4.21)
é denominado fator Bayes logarı́tmico.
Limitações de P (S, D)
O logaritmo da verossimilhança cresce linearmente conforme o tamanho dos dados, m.
As redes com as maiores pontuações são aquelas onde uma variável e seus pais têm uma
correlação maior. Portanto, a adição de uma arco a uma estrutura de RB sempre aumenta
o logaritmo da verossimilhança. Como resultado, a estrutura de rede que maximiza a
verossimilhança é, amiúde, a estrutura completamente conectada. Esta é uma falha da
métrica de pontuação do logaritmo de verossimilhança e não é desejada. Seria aconselhável
penalizar estruturas com muitos arcos. Uma solução considerada foi adicionar um fator
que penalizasse a complexidade da estrutura, isto é,reduzisse o número de arcos:
1
r = − k log m
2
onde k =
Pn
i=1
(4.22)
2qi a métrica que resulta da aplicação deste fator é:
1
Q(S, D) = log P (S) − m.H(S, D) − k · log m
2
(4.23)
com log P (D|S) = −m · H(S, D). Esta métrica é denominada descrição de comprimento
mı́nimo (MDL) [45] e consta dos seguintes elementos:
• P(S): probabilidades a priori da estrutura do grafo.
• m = |D|: número de casos no banco de dados D.
• −H(S, D): valor negativo do ajuste entre o banco de dados D e a rede bayesiana B
• − 12 k · log m: termo penalidade, onde k é o número de probabilidades que precisam
ser avaliadas para B.
A métrica MDL faz balanceamento entre ajuste aos dados e complexidade do modelo.
A adição de uma variável pai causa aumento do logaritmo da verossimilhança e, também,
63
4.3. Aprendizagem de Estrutura
dct-ufms
da penalização. Haverá adição de um arco se o incremento na verossimilhança for importante. Esta métrica, modificada parcialmente, pode ser usada para aprendizagem de RBs
a partir de dados incompletos. Na Seção 4.10 é retomado seu estudo.
A métrica Bayesiana é uma outra alternativa para avaliar estruturas de rede a partir
de dados, sendo sua forma geral:
BDe(S : D) = P (S|D) =
P (D|S)P (S)
P (D)
(4.24)
Usualmente P (D) é constante, e pode ser ignorado quando estruturas diferentes são comparadas e então, o modelo maximiza P (D|S)P (S). A possibilidade de usar conhecimento a
priori permite dar preferência a algumas estruturas sobre outras. Neste caso, a probabilidade P (D|S) é calculada de uma forma distinta das métricas baseadas na verossimilhança:
Z
P (D|S) = P (D|θ, S)P (θ|S)dθ
(4.25)
Da equação 4.25 pode-se observar que, havendo mais parâmetros disponı́veis, mais variáveis são integradas. Como resultado, cada dimensão faz o valor da integral diminuir
pois, o “topo” da função de verossimilhança é uma fração mais pequena do espaço. Este
princı́pio permite dar preferência a redes com poucos parâmetros. Pode ser demonstrado
que a métrica Bayesiana é uma forma geral da métrica MDL [36]. A métrica MDL pode
ser vista como uma aproximação da métrica Bayesiana. Portanto, a métrica Bayesiana é
também um compromisso entre complexidade de modelos e aderência aos dados.
Com as suposições de independência de parâmetros local e global, dados completos e
sendo as distribuições a priori Dirichlet, a verossimilhança é:
P (D|S) =
qi
n Y
Y
ri
Y
Γ(αij )
Γ(αijk + Nijk )
Γ(Nij + αij ) k=1
Γ(αijk )
i=1 j=1
onde cada αij é uma Dirichlet(αij1 , . . . , αijri ) e αij =
Pri
k=1
(4.26)
= αijk .
Cada parâmetro αijk representa estatı́sticas “intuitivas” ou conhecimento anterior sobre os parâmetros. Particularmente, se esses parâmetros não são informativos (αijk = 1),
a métrica é denominada K2 [18]:
qi
n Y
Y
ri
Y
(ri − 1)!
P (D|S) =
(Nijk )!
(N
+
r
−
1)!
ij
i
i=1 j=1
k=1
(4.27)
Se a métrica K2 fosse utilizada para avaliar estruturas, grafos equivalentes (que representam as mesmas independências) não teriam a mesma pontuação. Uma métrica
equivalente pode ser obtida se considerada uma amostra de tamanho global N 03 e a partir
3
Indica conhecimento anterior.
64
4.3. Aprendizagem de Estrutura
dct-ufms
dela são selecionados os parâmetros para todas as probabilidades condicionais de acordo
com a expressão dada por Buntime [6]:
αijk
N0
=
r i qi
(4.28)
As métricas Bayesianas em suas versões modificadas também são úteis em aprendizagem a partir de dados incompletos. Particularmente, o algoritmo EM estrutural (Seção
4.2.2) usa uma métrica Bayesiana denominada BDe [36] para avaliar estruturas.
A Busca Heurı́stica
Uma vez definida uma métrica para avaliar estruturas de RBs, é necessário definir uma
estratégia para percorrer o espaço super exponencial de estruturas. Os algoritmos descritos brevemente aqui, serão detalhados no Capı́tulo 5. Eles fazem sucessivas mudanças
nos arcos de uma estrutura candidata a RB. As possı́veis mudanças que podem ser feitas
são fáceis de identificar. Para qualquer par de variáveis, se há um arco entre elas, então
esse arco pode ser invertido ou removido. Se não há arco entre elas, então um arco pode
ser adicionado em cada direção.
Todos os arcos estão sujeitos à restrição de que a rede resultante não pode conter
ciclos dirigidos. Usa-se ε para denotar o conjunto de mudanças possı́veis de um grafo,
e ∆(e) para denotar o incremento no logaritmo da pontuação da rede que resultou da
modificação, e ∈ ε.
As métricas para avaliar estruturas descritas anteriormente têm uma propriedade importante, são decomponı́veis4 , ou seja, o cálculo do logaritmo da verossimilhança está
baseado em somatórios de componentes locais [36]. Componentes locais são estatı́sticas
suficientes calculadas da amostra de dados completos, para as possı́veis instâncias de uma
variável e seus pais (anteriormente denominadas Nijk ). Dada uma métrica decomponı́vel,
se um arco é adicionado ou removido de Xi , só M etrica(Xi |P ai ) (a função de pontuação)
precisa ser avaliada para determinar ∆(e), isto é, a mudança na pontuação. Se um arco
entre Xi e Xj é invertido, só M etrica(Xi |P ai ) e M etrica(Xj |P aj ) precisam ser avaliadas.
Isto possibilita a eficiência no cálculo das funções de pontuação.
Um algoritmo de busca heurı́stica simples é busca local. Primeiro, escolhe-se um grafo.
Então, avalia-se ∆(e) para todos e ∈ ε, e realiza-se a mudança e conforme ∆(e) seja
um máximo, desde que positivo. A busca termina quando não há e com valor positivo
para ∆(e). A medida que as estruturas de rede são visitadas, armazena-se os l´s com a
maior pontuação global. Candidatos para o grafo inicial incluem o grafo vazio, um grafo
aleatório, e uma rede anterior fornecida por um especialista. Estes algoritmos de busca
heurı́stica são usados da mesma maneira dentro de algoritmos de aprendizagem de RBs
4
Tradução do inglês decomposability.
65
4.3. Aprendizagem de Estrutura
dct-ufms
a partir de dados incompletos, a diferença principal é que, neste caso usa-se métricas
aproximadas e estatı́sticas esperadas para avaliar as estruturas.
4.3.2
Dados Incompletos-EM
Diferente do caso de dados completos, não muitos algoritmos têm sido desenvolvidos para
a tarefa mais geral de aprendizagem de estruturas a partir de dados incompletos. Os
algoritmos descritos nesta seção formam a base teórica dos algoritmos que foram implementados. Como para aprendizagem de parâmetros a partir de dados incompletos a
abordagem usada é do algoritmo EM, detalhes de implementação e maiores especificações
são apresentados no Capı́tulo 5.
Uma abordagem inicial deste problema pode ser atribuı́da a Cooper e Herskovits [18].
Esses autores apresentaram um método teórico para lidar com dados faltosos durante a
aprendizagem de RBs. A idéia principal desse método consiste em somar sobre todas as
possı́veis instanciações dos dados faltosos quando calculada a função de verossimilhança,
a qual é usada para comparar as várias RBs. Mas, dada a complexidade exponencial deste enfoque, não é factı́vel usá-lo, a não ser para conjuntos de dados pequenos. Embora,
Cooper em [17] estenda esse enfoque para produzir um algoritmo relativamente eficiente,
este ainda pode ser computacionalmente caro para muitos problemas reais.
Heckerman em [33], discute vários enfoques Monte-Carlo para calcular as funções de
verossimilhança dos dados observados, que podem então ser usados para aprender a RB
mais verossı́mil. Porém, embora adequados, esses métodos são computacionalmente ineficientes [64]. Heckerman, nesse mesmo trabalho, também apresenta um método mais
eficiente para calcular a verossimilhança baseado em aproximação Gaussiana.
Ramoni e Sebastiani [60] estendem seu enfoque bound and collapse, descrito brevemente na Seção 4.2.2, à tarefa de aprender parâmetros e estrutura de dados incompletos.
No entanto, embora o método seja computacionalmente eficiente, é válido somente se os
dados faltosos na amostra foram definidos aleatóriamente [64].
Chickering [13] usou o método de amostragem de Gibbs para tratar com dados faltosos. Na aplicação desta técnica, a detecção de convergência é uma questão aberta. Além
disso, o método é lento para convergir e computacionalmente caro.
De maneira discutı́vel, o avanço mais significativo na área de aprendizagem de estruturas a partir de dados incompletos tem sido o algoritmo EM estrutural (SEM) de
Friedman [30]. Este método transforma o problema da aprendizagem de estrutura com
dados incompletos em um mais simples. Usa o algoritmo EM paramétrico para completar
os dados e busca a melhor estrutura de RB usando um algoritmo de busca gulosa. A
inovação do método de Friedman foi economizar cálculos usando estimativas do algoritmo
66
4.3. Aprendizagem de Estrutura
dct-ufms
EM paramétrico para a estrutura corrente, fazendo, deste modo, a avaliação de candidatos para a próxima estrutura e, então executando EM novamente só para a estrutura
escolhida. Porém, quando o espaço de busca é muito grande, o algoritmo de busca gulosa finalizará em uma solução denominada ótima local. Para resolver este problema, na
prática, o algoritmo pode ser reiniciado com novas estruturas geradas aleatóriamente.
Singh [64] teve uma percepção similar a Friedman, mas seu procedimento é diferente.
Em cada passo, gera k atribuições conjuntas a todos os valores faltosos usando o melhor
modelo das iterações prévias. Então chama o procedimento de aprendizagem de Cooper e
Herskovists [18] sobre cada um dos conjuntos de dados completados. Finalmente, faz uma
“fusão” das redes aprendidas, treina os seus parâmetros usando o EM paramétrico e reitera. Este enfoque pode ser interpretado como uma aproximação estocástica do algoritmo
EM estrutural. Usando k conjuntos de dados completados, Singh aproxima a esperança
da métrica. Mas, ao invés de combinar estas estimativas em um único procedimento de
busca por estruturas, realiza uma busca para cada estimativa. Entretanto, a fusão é um
procedimento que traz várias complicações, conforme é descrito em [64].
Variantes do algoritmo EM estrutural foram propostas por Meila e Jordan [48] e Thiesson et al [66]. Ambos enfoques aprendem multi-redes (estas podem ser imaginadas como
“misturas” de RBs) nas quais a variável seletora está oculta. Meila e Jordan aprendem
multi-redes nas quais cada rede é uma árvore. Eles aproveitam esta restrição para coletar
todas as estatı́sticas requeridas em um passo em cada iteração. Thiesson et al aprendem
multi-redes gerais usando a métrica de Cheeseman-Stutz [10]. Este último algoritmo pode
ser visto como uma instância do algoritmo de Friedman [30], após aplicar aproximação
linear a multi-redes. Thiesson et al usam métodos eficientes para, temporariamente, armazenar estatı́sticas esperadas quando muitas das variáveis de interesse são Gaussianas.
Isto permite responder a todas as consultas durante a busca por estrutura, após um simples passo sobre os dados de treinamento em cada iteração.
Uma abordagem diferente a EM foi desenvolvida por Myers et al [51], os quais, para
completar os dados faltosos usam operações genéricas (baseadas em programação evolutiva), e desenvolvem as estruturas de rede e os dados faltosos ao mesmo tempo. Embora
possam evitar finalizar em um máximo local, uma de suas desvantagens é que o processo
para completar os dados mediante operadores genéricos é fortemente estocástico, e poderia não refletir as caracterı́sticas da distribuição de probabilidade subjacente aos dados
faltosos. Deste modo, quando o número de dados faltosos é grande, a convergência do
algoritmo poderia ser muito lenta e a eficiência do algoritmo comprometida.
Tian et al [67], baseando-se nos trabalhos de Friedman [30] e Myers et al [51], desenvolveram o algoritmo EM-EA para aprendizagem de estruturas de RB a partir de dados
incompletos. O algoritmo EM-EA transforma os dados incompletos em completos usando
o algoritmo EM e então procura por estruturas de rede usando uma algoritmo evolutivo
(EA) com os dados completados. Com este algoritmo, alivia-se os problemas de máximo
local do algoritmo EM estrutural e de pouca eficiência e convergência do algoritmo de
67
4.3. Aprendizagem de Estrutura
dct-ufms
Myers et al.
Peña et al [54] propuseram uma mudança na definição geral do algoritmo EM estrutural: para realizar a otimização dos parâmetros da RB usam o método BC+EM [53] ao
invés de usar o algoritmo EM paramétrico, sendo o algoritmo final denominado Bayesian
Estructural BC+EM (BS-BC+EM). A idéia principal do método BC+EM consiste em
alternar entre o método BC [60] e o algoritmo EM de paramétrico [46].
O método BC não é útil quando há variáveis ocultas [54]. A razão desta limitação é que
os intervalos de probabilidades retornados pela método BC seriam muito grandes e pouco informativos, pois todas as entradas faltosas estariam concentradas em uma variável.
O método BC+EM supera este problema realizando em cada passo um completamento
parcial do banco de dados.
Todos os algoritmos supracitados seguem as diretrizes do paradigma de busca e pontuação. Até pouco tempo atrás não havia algoritmos baseados em análise de independência para lidar com dados incompletos. Com dados completos, o método de Cheng [11]
é um dos algoritmos mais representativos desta classe de algoritmos. Tian et al [68] apresentaram um método que estende o trabalho de Cheng para dados incompletos, o algoritmo EMI. Este é um método para estimar informação mútua diretamente das amostras de
dados incompletos. Usando o princı́pio do método BC [60], EMI começa calculando estimativas de intervalos para a probabilidade conjunta de um conjunto de variáveis. Essas
estimativas são obtidas de possı́veis completamentos dos dados incompletos. Então, EMI
calcula a estimativa de um ponto via combinação convexa dos pontos extremos. Baseado
nessas estimativas dos pontos, EMI obtém a informação mútua (condicional). Finalmente, aplica-se EMI ao algoritmo de Cheng para aprender RB com dados incompletos.
Como descrito nos parágrafos anteriores, a maioria dos algoritmos que foram desenvolvidos estão baseados nas idéias de Friedman. Um dos objetivos deste trabalho é desenvolver o algoritmo EM estrutural, considerando-se que a partir desta implementação,
seja facilitado o desenvolvimento de cada uma de suas variantes. A seguir são detalhados
os dois algoritmos EM principais de Friedman.
Algoritmo Model Selection EM (MS-EM)
Muitos dados da vida real contém valores faltosos. Aprender, uma estrutura concisa a
partir deles é crucial para evitar overfitting 5 e permitir inferências eficientes no modelo
aprendido. A Introdução de variáveis ocultas, que não aparecem explicitamente no modelo, pode conduzir a aprender modelos mais simples. Essas foram as motivações principais
para Friedman desenvolver o algoritmo Model Selection EM (MS-EM) para aprendizagem
de estruturas de redes a partir de dados incompletos e com variáveis ocultas.
5
Optou-se pelo termo em inglês já que, quando usado no contexto computacional, o mesmo não possui
tradução adequada para a lı́ngua portuguesa.
68
4.3. Aprendizagem de Estrutura
dct-ufms
Em aprendizagem com dados completos, usando as independências embutidas na estrutura da rede, pode-se decompor a função de verossimilhança em um produto de termos
(Seção 4.3.1), onde cada termo depende só da escolha dos pais para uma variável particular e as estatı́sticas suficientes nos dados (Nijk ). Isto permite uma avaliação modular de
uma estrutura candidata e de todas as mudanças locais nela. Além disso, a avaliação de
uma mudança particular (por exemplo, a adição de um arco de X1 a X2 ) permanece igual
depois de mudar uma parte diferente da rede (por exemplo, a remoção de um arco de X2
a X3 ). Deste modo, após realizada uma mudança, não é necessário reavaliar a métrica
de pontuação de muitos dos possı́veis vizinhos no espaço de busca. Estas propriedades
determinam procedimentos de aprendizagem eficientes [29].
Quando os dados são incompletos, a função da verossimilhança não pode ser descomposta. Nesse caso é preciso uma otimização dos parâmetros da rede, por exemplo, via o
algoritmo EM paramétrico (descrito na Seção 4.2.2). Neste caso uma mudança local, em
uma parte da rede, pode afetar a avaliação de uma mudança em outra parte da rede. Um
método ingênuo avaliaria todos os possı́veis vizinhos (redes que diferem em um ou mais
arcos) de cada candidato visitado. Isto exigiria muitas chamadas ao procedimento EM
paramétrico antes de fazer uma simples mudança no candidato corrente.
A idéia de Friedman [29] foi realizar a busca pela melhor estrutura dentro do procedimento EM. Neste procedimento mantém-se uma rede candidata corrente, calculando-se
estatı́sticas esperadas para avaliar estruturas alternativas. Como esta busca é feita em um
cenário de dados completos, pode-se explorar as propriedades das métricas de pontuação
para busca efetiva. De fato, são usadas os mesmos procedimentos de busca de estruturas
a partir de dados completos. Em contraste com o método ingênuo, este procedimento
permite progredir na busca em cada iteração do EM e são necessárias, relativamente,
poucas iterações para aprender redes não triviais.
Em resumo, o algoritmo denominado Model Selection EM trata da seleção de modelos
e também de estimativas de parâmetros, formalmente:
1. Escolha S0 e Θ0 aleatóriamente.
2. Para n = 0, 1, . . . até convergir faça
(a) Encontre uma estrutura Sn+1 que maximize Q(· : Sn , Θn );
(b) Defina Θn+1 = arg maxΘ Q(Sn+1 , Θ : Sn , Θn ).
Em cada etapa escolhe-se um modelo e parâmetros com a maior pontuação esperada
(baseados nas estatı́sticas esperadas calculadas pelo algoritmo EM paramétrico), dado um
modelo prévio. Em [29], estão descritas as provas de convergência deste algoritmo.
69
4.3. Aprendizagem de Estrutura
dct-ufms
Para determinar totalmente este algoritmo falta definir Q, a função de pontuação ou
métrica usada. Neste caso, é uma métrica de pontuação esperada baseada na métrica
MDL [45] para dados completos. Da definição da métrica
da
P MDL e da linearidade
0
0
0
0
esperança, obtém-se a aproximação Q(S, Θ : S , Θ ) =
i Qi (Xi , θi : B ), onde B =
(S0 , Θ0 ) representa o modelo anterior e
0
Qi (Xi , θi : B ) =
qi
ri
X
X
E[Nijk |o] log(θijk )
j=1 k=1
−
log m
qi
2
(4.29)
onde o são as variáveis observadas e m o tamanho da amostra de dados.
Deste modo, a esperança é dada com relação a B 0 , obtendo-se uma decomposição
análoga à métrica MDL para dados completos. A única diferença é que usa-se estatı́sticas
esperadas baseadas no modelo B 0 ao invés de usar as estatı́sticas completas. Similarmente
ao caso de dados completos, maximiza-se a pontuação esperada para uma estrutura parE[N |o]
ticular, S, atribuindo θijk = E[Nijk
. Conseqüentemente, usam-se as mesmas estratégias
ij |o]
de busca existentes para o caso de dados completos.
Algoritmo EM Estrutural Bayesiano (SEM)
Um problema do algoritmo Model Selection EM [29] é que sua aplicação é restrita a
funções que aproximam a métrica Bayesiana [54]. Há indicações teóricas e práticas que
a métrica Bayesiana permite uma melhor avaliação das propriedades de generalização de
um modelo dado os dados. Além disso, a métrica de pontuação Bayesiana possibilita a
incorporação de conhecimento anterior no processo de aprendizagem.
Friedman, definiu um algoritmo denominado Bayesian Structural EM (SEM) [30] usando uma métrica Bayesiana fazendo suposições sobre a forma da distribuição a priori. Similarmente ao seu trabalho anterior [29], este método está também baseado na idéia de
completar dados usando a melhor estimativa atual. Porém, neste caso, a busca é sobre o
espaço de estruturas ao invés do espaço de estruturas e parâmetros. O algoritmo SEM,
tenta otimizar diretamente a métrica Bayesiana ao invés de fazer uma aproximação assintótica.
Sejam, D o conjunto de dados,O conjunto de variáveis observáveis e H o conjunto
de variáveis ocultas ou faltosas. Seja, também, um conjunto de modelos S em que cada
modelo (estrutura) S ∈ S é parametrizado por um vetor ΘS e que há atribuições a priori
para estruturas e parâmetros. Para encontrar um modelo maximum a posteriori é preciso
maximizar P (D|S)P (S). Devido a que D contém valores faltosos, P (D|S) não pode ser
avaliada eficientemente, mas, pode-se calcular ou estimar a verossimilhança dos dados
completos dada por P (H, O|S). Com estes elementos definidos, o algoritmo SEM fica
70
4.4. Comentários Finais
dct-ufms
determinado como a seguir:
Bayesian-SEM (M0 , o)
1. Para n = 0, 1, . . . até convergir
(a) Calcular a probabilidade posterior P (ΘSn |Shn , o).
(b) Passo E: Para cada S, calcular
Q(S : Sn ) = E[log P (H, o, Sh )|Shn , h]
X
P (h|o, Shn ) log P (h, o, Sh ).
=
h
(c) Passo M: Escolher Sn+1 que maximize Q(S : Sn ).
(d) Se Q(Sn : Sn ) = Q(Sn+1 : Sn ) então
retornar Sn .
Como no algoritmo MS-EM, a idéia principal deste procedimento é que a cada iteração
ele tenta maximizar a pontuação esperada dos modelos ao invés de sua pontuação corrente. O procedimento converge quando não há melhora na pontuação da função objetivo.
Para avaliar estruturas candidatas usa-se uma aproximação da métrica Bayesiana
BDe [36]. Maiores detalhes desta métrica e aspectos de implementação são dadas no
Capı́tulo 5 onde se apresenta os três tipos de aproximações de Friedman para esta métrica.
Uma restrição do algoritmo EM estrutural, é que está limitado à aprendizagem de
um modelo simples. Na prática, usa-se conjuntos de modelos (denominados comitês)
com pontuações altas para fazer predições. Tais comitês podem fornecer melhores aproximações, e garantir que as particularidades de um modelo simples não interfiram com a
evidência, que também é valida para outros modelos. Meila e Jordan [48], e Thiesson et
al [66] tentam aproximar tais comitês aprendendo misturas de modelos, onde cada componente da mistura é uma RB. Contudo, eles estão aprendendo um modelo MAP, em uma
classe maior de modelos. Isto seria útil se a fonte dos dados pudesse ser melhor descrita
por uma mistura. No entanto, não dispensa a dependência de um modelo simples.
4.4
Comentários Finais
Neste capı́tulo foi apresentado o problema da aprendizagem de RBs em situações em que a
estrutura está ou não disponı́vel, e os dados são completos ou incompletos. Foi focalizada
a aplicação do algoritmo EM em vários desses casos. Para aprendizagem de parâmetros a
partir de dados incompletos, além dos métodos descritos na Seção 4.2.2, Singh [64] discute
outros métodos alternativos.
71
4.4. Comentários Finais
dct-ufms
Para aprendizagem de estrutura, foram descritos brevemente os paradigmas de busca e pontuação e análise de independência. Para dados incompletos, foi aprofundado a
abordagem dos algoritmos EM de Friedman e discutiu-se algumas de suas variantes. Está
é uma área de pesquisa constante, sendo que algoritmos baseados em análise de independência não foram muito usados até então.
Como no caso de inferência de RBs, algumas ferramentas foram analisadas, e estudadas as suas capacidades de aprendizagem. Hugin6 , é uma ferramenta comercial que
oferece alguns algoritmos para aprendizagem de estruturas e parâmetros de RBs, porém a
versão avaliada, de tipo experimental, tinha a sua funcionalidade limitada. Os algoritmos
disponı́veis são: EM paramétrico, para aprendizagem de parâmetros e dois algoritmos
baseados em análise de independência, PC e NPC [65], para aprendizagem de estrutura.
BNPC é uma ferramenta gratuita que implementa algoritmos de aprendizagem de
estruturas a partir de dados completos, baseado no algoritmo de busca e pontuação de
Cheng et al [11]7 . Bayesware é uma ferramenta comercial para aprendizagem de estrutura
e parâmetros a partir de dados completos, usa o algoritmo Bound and Collapse [60, 59]8 .
BNJ é um conjunto de ferramentas em Java desenvolvidas na universidade de Kansas, com
algoritmos de aprendizagem dos dois paradigmas, porém limitados a dados completos9 .
6
http://www.norsys.com/
http://www.cs.ualberta.ca/ jcheng/bnpc.htm
8
http://www.bayesware.com/
9
http://bndev.sourceforge.net/
7
72
Capı́tulo 5
Implementação e Resultados
Este capı́tulo apresenta detalhes de implementação e resultados experimentais dos algoritmos EM, objetivo deste trabalho. Para avaliar o desempenho foram realizados uma
série de experimentos variando parâmetros, tais como tamanho do conjunto de dados,
quantidade de dados faltosos e mecanismos para gerar os dados. Os objetivos destes experimentos são descritos na Seção 5.1. Na Seção 5.2 são apresentados os conjuntos de
dados usados nos testes, enquanto que a metodologia experimental é discutida na Seção
5.3.
As especificações algorı́tmicas e a análise de resultados são descritos na Seção 5.4.
Especificamente, é detalhada a plataforma usada para desenvolvimento (Seção 5.4.1); o
conjunto de algoritmos que fazem parte da implementação do algoritmo EM parámetrico
(Seção 5.4.2) e o algoritmo EM estrutural (Seção 5.4.3), assim como os resultados experimentais obtidos em cada caso. Finalmente, um sumário dos resultados de aprendizagem
é dado na Seção 5.5.
5.1
Objetivos
Seguindo as diretrizes dadas no Capı́tulo 4, os algoritmos EM para aprendizagem de estrutura e parâmetros implementados devem lidar corretamente com dados incompletos e
variáveis ocultas. Assim, o objetivo principal dos testes realizados foi avaliar a qualidade
das estruturas e dos parâmetros (probabilidades) das RBs aprendidas pelos algoritmos
EM estrutural e paramétrico, respectivamente, quando os dados disponı́veis são incompletos e gerados mediante mecanismos completamente aleatórios.
Os algoritmos EM para aprendizagem de RBs não estão restritos à aprendizagem a
partir de dados incompletos gerados aleatóriamente. Segundo Friedman [30], quando existe um padrão entre as variáveis faltosas e as variáveis observadas, essas relações podem ser
introduzidas diretamente no modelo e usar os algoritmos EM sem maiores dificuldades.
73
5.2. Descrição dos Dados Usados
dct-ufms
Porém, neste trabalho, a análise foi restrita a dados faltosos obtidos mediante mecanismos
completamente aleatórios, denominados MCAR 1 .
O tamanho da amostra de dados, assim como a quantidade de variáveis faltosas devem
ter um efeito na qualidade das redes aprendidas via estes algoritmos. Daı́ o interesse
em avaliar o desempenho dos algoritmos como uma função do tamanho da amostra e a
quantidade de valores de variáveis faltosos.
5.2
Descrição dos Dados Usados
O objetivo da implementação dos algoritmos EM é aprender estruturas e parâmetros quando bancos de dados incompletos são os únicos disponı́veis, o que é a situação mais comum
na realidade. Porém, para avaliar a qualidade dos parâmetros e estruturas aprendidas
neste trabalho, foram usados dados cujas estruturas e parâmetros já eram conhecidos na
literatura, pois dados de domı́nios reais seriam difı́ceis de serem analisados porque não
seria ainda conhecido os seus modelos probabilı́sticos reais. Por outro lado, a partir de
uma RB com estrutura e distribuição de probabilidade conjunta conhecida, pode ser facilmente avaliada a precisão dos resultados experimentais [11].
Os bancos de dados usados nos testes da implementação deste trabalho e suas RBs
usadas para avaliação são freqüentemente usadas pela comunidade acadêmica. As redes
consideradas foram: a RB ALARM [3] com uma complexidade moderada; a RB ASIA [47]
de uma complexidade menor; a rede denominada NETICA usada como exemplo no tutorial online da ferramenta Netica; e a rede ANGINA especificada no livro de Jensen [40].
A maior parte destes modelos estão disponı́veis gratuitamente na Internet e em diversos
formatos.
A partir dos modelos reais das RBs consideradas, foram geradas amostras aleatórias
com diferentes porcentagens de dados faltosos. A ferramenta Netica foi usada na geração
das amostras de dados incompletos de 100, 500, 1000, 2000, 5000 e 10000 instâncias; e
com porcentagens de valores de variáveis faltosos de 10% e 30%. Estas amostras foram
armazenadas em arquivos de texto e deste modo usadas para aprendizagem. A seguir é
dada uma descrição breve de cada uma das RBs usadas para realizar os testes.
A rede ALARM foi construı́da como um protótipo para modelar problemas potenciais
de anestesia que poderiam surgir na sala de operações. É uma rede relativamente grande,
que consiste de 37 variáveis e 46 arcos representando 8 problemas de diagnóstico, 16
sintomas (findings) e 13 variáveis intermédias que relacionam problemas de diagnóstico
aos sintomas. A Figura 5.1 ilustra a RB ALARM como representada na ferramenta Netica.
1
Missing Completely at random.
74
Low
Normal
High
25.1
68.7
6.24
75
True
False
1.0
99.0
Anaphylaxis
Low
Normal
High
True
False
25.1
66.8
8.14
30.7
39.6
29.7
Low
Normal
High
44.9
28.4
26.7
Blood Pressure
Low
Normal
High
24.8
71.1
4.04
5.45
94.6
History
Low
Normal
High
True
False
7.13
41.7
51.2
HRBP
5.00
95.0
Error Low Ouput
26.4
33.4
40.1
Cardiac Output
Low
Normal
High
Total Peripheral Resistan...
Low
Normal
High
True
False
StrokeVolume
Low
Normal
High
Pulmonary Capillary We...
23.4
69.0
7.60
5.00
95.0
Left Ventricular Failure
Left Ventricular End-diast...
20.0
80.0
Central Venous Pressure
True
False
Hypovolemia
20.0
80.0
Low
Normal
High
Low
Normal
High
4.96
89.3
5.75
28.2
64.3
7.48
Low
Normal
High
True
False
8.32
40.6
51.1
HRSat
10.0
90.0
Error Cauter
Low
Normal
High
SaO2
89.7
10.3
Shunt
1.0
99.0
Normal
High
True
False
PulmEmbolus
Low
Normal
High
Low
Normal
Low
Normal
High
Pulmonary Artery Pressure
1.0
99.0
FiO2
23.4
69.4
7.20
PVSat
6.92
68.2
24.9
ArtCO2
12.1
10.2
73.4
4.18
VentAlv
Low
Normal
High
Zero
Low
Normal
High
92.0
3.00
5.00
Intubation
Normal
Esophageal
OneSided
Figura 5.1: Rede bayesiana ALARM.
8.32
40.6
51.1
HREKG
4.68
41.7
53.6
Heart Rate
40.9
59.1
Catecholamine
Normal
High
True
False
Anest./Anelgesia Insuffici...
ALARM
Zero
Low
Normal
High
Zero
Low
Normal
High
12.1
7.43
66.2
14.2
ExpCO2
11.6
5.49
79.4
3.49
VentLung
4.00
96.0
KinkedTube
True
False
Zero
Low
Normal
High
Zero
Low
Normal
High
12.2
6.28
77.2
4.32
MinVol
6.71
2.79
87.7
2.79
VentTube
5.00
95.0
Disconnection
True
False
1.0
1.96
95.1
1.96
Zero
Low
Normal
High
7.97
5.53
77.3
9.18
Breathing Pressure
Zero
Low
Normal
High
VentMach
1.00
98.0
1.00
MinVolSet
Low
Normal
High
5.2. Descrição dos Dados Usados
dct-ufms
5.2. Descrição dos Dados Usados
dct-ufms
A RB ASIA, ilustrada na Figura 5.2, é um exemplo popular para introduzir conceitos de RBs; criada por Lauritzen e Spiegelhalter [47], é uma versão simplificada de um
problema de diagnóstico médico. Cada nó na rede corresponde a alguma condição do
paciente, os dois nós superiores indicam predisposições que influenciam a verossimilhança
de uma doença, as doenças aparecem na fila de baixo. Na parte inferior estão os sinais
das doenças.
Visit To Asia
Visit
1.0
No Visit 99.0
Smoking
Smoker
50.0
NonSmoker
50.0
Tuberculosis
Present 1.04
Absent 99.0
Lung Cancer
Present 5.50
Absent 94.5
Present
Absent
Tuberculosis or Cancer
True
6.48
False
93.5
XRay Result
Abnormal
11.0
Normal
89.0
Bronchitis
45.0
55.0
ASIA
Present
Absent
Dyspnea
43.6
56.4
Figura 5.2: Rede bayesiana ASIA.
A ferramenta Netica disponibiliza uma rede exemplo para testar aprendizagem de
parâmetros com dados incompletos e variáveis ocultas2 , ilustrada na Figura 5.3. Esta
rede não tem uma semântica especial, simplesmente modela as relações de independência
entre 4 variáveis.
Learning Latent
Variable Example
Copyright 2002 Norsys Software Corp.
A
true
false
20.0
80.0
true
false
29.6
70.4
R
true
false
67.2
32.8
S
T
true
false
22.0
78.0
Figura 5.3: Rede bayesiana NETICA.
Com estas RBs e as distribuições de probabilidade conjunta disponı́veis, é possı́vel
avaliar a qualidade das RBs induzidas pelos algoritmos EM durante aprendizagem. A
metodologia usada nos testes é descrita na seção seguinte.
2
Rede bayesiana disponı́vel em http://www.norsys.com/tutorials/netica/secD/Learn-Latent.dne.
76
5.3. Metodologia Experimental
5.3
dct-ufms
Metodologia Experimental
A metodologia experimental usada é simples, útil na avaliação de outros algoritmos de
aprendizagem [64, 54, 68]. Esta consiste em gerar instâncias de dados com porcentagens
de dados incompletos de 10% e 30 % e a partir deles usar os algoritmos EM para aprender
as RBs. Finalmente, é medida a qualidade das redes aprendidas, comparando-as com as
redes reais que geraram os dados.
Para medir a qualidade das distribuições aprendidas pelo algoritmo EM paramétrico,
usa-se medidas de distância entre distribuições de probabilidade conjunta. A medida
escolhida foi da entropia cruzada (ou Kullback-Leibler) [36] e é definida a seguir. Seja P
a distribuição conjunta da rede real e Q a distribuição conjunta representada pela rede
aprendida. Então a entropia cruzada H(P, Q) é dada por
H(P, Q) =
X
P (x) log
x
P (x)
Q(x)
(5.1)
Valores baixos de entropia cruzada correspondem a uma distribuição aprendida que
é próxima à RB real. Se as duas RBs têm uma estrutura comum, o cálculo da entropia
cruzada pode ser realizado da seguinte maneira:
H(P, Q) =
qi
ri
n X
X
X
P (Xi = k, P ai = j) log
i=1 j=1 k=1
P (Xi = k|P ai = j)
Q(Xi = k|P ai = j)
(5.2)
Para medir a qualidade da estrutura de RB aprendida é avaliada a quantidade de arcos faltosos e arcos a mais adicionados com relação à rede real. Esta diferença estrutural
reflete o grau com que as estruturas aprendidas têm capturado interações causais.
As condições de finalização dos algoritmos são diferentes. Para o caso do algoritmo
EM paramétrico (o logaritmo da verossimilhança avalia o progresso do algoritmo), a finalização acontece quando a mudança no logaritmo da verossimilhança relativa à iteração
anterior for menor que 10−4 . Para o caso do algoritmo EM Estrutural, a finalização
depende na mudança da pontuação entre estruturas: se a mudança relativa à iteração
anterior for menor a 10−4 , a busca por novas estruturas finaliza. Estes valores foram
obtidas durante o processo de experimentação.
Para cada algoritmo implementado e cada instância testada, foi medido o tempo de
execução. Os tempos obtidos não consideraram tempos gastos na leitura dos dados, nem
o tratamento de condensação feito neles.
77
5.4. Aspectos de Implementação e Resultados
5.4
dct-ufms
Aspectos de Implementação e Resultados
Nesta seção é descrita, inicialmente, a plataforma sobre a qual foi realizada a implementação e os testes, e aspectos importantes da ferramenta UnBBayes. Posteriormente são
detalhados cada um dos algoritmos EM implementados, sendo especificadas algumas estruturas importantes para o entendimento dos procedimentos. Após cada especificação
algorı́tmica, são apresentados os resultados experimentais e a análise correspondente.
5.4.1
Ambiente de Implementação
A implementação dos algoritmos de aprendizagem EM paramétrico e estrutural foi realizada usando as facilidades da API da ferramenta UnBBayes 3 da Universidade de Brasilia,
disponı́vel sob licença GNU. Esta ferramenta foi desenvolvida na linguagem Java e possui
as seguintes caracterı́sticas: inferência em RBs (algoritmo de árvore de junção); algoritmos para aprendizagem de RBs a partir de dados completos, baseado no paradigma de
busca e pontuação (B, K2 de Cooper e Herskovits [18]) e no paradigma de independência
condicional (algoritmo CBLA, CBLB de Cheng [11]). Para o caso dos algoritmos de busca e pontuação, é possı́vel escolher a métrica para a avaliação das estruturas candidatas
(MDL, GH, GHS).
O algoritmo de aprendizagem de parâmetros disponı́vel nesta ferramenta segue as diretrizes da Seção 4.2.1. Aprendizagem das RBs não é um processo totalmente automático,
sendo necessário, para o caso dos algoritmos K2 e CBLA, fornecer uma ordenação coerente das variáveis dada por um especialista. No caso do algoritmo CBLB, aprende-se a
totalidade da RB só a partir de dados, sendo em alguns casos necessário que o especialista
acrescente alguns arcos que o algoritmo não conseguiu identificar.
A configuração da máquina utilizada para desenvolvimento e testes foi: Intel Pentium
4 de 1.7 GHz com 256 MB de memória RAM, 128 KB de memória cache e sistema
operacional Windows 98. A seguir é dada uma descrição resumida das principais classes
e pacotes da ferramenta UnBBayes.
Descrição dos Pacotes Principais da Ferramenta UnBBayes
A API da ferramenta UnBBayes está organizada em pacotes4 . Cada pacote contém um
conjunto de classes com funcionalidades diferentes. No inicio do trabalho, foi realizado
um estudo e especificação das classes, pacotes e as estruturas de dados da API. Então,
foi realizado o planejamento das modificações e adições que deviam ser feitas nas classes,
para contornar os objetivos de implementação, evitando na medida do possı́vel, conflitos
com a funcionalidade corrente. Algumas poucas modificações foram realizadas nas classes
3
4
Disponı́vel em http://unbbayes.sourceforge.net/.
Tradução de package, usado em Java para organizar um conjunto de classes.
78
5.4. Aspectos de Implementação e Resultados
dct-ufms
interface humano-computador (pacote gui), a fim de possibilitar a ligação entre os algoritmos desenvolvidos com a ferramenta. A maior parte do desenvolvimento foi realizado
nos pacotes aprendizagem e de estruturas de dados denominado prs — o algoritmo de
inferência faz parte deste último pacote.
O diagrama UML 5 da Figura 5.4 ilustra os principais pacotes desta ferramenta e as
relações de dependências entre eles. Uma descrição resumida de cada pacote é dada a
seguir.
util
prs
datamining
aprendizagem
monteCarlo
io
controller
gui
Figura 5.4: Pacotes principais da ferramenta UnBBayes.
• Pacote util: neste pacote estão definidas estruturas de dados úteis para armazenamento e operações sobre as probabilidades.
• Pacote io: conjunto de classes para leitura e armazenamento de redes bayesianas
em diversos formatos padrões.
• Pacote gui: conjunto de classes que permitem o manuseio e visualização das redes
bayesianas.
5
Unified Modeling Language
79
5.4. Aspectos de Implementação e Resultados
dct-ufms
• Pacote controller: conjunto de classes que permitem a ligação entre a interface e os
algoritmos que fazem inferência, aprendizagem e as outras funcionalidades.
• Pacote datamining: conjunto de classes com vários classificadores disponı́veis tais
como redes neurais, árvores de decisão, e classificadores bayesianos.
• Pacote monteCarlo: conjunto de classes para gerar amostras aleatórias de redes
bayesianas dadas como parâmetro.
• Pacote prs: classes principais que definem a estrutura de uma rede bayesiana, tais
como Node e Edge. Também estão definidas classes para a realização de inferência
em redes bayesianas.
• Pacote aprendizagem: aqui estão definidas as classes que permitem aprendizagem
de redes bayesianas a partir de dados. Neste pacote foram incluı́dos os algoritmos
EM implementados. Classes para amostragem Gibbs e aprendizagem incremental
estão sendo desenvolvidos atualmente neste pacote.
O pacote aprendizagem depende principalmente de: a)prs, pois precisa de classes
para criar redes bayesianas, e dos algoritmos de inferência; b)io, pois precisa ler arquivos
contendo dados para aprendizagem ; c)controller, pois precisa se comunicar com o resto
da aplicação; d) util, para uso de algumas estruturas de dados.
Descrição das Classes Principais da Implementação
A Figura 5.5 ilustra algumas das classes principais da implementação. Três novas classes
foram adicionadas ao pacote aprendizagem: EMToolkit, EMParametric e EMStruct.
Na figura, pode-se observar que a classe abstrata LearningToolkit, define a funcionalidade geral de todos os algoritmos de aprendizagem. A classe PonctuactionToolkit define a
funcionalidade dos algoritmos baseados no paradigma de busca e pontuação. Neste caso
os algoritmos K2 e B são representados respectivamente pelas classes K2 e B. A classe abstrata CBLToolkit define o comportamento das classes baseadas no paradigma de
análise de independência condicional. As classes derivadas CBLA e CBLB implementam
a funcionalidade dos algoritmos do mesmo nome. Todas estas classes, representando os
algoritmos de cada paradigma, estão agregadas em uma classe AlgorithmController que
determina a classe e/ou a métrica escolhida pelo usuário. Esta última classe e as classes
que implementam os algoritmos EM paramétrico e estrutural estão agregadas na classe
ConstructionController. Esta classe faz a ligação com as classes dos pacotes controller e
gui, o que permite a comunicação com o resto da aplicação.
Em geral, o arquivo que o usuário da ferramenta fornece para aprendizagem é organizado em linhas e colunas. O arquivo deve conter um número de colunas igual ao número
de variáveis do domı́nio. Cada linha representa um caso, ou seja, os estados observados
para cada variável. Na primeira linha, usualmente, estão indicados os nomes das variáveis.
80
5.4. Aspectos de Implementação e Resultados
dct-ufms
«metaclass»
Node
LearningToolkit
EMToolkit
ProbabilisticNode
PonctuationToolkit
CBLToolkit
1
*
«implementation class»
EMParametric
K2Toolkit
BToolkit
«implementation class»
TVariavel
*
«implementation class»
CBLB
«implementation class»
K2
«implementation class»
CBLA
«implementation class»
B
«implementation class»
EMStruct
*
1
«implementation class»
AlgorithmController
*
1
«implementation class»
ConstructionController
1
Figura 5.5: Classes principais do pacote aprendizagem.
No momento da leitura deste arquivo é instanciado um objeto da classe TVariavel6 para
cada variável presente nos dados. Nesse objeto são armazenados informações coletadas
para uma variável: nome, os possı́veis estados, posição no banco de dados. Os dados
lidos são representados em uma matriz de bytes (denominada dataBase e membro da
6
Classe derivada de ProbabilisticNode, do pacote prs e por conveniência colocada na Figura 5.5.
81
5.4. Aspectos de Implementação e Resultados
dct-ufms
classe ConstructionController), de dimensões m × n, sendo m o número de casos para n
variáveis. Os estados observados são armazenados como números, por exemplo, se uma
variável possui estados “sim” e “não”, esses dados serão armazenados como 0 e 1. Os
estados das variáveis que não foram observados são armazenados com o valor -1. A Tabela
5.1 apresenta um exemplo de leitura e armazenamento dos dados.
Tabela 5.1: Amostra de dados lida e armazenada para as variáveis A, B, C.
A
B
C
0 −1 0
sim
∗
f also
0 0 1
sim sim verdadeiro =⇒
1 1 0
nao nao
f also
0 1 1
sim nao verdadeiro
É comum os arquivos de dados apresentarem instâncias repetidas. A solução adotada,
para melhorar a eficiência dos algoritmos de aprendizagem, foi condensar essas instâncias
e armazenar a freqüência com que aparecem nos dados originais. Esse vetor de freqüências
armazenado, será útil para determinar as estatı́sticas suficientes das variáveis da RB.
Descrição das Classes para EM
A Figura 5.6 ilustra maiores detalhes nas classes que foram implementadas para os algoritmos EM paramétrico e EM estrutural. Também estão especificados alguns atributos
e métodos que foram adicionados nas classes originais. Por exemplo, dentro da classe
LearningToolkit foram adicionados atributos e métodos para o cálculo das freqüências esperadas. Na classe ConstructionController foi adicionado um método para condensar os
dados lidos.
Para os algoritmos EM é necessário realizar inferência probabilı́stica. A classe ProbabilisticNetwork do pacote prs, através dos dois métodos apresentados na Figura 5.6,
permite a propagação de evidências. Por isso que está agregada na classe EMParametric.
A classe EMStruct é derivada de EMParametric pois utiliza parte do comportamento dessa classe, diferenciando-se na busca de estruturas. Os atributos e métodos apresentados
nestas duas classes serão melhor compreendidos quando especificados os algoritmos EM
implementados nas seções posteriores.
5.4.2
Algoritmo EM Paramétrico
O algoritmo EM paramétrico é útil em situações em que o especialista tenha uma estrutura de RB de um domı́nio particular definido e queira, a partir de dados incompletos
(talvez os únicos disponı́veis), aprender os parâmetros — as distribuições de probabilidade condicional para essa estrutura definida. A Figura 5.7 apresenta o algoritmo principal
82
5.4. Aspectos de Implementação e Resultados
dct-ufms
Network
LearningToolkit
-vector_f : float
«implementation class»
TVariavel
#getFloatFrequencies() : float
*
«implementation class»
ProbabilisticNetwork
EMToolkit
+compile()
+updateProbabilities()
#gaussLaguerre() : double
#initParameters()
#simulate()
#randNumbers() : int
#gammaFunction() : double
+compareNets()
+distanceDistributions()
+distanceKL()
#dfsCycle()
#dfsConnectivity()
+compareStructs()
#lnGamma()
#structAnalysis()
1
«implementation class»
EMParametric
-missingCases : float
-missingPositions : int
-distributions : float
-expectedCounts : float
-treshold : float
+initialize()
#addHiddenVariables()
#identifyMissingCases()
#addFindings()
#saveDistributions()
#expectationStep()
#maximizationStep()
#expectation()
#Qt()
+parametricEM()
«implementation class»
EMStruct
-score : float
-scores : float
-candidatsParents
-metric
#initStructure()
#precalcParents()
#chooseBestCandidat()
#calculateScore()
#expectMDL()
#expectBDe()
#initMetric()
#updateStruct()
#simulatedAnnealing()
#greedyHillClimbing()
#addEdgeTemp()
#addEdgeHillClimbing()
#reverseTemp()
#reverseHillClimbing()
#removeTemp()
#removeHillClimbing()
#undoRemove()
+iteratedHillClimbing()
+bayesianStructuralEM()
*
1
«implementation class»
ConstructionController
-dataBase : unsigned int
+compactDataBase()
Figura 5.6: Especificação das classes dos algoritmos EM.
que realiza a chamada do algoritmo EM paramétrico.
Nesta seção e na subseqüente considera-se a estrutura de uma rede bayesiana S constituı́da por um conjunto de vértices V (as variáveis ou nós) e um conjunto de arcos dirigidos,
A, que ligam as variáveis. O grafo resultante é acı́clico (GAO). Uma estrutura fica completamente definida quando para toda variável Vi ∈ V é conhecida o conjunto de variáveis
pais P ai . D representa o banco de dados incompleto fornecido pelo usuário e usado para
83
5.4. Aspectos de Implementação e Resultados
dct-ufms
Inicia Algoritmo EM(D, S, ε)
. Entrada : D amostra de dados disponı́vel
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : ε limiar
. Saı́da : RB= hS, Θi, parâmetros definidos
. Dados : Θ, parâmetros da RB
. Dados : f altosos, casos com valores faltosos
1 Inı́cio
2
V ← Variáveis em D ∪ V
3
Θ ← Valores aleatórios
4
f altosos ← IdentificaValoresFaltosos(D)
5
Θ ← algoritmoEM(D, S, Θ, f altosos, ε)
6
Retorna S, Θ
7 Fim
Figura 5.7: Rotina principal do algoritmo EM paramétrico.
aprendizagem de parâmetros e/ou estruturas. Considera-se os dados condensados, ou seja
não existem duas ou mais linhas contendo instâncias idênticas; a freqüência de cada linha
condensada está armazenada num vetor. Θ, representa os parâmetros estimados para
uma estrutura definida. ε representa o limiar que determina a convergência do algoritmo
considerado.
A Figura 5.7 apresenta a rotina principal do algoritmo EM paramétrico o qual recebe
como parâmetros de entrada: os dados D incompletos, a estrutura inicial S e o limiar
ε. Como resultado retorna uma rede bayesiana com parâmetros que foram estimados a
partir dos dados incompletos. Particularmente, na linha 2, é definido o conjunto total de
variáveis de S, V , adicionando-se novas variáveis encontradas em D (estas são variáveis
ocultas). Na linha 3, o conjunto de parâmetros, Θ, que precisam ser estimados, são iniciados com valores aleatórios. Na linha 4, são identificadas as instâncias de dados faltosas
— evitando, deste modo, demora em acessos subseqüentes. Com as variáveis faltosas
identificadas e os parâmetros iniciais, na linha 5, chama-se o algoritmo EM paramétrico
que realiza a estimativa final para os parâmetros, retornados na linha 6.
A Figura 5.8 apresenta as especificações do algoritmo EM paramétrico. Se os dados
fossem completos, a distribuição de probabilidades de cada variável seria obtida calculando estatı́sticas suficientes para os dados. Porém, quando os dados são incompletos o
algoritmo EM, no Passo E, completa os valores faltosos e, com os dados completados,
realiza estimativas de máxima verossimilhança para as probabilidades, este último passo
denomina-se maximização (Passo M). Deste modo, são calculadas novas probabilidades
que substituirão as probabilidades correntes. Este processo é iterativo.
A funcionalidade descrita anteriormente é especificada na Figura 5.8. Enquanto a di-
84
5.4. Aspectos de Implementação e Resultados
dct-ufms
AlgoritmoEM(D, S, Θ, f altosos, ε)
. Entrada : D amostra de dados disponı́vel
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : Θ parâmetros da RB
. Entrada : f altosos ⊂ D variáveis com valores faltosos
. Entrada : ε limiar
. Saı́da : RB= hS, Θi, parâmetros definidos
. Dados : e, cálculo da verossimilhança atual
. Dados : eAnt, cálculo da verossimilhança anterior
. Dados : ∆e, diferença entre verossimilhanças anterior e atual
. Dados : distribuicoes, vetor de distribuições armazenadas
. Dados : f reqEsperadas, conjunto de freqüências esperadas
1 Inı́cio
2
e←0
3
eAnt ← ∞
4
∆e ← eAnt − e
5
enquanto ∆e > ε faça
6
eAnt ← e
7
distribuicoes ← SalvaDistribuições(D, S, Θ, f altosos)
8
f reqEsperadas ← passoExpectation(D, S, Θ, f altosos, distribuicoes)
9
e ← Maximization(S, Θ, f reqEsperadas)
10
∆e ← e − eAnt
11
Θ ← NormalizaProbabilidades(S, Θ)
12
fim enquanto
13
Retorna S, Θ
14 Fim
Figura 5.8: Algoritmo EM paramétrico.
ferença entre a verossimilhança dos parâmetros estimados com os parâmetros anteriores
seja maior que o limiar (linha 5), o processo, iterativamente, realiza o completamento dos
dados (Passo E) (linha 8), o cálculo das novas distribuições de probabilidade e a verossimilhança (Passo M) (linha 9). Além disso, realiza uma normalização dos parâmetros
calculados (linha 11).
Particularmente, o Passo E consiste em calcular estatı́sticas esperadas para cada variável Vi ∈ V e os pais de Vi , P ai , a partir dos dados D. Essas estatı́sticas esperadas
são contagens das freqüências de cada estado de Vi e P ai em D, também denotadas Nijk .
Quando os estados de uma variável Vi e/ou P ai não aparecem registrados em alguma
linha Dl ∈ D (valor faltoso), realiza-se inferência bayesiana (inserindo a evidência observada em Dl ) para estimar a distribuição de probabilidade marginal de Vi e/ou P ai. Se
Dl aparece uma vez em D, a freqüência de cada estado de Vi é a probabilidade marginal
obtida após a inferência. Se Dl tem uma freqüência maior que 1, a freqüência de cada
estado de Vi é obtida da multiplicação da probabilidade marginal pela freqüência de Dl .
85
5.4. Aspectos de Implementação e Resultados
dct-ufms
Por exemplo, se Dl for h−1, 0, 0, 1i com uma freqüência de 2 e supondo que Vi (a coluna
com valor -1) possua dois estados, a partir dele são gerados dois novos casos h0, 0, 0, 1i e
h1, 0, 0, 1i com probabilidades p e 1 − p, e com freqüências denominadas esperadas 2(p) e
2(1 − p).
Se este procedimento fosse realizado para cada um dos estados de Vi , P ai ∈ V , seriam necessárias muitas chamadas ao processo de inferência, a maioria das vezes redundantes. Uma outra alternativa é realizar o cálculo da inferência probabilı́stica para toda Dl ∈ D que tenha valores faltosos. Na Figura 5.8, na linha 7, o procedimento
SALVADISTRIBUIÇÕES percorre cada linha Dl ∈ D, e se houver valores faltosos, realiza inferência e armazena em uma tabela de dispersão (tendo como chaves as posições
faltosas) as distribuições de probabilidade marginal das variáveis que apresentam valores
faltosos. Essas distribuições são então passadas na linha 8 para o cálculo das estatı́sticas
esperadas, sendo o acesso a cada distribuição de probabilidade dependente da estrutura
usada para armazenamento, neste caso a tabela de dispersão.
Uma alternativa considerada inicialmente consistia em percorrer cada uma das linhas
em D, realizar inferência, gerar novos casos de acordo com a quantidade de estados das variáveis faltosas em cada linha e calcular a freqüência esperada de cada caso. Esta solução
foi descartada devido a que a geração de novos casos e, especialmente armazenamento deles para bancos de dados grandes e RBs de tamanho médio, requeria uso de uma grande
quantidade de memória.
Apesar do procedimento na linha 7 ter sido usado por razões de otimização (o processo
de inferência é chamado uma única vez em cada iteração para cada linha ou caso com
variáveis faltosas), resultou tendo o maior custo quanto a tempo de processamento. Este
custo foi medido, e é apresentado em valores percentuais na Figura 5.9. A RB testada
foi ALARM, com conjunto de dados de 10000 instâncias e com 10% de dados faltosos.
Os resultados ilustrados nessa figura mostram que o processo de inferência leva quase a
totalidade do tempo de execução, com uma porcentagem de 90%. O algoritmo EM (os
dois passos) ocupa 7% do tempo de processamento, o tempo restante é gasto em outros
processos, como armazenamento em estruturas auxiliares.
Acredita-se que uma maneira de melhorar este desempenho seria utilizar outros métodos
para completar os dados. Uma reformulação do algoritmo de inferência talvez seja necessária. Métodos aproximados são sugeridos na literatura [33, 21], porém, resultados
sobre o compromisso entre rapidez e precisão não são indicados.
Na Figura 5.10 é apresentado o algoritmo passoExpectation no qual estão descritos
maiores detalhes do cálculo das estatı́sticas esperadas. Neste caso, para cada uma das
variáveis em V (linha 3) são calculadas e armazenadas freqüências esperadas através do
método Expectation (linha 5). Este algoritmo retorna as freqüências esperadas para todas
as variáveis de V (linha 7).
86
5.4. Aspectos de Implementação e Resultados
EM
7%
dct-ufms
Outros
3%
Inferência
EM
Inferência
90%
Outros
Figura 5.9: Porcentagens de tempo de processamento, rede bayesiana ALARM.
A estrutura armazenada (f reqEsperadas) permitirá o cálculo das distribuições de
probabilidade para cada variável, assim como o cálculo da verossimilhança.
passoExpectation(D, S, Θ, f altosos, distribuicoes)
. Entrada : D amostra de dados disponı́vel
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : Θ parâmetros da RB
. Entrada : f altosos ⊂ D variáveis com valores faltosos
. Entrada : distribuicoes, vetor de distribuições armazenadas
. Saı́da : f reqEsperadas, conjunto de freqüências esperadas
1 Inı́cio
2
f reqEsperadas ← ∅
3
para i ← 0 até |V | faça
4
Vi ← i − ésima variável de V
5
f reqEsperadas ← f reqEsperadas∪
Expectation(Vi , D, S, Θ, f altosos, distribuicoes)
6
fim para
7
Retorna f reqEsperadas
8 Fim
Figura 5.10: Passo Expectation dentro do algoritmo EM.
O cálculo das freqüências esperadas para cada variável é apresentado na Figura 5.11.
Para a variável Vi é calculada uma matriz com ri × qi valores de freqüências — o número
de estados dessa variável pela quantidade total dos estados dos pais P ai .
Especificamente, neste procedimento são inseridos valores em uma estrutura denominada f reqEsperadasi , a qual armazena as freqüências esperadas para a familia de
variáveis P (Vi |P ai ) (a variável Vi e seus pais). Para realizar esta tarefa deve-se percorrer
os dados D, procurando instanciações dos estados de Vi , P ai . Da linha 4 até 21, é realizado o percurso de cada linha de D, dl . Para cada dl , após a leitura das variáveis faltosas,
87
5.4. Aspectos de Implementação e Resultados
dct-ufms
Expectation(Vi , D, S, Θ, f altosos, distribuicoes)
. Entrada : Vi ∈ V
. Entrada : D amostra de dados disponı́vel
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : Θ parâmetros da RB
. Entrada : f altosos ⊂ D variáveis com valores faltosos
. Entrada : distribuicoes, vetor distribuições armazenadas
. Saı́da : f reqEsperadasi , conjunto de freqüências esperadas para variável Vi
. Dados : P ai , pais de Vi
. Dados : dl , l-ésimo caso de D
1 Inı́cio
2
f reqEsperadasi ← ∅
3
P ai ← Pais(Vi , S)
4
para dl ← 0 até |D| faça
5
qi ← EstadosPais(f altosos(dl )(P ai ), S)
. f altosos(dl )(P ai ) retorna posições dos pais com valores faltosos em dl
. qi é o número de estados das variáveis pais com valores faltosos em dl
6
probM arginais ← distribuicoes(dl )
7
para j ← 0 até qi faça
8
f requencia ← Frequencia(D, dl )
9
para i ← 0 até |P ai | faça
10
pai ← D(dl )(i)
se pai =? então
11
. Se estado é faltoso
12
pai ← geraEstado(j)
. Determina o próximo estado para pai
13
Θpai ← probM arginais(pai )
14
f requencia ← f requencia ∗ Θpai
15
fim se
16
pospai ← Posicao(pai )
17
fim para
18
posvi ← D(dl )(vi )
19
f reqEsperadasi (posvi )(pospai ) ← f requencia
20
fim para
21
fim para
22
Retorna f reqEsperadasi
23 Fim
Figura 5.11: Estimativa dos parâmetros (Expectation).
é calculado o número de estados que precisam ser gerados para essas variáveis faltosas,
qi (linha 5), se não houver nenhuma variável faltosa em dl este processo retornará qi = 1.
Sucessivamente são lidas as distribuições de probabilidade para os estados de essas variáveis faltosas em dl (linha 6). Essas distribuições e posições das variáveis faltosas foram
pre-calculadas em passos anteriores.
88
5.4. Aspectos de Implementação e Resultados
dct-ufms
Tomando como base a freqüência de dl , (linha 8), é calculada a freqüência esperada
para cada estado das variáveis faltosas em dl (linhas 7 a 20), como é explicado a seguir.
De dl é lido cada pai de Vi (linha 9), se algum pai é faltoso (linha 11), é gerado o estado possı́vel para esse pai (linha 12) — referente a qi , ou seja, o número de estados totais
das variáveis faltosas. Com esse novo estado atribuı́do a pai , calcula-se sua freqüência
esperada. Para isto é lida a distribuição de probabilidade marginal para pai em dl (linha
13), calculada e armazenada em processos anteriores, e multiplica-se a freqüência de dl
pela distribuição de probabilidades de pai , o valor de freqüência dl é modificado de acordo
com a quantidade de valores faltosos totais, qi .
Posteriormente, determina-se a posição do estado pai na estrutura f reqEsperadasi
(linha 16). Finalmente, é lido o estado de Vi em dl (linha 18) e armazenado o valor
da freqüência esperada calculada (linha 19). Se o valor do estado Vi não for observado em dl realiza-se um procedimento parecido com as linhas 7 a 19. Porém, neste caso o
procedimento seria repetido ri vezes (linha 7), ou seja o número de estados possı́veis de Vi .
O algoritmo de maximização é um processo de cálculo da máxima verossimilhança a
partir das freqüências esperadas obtidas dos dados completados. A Figura 5.12 apresenta
este processo para todas as variáveis V .
Maximization(S, Θ, f reqEsperadas)
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : Θ parâmetros da RB
. Entrada : f reqEsperadas, conjunto de freqüências esperadas
. Saı́da : e erro acumulado
1 Inı́cio
2
e←0
3
para Vi ← 0 até |V | faça
4
Vi ← i − ésima variável de V
5
f reqEsperadasi ← i − ésimo estado de f reqEsperadas
6
e ← e + Qt(Vi , S, Θ, f reqEsperadasi )
7
fim para
8
Retorna e
9 Fim
Figura 5.12: Atualização de parâmetros e cálculo da verossimilhança (Maximization).
Neste caso são calculadas as novas distribuições de probabilidade conjunta para cada
uma das variáveis (linhas 3 a 7), baseadas nas novas freqüências esperadas e que substituirão as distribuições de probabilidade anteriores. Também é realizado o cálculo do
logaritmo da verossimilhança para determinar a convergência do processo (linha 6).
89
5.4. Aspectos de Implementação e Resultados
dct-ufms
O procedimento Qt apresentado na Figura 5.13, detalha o processo de maximização
feito sobre cada variável Vi .
Qt(Vi , S, Θ, f reqEsperadasi )
. Entrada : Vi ∈ V
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : Θ parâmetros da RB
. Entrada : f reqEsperadasi , conjunto de freqüências esperadas para Vi
. Saı́da : veross logaritmo da verossimilhança
. Dados : P ai ∈ V pais de Vi
. Dados : qi número de estados dos pais de Vi
. Dados : ri número de estados de Vi
. Dados : j, k, nij, nijk, probijk variáveis auxiliares
1 Inı́cio
2
ri ← |Vi |
3
P ai ← Pais(Vi , S)
4
qi ← EstadosPais(P ai , S)
5
veross ← 0
6
para j ← 0 até qi faça
7
nij ← 0
8
para k ← 0 até ri faça
9
nij ← nij + f reqEsperadasi (k)(j)
10
fim para
11
para k ← 0 até ri faça
12
nijk ← f reqEsperadasi (k)(j)
13
probijk ← (1 + nijk)/(ri + nij)
14
veross ← veross + log(probijk)(nijk + 1)
15
Θijk ← probijk
. Atualiza as probabilidades
16
fim para
17
fim para
18
Retorna veross
19 Fim
Figura 5.13: Algoritmo Qt para o cálculo das novas probabilidades para Vi .
Com as freqüências esperadas dadas para uma variável, no procedimento Qt percorrese cada estado da variável e os estados dos pais, calculando-se as probabilidades (linhas 6
a 17). Na linha 14, é acumulado o valor do logaritmo da verossimilhança de cada estado
de acordo com a Equação 4.10. Finalmente, a nova probabilidade para esse estado é
estabelecida (linha 15) e a verossimilhança acumulada é retornada (linha 18).
90
5.4. Aspectos de Implementação e Resultados
dct-ufms
Análise de Resultados
A seguir são especificados os testes e resultados da aplicação do algoritmo EM paramétrico
aos conjuntos de dados considerados.
A primeira rede avaliada foi a NETICA. Foram medidos o tempo de processamento
e a distância entre os parâmetros aprendidos e os parâmetros da RB real. A figura 5.14
a) , ilustra os tempos obtidos para esta rede pequena (somente 4 variáveis), considerando
instâncias de 100 a 10000 dados. Observa-se que não há uma diferença significativa para
dados com porcentagens de 10% e 30% de valores faltosos. O tempo é maior conforme
as instâncias de dados são maiores, sendo o máximo atingido de 10 milisegundos para
dados com 10000 instâncias. Para instâncias pequenas de 100 e 500 dados foi necessário
executar até 100 vezes o algoritmo para obter tempos significativos.
Com relação à distância entre os parâmetros aprendidos e os reais, a Figura 5.14 b)
mostra que quanto maior a quantidade de dados disponı́veis para aprendizagem e menor
porcentagem de dados faltosos, a distribuição aprendida é mais próxima da real. Cabe
salientar que, ainda com 30% de dados faltosos, o valor de entropia obtida é baixo e,
portanto, a distribuição de probabilidade fundamental consegue ser recuperada.
A rede ASIA foi a próxima RB a ser analisada. A Figuras 5.15 a) e 5.15b) ilustram
seu desempenho quanto a tempo e qualidade da aprendizagem, respectivamente. A sua
complexidade é maior que a RB NETICA, com 8 nós ou variáveis e 8 arcos. Neste caso,
a relação entre o tempo gasto na aprendizagem e a quantidade de dados faltosos é mais
visı́vel, sendo maior para instâncias com 30% de dados faltosos. Esse resultado é devido
à necessidade de estimar uma quantidade de valores maior, sendo que a convergência
também é mais demorada. Para uma instância de 10000 casos e 10% de dados faltosos, o
número de iterações necessárias até convergir foi de 10, sendo 15 para o caso de 30%.
Com relação à medida de distância entre distribuições de probabilidade conjunta, os
resultados foram irregulares, obtendo-se distâncias mais próximas das reais em instâncias
de tamanho médio (1000 dados). Portanto, nenhuma conclusão pode ser obtida destes
resultados, a não ser que as distâncias, em geral, foram maiores devido à maior complexidade desta rede.
A última RB considerada é ALARM. A Figura 5.16 ilustra os resultados obtidos com
relação ao tempo e qualidade. Nesta RB os tempos de processamento foram significativamente elevados. A quantidade de variáveis, 37, influenciou nos resultados, especialmente
para instâncias a partir de 1000 dados. A relação entre porcentagens de dados faltosos
e tempo é notória, sendo quase 20% maior, conforme a quantidade de dados faltosos se
incrementa. Como indicado anteriormente, o processo de inferência é o gargalo deste procedimento, e com esta rede pode-se comprovar esse desempenho. Para uma amostra de
10000 dados, em cada iteração é realizada a propagação de evidências sobre 37 variáveis
91
5.4. Aspectos de Implementação e Resultados
dct-ufms
a) Tempo NETICA − EM paramétrico
Tempo (milisegundos)
12
10% valores faltosos
30% valores faltosos
11
10
9
8
7
6
0
2000
4000
6000
Número de casos
8000
10000
Distância entre distribuições
b) Distância NETICA − EM paramétrico
0.2
0.18
0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
10% valores faltosos
30% valores faltosos
0
2000
4000
6000
Número de casos
8000
10000
Figura 5.14: Tempo e distância NETICA - algoritmo EM paramétrico.
9000 vezes, aproximadamente. Mesmo assim, a convergência deste algoritmo foi relativamente rápida com 14 iterações.
92
5.4. Aspectos de Implementação e Resultados
dct-ufms
Tempo (milisegundos)
a) Tempo ASIA − EM paramétrico
4000
3500
3000
2500
2000
1500
1000
500
10% valores faltosos
30% valores faltosos
0
0
2000
4000
6000
Número de casos
8000
10000
Distância entre distribuições
b) Distância ASIA − EM paramétrico
2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
10% valores faltosos
30% valores faltosos
0
2000
4000
6000
Número de casos
8000
10000
Figura 5.15: Tempo e distância ASIA - algoritmo EM Paramétrico
A medida de entropia devolveu resultados esperados, mostrando que a medida que a
quantidade de dados disponı́veis é maior, a distância dos parâmetros aprendidos é mais
próxima dos parâmetros reais. Os valores de distância obtidos foram grandes, indicando a
priori que as distribuições aprendidas não são as mais adequadas. Este fato foi analisado
com maior detalhe, observando-se que valores de distância grandes foram obtidos em
distribuições de probabilidade de variáveis com maior conectividade, ou seja, com maior
número de pais, sendo seu número de estados maior do que 2. É possı́vel que nos bancos
de dados usados para teste e gerados aleatóriamente, os valores destas combinações não
sejam suficientemente representativos. Conseqüentemente, com uma maior quantidade de
93
5.4. Aspectos de Implementação e Resultados
dct-ufms
a) Tempo ALARME − EM paramétrico
Tempo (milisegundos)
350000
10% valores faltosos
30% valores faltosos
300000
250000
200000
150000
100000
50000
0
0
2000
4000
6000
Número de casos
8000
10000
Distância entre distribuições
b) Distância ALARME − EM paramétrico
35
10% valores faltosos
30% valores faltosos
30
25
20
15
10
5
0
2000
4000
6000
Número de casos
8000
10000
Figura 5.16: Tempo e distância ALARM - algoritmo EM paramétrico.
dados disponı́veis, a distância tende a diminuir. Outra possibilidade da ocorrência destes
resultados é a convergência do algoritmo a um máximo local.
94
5.4. Aspectos de Implementação e Resultados
5.4.3
dct-ufms
Algoritmo EM Estrutural
O algoritmo EM estrutural de Friedman é útil para aprender estrutura e parâmetros a
partir de dados incompletos. Este algoritmo, em cada iteração e com uma estrutura dada
inicialmente, completa os dados faltosos mediante uma aproximação maximum a posteriori — o algoritmo EM paramétrico. A partir desses dados completados, realiza uma
busca por estruturas, avaliando cada estrutura candidata com métricas aproximadas. Essa estrutura encontrada será utilizada na próxima iteração do algoritmo. Após várias
iterações, espera-se que o algoritmo progrida à melhor estrutura para os dados originais.
A Figura 5.17 ilustra o processo detalhado do algoritmo EM estrutural de Friedman.
No passo A(0) com dados incompletos (os reais) e uma estrutura aleatória, aplica-se
o algoritmo EM paramétrico para completá-los e calcula-se uma primeira distribuição
de probabilidade para a estrutura inicial (passo B). Com este completamento de dados,
inicia-se o algoritmo de busca por uma estrutura ótima seguindo o paradigma de busca e
pontuação, que gera novas estruturas de maneira heurı́stica (recombina variáveis) e estas,
por sua vez, determinam freqüencias diferentes (Passos C e D). Com C e D escolhe-se a
estrutura que tenha a melhor pontuação conforme as métricas descritas a seguir, nesta
mesma seção.
No passo A(1) (a segunda iteração do algoritmo), a partir da estrutura ótima encontrada na iteração anterior, calcula-se as tabelas de probabilidade usando os dados
completados no passo B. Os dados incompletos (os reais) são novamente usados em A(1)
para realizar uma busca por outra estrutura ótima, pois deseja-se encontrar uma estrutura
ótima para os dados incompletos, que são os dados reais de um certo domı́nio.
Um resumo de como progridem as iterações do algoritmo de Friedman é ilustrado
na Figura 5.18. Em cada iteração, de A(n-1) para A(n), aplica-se o algoritmo EM paramétrico (que completa dados) e um algoritmo de busca e pontuação, terminando-a com
uma estrutura ótima intermediária e seus parâmetros correspondentes calculados usando
este último completamento.
A estrutura ótima final é obtida quando convergir para zero as distâncias entre as
pontuações das estruturas ótimas dos passos A(n) e A(n + 1), ∀n ∈ N .
Cabe observar que, para dados completos, a aprendizagem se realiza só do passo B até
o passo A(1), isto é, só ocorre uma iteração do algoritmo de Friedman. Entretanto, não
é aconselhável usar esta implementação para dados completos, porque ela vai tentar usar
o EM paramétrico para completar o que já está completo, incorrendo em maior tempo de
processamento.
A seguir são descritos os algoritmos respectivos para as idéias apresentadas anteriormente. Por ser a busca por estruturas um algoritmo de natureza heurı́stica é comum
95
5.4. Aspectos de Implementação e Resultados
Estrutura Aleatória
X1
X2
Probabilidades
X3
X1
X2
dct-ufms
X1
X2
X3
Contas Esperadas
N(X 1)
N(X 2)
N(X 3)
N(H,X 1,X 2,X 3)
N(Y 1,H)
N(Y 2,H)
N(Y 3,H)
X3
H
H
Y1
H
Y3
Y2
+
Y1
Y1
X1
Y3
Y2
+
EM
Paramétrico
Dados
Incompletos
Y1
Estrutura Ótima
Y1
N(X 2,X 1)
N(H,X 1,X 3)
N(Y 1,X 2)
N(Y 2,Y 1)
Y2
.
.
.
Y3
C
X2
X3
+H
Y2
X3
.
.
.
B
X1
X2
Y3
H
Busca e
Pontuação
Dados
Completados
A(0)
Y2
D
Probabilidades
+
Dados
Incompletos
…….
Y3
A(1)
Figura 5.17: Detalhe do algoritmo EM estrutural.
Estrutura Final
Estrutura Aleatória
EM
Paramétrico
EM
Paramétrico
+
…….
+
Busca e
Pontuação
Busca e
Pontuação
CONVERGENCIA
Dados
Incompletos
A(0)
Dados
Incompletos
Dados
Incompletos
A(1)
A(n-1)
Figura 5.18: Algoritmo EM estrutural resumido.
96
Dados
Incompletos
A(n)
5.4. Aspectos de Implementação e Resultados
dct-ufms
encontrar máximos locais. Para superar esta dificuldade, executa-se o algoritmo desde
diferentes probabilidades e estruturas iniciais, escolhendo-se a estrutura com a melhor
pontuação. Este algoritmo é denominado às vezes Iterated Hill Climbing [54, 68] e é apresentado na Figura 5.19.
IteratedHillClimbing(D, S, Θ, ε, iteracoes)
. Entrada : D amostra de dados disponı́vel
. Entrada : S = (V, A) estrutura da RB, GAO, neste caso vazia
. Entrada : Θ parâmetros da RB
. Entrada : ε limiar
. Entrada : iteracoes número de iterações
. Saı́da : RB= hS, Θi
. Dados : pontuacao, pontuação de uma estrutura S
. Dados : maxP ontuacao, máxima pontuação
. Dados : s, conjunto de estruturas
. Dados : θ, conjunto de parâmetros para s
1 Inı́cio
2
maxP ontuacao ← −∞
3
para i ← 0 até iteracoes faça
4
S ← estrutura aleatória
5
pontuacao ← AlgoritmoSEM(D, S, Θ, ε)
6
s←s∪S
7
θ ←θ∪Θ
8
maxP ontuacao ← max(maxP ontuacao, pontuacao)
9
fim para
10
Retorna max S ⊂ s, max Θ ⊂ θ
11 Fim
Figura 5.19: Algoritmo Iterated Hill Climbing.
Em cada iteração, escolhe-se uma estrutura e parâmetros iniciais aleatórios (linha 4).
Neste caso, a escolha da estrutura inicial foi baseada no trabalho de Friedman [29], que
consiste em unir todas as variáveis com até dois vizinhos, escolhidos aleatoriamente (outra
alternativa, sugerida por Heckerman et al [36], é definir uma estrutura inicial tipo árvore
aleatória). Posteriormente, inicia-se a busca pela melhor estrutura mediante o algoritmo
EM estrutural (linha 5). A pontuação global obtida nessa busca, assim como a estrutura
e parâmetros são armazenadas (linhas 6 e 7). Após todas essas iterações, retorna-se a RB
com a melhor pontuação (linha 10).
O procedimento de maior interesse é o algoritmo EM estrutural freqüentemente denominado SEM [68, 54] e apresentado na Figura 5.20.
Este procedimento encontra parâmetros maximum a posteriori para a estrutura prévia
97
5.4. Aspectos de Implementação e Resultados
dct-ufms
AlgoritmoSEM(D, S, Θ, ε)
. Entrada : D amostra de dados disponı́vel
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : Θ parâmetros da RB
. Entrada : ε limiar
. Saı́da : RB = hS, Θi e pontuacao
. Dados : pontuacao, pontuação de uma estrutura S
. Dados : pontAnterior, pontuação anterior
. Dados : e, diferença entre pontuações
1 Inı́cio
2
e←∞
3
enquanto e > ε faça
4
pontAnterior ← PontuacaoGlobal(S, Θ)
5
Θ ← IniciaAlgoritmoEM(D, S, ε)
6
pontuacao ← PontuacaoGlobal(S, Θ)
7
e ← pontuacao − pontAnterior
8
S ← PreCalcPais(S, pontuacao)
9
S ← GreedyHillClimbing(D, S, Θ, pontuacao)
10
fim enquanto
11
Retorna S, Θ, pontuacao
12 Fim
Figura 5.20: Algoritmo EM estrutural.
dada (linha 5). Com os dados completados calcula a pontuação inicial global (linha 6).
A partir dali, começa uma busca pela estrutura que tenha a pontuação máxima para os
dados completados. Esta busca é de tipo NP-difı́cil [12], sendo necessária a utilização
de um algoritmo de natureza heurı́stica, neste caso foi usado o algoritmo Greedy Hill
Climbing [36] (linha 9). A linha 7 é um procedimento que, baseado na pontuação global,
calcula possı́veis pais candidatos para cada variável de S.
O algoritmo heurı́stico Greedy Hill Climbing é apresentado na Figura 5.21. Este algoritmo gera novas combinações de variáveis e testa remoção, adição e inversão de arcos
formando as estruturas intermediárias do processo de busca.
Este algoritmo procura por estruturas enquanto essas melhoram a pontuação corrente
(linha 5). O processo finaliza quando, após uma iteração completa, não houve mudança
alguma na estrutura da RB ou o número máximo de mudanças estabelecido a priori foi
atingido. Em cada iteração escolhe-se uma variável aleatória (linha 6), e tenta-se adicionar, inverter ou remover cada uma das outras variáveis possı́veis (linha 10). Estas
modificações locais são temporárias (linhas 12 a 13), escolhendo-se a variável que gere a
maior pontuação dentre todas (linhas 15 a 18). Se a modificação nessa variável produz
um ganho na pontuação global, a modificação na estrutura é realizada (linhas 20 a 25) e
o número de mudanças totais aumentado, senão um máximo foi atingido (linha 26) e o
98
5.4. Aspectos de Implementação e Resultados
dct-ufms
GreedyHillClimbing(D, S, Θ, pontuacao)
. Entrada : D amostra de dados disponı́vel
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : Θ parâmetros da RB
. Entrada : pontuacao pontuação global atual
. Saı́da : S uma estrutura modificada
. Dados : numM udancas número de mudanças na estrutura S
. Dados : numT otalM udancas número total de mudanças na estrutura S
. Dados : mudou indica se S mudou
. Dados : pontM ax valor da máxima pontuação
. Dados : pamax pai candidato que produz maior pontuação
1 Inı́cio
2
numM udancas ← 0
3
numT otalM udancas ← |V |2
4
mudou ← verdadeiro
5
enquanto numM udancas < numT otalM udancas e mudou faça
6
Vi ← variável ou nó aleatório de S
7
pontuacaoAtual ← pontuacao
8
pontM ax ← −∞
9
pamax ← ∅
10
para pai ← 0 até |V | faça
11
se pai ⊂ Pais(Vi , S) então
12
pontuacaoAtual ← reverseRemoveArcoTemp(Vi , pai , S, pontuacao)
13
senão pontuacaoAtual ← adicionaArcoTemp(Vi , pai , S, pontuacao)
14
fim se
15
se pontuacaoAtual > pontM ax então
16
pontM ax ← pontuacaoAtual
17
pamax ← pai
18
fim se
19
fim para
20
se pamax 6= ∅ então
21
se pamax ⊂ Pais(Vi , S) então
S ← reverseRemoveArvoHillC(Vi , pai , S, pontuacao)
22
23
senão S ← adicionaArcoHillC(Vi , pai , S, pontuacao)
24
fim se
25
numM udancas ← numM udancas + 1
26
senão mudou ← f also
27
fim se
28
fim enquanto
29
Retorna S
30 Fim
Figura 5.21: Algoritmo Greedy Hill Climbing para busca de estruturas.
99
5.4. Aspectos de Implementação e Resultados
dct-ufms
processo finaliza.
As possı́veis operações locais podem ser adições, remoções ou a inversão na direção
dos arcos. A seguir é especificado como é feita a adição de um arco (Figura 5.22), um
processo similar é usado nas outras operações.
AdicionaArcoTemp(Vi , pai , S, pontuacao)
. Entrada : Vi ∈ V
. Entrada : pai variável candidata a ser adicionada
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : pontuacao pontuação atual da RB
. Saı́da : pontuacaoAdicionar retorna mudança na pontuação
.
global por causa da adição
. Dados : pontuacaoAdicionar
1 Inı́cio
2
pontuacaoAdicionar ← pontuacao
3
se ¬Ciclo(Vi , pai ) então
4
A ← A ∪ Arco(Vi , pai )
5
pontuacaoAdicionar ← calculaPontuacao(Vi , S, pontuacao)
A ← A \ Arco(Vi , pai )
6
7
fim se
8
Retorna pontuacaoAdicionar
9 Fim
Figura 5.22: Algoritmo que adiciona arco temporário e testa a pontuação.
Este tipo de adição é temporária, com o objetivo de conhecer o ganho obtido na pontuação global causado pela adição deste novo arco. Suponha que, entre a variável corrente
e o pai candidato a ser adicionado não exista nenhuma ligação e, um possı́vel arco entre
eles não produzirá um ciclo dirigido na estrutura da RB (linha 3). Usa-se um algoritmo de
busca em profundidade entre os filhos do pai candidato para procurar possı́veis ciclos (por
isso é importante manter atualizada a informação de quais são os filhos de cada variável).
Feita essa comprovação, o pai candidato é adicionado ao conjunto de pais da variável
corrente e é realizado o cálculo da nova pontuação nesse nó (detalha-se este processo posteriormente). Este procedimento retorna a pontuação global obtida pela adição deste arco.
Um outro tipo de adição é própria do algoritmo Greedy Hill Climbing (Figura 5.23) e
modifica efetivamente a estrutura da RB.
Neste caso, a adição de um arco é realizada efetivamente sobre a estrutura, assim como
o cálculo da pontuação correspondente (linhas 4 e 5). Se a pontuação corrente for maior
que a pontuação anterior, ou seja, se houve um ganho na pontuação devido a adição desse
arco (processo Hill Climbing) a modificação é efetivada e a pontuação global é atualizada
100
5.4. Aspectos de Implementação e Resultados
dct-ufms
AdicionaArcoHillC(Vi , pai , S, pontuacao)
. Entrada : Vi ∈ V
. Entrada : pai vértice candidato a ser adicionado
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : pontuacao pontuação atual da RB
. Saı́da : S retorna a estrutura da RB com um arco adicionado
. Dados : pontuacaoAdicionar pontuacao causa da adição
1 Inı́cio
2
pontuacaoAdicionar ← pontuacao
3
se ¬Ciclo(Vi , pai ) então
4
A ← A ∪ Arco(Vi , pai )
5
pontuacaoAdicionar ← calculaPontuacao(Vi , S, pontuacao)
6
se pontuacaoAdicionar > pontuacao então
7
pontuacao ← pontuacaoAdicionar
8
senão A ← A \ Arco(Vi , pai )
9
fim se
10
fim se
11
Retorna S
12 Fim
Figura 5.23: Algoritmo adiciona um arco na estrutura.
(linhas 6 e 7); caso contrário, as mudanças são desfeitas (linha 8). Neste tipo de adição
só são aceitas mudanças que gerem ganho na pontuação global, deste modo o algoritmo
vai escalando o espaço de soluções até atingir um máximo.
Há um outro tipo de algoritmo que permite mudanças (baseados em probabilidades)
que, a curto prazo, pioram a pontuação global e, a longo prazo, encontram melhores
soluções [36]. Este tipo de algoritmo, denominado Simulated Annealing, também foi implementado e testado neste trabalho. Porém, os resultados obtidos não foram significativamente melhores que Greedy Hill Climbing. Em geral, qualquer algoritmo de natureza
heurı́stica para otimização combinatória, desde que adaptado convenientemente à busca
de estruturas de RBs, poderia ser utilizado.
As duas versões do algoritmo EM Friedman [29, 30] para aprendizagem de estruturas
de RBs usam métricas de pontuação diferentes para avaliar estruturas candidatas. As
duas métricas foram implementadas neste trabalho. O algoritmo da Figura 5.24 descreve
o processo de cálculo da pontuação para uma variável.
Em um cenário de dados completos, o cálculo de pontuação de uma variável depende
das estatı́sticas suficientes dessa variável com relação aos seus pais, sendo este um processo inteiramente local (as métricas ou funções de pontuação são decomponı́veis, veja
Capı́tulo 4). Portanto, ao fazer uma modificação local (adição, remoção ou inversão da
101
5.4. Aspectos de Implementação e Resultados
dct-ufms
calculaPontuacao(Vi , S, pontuacao)
. Entrada : Vi ∈ V
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : pontuacao pontuação global atual da RB
. Saı́da : pontuacaoF inal retorna mudança na pontuação global
. Dados : pontuacaoP revia pontuação previa para Vi
. Dados : novaP ontuacao pontuação nova para Vi
. Dados : pontuacaoF inal pontuação final da RB após a mudança
1 Inı́cio
2
pontuacaoP revia ← pontuacao(Vi )
3
novaP ontuacao ← metricaBDeExpect(Vi , S)
4
se pontuacaoP revia > novaP ontuacao então
5
pontuacaoF inal ← pontuacao − (pontuacaoP revia − novaP ontuacao)
6
senão pontuacaoF inal ← pontuacao + (pontuacaoP revia − novaP ontuacao)
7
fim se
8
Retorna pontuacaoF inal
9 Fim
Figura 5.24: Algoritmo que calcula a pontuação por causa da mudança local.
direção de um arco) e calcular a sua pontuação local é possı́vel saber se houve um ganho
ou perda na pontuação global. Para o caso de dados incompletos, este é um processo mais
demorado, as métricas não são mais decomponı́veis e precisa-se de aproximações; além
disso, as estatı́sticas suficientes não são fixas, são esperadas, e precisam ser calculadas
constantemente.
As métricas aproximadas implementadas estão baseadas em duas métricas usadas em
aprendizagem de RBs a partir de dados completos: a MDL [45] e a BDe [36]. A aproximação da métrica MDL não difere em grande medida da métrica original, a diferença
principal é que usa as freqüências esperadas para fazer o cálculo. A aproximação da
métrica BDe é detalhada posteriormente, e seu cálculo requer maiores especificações. Para ambas métricas o processo de cálculo é similar. Inicialmente, calcula-se a pontuação
global de toda a estrutura e armazena-se a pontuação obtida por cada variável na posição
correspondente do vetor de pontuações. Na linha 2 da Figura 5.24 a pontuação anterior
da variável corrente, Vi , é recuperada e comparada com a nova pontuação calculada (linha
3). As linhas 4 a 6 calculam o efeito da mudança de pontuação local na pontuação global
da estrutura.
Maior detalhe no cálculo da métrica para uma variável é dado na Figura 5.25.
Devido aos dados serem incompletos, as freqüências esperadas de cada instanciação
da variável com relação aos seus pais precisa ser calculada cada vez (linha 2), este é um
processo similar ao Passo E do algoritmo EM paramétrico (Figura 5.11). Uma vez que as
102
5.4. Aspectos de Implementação e Resultados
dct-ufms
metricaBDeExpect(Vi , S)
. Entrada : Vi ∈ V
. Entrada : S = (V, A) estrutura da RB, GAO
. Saı́da : pontuacao retorna cálculo da pontuação para Vi
. Dados : f reqEsperadas cálculo das freqüências esperadas para Vi
1 Inı́cio
2
f reqEsperadas ← Expectation(Vi , S)
3
pontuacao ← BDe(Vi , S, f reqEsperadas)
4
Retorna pontuacao
5 Fim
Figura 5.25: Algoritmo que calcula a pontuação para uma variável Vi .
freqüências são calculadas e armazenadas em uma matriz, pode-se aplicar, finalmente, as
aproximações à métrica sendo usada, neste caso particular, a métrica BDe (linha 3).
O algoritmo da Figura 5.26 representa o cálculo da métrica Bayesiana BDe, definida
no Capı́tulo 4, especificamente na equação 4.26, e por conveniência reproduzida aqui,
P (D|S) =
qi
n Y
Y
ri
Y
Γ(αij )
Γ(αijk + Nijk )
Γ(Nij + αij ) k=1
Γ(αijk )
i=1 j=1
onde αijk é um coeficiente de Dirichlet (veja Capı́tulo 4), obtido a partir de uma RB
equivalente em verossimilhança com a estrutura candidata. Ou seja, define-se uma RB a
priori equivalente com as redes procuradas, e calcula-se cada um dos coeficientes de Dirichlet. No caso de dados incompletos, Friedman [30] usa 4 aproximações dessa métrica.
Neste trabalho a aproximação linear foi usada, sendo seu cálculo dado pela Equação 4.26,
utilizando freqüências esperadas.
Nesta implementação foi suposto que não há uma RB a priori informada. Para o
cálculo de cada um dos coeficientes de Dirichlet, usa-se um parâmetro denominado amostra de tamanho equivalente (linha 6 da Figura 5.26). Este parâmetro representa conhecimento anterior sobre as probabilidades obtidas de uma amostra anterior de tamanho
N 0 . Buntime [6] considera os coeficientes de Dirichlet da Equação 5.4.3 não informados, e
baseado na amostra de tamanho equivalente oferece a fórmula a seguir, que ainda é uma
métrica BDe [36].
N0
αijk =
(5.3)
ri · qi
A função Gamma, Γ(x), para números inteiros pequenos pode ser calculada por Γ(n) =
(n − 1)! e para números grandes usa-se a fórmula de Stirling [1]. Porém, em dados
incompletos as freqüências esperadas obtidas são, em geral, números reais; nesse caso
considera-se a definição da função Γ como:
Z ∞
Γ(x) =
tx−1 e−t dt
(5.4)
0
103
5.4. Aspectos de Implementação e Resultados
dct-ufms
BDe(Vi , S, f reqEsperadas)
. Entrada : Vi ∈ V
. Entrada : S = (V, A) estrutura da RB, GAO
. Entrada : f reqEsperadas freqüências esperadas para Vi
. Saı́da : pontuacao retorna cálculo da pontuação para Vi
. Dados : P ai ∈ V pais de Vi
. Dados : ri número de estados de Vi
. Dados : qi número de estados dos pais de Vi
. Dados : tamanhoEquiv tamanho da amostra equivalente
. Dados : j, k, nij, nijknovo, nijnovo, rSum, sSum variáveis auxiliares
1 Inı́cio
2
ri ← |Vi |
3
P ai ← Pais(Vi , S)
4
qi ← EstadosPais(P ai , S)
5
pontuacao ← 0
6
tamanhoEquiv ← 64
7
para j ← 0 até qi faça
8
nij ← 0
9
para k ← 0 até ri faça
10
nij ← nij + f reqEsperadas(k)(j)
11
fim para
12
rSum ← 0
13
sSum ← 0
14
N ijkN ovo ← tamanhoEquiv/qi ∗ ri
15
N ijN ovo ← tamanhoEquiv/qi
16
para k ← 0 até ri faça
17
rSum ← rSum + ln Γ(N ijkN ovo + f reqEsperadas(k)(j))
18
sSum ← ri ∗ ln Γ(N ijkN ovo)
19
pontuacao ← pontuacao + (rSum − sSum − ln Γ(N ijnovo + nij))
20
pontuacao ← pontuacao + ln Γ(N ijnovo)
21
fim para
22
fim para
23
Retorna pontuacao
24 Fim
Figura 5.26: Aspectos do cálculo da métrica BDe para Vi .
Esta integral pode ser calculada usando técnicas de integração numérica. Nesta implementação, inicialmente, foi usada a aproximação dada pelo método de Gauss-Laguerre [7],
útil para aproximar integrais desse tipo. Posteriormente, usou-se a aproximação do logaritmo da função Γ dada em [1] (linhas 17 a 20), a qual apresentou melhores resultados
quanto a rapidez e precisão de cálculo.
104
5.4. Aspectos de Implementação e Resultados
dct-ufms
Análise de Resultados
A seguir é feita uma análise de resultados obtidos da aplicação do algoritmo EM estrutural
para aprendizagem de estruturas. Foram feitos uma série de testes variando três tipos de
parâmetros: a) a quantidade de valores faltosos, b) o número de casos para aprendizagem
e c) a métrica usada no algoritmo EM estrutural.
Heckerman et al [36] sugerem a utilização da entropia cruzada e da análise estrutural
para medir a qualidade das redes aprendidas. Porém, na utilização da medida da entropia
são necessários os seguintes passos: criar uma estrutura comum para a rede original e a
rede aprendida, atribuir probabilidades e aplicar o algoritmo Kullback-Leibler. O enfoque
usado neste trabalho foi medir a diferença estrutural entre as redes original e aprendida,
especificamente a relação entre arcos adicionados e faltosos.
Houve uma certa dificuldade prática para comparar os algoritmos desenvolvidos com
os resultados de outros autores. Por exemplo, os resultados apresentados por Friedman [29, 30], só consideram distâncias entre distribuições. Também, não é comum os
trabalhos indicarem resultados relacionados quanto a tempos de processamento. A abordagem adotada neste trabalho foi comparar parte dos resultados com os de Tian et al [68],
os quais também usaram Netica para gerar dados de teste das RBs ASIA e ALARM e
apresentam alguns resultados de tempos e diferenças estruturais. A seguir apresenta-se a
análise para cada RB testada.
A Tabela 5.2 apresenta as diferenças estruturais entre a RB ASIA e as RBs aprendidas usando o algoritmo EM estrutural com cada uma das métricas aproximadas (MDL
e BDe). O tamanho da amostra usada e a porcentagem de dados faltosos também é
indicada. Os valores “a+b” indicam a quantidade “a” de arcos faltosos e “b” de arcos
adicionados para cada rede aprendida com relação a rede real.
A grosso modo, pode-se apreciar a diferença na utilização de cada métrica. A MDL,
em geral, apresenta um menor ı́ndice de arcos adicionados a mais, porém a quantidade de
arcos faltosos é maior quando comparado à utilização da métrica BDe. Como esperado,
a quantidade de dados usados para aprendizagem influenciou nas diferenças estruturais
para ambas métricas usadas. Quando maior a quantidade de dados para aprendizagem,
menores as diferenças estruturais.
Em geral, quando a porcentagem de dados faltosos é maior, a quantidade de arcos
adicionados e faltosos é acrescentada. Porém, há alguns casos em que a diferença da
porcentagem de dados faltosos não teve influência significativa. Por exemplo, no uso da
métrica MDL para uma amostra de 500 dados, não houve nenhuma diferença. Este resultado indica que, apesar dos dados terem uma quantidade importante de ruı́do (30% de
valores faltosos), o algoritmo EM estrutural é capaz de aprender uma estrutura próxima
da real.
105
5.4. Aspectos de Implementação e Resultados
dct-ufms
Tabela 5.2: Análise de resultados para rede bayesiana ASIA.
Tamanho Dados
100
500
1000
2000
5000
10000
Métrica
MDL
BDe
MDL
BDe
SEM(Tian)
MDL
BDe
SEM(Tian)
MDL
BDe
SEM(Tian)
MDL
BDe
SEM(Tian)
MDL
BDe
10%
4+3
2+7
3+3
1+7
0+6
1+2
0+6
1+4
2+5
0+5
1+4
2+5
1+6
1+2
4+2
0+8
30%
5+4
3+8
3+3
3+6
1+7
3+4
1+5
1+9
1+3
2+7
1+8
2+5
0+8
2+8
1+7
0+7
A menor diferença estrutural foi encontrada usando-se a métrica MDL, sendo a amostra de tamanho 1000 e 10% de dados faltosos. O resultado obtido foi “1+2”, um arco
faltoso e dois arcos a mais inseridos. Outro fenômeno analisado é o overfitting, pois,
segundo os resultados obtidos, usar dados de tamanho superior a 2000 não melhoraram
a qualidade da rede aprendida; ao contrário, a qualidade das estruturas aprendidas foi
degradada.
A métrica BDe fez parte da definição do algoritmo EM estrutural (SEM) quando criada por Friedman [30]. Na Tabela 5.2, é apresentado os resultados de Tian et al [68],
indicado como SEM (Tian). Os resultados obtidos por esses autores e o algoritmo SEM
implementado neste trabalho não diferem significativamente. mostrando em alguns casos
(não em todos) melhores resultados para a implementação desenvolvida. Por exemplo, o
melhor resultado para SEM (Tian) foi “1+2”, um arco faltoso e 2 variáveis a mais inseridas, quando usados 5000 dados com porcentagens de 10% de valores faltosos.
No caso da utilização da BDe o melhor resultado foi “0+5”, 5 variáveis inseridas a
mais, usando 2000 instâncias de dados com 10% de dados faltosos. Na utilização desta
métrica houve diferenças, embora não muito significativas, quanto à utilização de diferentes porcentagens de dados faltosos, sendo em todos os casos obtidas estruturas de
qualidade inferior, a medida que a porcentagem de dados faltosos aumentava.
As diferenças entre BDe e SEM (Tian) são justificadas, pois, embora os mecanismos
usados para gerar os dados sejam iguais (através da ferramenta Netica), as amostras ge106
5.4. Aspectos de Implementação e Resultados
dct-ufms
radas não podem ser iguais.
A RB ALARM também foi avaliada quanto a diferenças estruturais. Não há maiores
referências sobre os resultados encontrados por outros autores nesta RB, com relação a arcos faltosos e arcos adicionados. Outra vez a comparação é feita com relação ao trabalho de
Tian et al. A Tabela 5.3 apresenta os resultados obtidos. Para este tipo de RB é notória a
diferença de resultados quando a quantidade de dados usados para aprendizagem é maior.
Quando usado uma menor quantidade de dados, o algoritmo EM estrutural com as
duas métricas não consegue recuperar a estrutura fundamental, observando-se um progresso significativo quando os dados são acrescentados. Com instâncias de 10000 e 10%
de dados faltosos, a estrutura recuperada é próxima da real “5+4”, sendo que Tian et al,
conseguiram resultados similares “4+4”. Outro aspecto importante a notar é que, nesta
RB, as diferenças estruturais são maiores a medida que a porcentagem de dados faltosos
é incrementada. A métrica BDe conseguiu os melhores resultados com relação à MDL,
porém, observa-se que a adição de arcos é maior que no caso da métrica MDL.
Tabela 5.3: Análise de resultados para rede bayesiana ALARM.
Tamanho Dados
500
1000
2000
5000
10000
Métrica
MDL
BDe
MDL
BDe
MDL
BDe
MDL
BDe
MDL
BDe
SEM(Tian)
10%
28 + 16
27 + 20
18 + 10
16 + 15
16 + 9
14 + 13
10 + 8
7+9
6+6
5+4
4+4
30%
37 + 20
30 + 34
21 + 12
18 + 20
20 + 12
15 + 15
11 + 10
8 + 11
6+7
6+5
7+3
Os tempos obtidos pelo algoritmo SEM sobre dados da RB ASIA, usando as métricas
MDL e BDe e a porcentagem de dados faltosos de 10 e 30% são ilustrados na Figura 5.27.
Como previsto, a porcentagem de dados faltosos influencia o tempo de convergência
do algoritmo EM estrutural sendo, em alguns casos, até 5 vezes maior para instâncias
com 30% de dados faltosos. A métrica MDL em ambos casos requer menor tempo de
processamento, pois sua aplicação é direta. Para o caso da métrica BDe, o cálculo dos
coeficientes de Dirichlet e a aproximação da função Γ influenciam para que o tempo de
processamento seja maior.
Poucos autores indicam tempos de processamento para o algoritmo EM estrutural.
Tian et al [68] apresentam tempos de processamento de 152.12 milisegundos para uma
107
5.4. Aspectos de Implementação e Resultados
dct-ufms
instância de 2000 dados da RB ASIA, com 10% de dados faltosos. Para essa mesma
instância, os algoritmos implementados obtiveram tempos de 61.02 e 42.460 milisegundos para as métricas MDL e BDe respectivamente, melhorando os tempos de Tian et al.
Porém, deve-se considerar que as condições de teste, como plataforma usada, não são
indicadas por esses autores.
TEMPO ASIA−SEM
600000
Legenda
10% valores faltosos(BDe)
10% valores faltosos(MDL)
30% valores faltosos(BDe)
30% valores faltosos(MDL)
Tempo (milisegundos)
500000
400000
300000
200000
100000
0
0
2000
4000
6000
Número de casos
8000
10000
Figura 5.27: Tempo algoritmo SEM - ASIA.
Com relação aos tempos obtidos com a rede ALARM, apresentam o mesmo comportamento que a rede ASIA, com tempos que variam de 4.91 minutos para uma amostra
com 500 dados até 6.45 horas, para a amostra de 10000 casos e 10% de dados faltosos.
Para esta RB não existem maiores informações sobre tempos de processamento de outros
autores. Tian et al [68] indicam que para uma amostra de 40000 dados, o algoritmo EM
estrutural leva mais de 24 horas de processamento, por outro lado, Friedman [29] indica
um tempo de 6 horas aproximadamente para uma instância de 10000 dados.
O algoritmo EM estrutural descrito nesta seção conseguiu recuperar satisfatoriamente estruturas de redes bayesianas pequenas como a RB NETICA e ANGINA, mas os
resultados desses testes não foram incluı́dos neste trabalho.
108
5.5. Comentários Finais
5.5
dct-ufms
Comentários Finais
Neste capı́tulo foram apresentados as metodologias, aspectos de implementação e os resultados obtidos através de testes dos algoritmos EM para aprendizagem de RBs. Foi
realizada uma comparação com trabalhos anteriores, mostrando-se a análise correspondente.
Para o caso do algoritmo EM paramétrico a análise realizada foi baseada nos tempos
de processamento e qualidade das distribuições aprendidas. Para medir esta qualidade,
foi usada a medida da entropia cruzada como dada em [36]. Quanto menor a complexidade das redes e maior a quantidade de dados para aprendizagem, as distribuições obtidas
foram mais próximas das reais. As RBs aprendidas a partir de dados da RB ALARM
apresentaram as maiores diferenças com relação as distâncias entre as distribuições, sendo
o tempo de processamento nesta rede também maior. Foi analisado o tempo envolvido
em cada etapa do algoritmo EM paramétrico, mostrando-se que a inferência é processo
mais custoso desta implementação.
Para o caso do algoritmo EM estrutural (SEM) foram analisadas as estruturas obtidas
e o tempo de processamento. A análise estrutural foi realizada observando-se as diferenças
quanto a adições corretas e omissões de arcos entre as RBs aprendidas e as RBs reais.
Foi avaliada cada uma das métricas e a influência da porcentagem dos dados faltosos. Os
resultados obtidos com dados da rede ASIA, foram os esperados, porém encontraram-se
alguns fenômenos interessantes nestes resultados, tais como overfitting. Os resultados
desta rede foram comparados com os de Tian et al [68], sendo as diferenças justificadas e
menores.
Os resultados na rede ALARM confirmaram as suposições iniciais. A relação entre
tamanho das amostras e porcentagens de dados faltosos têm uma influência significativa
na qualidade das redes obtidas. Em nenhum dos casos as redes obtidas foram iguais
as reais, sendo os resultados obtidos na rede ALARM semelhantes com os resultados de
outros autores. O tempo para este tipo de algoritmos foi consideravelmente elevado, a
medida que a complexidade da rede e a quantidade de dados era aumentada.
109
Capı́tulo 6
Conclusão
O objetivo deste trabalho foi a implementação de algoritmos EM para aprender parâmetros
e estruturas de RBs a partir de dados com instâncias incompletas, problema bastante comum em bancos de dados de aplicações reais. Na literatura encontram-se várias propostas
para a resolução deste problema de grande importância prática.
O algoritmo EM, mediante estimativas de máxima verossimilhança, permite determinar parâmetros desconhecidos a partir das instâncias incompletas. Baseado neste princı́pio
foi desenvolvido o algoritmo EM paramétrico, usado para aprendizagem de parâmetros
em redes bayesianas. Similarmente, uma extensão do algoritmo EM foi desenvolvida para
aprendizagem de estruturas, algoritmo EM estrutural, que usa o paradigma de busca e
pontuação.
As propostas atuais de implementação desses algoritmos oferecem soluções razoáveis,
descobrindo distribuições de probabilidades conjuntas para futuras inferências e relações
causais entre variáveis, mas ainda sujeitas a melhorias, principalmente quanto a otimizar
o tempo de execução. Além disso, atualmente não existem soluções que possam ser consideradas padrões. Alguns autores citam o algoritmo EM estrutural dado por Friedman [30]
como sendo o que trouxe maior avanço nesta área, mas isto ainda está em discussão. Portanto, há necessidade de investimentos em pesquisas neste campo.
A principal dificuldade encontrada ao longo deste trabalho foi a falta de experiência
e conhecimentos anteriores sobre redes bayesianas. Foi necessária uma revisão completa
da literatura de RBs. A elaboração deste trabalho passou por diversas etapas: construção de RBs, estudo dos algoritmos de inferência e, finalmente, aprendizagem. Embora
os algoritmos para aprendizagem implementados no trabalho sejam baseados em dados
completos, verificou-se que as dificuldades para esses são de fato maiores quando os dados
são incompletos.
Os algoritmos EM são descritos pelos autores de forma sucinta, sem maiores detalhes
110
dct-ufms
de implementação. Especificamente, no algoritmo EM paramétrico [46] não fica claro
como aplicar a inferência bayesiana para completar as instâncias e também como determinar os valores numéricos esperados para o cálculo dos parâmetros. Para o algoritmo
EM estrutural [29, 30] pressupõe-se o conhecimento de algoritmos de aprendizagem para
dados completos, entretanto eles diferem no cálculo da métrica. Nesse caso, a partir de
uma estrutura aleatória, “completam-se” os dados com o algoritmo EM paramétrico e a
seguir, iterativamente, busca-se uma estrutura que tenha a maior pontuação conforme a
métrica BDe [36]. Os textos não deixam claro como se calcula a métrica, pois exigem
aproximações de funções Gamma.
Usar a funcionalidade da ferramenta UnBBayes foi de grande valia. Sua interface permitiu visualizar as estruturas intermediárias que eram criadas pelo algoritmo de busca,
inclusive suas tabelas de probabilidade, até a definição da estrutura ótima.
Também foram usadas as classes para inferência probabilı́stica e de alguns algoritmos
de aprendizagem para dados completos. Porém, notou-se que alguns métodos e estruturas
de dados não eram adequados para aprendizagem em situações de dados incompletos e
por isto foi necessário modificá-las. Respeitando hierarquias novas classes e estruturas de
dados foram criadas.
A entrada de dados na UnBBayes é feita mediante a leitura de arquivos os quais
não passam, depois da leitura, por tratamentos de condensação. Entretanto, é comum
que dados gerados para teste usando alguns dos métodos de Monte Carlo, inclusive em situações reais, apresentem instâncias repetidas. Condensar os dados usando uma tabela de
dispersão (hash) que permita eliminar as repetições mas, guardando a sua freqüência, possibilita otimizar o acesso as instâncias, agora acessando uma vez só e usando as freqüências
na aprendizagem. Neste trabalho isto foi introduzido como um novo método na classe de
leitura de dados e que faz as chamadas para os algoritmos de aprendizagem.
O desempenho das implementações quanto a aprendizagem de estruturas e de suas
probabilidades correspondentes produziu resultados semelhantes aos de outros autores
que usaram a mesma metodologia, como por exemplo Tian et al [68], o que nos faz acreditar na correta implementação. Portanto, a inclusão final das classes ao pacote pode ser
feita com confiança.
Quanto ao tempo de execução, foi difı́cil fazer uma comparação porque, quando os
autores citam um tempo de 6 horas, por exemplo para os dados ALARM, não citam a
plataforma ou a linguagem e nem a forma de obter os dados de testes que precede a
aplicação de algoritmos de aprendizagem. A utilização de Java no desenvolvimento influenciou este desempenho. Por ser uma linguagem interpretada, o processo de execução
torna-se mais lento comparado com outras linguagens como, por exemplo, C++.
Ainda que tenha sido difı́cil comparar resultados com outros autores, pois os métodos e
111
6.1. Contribuições
dct-ufms
as condições usadas por eles são diferentes, tentou-se encontrar as melhores estruturas de
dados e técnicas de programação para cada etapa do desenvolvimento. Por exemplo, para
busca de estrutura de uma rede, que é um problema NP-difı́cil, foram usadas técnicas baseadas em dois algoritmos heurı́sticos: greedy hill climbing e simulated annealing. A partir
de dados incompletos e sem nenhuma informação a priori os algoritmos conseguiram identificar estruturas e probabilidades de redes bayesianas similares as já consideradas padrões.
6.1
Contribuições
O presente trabalho trás uma série de contribuições que são detalhadas a seguir:
Foi feita uma revisão bibliográfica do estado-da-arte em inferência e aprendizagem de
RBs, dando uma atenção especial a aprendizagem a partir de dados incompletos. Certamente esta revisão poderá servir como base para futuras pesquisas dentro da área.
As implementações do algoritmo EM paramétrico e EM estrutural com as duas métricas
aproximadas serão adicionadas à ferramenta UnBBayes, sendo que o código ficará disponı́vel para pesquisa e também para contribuições no sentido de melhorá-lo. Cabe salientar que, dentre as ferramentas analisadas, nenhuma oferece esta funcionalidade gratuitamente, além disso, poucas ferramentas lidam com dados faltosos. A especificação de
detalhes quanto as estratégias e métodos usados no código dessa implementação facilita
a compreensão no caso de estudo e introdução de modificações, o que é um diferencial
importante, pois não é comum encontrá-la na literatura.
Os resultados apresentados e analisados no Capı́tulo 5 demonstraram que os algoritmos implementados neste trabalho são adequados para lidar com dados incompletos. A
comparação até o momento foi feita só com os resultados de Tian et al [68], com os quais
obteve-se similaridade quanto às estruturas aprendidas, isto é, quanto a quantidade de
arcos adicionados e faltosos.
6.2
Limitações Atuais e Sugestões para Trabalhos Futuros
Apesar dos resultados obtidos serem os esperados com a metodologia utilizada, considerase que uma aplicação da implementação em dados reais seria limitada a domı́nios com
número médio de variáveis, cerca de 37, e em situações que o tempo para aprendizagem
não seja o mais importante. Implementações recentes incorporam otimizações que podem
melhorar estes tempos [68].
112
6.2. Limitações Atuais e Sugestões para Trabalhos Futuros
dct-ufms
O algoritmo EM paramétrico implementado, segundo os resultados obtidos quanto a
tempo de execução, teve uma demora considerável no cálculo da inferência. Abordagens
como as propostas dadas em [33, 21, 61], que substituem o EM paramétrico, poderiam
ser consideradas.
Para o caso do algoritmo EM estrutural, os algoritmos para busca de estruturas são
de natureza heurı́stica o que não garante que se obtenha a melhor estrutura. Seria interessante testar outras alternativas de algoritmos heurı́sticos e avaliar se os ganhos quanto à
qualidade seriam significativos, considerando que o tempo de execução seria maior, devido
a maior sofisticação inerente a essas técnicas.
O algoritmo EM estrutural faz parte do paradigma de busca e pontuação. Há poucos
trabalhos desenvolvidos envolvendo o paradigma de independência condicional, o algoritmo EMI [68] é um deles. Os resultados obtidos, segundo os autores deste algoritmo,
foram alentadores no que diz respeito aos tempos de execução, sendo consideravelmente
menores que o algoritmo EM estrutural (SEM). A qualidade das estruturas obtidas foi
praticamente igual, entretanto, sendo necessário mais pesquisa nessa direção.
A partir do algoritmo EM estrutural pode-se pesquisar por algoritmos mais gerais,
que aprendam várias redes em conjunto, denominadas multi-redes [48, 66].
Com relação ao aspecto metodológico, quando duas RBs são comparadas, pode-se avaliar tanto a distância entre probabilidades quanto a diferença estrutural. A medição da
distância entre duas RBs com estruturas diferentes não é direta; como descrito por Heckerman et al [36] precisa-se de: uma estrutura consistente com as duas RBs comparadas
e das suas distribuições de probabilidade conjunta. Porém, esses autores não descrevem
o algoritmo para construir essa estrutura consistente, ao invés disso, fazem referência ao
artigo de Matzkevits e Abramson (1993)apud [36]. A impossibilidade de obter esse último
artigo não permitiu a utilização da distância para avaliar as estruturas das RBs aprendidas. Uma implementação futura do cálculo desta distância permitiria uma comparação
com maior número de trabalhos.
Os testes realizados para os algoritmos desenvolvidos foram feitos sobre dados fictı́cios,
usualmente usados para análise experimental. O próximo passo deve ser o teste destes
algoritmos em aplicações reais, por exemplo, poder-se-ia criar classificadores a partir das
redes aprendidas e avaliar o desempenho. Porém, para a construção de classificadores
existem outros algoritmos que precisam ser pesquisados [32].
113
Referências Bibliográficas
[1] M. Abramowitz e A. Stegun. Handbook of mathematical functions with formulas,
graphs, and mathematical tables. Washington, National Bureau of Standards, 1972.
[2] T. Bayes. An essay towards solving a problem in the doctrine of chances. Philosophical
Transactions of the Royal Society of London, 53:370–418, 1763.
[3] I. Beinlich, H. Suermondt, R. Chavez, e G. Cooper. The ALARM monitoring system: A case study with two probabilistic inference techniques for belief networks.
In Proceedings of the Second European Conf. on Artificial Intelligence in Medicine,
volume 38, páginas 247–256. 1989.
[4] B. Buchanan e E. Feigenbaum. DENDRAL and META-DENDRAL: their applications dimensions. Artificial Intelligence, 11:5–24, 1978.
[5] B. Buchanan e E. Shortliffe. Rule-Based Expert Systems: The MYCIN Experiments
of the Stanford Heuristic Programming Project. Reading, MA: Addison-Wesley, 1984.
[6] W. Buntime. Operations for learning with graphical models. Journal of Artificial
Intelligence Research, 2:159–225, 1994.
[7] B. Carnahan, H. Luther, e J. Wilkes. Applied Numerical Methods. New York, Wiley,
1990.
[8] E. Castillo, J. Gutiérrez, e A. Hadi. Expert Systems and Probabilistic Network Models.
New York, Springer, 1997.
[9] E. Charniak. Bayesian networks without tears. Journal of Artificial Intelligence
Research, 12:50–63, 1991.
[10] P. Cheeseman e J. Stutz. Bayesian classification (AutoClass): Theory and results.
In Advances in Knowledge and Data Mining, páginas 153–180. 1995.
[11] J. Cheng e D. Bell.
Learning bayesian networks from data: An efficient approach based on information theory. In Proceeding of the sixth ACM
International Conference on Information and Knowledge Management. 1997.
http://www.cs.ualberta.ca/ jcheng/Doc/report98.pdf.
[12] D. Chickering, D. Geiger, e D. Heckerman. Learning bayesian networks is NPcomplete. In Learning from data: AI and Statistics, volume 5, páginas 121–130.
1996.
114
Referências Bibliográficas
dct-ufms
[13] D. Chickering e D. Heckerman. Efficient approximations for the marginal likelihood of
bayesian networks with hidden variables. Machine Learning, 29(2-3):181–212, 1997.
[14] C. Chow e C. Liu. Approximating discrete probability distributions with dependence
trees. IEEE Transactions on Information Theory, 14:462–467, 1968.
[15] H. Coelho, M. Ladeira, e R. Viccari. Raciocı́nio probabilı́stico em sistemas inteligentes. In Anais XVIII Jornada de Atualização em Informática, volume 2, páginas
307–365. FUKS, 1999.
[16] G. Cooper. The computational complexity of probabilistic inference using bayesian
belief networks. Artificial Intelligence, 42:393–405, 1990.
[17] G. Cooper. A bayesian method for learning belief networks that contain hidden
variables. Journal of Intelligent Systems, 4:71–88, 1995.
[18] G. Cooper e E. Herskovits. A bayesian method for the induction of probabilistic
networks from data. Machine Learning, 9:309–347, 1992.
[19] F. Cozman. Generalizing variable elimination in bayesian networks. In Workshop on
Probabilistic Reasoning in Bayesian Networks, páginas 21–26. SBIA/Iberamia, 2000.
http://www-2.cs.cmu.edu/ javabayes/Download/jb-heading.ps.gz.
[20] W. T. da Silva e M. Ladeira. Mineração de dados em redes bayesianas. In anais do
XXII Congresso Brasileiro de Computação SBC , volume 2, páginas 235–286. Jornada
de Atualização em Informática - XXI JAI, 2002.
[21] P. Dagum e M. Luby. Approximating probabilistic inference in bayesian belief
networks is NP-hard. Artificial Intelligence, 60:141–153, 1993.
[22] A. Darwiche. Conditioning methods for exact and approximate inference in causal
networks. In Proceedings of the Eleventh Conference on Uncertainty in Artificial
Intelligence (UAI-95), páginas 99–107. 1995.
[23] B. de Finetti. Foresight: Its logical laws its subjective sources. In Kyburg H. E. and
Smokler H. G., editors, Studies in Subjetive Probability, páginas 55–118. 1937.
[24] M. Degroot. Probability and Statistics. MA, Reading, Addison-Wesley, 1975.
[25] A. Dempster. A generalization of bayesian inference. Journal of the Royal Statistical
Society (Series B), 30:205–267, 1968.
[26] F. Diez. Local conditioning in bayesian networks. Artificial Intelligence, 87:1–20,
1996.
[27] F. Diez.
Introducción al Razonamiento Aproximado.
Madrid, Departamento de Inteligencia Artificial, UNED, Edición Revisada, 2003.
http://www.ia.uned.es/%7Efjdiez/libros/razaprox.pdf.
[28] R. Fisher. On the mathematical foundations of the theoretical statistics. Philosophical
Transactions of the Royal Society of London, series A, 222:309–368, 1922.
115
Referências Bibliográficas
dct-ufms
[29] N. Friedman.
Learning belief networks in the presence of missing values and hidden variables.
In Proceedings of the Fourteenth International Conference on Machine Learning (ICML’97), páginas 125–133. 1997.
http://www.cs.huji.ac.il/ nir/Papers/Fr1.pdf.
[30] N. Friedman. The bayesian structural EM algorithm. In Proceedings of the Fourteenth Conference on Uncertainty in Artificial Intelligence (UAI-98), páginas 129–138.
Morgan Kaufmann, 1998. http://www.cs.huji.ac.il/ nir/Papers/Fr2.pdf.
[31] R. Fung e B. Del Favero. Applying bayesian networks to information retrieval. Communications of the ACM , 38:42–ff, 1995.
[32] D. Geiger e M. Goldszmidt. Bayesian networks classifiers. Machine Learning, 29:131–
163, 1997.
[33] D. Heckerman.
A tutorial on learning with bayesian networks.
latório técnico,
Microsoft Research tech. report,
MSR-TR,
ftp://ftp.research.microsoft.com/pub/tr/tr-94-09.ps.
Re1996.
[34] D. Heckerman. Bayesian networks for data mining. Data Mining and Knowledge
Discovery, 1:79–119, 1997.
[35] D. Heckerman, J. Breese, e K. Rommelse. Decision-theoretic troubleshooting. Communications of the ACM , 38:49–57, 1995.
[36] D. Heckerman, D. Geiger, e D. Chickering. Learning bayesian networks: The combination of knowledge and statistical data. Machine Learning, 20:197–243, 1995.
[37] D. Heckerman e M. Wellman. Bayesian networks. Communications of the ACM ,
38:27–30, 1995.
[38] E. Hruschka. Imputação Bayesiana no Contexto da Mineração de Dados. Tese de
Doutoramento, Programa de Engenharia Civil -COPPE-UFRJ- Rio de Janeiro/RJ Brasil, Outubro 2003.
[39] C. Huang e A. Darwiche. Inference in belief networks: A procedural guide. International Journal of Approximate Reasoning, 15:225–263, 1996.
[40] F. Jensen. Bayesian Networks and Decision Graphs. Springer Verlag, 2001.
[41] F. V. Jensen e F. Jensen. Optimal junction trees. In Proceedings of the 10th Conference on Uncertainty in Artificial Intelligence, páginas 360–366. 1994.
[42] S. Kirkpatrick, C. Gelatt, e M. Vecchi. Optimization by simulated annealing. Science,
220:671–680, 1983.
[43] U. Kjærulff. Triangulation of graphs-algorithms giving small total state space. Relatório técnico, Technical Report R-90-09, Dept. of Math. and Comp. Sci., Aalborg
University, Denmark, 1990.
116
Referências Bibliográficas
dct-ufms
[44] G. Klir e B. Yuan. Fuzzy Sets and Fuzzy Logic: Theory and Applications. New
Jersey, Prentice Hall, 1995.
[45] W. Lam e F. Bacchus. Learning bayesian belief networks: An approach based on the
MDL principle. Computational Intelligence, 10(4):269–293, 1994.
[46] S. Lauritzen. The EM algorithm for graphical association models with missing data.
Computational Statistics and Data Analysis, 19:191–201, 1995.
[47] S. Lauritzen e D. Spiegelhalter. Local computations with probabilities on graphical
structures and their application to expert systems. Journal Royal Statistics Society
B , 50(2):157–194, 1988.
[48] M. Meila e M. Jordan. Estimating dependency structure as a hidden variable. In
Proceedings of the 1997 conference on Advances in neural information processing
systems(NIPS 10), páginas 584–590. 1998.
[49] T. Mitchell. Machine Learning. McGraw Hill, 1997.
[50] A. Mood, F. Graybill, e D. Boes. Introduction to the Theory of Statistics. New York,
McGraw-Hill, Third Edition, 1974.
[51] J. Myers, K. Laskey, e K. DeJong.
Learning bayesian networks from
incomplete data using evolutionary algorithms.
In GECCO’99 . 1999.
http://ite.gmu.edu/ klaskey/papers/gecco99.pdf.
[52] P. Naim, P. Wuillemim, P. Leray, O. Pourret, e A. Becker. Réseaux Bayésiens. Paris,
Eyrolles, 2004.
[53] J. Peña, J. Lozano, e P. Larrañaga. Learning bayesian networks for clustering by
means of constructive induction. Pattern Recognition Letters, 20:1219–1230, 1999.
[54] J. Peña, J. Lozano, e P. Larrañaga. An improved bayesian structural EM algorithm
for learning bayesian networks for clustering. Pattern Recognition Letters, 21(8):779–
786, 2000.
[55] J. Pearl. Evidencial reasoning using stochastic simulation of causal models. Artificial
Intelligence, 32:247–257, 1987.
[56] J. Pearl. Probabilistic Reasoning in Intelligent Systems: Networks of Plausible Inference, Revised Second Printing. San Mateo, CA: Morgan Kaufmann, 1991.
[57] J. Pearl. Belief networks revisited. Artificial Intelligence, 59:49–56, 1993.
[58] M. Peot e R. Shachter. Fusion and propagation with multiple observations in belief
networks. Artificial Intelligence, 48(3):299–318, 1991.
[59] M. Ramoni. Robust learning with missing data. Machine Learning, 45(2):147–170,
2001.
117
Referências Bibliográficas
dct-ufms
[60] M. Ramoni e P. Sebastiani. Learning bayesian networks from incomplete databases. In Proceedings of the Thirteen Conference on Uncertainty in Artificial
Intelligence(UAI-97). 1997.
[61] S. Russell e P. Norving. Artificial Intelligence: A Modern Approach. Prentice Hall,
1995.
[62] G. Shafer. A Mathematical Theory of Evidence. Princeton University Press, Princeton, New Jersey, 1976.
[63] G. Shafer e J. Pearl. Readings in Uncertain Reasoning. Morgan Kaufmann, San
Mateo, CA, 1990.
[64] M. Singh. Learning Bayesian Networks for Solving Real-World Problems. Tese
de Doutoramento, Computer and Information Science -University of PennsylvaniaUSA, Maio 1998.
[65] P. Spirtes, C. Glymour, e R. Scheines. Causation, prediction, and search. (2nd
edition, revised) Cambridge, MA: MIT Press, 2001.
[66] B. Thiesson, C. Meek, D. Chickering, e D. Heckerman. Learning mixtures of bayesian networks. In Proceedings of the Fourth Conference on Uncertainty in Artificial
Intelligence (UAI-98). 1998.
[67] F. Tian, Y. Lu, e C. Shi. Learning bayesian networks with hidden variables using the
combination of EM and evolutionary algorithm. In Proceedings of the 5th Asia-Pacific
Conference in Knowledge Discovery and Data Mining (PAKDD 2001), páginas 568–
574. 2001.
[68] F. Tian, H. Zhang, e Y. Lu. Learning bayesian networks from incomplete data based
on EMI method. In Proceedings of the Third IEEE International Conference on Data
Mining(ICDM’03), páginas 323–330. 2003.
[69] L. van der Gaag. Bayesian belief networks: Odds and ends. The Computer Journal ,
39:97–113, 1996.
[70] N. Wermuth e S. Lauritzen. Graphical and recursive models for contingency tables.
Biometrika, 72:537–552, 1983.
[71] M. Yannakakis. Computing the minimal fill-in is NP-complete. SIAM Journal of
Algebraic Discrete Methods, 2:77–79, 1981.
118

Documentos relacionados