450 likes | 557 Views
Aprendizado Bayesiano. Disciplina : Agentes Adaptativos e Cognitivos. Conhecimento com Incerteza. Exemplo: sistema de diagnóstico odontológico Regra de diagnóstico " p sintoma (p,dor de dente) Þ doença (p,cárie) A doença (causa do sintoma) pode ser outra. Regra causal
E N D
Aprendizado Bayesiano Disciplina: Agentes Adaptativos e Cognitivos
Conhecimento com Incerteza • Exemplo: sistema de diagnóstico odontológico • Regra de diagnóstico • " p sintoma (p,dor de dente) Þ doença (p,cárie) • A doença (causa do sintoma) pode ser outra. • Regra causal • " p doença (p,cárie) Þ sintoma (p,dor de dente) • Há circunstâncias em que a doença não provoca o sintoma. • A conexão entre antecedente e conseqüente não é uma implicação lógica em nenhuma direção
Conhecimento com Incerteza • Falha no domínio de diagnóstico médico devido a: • “preguiça”: • existem causas ou conseqüências demais a considerar • ignorância teórica e prática: • não existe uma teoria completa para o domínio, nem podemos fazer todos os testes necessários para o diagnóstico perfeito. • Nestes casos, o conhecimento pode apenas prover um grau de crença nas sentenças relevantes. • P(Cárie/Dor de Dente) = 0.6
Aprendizagem Bayesiana • Fornece probabilidades para suas respostas • Permite combinar facilmente conhecimento a priori com dados de treinamento • Métodos práticos e bem sucedidos para aprendizagem • Aprendizagem Bayesiana Ingênua • Aprendizagem de Redes Bayesianas
Teoria da Probabilidade • Associa às sentenças um grau de crença numérico entre 0 e 1 • Contudo, cada sentença ou é verdadeira ou é falsa • Grau de crença (probabilidade): • a priori (incondicional): calculado antes do agente receber percepções • Ex. P(cárie= true) = P(cárie) = 0.5 • condicional: calculado de acordo com as evidências disponíveis (permite a inferência) • evidências: percepções que o agente recebeu até agora • Ex: P(cárie|dor de dente)= 0.8 P(cárie|~dor de dente)= 0.3
P(A/B) = P(B/A)P(A) P(B) Probabilidade condicional • Regra do produto: • P(A|B) = P(A^B) , quando P(B) > 0. P(B) • Regra de Bayes
Aplicação da Regra de Bayes: Diagnóstico Médico • Seja • M=doença meningite • S= rigidez no pescoço • Um Doutor sabe: • P(S/M)=0.5 • P(M)=1/50000 • P(S)=1/20 • P(M/S)=P(S/M)P(M) • P(S) • =0,5*(1/50000)=0,002 • 1/20 • A probabilidade de uma pessoa ter meningite dado que ela está com rigidez no pescoço é 0,02% ou ainda 1 em 5000.
Classificador Bayesiano Ingênuo • Suponha uma função de classificação f: X V, onde cada instância x é descrita pelos atributos {a1, , an} • O valor mais provável de f(x) é
= arg max P ( a , , a / v ) P ( v ) v L 1 n j j MAP Î v V j Classificador Bayesiano Ingênuo • Calcular P(vj) a partir dos dados de treinamento é fácil, o problema é calcular a probabilidade P(a1,..., an | vj) • Suposição Bayesiana Ingênua: ou seja, as variáves a1,..., an são independentes • Classificador Bayesiano Ingênuo (NB):
Classificador Bayesiano Ingênuo • Estimativa das Probabilidades P(vj) e P(ai/vj) através das freqüências relativas P’(vj) e P’(ai/vj) • Para cada vj • P’(vj) estimativa de P(vj) • Para cada valor ai de cada atributo a • P’(ai/vj) estimativa de P(ai/vj) • Classificador de novas instancias(x)
Classificador Bayesiano Ingênuo: Exemplo • Dia Tempo Temp. Humid. Vento Jogar • D1 Sol Quente Alta Fraco Não • D2 Sol Quente Alta Forte Não • D3 Coberto Quente Alta Fraco Sim • D4 Chuva Normal Alta Fraco Sim • D5 Chuva Frio Normal Fraco Não • D6 Chuva Frio Normal Forte Não • D7 Coberto Frio Normal Forte Sim • D8 Sol Normal Alta Fraco Não • D9 Sol Frio Normal Fraco Sim • D10 Chuva Normal Normal Fraco Sim • D11 Sol Frio Alta Forte ? P(Sim) = 5/10 = 0.5 P(Não) = 5/10 = 0.5 P(Sol/Sim) = 1/5 = 0.2 P(Sol/Não) = 3/5 = 0.6 P(Frio/Sim) = 2/5 = 0.4 P(Frio/Não) = 2/5 = 0.4 P(Alta/Sim) = 2/5 = 0.4 P(Alta/Não) = 3/5 = 0.6 P(Forte/Sim) = 1/5 = 0.2 P(Forte/Não) = 2/5 = 0.4 P(Sim)P(Sol/Sim) P(Frio/Sim) P(Alta/Sim) P(Forte/Sim) = = 0.0032 P(Não)P(Sol/Não)P(Frio/Não) P(Alta/Não) P(Forte/Não) = = 0.0288 Jogar_Tenis (D11) = Não
Algoritmo BayesianoIngênuo: Dificuldades • Suposição de independência condicional quase sempre violada, mas funciona surpreendentemente bem • O que acontece se nenhuma das instancias classificadas como vj tiver o valor ai?
Algoritmo BayesianoIngênuo: Dificuldades • Solução típica • n é o número de exemplos para os quais v = vj • nc número de exemplos para os quais v = vj e a = ai • p é a estimativa à priori para P’(ai/vj) • m é o peso dado à priori (número de exemplos “virtuais”)
Exemplo: Classificação de Documentos • Classificar documentos em duas classes vj = {‘interesse’, ‘não-interesse} • Variáveis a1,..., an são palavras de um vocabulário e P’(ai/vj) é a freqüência com que a palavra ai aparece entre os documentos da classe vj • P’(vj) = número de documentos da classe vj número total de documentos
Exemplo: Classificação de Documentos • P’(ai/vj) = nij + 1 nj + |Vocabulário| onde nj é o número total de palavras nos documentos da classe vj e nij é o número de ocorrências da palavra ai nos documentos da classe vj. Usa-se m = |Vocabulário| e p = 1/ |Vocabulário| (assumindo que cada palavra tem a mesmo probabilidade de ocorrência)
Exemplo: Classificação de Documentos • Classificação Final: • Observação: nem sempre a ocorrência de uma palavra independe das outras palavras. Exemplo: ‘Inteligência’ e ‘Artificial’.
Redes Bayesianas • Representa 3 tipos de conhecimento do domínio: • Relações de independência entre atributos (ou variáveis) • Probabilidades a priori de alguns atributos • Probabilidades condicionais entre atributos dependentes • Permite calcular eficientemente: • Probabilidades a posteriori de qualquer atributo (inferência) • Conhecimento representado: • Na estrutura da rede e nas distribuições de probabilidade das variáveis
Estrutura das Redes Bayesianas • Uma Rede Bayesiana é um grafo acíclico onde: • Cada nó da rede representa uma variável • 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 (nós pais). • Cada nó possui uma tabela de probabilidade condicional que quantifica os efeitos que os pais têm sobre ele
Tempestade Ônibus de Turismo Fogo no Acampamento Raio T,O T,O T, O T, O FA 0.4 0.1 0.8 0.2 FA 0.6 0.9 0.2 0.8 Distribuição de Probabilidade: P(FA/T,O) Fogo na floresta Trovão Fogo no Acampamento Redes Bayesianas
Redes Bayesianas • Representa a distribuição de probabilidade conjunta entre todas as variáveis: P(y1^...^yn) • Exemplo: P(Tempestade, , Fogo na Floresta)? • Exemplo: P(Classe=C1 ^ Atrib1=10 ^ Atrib2=Yes)? • Cálculo da probabilidade conjunta: Onde Predecessores(Yi) significa predecessores imediatos de Yi no grafo
Distribuição de Probabilidade Conjunta • Sejam Y1, Y2,...Yn um conjunto de variáveis. • Evento atômico: uma especificação completa dos estados do domínio • Y1= y1,Y2 = y2,....,Yn= yn • A distribuição de probabilidade conjunta, P(Y1,Y2,...,Yn), • atribui probabilidades a todos os possíveis eventos • atômicos
dor de dente dor de dente cárie 0.04 0.06 cárie 0.01 0.89 Exemplo: Probabilidade Conjunta P(cárie ^ dor de dente)=? P(cárie)=? P(dor de dente)=? P(cárie/dor de dente)=?
Teorema da Multiplicação de Probabilidades P(y1^...yn) = P(yn / y1^...yn-1) ... P(y1^...yn-1) P(y1^...yn) = P(yn / y1^...yn-1) ... P(y2 / y1) P(y1) • Esse resultado permite calcular a probabilidade de ocorrência • simultânea de vários eventos a partir das probabilidades • condicionais.
Independência Condicional • Independência: P(A|B) = P(A) • Exemplo: A = dor de dente e B=úlcera • Úlcera não causa dor de dente • Independência condicional • X e Y são independentes dado Z => P(X|Y,Z) = P(X|Z) • Se o objetivo é saber a probabilidade de X então tanto faz o valor de Y se você já sabe o valor de Z • Exemplo: Trovão é condicionalmente independente de Chuva, dado Relâmpago • P(Trovão/ Chuva, Relâmpago) = P(Trovão/ Relâmpago)
Redes Bayesianas: Cálculo da Probabilidade Conjunta • Redes Bayesianas levam em consideração a • Independência Condicional entre subconjuntos • de variáveis P(y1^...yn) = P(yn / y1^...yn-1) ... P(y2 / y1) P(y1) P(yn / Predecessores(Yn)) P(y2 / Predecessores(Y2)
Roubo Terremoto Alarme JohnCalls MaryCalls Exemplo Alarme (AIMA)
Exemplo Alarme (AIMA) Calcular a probabilidade do evento que o alarme toca mas não houve assalto nem terremoto e que João e Maria telefonaram. P(J M A ~R ~T) = P(J|A) P(M|A) P(A|~R ~T )P(~R)P(~T) = 0.9 x 0.7 x 0.001 x 0.999 x 0.998 = 0.00062 ou 0.062 %
Construção de Redes Bayesianas 1. Escolher um conjunto de variáveis relevantes que descrevam o domínio 2. Ordem de inclusão dos nós na rede (a). causas como “raízes” da rede (b). variáveis que elas influenciam (c). folhas, que não influenciam diretamente nenhuma outra variável. 3. Enquanto houver variáveis a representar: (a). escolher uma variável Xi e adicionar um nó para ela na rede (b). estabelecer Pais(Xi) dentre os nós que já estão na rede, satisfazendo a propriedade de dependência condicional (c). definir a tabela de probabilidade condicional para Xi
Roubo Terremoto Alarme JohnCalls MaryCalls Exemplo Alarme (AIMA) Ordem: R T A J M
MaryCalls JohnCalls Alarme Roubo Terremoto Exemplo de Rede Bayesiana Não Puramente Causal • Vamos usar o exemplo do alarme com a seguinte ordem de inserção dos nós: • MaryCalls, JohnCalls, Alarme, Roubo e Terremoto.
Exemplo de Rede Bayesiana Não Puramente Causal • Problemas: • A figura possui duas conexões a mais • julgamento não natural e difícil das probabilidades • Tendo uma rede puramente causal, teríamos um número menor de conexões
Exercício: Construa uma rede para o problema abaixo • Eu quero prever se minha esposa está em casa antes de eu abrir a porta. • Eu sei que minha esposa liga a luz quando chega em casa • mas às vezes ela também liga ao sair (se ela for retornar com alguma visita). • Quando não tem ninguém em casa, ela solta o cachorro no quintal • mas às vezes ela solta o cachorro quando ele está molhado. • Quando o cachorro está solto, consigo ouvir o seu latido da rua • mas as vezes o confundo com o cachorro da vizinha.
Aprendizagem de Redes Bayesianas • Variantes da tarefa de aprendizagem • A estrutura da rede pode ser conhecida ou desconhecida • O conjunto de treinamento pode fornecer valores para todas as variáveis da rede ou para somente algumas • Se a estrutura é conhecida e todas as variáveis observadas • Então é tão fácil como treinar um classificador Bayesiano ingênuo
Aprendizagem de Redes Bayesianas • Suponha a estrutura conhecida e variáveis parcialmente observáveis • Exemplo: • Observa-se fogo na Floresta, Tempestade, Ônibus de turismo, mas não Raio, Fogo no Acampamento • Aprende-se a tabela de probabilidades condicionais de cada nó usando o algoritmo do gradiente ascendente • O sistema converge para a rede h que maximiza localmente ln (P(D/h))
Tempestade Ônibus de Turismo Fogo no Acampamento Raio T,O T,O T, O T, O FA ? ? ? ? FA ? ? ? ? Distribuição de Probabilidade: P(FA/T,O) Fogo na floresta Trovão Fogo no Acampamento Exemplo
Gradiente Ascendente para Redes Bayesianas • Seja wijk uma entrada na tabela de probabilidade condicional para a variável Yi na rede • wijk = P(Yi = yij/Predecessores(Yi) = lista uik de valores) • Exemplo, se Yi = Fogo no Acampamento, então uik pode ser {Tempestade = T, Ônibus de Turismo = O} • Aplicar o gradiente ascendente repetidamente • Atualizar todos os wijk usando os dados de treinamento D • Normalizar os wijk para assegurar e
Aprendizagem da Estrutura de Redes Bayesianas • Métodos baseados em Busca e Pontuação • Busca no espaço de estruturas • Cálculo das tabelas de probabilidade para cada estrutura • Definição da medida de avaliação (Pontuação) • Ex.: Minimum Descrition Length (MDL) • Operadores de busca (adição, remoção ou reversão de arcos da rede) • Processo de busca prossegue enquanto a pontuação de uma rede for significativamente melhor que a anterior • Ex: K2(Cooper e Herskovits, 1992)
Aprendizagem da Estrutura de Redes Bayesianas • Métodos baseados em análise de dependência • Arcos são adicionados ou removidos dependendo de um teste de independência condicional entre os nós • Teste de independência pode ser feito entre pares de nós ou com um conjuntos maior de variáveis condicionais • Ex: CDL(Chen, Bell e Liu 1997)
Aprendizagem da Estrutura de Redes Bayesianas • Métodos baseados em Busca e Pontuação • Vantagem: Menor complexidade no tempo • Desvantagem: Não garante encontrar melhor solução • 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
Aplicações de Redes Bayesianas • PATHFINDER: diagnóstico de doenças que atacam os nodos linfáticos. (Russel&Norvig 1995) • PAINULIM: diagnóstico de doenças neuro-musculares: http://snowhite.cis.uoguelph.ca/faculty_info/yxiang/research.html • Tutores inteligentes: www.pitt.edu/~vanlehn/andes.html
Aplicações de Redes Bayesianas • Mais aplicações:http://excalibur.brc.uconn.edu/~baynet/researchApps.htm • Análise de proteínas • Modelagem de Agentes Inteligentes • Detecção de fraudes na indústria • Robótica
Conclusões • Possibilidade de trabalhar com domínios onde não há informação suficiente • Raciocínio probabilístico trata o grau de incerteza associado à maioria dos domínios. • Combina conhecimento a priori com dados observados • O impacto do conhecimento a priori (quando correto) é a redução da amostra de dados necessários
Bibliografia • Russel, S, & Norvig, P. (1995). Artificial Intelligence: a Modern Approach (AIMA) Prentice-Hall. Pages 436-458, 588-593 • Mitchell, T. & (1997): Machine Learning, McGraw-Hill. Cap.6 • Fayyad et al. (1996): Advances in knowledge discovery and data mining, AAAI Press/MIT Press. Cap.11 • Pearl, J. (1988) Probabilistic Reasoning in Inteligent Systems