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

Preview:

DESCRIPTION

Estudo e implementação de algoritmos de inferência e aprendizado em redes bayesianas. Felipe Leal Valentim Orientação: Rudini Menezes Sampaio Co-Orientação: Ricardo Martins de Abreu Silva. Roteiro. Fundamentos da teoria da probabilidade Redes bayesianas Inferência bayesiana - PowerPoint PPT Presentation

Citation preview

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

Felipe Leal Valentim

Orientação: Rudini Menezes Sampaio

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

Roteiro

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

Fundamentos da Teoria da probabilidadeVariável aleatória

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

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

Fundamentos da Teoria da probabilidadeProbabilidade incondicional

Notação: P(A)

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

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

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

P(tempo = ensolarado) = 0.7

P(tempo = nublado) = 0.02

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

Fundamentos da Teoria da probabilidadeProbabilidade condicional

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

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

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

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

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

probabilidade condicional - P(A|)

Fundamentos da Teoria da ProbabilidadeRegra do produto

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

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

ou

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

Regra do produto

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

O Teorema de Bayes

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

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

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

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

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

P(A)

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

Fundamentos da Teoria da ProbabilidadeExemplo

Câncer de mama

Mamografia + -

+ 80% 0,96%

- 20% 99,04%

Prob. Condicional de Mamografia dado Câncer

Câncer de mama

+ -

1% 99%

Probabilidade a priori de Câncer

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

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

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

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

Teorema de Bayes

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

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

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

= 45,7% (probabilidade a posteriori)

Marginalização

2) Redes bayesianas

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

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

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

Definição de redes bayesianas

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

Cancer

Fumar

Raio-X

Bronquite

Dispnea

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

P(D|C,B)

P(B|S)

P(S)

P(X|C,S)

P(C|S)

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

CausaCausa

EfeitoEfeito

Construção de redes bayesianas

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

2. Enquanto restarem variáveis no conjunto

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

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

estão na rede.

6. Defina a tabela de probabilidades condicionais de Xi;

[RUSSEL & NORVIG, 2003]

Construção de redes bayesianas Exemplo Rede Alarme

Ladrão Terremoto

Alarme

MariaLiga JoãoLiga

P(T)

0,002

P(L)

0,001

L T P(A)

T T 0,95 T F 0,94 F T 0,29 F F 0,001

A P(J )

T 0,90 F 0,05

A P(M)

T 0,70 F 0,01

Ordem: L T A J M

3) Inferência bayesiana

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

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

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

Exatos Aproximados Simbólicos

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

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

Inferência bayesiana

Métodos exatos de inferência

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

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

Algoritmo de Enumeração

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

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

( | ) ( , , )y

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

Algoritmo de Enumeração

BB EE

AA

MM JJ

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

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

Evidências

Variável de consulta

Algoritmo de Enumeração

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

repetidas que são avaliadas pelo algoritmo.

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

duas vezes, um para cada valore de e.

Algoritmo de Eliminação de variáveis

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

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

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

Algoritmo de Eliminação de variáveisExemplo

BB EE

AA

MM JJEvidências

Variável de consulta

B = Burglary

E = Earthquake

M = MaryCalls

J = JohnCalls

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

Factores : [ ]Variável analisada:

[ fM(A) ]

M

[fJ(A) , fM(A) ]

J

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

A

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

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

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

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

[ fÂJM(B,E) ]

B

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

E

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

Algoritmo de Eliminação de variáveis

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

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

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

Algoritmos aproximados de inferência

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

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

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

Algoritmo Forward Sampling

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

BB

AA

CC

DD EE

A B C D E

y n y n y n y n y n

0 0 0 0 0

A B C D E

Contador das amostras geradas:

Amostra geradas:

A

y n

0.4 0.6A

B y n

y 0.3 0.8

n 0.7 0.2

A

C y n

y 0.7 0.4

n 0.3 0.6

B

D y n

y 0.5 0.1

n 0.5 0.9

B E

Evidências:

E

C D y n

y y 0.9 0.1

y n 0.999 0.001

n y 0.999 0.001

n n 0.999 0.001

Número aleatório: 0.55

n

Amostra gerada: A = n

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

0.9B = n

n

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

0.5C = n

n

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

0.01D = y

y

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

0,8E = y

y

n y

Amostras Consistentes !!!

01 0 0 0 01 1 1 1

Forward Sampling

Forward Sampling

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

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

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

Algoritmo Likelihood Weighting

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

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

1

( , ) ( | ( ))m

i ii

w z e P e pa E

BB

AA

CC

DD EE

A B C D E

y n y n y n y n y n

0 0 1 0 1 0 0

A B C D E

n y

Amostras geradas:

A

y n

0.4 0.6

A

B y n

y 0.3 0.8

n 0.7 0.2

A

C y n

y 0.7 0.4

n 0.3 0.6

B

D y n

y 0.5 0.1

n 0.5 0.9

B D

n y

E

C D y n

y y 0.9 0.1

y n 0.999 0.001

n y 0.999 0.001

n n 0.999 0.001

Evidências:

Evidência?não sim

Peso = Gera amostra Atualiza peso

Distribuição :

Número aleatório:

Amostra gerada:

P(A) = (0.4 , 0.6)

0.3

A = y

y

1

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

Peso = 0.7

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

0.75

C = n

n

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

Peso = 0.07

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

0,55

C = y

y

Contador das amostras geradas:

0 0 00.07 0.07 0.07

Likelihood Weighting

Algoritmo Gibbs Sampling

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

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

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

Cobertura de Markov

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

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

BB

AA

CC

DD EE

A B C D E

y n y n y n y n y n

A B C D E

Contador das amostras geradas:

Configuração atual:

A

y n

0.4 0.6

A

B y n

y 0.3 0.8

n 0.7 0.2

A

C y n

y 0.7 0.4

n 0.3 0.6

B

D y n

y 0.5 0.1

n 0.5 0.9

B E

n n

Evidências:

E

C D y n

y y 0.9 0.1

y n 0.999 0.001

n y 0.999 0.001

n n 0.999 0.001

Número aleatório:Amostra gerada:

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

y n y y n

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

(0.8 , 0.2) 0,45

A = y

y

0 0 0 0 0000001 1 1 1 1

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

(0.7 , 0.3)0.85

C = n

n

2 212 2

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

(0.1 , 0.9)0,55

D = n

n

3 3 2 1 3

Gibbs Sampling

Gibbs Sampling

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

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

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

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

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

Algoritmo Gibbs Weighting*

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

4) Aprendizado de parâmetros

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

DadosAlgoritmo

de Aprendizado de Parâmetros

C

E

D

A

B

+

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

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

C

E

D

A

B

Algoritmo AprendeParametros para aprendizado de parâmetros

AA

BB CC

DD EE

P(A)

P(B|A)

P(D|B)

P(C|A)

P(E|C,D)

A B C D E

v f v

f f v

v f v

v f v

v f f

f f f

v f v

v f v

v v f

f f v

C

A

TPC de C:Base de dados:

f

v

f

v

f

f

f

f

f

f

v

v

f

v

v

v

v

v

v

f

v

v

f

f

1 17 1

Normalizando

0.5 0.5

0.1250.875

5) Aprendizado de estrutura

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

DadosAlgoritmo

de aprendizado de estrutura C

E

D

A

B

+

Conhecimentode Fundo

Aprendizado de estrutura

Duas abordagens principais para o aprendizado de estrutura:

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

- K2

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

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

- PC- CBL

Algoritmos de busca e pontuação

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

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

Algoritmo K2 (Busca e pontuação)

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

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

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

Algoritmo K2 (Busca e pontuação)

AA CC DDBB

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

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

Algoritmos de análise de dependência

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

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

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

6) O Sistema UFLABayes

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

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

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

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

O Sistema UFLABayes

Algoritmos Implementados• Algoritmos de inferência

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

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

• Algoritmo de aprendizado de estrutura• Algoritmo K2

7) Resultados

8.1) O Sistema UFLABayes

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

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

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

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

O Sistema UFLABayes

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

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

O software será distribuído livremente.

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

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

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

15 15 3

21 20 4

38 32 5

47 45 7

67 59 8

15485 4875 20

Algoritmos aproximados

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

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

Rede de teste Asia

Rede de teste DogProblem

Rede de teste CarDiagnostic

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

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

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

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

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

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

Algoritmo AprendeParametros – Análise da divergência KL

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

^

( | )( | ) log

( | )x X

P x eP x e

P x e

Algoritmo AprendeParametros – Análise da divergência KL

Algoritmo K2 – Análise estrutural

Rede original Rede aprendida

Conclusões – Algoritmos para inferência exata

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

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

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

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

Conclusões – Algoritmos para inferência aproximada

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

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

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

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

simulações é requisitado; Gibbs Weighting

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

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

Conclusões – Algoritmos de aprendizado

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

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

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

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

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

resultado exato.

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

Trabalhos Futuros

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

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

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

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

.

Trabalhos Futuros

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

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

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

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

Especializar o sistema para atender a um problema real

Bibliografia

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

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

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

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

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

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

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

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

Recommended