1 / 65

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

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

edith
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 • Fundamentos da teoria da probabilidade • Redes bayesianas • Inferência bayesiana • Aprendizado de parâmetros • Aprendizado de estrutura • O sistema UFLABayes • Resultados • Conclusões

  3. 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)

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

  5. 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|)

  6. 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”

  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 ProbabilidadeExemplo Prob. Condicional de Mamografia dado Câncer Probabilidade a priori de Câncer P(mamo+) = P(mamo+ | cancer+)*P(cancer+) + P(mamo+ | cancer-)*P(cancer-) = = 80%*1% + 0,96%*99% = 1,7504% Antes de qualquer observação, qual a probabilidade de uma mulher se deparar com um exame de mamografia com resultado positivo? Marginalização 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) Teorema de Bayes

  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. P(S) P(C|S) P(B|S) P(X|C,S) P(D|C,B) Definição de redes bayesianas Fumar Causa Cancer Bronquite Efeito Raio-X Dispnea P(S, C, B, X, D) = P(S) P(C|S) P(B|S) P(X|C,S) P(D|C,B) Permite uma representação eficiente da distribuição conjunta total!

  11. Construção de redes bayesianas • Defina uma ordenação para as variáveis; • Enquanto restarem variáveis no conjunto • Selecione uma variável Xi e adicione um nó para ela à rede; • Defina os pais de Xi (pa(Xi)) com algum conjunto mínimo de nós que já • estão na rede. • Defina a tabela de probabilidades condicionais de Xi; [RUSSEL & NORVIG, 2003]

  12. Ladrão Terremoto Alarme MariaLiga JoãoLiga Construção de redes bayesianas Exemplo Rede Alarme 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. Inferência bayesiana 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

  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(n2n) • 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 Variável de consulta B E A Evidências M J Equação 1 P(B|J,M)??

  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áveisExemplo Variável de consulta B E B = Burglary E = Earthquake M = MaryCalls J = JohnCalls A Evidências M J

  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) B E J A Variável analisada: M • 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) [fB(B) , fÊÂJM(B) ] [fE(E) , fB(B) , fÂJM(B,E) ] Factores : [fJ(A) , fM(A) ] [ fB(B) , fÂJM(B,E) ] [fA(A,B,E) , fJ(A) , fM(A) ] [ fÂJM(B,E) ] [ fM(A) ] [ ]

  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. Forward Sampling Distribuição analisada : P(B|A=n) : (0.8,0.2) P(D|B=n) : (0.1,0.9) P(A): (0.4,0.6) P(E|C=n,D=y) :(0.999, 0.001) P(C|A=n) : (0.4,0.6) Número aleatório: 0.55 0.01 0.9 0.5 0,8 Amostra gerada: D = y B = n A = n C = n E = y Amostras Consistentes !!! A Evidências: B C n y Amostra geradas: n n y y n D E Contador das amostras geradas: 0 1 0 1 0 0 0 1 1 1

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

  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. Likelihood Weighting Evidência? sim não Gera amostra Atualiza peso 0.07 0.7 1 Distribuição : P(E|C=n,D=y) = (0.999,0.001) P(A) = (0.4 , 0.6) P(C|A=y) = (0.7,0.3) Número aleatório: 0,55 0.75 0.3 Peso = Peso * P(B=n|A=y) Peso = Peso * P(D=y|B=n) A = y C = y Amostra gerada: C = n Peso = 0.7 Peso = 0.07 A Evidências: B C Amostras geradas: y n y D E Contador das amostras geradas: 0 0 0 0.07 0.07 0.07

  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. Gibbs Sampling A, D, E Cobertura de Markov : B,C,E B, C α( 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)) α( 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) ) Distribuição : α(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)) Distribuição analisada : (0.7 , 0.3) (0.1 , 0.9) (0.8 , 0.2) Número aleatório: 0,45 0.85 0,55 Amostra gerada: C = n D = n A = y A Evidências: B C Configuração atual: y y n y n y n n D E Contador das amostras geradas: 2 0 0 3 1 1 1 3 3 1 0 1 2 0 0 1 2 0 2 0 0 0 1 0 2

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

  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 + B E B E C A C A D D

  35. Algoritmo AprendeParametros para aprendizado de parâmetros TPC de C: Base de dados: v f v f v 0.5 1 0.5 1 f v 0.875 7 f 0.125 1 v f Normalizando v f f v P(A) A f v f v C P(C|A) B P(B|A) f v f f D E v v P(D|B) P(E|C,D)

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

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

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

  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

  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

More Related