A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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:

Apresentações semelhantes


Apresentação em tema: "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:"— Transcrição da apresentação:

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

2 Roteiro 1) Fundamentos da teoria da probabilidade 2) Redes bayesianas 3) Inferência bayesiana 4) Aprendizado de parâmetros 5) Aprendizado de estrutura 6) O sistema UFLABayes 7) Resultados 8) Conclusões

3 Fundamentos da Teoria da probabilidade Variá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 900)

4 Fundamentos da Teoria da probabilidade Probabilidade 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) = 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

5 Fundamentos da Teoria da probabilidade Probabilidade 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) = 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|)

6 Fundamentos da Teoria da Probabilidade Regra 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”

7 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

8 Fundamentos da Teoria da Probabilidade Exemplo 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 de uma mulher se deparar com 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 mamografia com resultado positivo qual é a probabilidade de uma mulher estar com 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

9 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 Θ.

10 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! Causa Efeito

11 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]

12 Construção de redes bayesianas Exemplo Rede Alarme LadrãoTerremoto Alarme MariaLiga JoãoLiga Ordem: L T A J M

13 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)

14 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

15 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(n2 n ) Complexidade de espaço = O(2n)

16 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. Equação 1

17 Algoritmo de Enumeração B B E E A A M M J J P(B|J,M)?? Equação 1 Evidências Variável de consulta

18 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.

19 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.

20 Algoritmo de Eliminação de variáveis Exemplo B B E E A A M M J J Evidências Variável de consulta B = Burglary E = Earthquake M = MaryCalls J = JohnCalls

21 Variável de consulta : B Evidências : J = true, M = true Ordenação das variáveis : M, J, A, B, E (das folhas para a raiz) Factores : [ ] Variável analisada: [ f M (A) ] M [f J (A), f M (A) ] J [f A (A,B,E), f J (A), f M (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 [ f B (B), f ÂJM (B,E) ] E [f E (E), f B (B), f ÂJM (B,E) ][f B (B), f ÊÂJM (B) ]

22 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.

23 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ástica Simula o fluxo do impacto ou influência da evidência sobre o resto das variáveis

24 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.

25 B B A A C C D D E E ABCDE ynynynynyn ABCDE Contador das amostras geradas: Amostra geradas: A yn A Byn y n A Cyn y n B Dyn y n BE Evidências: E CDyn yy yn ny nn 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.9 B = n n P(C|A=n) : (0.4,0.6) 0.5 C = n n P(D|B=n) : (0.1,0.9) 0.01 D = y y P(E|C=n,D=y) :(0.999, 0.001) 0,8 E = y y n y Amostras Consistentes !!! Forward Sampling

26 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.

27 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:

28 B B A A C C D D E E ABCDE ynynynynyn ABCDE ny Amostras geradas: A yn A Byn y n A Cyn y n B Dyn y n BD ny E CDyn yy 0.1 yn ny nn Evidências: Evidência? não sim Peso = Gera amostraAtualiza 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 = P(C|A=y) = (0.7,0.3) 0.75 C = n n Peso = Peso * P(D=y|B=n) Peso = P(E|C=n,D=y) = (0.999,0.001) 0,55 C = y y Contador das amostras geradas: Likelihood Weighting

29 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

30 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

31 B B A A C C D D E E ABCDE ynynynynyn ABCDE Contador das amostras geradas: Configuração atual: A yn A Byn y n A Cyn y n B Dyn y n BE nn Evidências: E CDyn yy yn ny nn Número aleatório: Amostra gerada: Distribuição analisada : Distribuição : Cobertura de Markov : y n y yn 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 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 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 Gibbs Sampling

32 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,

33 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.

34 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. Dados Algoritmo de Aprendizado de Parâmetros C E D A B + C E D A B

35 Algoritmo AprendeParametros para aprendizado de parâmetros A A B B C C D D E E P(A) P(B|A) P(D|B) P(C|A) P(E|C,D) ABCDE vfv ffv vfv vfv vff fff vfv vfv vvf ffv 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 Normalizando

36 5) Aprendizado de estrutura Consiste em aprender automaticamente a estrutura gráfica de uma rede bayesiana, dada uma base de dados. Dados Algoritmo de aprendizado de estrutura C E D A B + Conhecimento de Fundo

37 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ção Algoritmos: - 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ável Algoritmos: - PC - CBL

38 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

39 Algoritmo K2 (Busca e pontuação) Busca entre as 2 n(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.

40 Algoritmo K2 (Busca e pontuação) A A C C D D B B Ordenação: A, B, C e D MAX(Função de pontuação)

41 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.

42 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;

43 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

44 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

45 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.

46 Algoritmos de inferência exata – Análise de tempo de execução Tempo de Execução (milisegundos)Número de variáveis EnumeraçãoEliminação de Variáreis

47 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;

48 Rede de teste Asia

49 Rede de teste DogProblem

50 Rede de teste CarDiagnostic

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

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

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

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

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

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

57 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:

58 Algoritmo AprendeParametros – Análise da divergência KL

59 Algoritmo K2 – Análise estrutural Rede original Rede aprendida

60 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;

61 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.

62 Conclusões – Algoritmos de aprendizado Algoritmo K2 – Aprende a estrutura da rede, mas necessita de muitos casos na base dados ( 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.

63 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;.

64 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

65 Bibliografia [CASTILHO & GUTIERREZ, 1997] CASTILHO E., GUTIERREZ J.. "Expert Systems and Probabilistic Network Models". Ed. Springer, [COOPER & HERSKOVITS, 1992] COOPER G. F., HERSKOVITS E.. "A Bayesian method for the induction of probabilistic networks from data". Machine Learning, v. 9, p , [COZMAN, 2000] COZMAN F. G.. "Generalizing Variable Elimination in Bayesian Netorks". To appears: Workshop on Probabilistic Reasoning in Artificial Intelligence, Atibaia, [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, [JENSEN, 2001] JENSEN F.V.. "Bayesian Networks and Decision Graphs". Ed. Springer, [NEAPOLITAN, 1990] NEAPOLITAN R.E.. "Learning Bayesian Networks". Ed. Prentice Hall, [RUSSEL & NORVIG, 2004] RUSSEL S. J., NORVIG P.; "Inteligência Artificial". Tradução da 2a Edição. Ed.Campus, [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.


Carregar ppt "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:"

Apresentações semelhantes


Anúncios Google