Download
racioc nio probabilistico m todos de computa o inteligente 2006 1 n.
Skip this Video
Loading SlideShow in 5 Seconds..
Raciocínio Probabilistico Métodos de Computação Inteligente 2006.1 PowerPoint Presentation
Download Presentation
Raciocínio Probabilistico Métodos de Computação Inteligente 2006.1

Raciocínio Probabilistico Métodos de Computação Inteligente 2006.1

106 Views Download Presentation
Download Presentation

Raciocínio Probabilistico Métodos de Computação Inteligente 2006.1

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Raciocínio ProbabilisticoMétodos de Computação Inteligente 2006.1 Ricardo Scholz e Vitor Dantas <reps, vcd>@cin.ufpe.br

  2. 4 ? 3 B OK 2 ? B OK 1 ? OK 1 2 3 4 2 3 4 Motivação • Agentes precisam lidar com incertezas • Ambientes • Não determinísticos • Parcialmente observáveis • Exemplo: Wumpus Breeze(2,1)  Breeze(1,2) ((Pit(3,1 )  Pit(2,2)  Pit(1,3))  (Pit(3,1)  Pit(2,2))  (Pit(2,2)  Pit(1,3))  (Pit(3,1)  Pit(1,3))  Pit(2,2))

  3. Limitações da lógica para representar conhecimento incerto • Engajamento epistemológico: crença sobre fato do mundo representado como fórmula lógica • certamente verdadeira • certamente falsa • totalmente desconhecida • Incertezas representáveis apenas através da disjunção • É muito custoso modelar todos os casos possíveis. • Crenças iguais sobre todas as alternativas de uma disjunção.

  4. Representando conhecimento incerto com Teoria da Probabilidade • Variável Aleatória (Random Variable) • Um aspecto do mundo cujo “status” é desconhecido. • Variável assume valores dentro de um domínio. • Ex.: • domínio de Pit: <true, false> • domínio de Weather: <sunny, rainy, cloudy> • Evento atômico • Especificação do valor de todas as variáveis

  5. Variáveis Aleatórias • Diagrama de classes UML/OCL

  6. Representando conhecimento incerto com Teoria da Probabilidade • Probabilidades • Expressam o grau de confiança do agente sobre aspectos do mundo. • 1 representa a certeza absoluta da verdade • 0 a certeza absoluta da falsidade • Valores entre 0 e 1 representam a confiança do agente • Ex.: • P(Weather = sunny) = 0.7 • P(Pit = true) = 0.1 • P(Pit = false) = 0.9 • Igualmente: • P(sunny) = 0.7 • P(pit) = 0.1 • P(pit) = 0.9

  7. Distribuições de probabilidades • Associam uma probabilidade a cada possível valoração de uma variável • Ex.: • domínio de Pit: <true, false> • P(Pit) = <0.1, 0.9> • domínio de Weather: <sunny, rainy, cloudy> • P(Weather) = <0.7, 0.1, 0.2>

  8. toothache toothache catch catch catch catch cavity 0.108 0.012 0.072 0.008 cavity 0.016 0.064 0.144 0.576 Distribuição Conjunta de Probabilidades • Define as probabilidades de todos os eventos atômicos possíveis. • Ex.: Domínio do dentista.

  9. Distribuições de Probabilidades • Diagrama de classes UML/OCL

  10. Probabilidades a priori e a posteriori • A priori (incondicional) • Antes de se obter evidências. • A posteriori (condicional) • Expressa o grau de confiança após alguma evidência ter sido obtida. • Ex.: • P(pit) = 0.1 • P(pit | breeze) = 0.05

  11. Probabilidade condicional e regra do produto • Podemos definir uma probabilidade condicional em termos de probabilidades incondicionais. • P(a | b) = P(a  b) / P(b) • Regra do produto: • P(a  b) = P(a | b) P(b) • P(a  b) = P(b | a) P(a) Ou, genericamente: • P(X, Y) = P(X | Y) P(Y) • Onde P(X=xi | Y=yj), i,j

  12. Regra de Bayes • P(a  b) = P(a | b) P(b) • P(a  b) = P(b | a) P(a) Finalmente, a regra de Bayes • P(b | a) = P(a | b) P(b) / P(a) Que generaliza para • P(Y | X) = P(X | Y) P(Y) / P(X) Ou ainda, quando há evidência • P(Y | X, e) = P(X | Y, e) P(Y | e) / P(X | e)

  13. toothache toothache catch catch catch catch cavity 0.108 0.012 0.072 0.008 cavity 0.016 0.064 0.144 0.576 Marginalização • P(Y) = z P(Y, z) • P(Cavity) = <0.108 + 0.012 + 0.072 + 0.008, 0.016 + 0.064 + 0.144 + 0.576> = <0.2, 0.8> • Como calcular a probabilidade de uma proposição dada alguma evidência? Ex: P(Cavity|toothache) • Pela regra do produto: • P(cavity | toothache) = P(cavity  toothache) / P(toothache) • P(cavity | toothache)=P(cavity  toothache) / P(toothache) • 1/P(toothache) é apenas uma constante de normalização (), logo basta calcular P(Cavity, toothache) utilizando marginalização

  14. Algoritmo EnumerateJointAsk • Diagrama de Atividade UML

  15. Problemas da inferência por marginalização • Complexidade exponencial • No espaço • Para n variáveis (booleanas), a distribuição de probabilidade conjunta possui 2n entradas • No tempo • No pior caso, a marginalização precisa somar todos os elementos da tabela de distribuição conjunta

  16. Independência entre variáveis • Independência absoluta • Ocorre quando uma variável não influencia outra de modo algum. • Ex.: P(Pit | Weather = rainy  Weather = cloudy) = P(Pit) • Independência condicional • Ocorre quando uma variável influencia outra, mas não há relação causal entre elas. • Dada a evidência sobre a real causa, não é mais necessário modelar tais influências indiretas. • Exemplo a seguir.

  17. 4 3 2 ? ? B OK 1 OK 1 2 3 4 2 3 4 Independência condicional • Exemplo: • P(Breeze(1,2) | Breeze(2,1)) • P(Breeze(1,2) | Breeze(2,1)  Pit(2,2)) • P(Breeze(1,2) | Breeze(2,1) Pit(2,2)) = P(Breeze(1,2) | Pit(2,2))

  18. Redução da complexidade da distribuição conjunta • Distribuição conjunta: • P(Toothache, Catch, Cavity) = (regra do produto) • P(Toothache, Catch | Cavity) P(Cavity) = (independência condicional) • P(Toothache | Cavity) P(Catch | Cavity) P(Cavity) • De 23-1valores necessários para 2+2+1 • Reduz de O(2n) para O(n) • De uma maneira geral (assumindo independência entre os efeitos, dada a causa) • P(Causa, Efeito1, Efeito2,...)=P(Causa)iP(Efeitoi|Causa)

  19. Tell(b11)Tell(b12)Tell(b21) Ask( P(P13 | KB) )Ask( P(P22 | KB) ) Ask( P(P31 | KB) ) 4 ? 3 V OK 2 ? V OK 1 ? OK 1 2 3 4 2 3 4 Exemplo: Wumpus... • Sejam: • Pij variável booleana que indica se a posição (i,j) possui buraco • Bij variável booleana que indica se a posição (i,j) possui brisa (usaremos só B11, B12 e B21)

  20. Wumpus: Especificação da distribuição conjunta e inferência do melhor caminho • A DPC é dada por P(P11, P12, ..., P44, B11,B12,B21) • P(P11, P12, ..., P44, B11,B12,B21) = P(B11,B12,B21 | P11, P12, ..., P44) P(P11, P12, ..., P44) • Como P(Pij) = <0.2, 0.8>, e as probabilidades de P(Pij) são independetes • P(P11, P12, ..., P44) = 0.2nPits x 0.816-nPits • Sabe-se um algoritmo para calcular P(B11,B12,B21|P11, P12, ..., P44) • Para toda variável Pij, se Pij = true • Para toda variável B, se B é adjacente a Pij e B = false, retorne 0 • Retorne 1 • Com a DPC, a máquina de inferência pode responder a Ask( P(P13 | KB) ) por marginalização • P(P13 | KB) = P(P31 | KB) = 31% • P(P22 | KB) = 86% • O agente deve seguir por (1,3) ou (3,1)

  21. Cavity Weather Catch Toothache Redes Bayesianas para representação de conhecimento incerto • Rede bayesiana (sintaxe) • Variáveis são representadas por nós • O grafo formado não possui ciclos • Se há uma seta de A para B, então A (pai) possui uma influência direta sobre B

  22. P(e).002 P(b).001 Burglary Earthquake B E P(a) t t .95 Alarm t f .94 f t .29 .001 f f A P(m) A P(j) JohnCalls MaryCalls t .70 t .90 f .01 f .05 Redes bayesianas e tabela de probabilidades condicionais

  23. Redes Bayesianas • Diagrama de classes UML/OCL

  24. Semântica das Redes bayesianas • Representa a distribuição conjunta • P(x1, ..., xn) = i=1|nP(xi|parents(Xi)) • Ex. • P(j  m  a b e) =P(j|a) P(m|a) P(a|b e) P(b) P(e) = 0.00062 • Complexidade O(n2k) contra O(2n) da tabela de distribuição conjunta, onde k é o número máximo de pais por nó • No exemplo do alarme, representa 10 valores contra 25-1 (31) da representação pela tabela de DPC

  25. Propriedades das redes bayesianas • Um nó é condicionalmente independente de todos os outros nós da rede, dado seus pais, filhos e pais dos filhos (markov blanket)

  26. Propriedades das redes bayesianas • Um nó é condicionalmente independente dos não-descendentes, dado seus pais • Ex. P(MaryCalls | JohnCalls, Alarm, Earthquake, Burglary) = P(MaryCalls | Alarm)

  27. Redes Bayesianas para variáveis contínuas • Discretizar os valores das variáveis aleatórias • Especificar as funções de distribuição de probabilidade, com número pequeno de parâmetros (função linear gaussiana é a mais utilizada)

  28. Inferência exata em redes bayesianas • Como uma rede bayesiana representa a distribuição conjunta, o mesmo processo pode ser utilizado • P(B|j,m)= P(B,j,m) = taP(B,e,a,j,m) • Para B = true: • P(b|j,m) = t a P(b)P(e)P(a|b,e)P(j|a)P(m|a) • Porém, mais eficiente: • P(b|j,m) = P(b)tP(e)aP(a|b,e)P(j|a)P(m|a)

  29. Árvore de expressões P(b) + P(e) P(e) + + P(a|b,e) P(a|b,e) P(a|b,e) P(a|b,e) P(j|a) P(j|a) P(j|a) P(j|a) P(m|a) P(m|a) P(m|a) P(m|a) P(b|j,m) = P(b)tP(e)aP(a|b,e)P(j|a)P(m|a)

  30. Eliminação de variáveis • Algoritmo para inferência exata • Processa a árvore de expressões bottom-up, armazenando os valores calculados • Observação: • Todas as variáveis que não são ancestrais da variável de consulta ou das evidências podem ser removidas da inferência • P(J|l) = P(l)tP(t)aP(a|l,t)P(J|a)mP(m|a) • Mas mP(m|a) é 1 por definição, logo pode ser eliminado

  31. Algoritmo EliminationAsk • Diagrama de Atividade UML

  32. Complexidade do algoritmo de eliminação de variáveis • Se a rede é uma polytree (no máximo um caminho entre dois nós) • linear no número de nós da rede • Em geral, tempo e espaço exponencial (#P-Hard)

  33. Inferência aproximada em redes bayesianas • Inferência exata é intratável para redes grandes e muito conectadas • Inferência aproximada permite obter uma solução mais eficiente, porém aproximada • A complexidade em tempo é dada pela qualidade da solução • Escapa da NP-Completude, mas qualidade da solução diminui • Baseada nos algoritmos de Monte Carlo

  34. Cloudy Sprinkler Rain WetGrass Amostragem direta Amostra de <0.5, 0.5> = true Amostra de P(Sprinkler|Cloudy = true) = false Amostra de P(Rain|Cloudy = true) = true Amostra de P(WetGrass|Sprinkler = false, Rain = true) = true Evento atômico: [true, false, true, true]

  35. Nublado Chuva Aguador Molhado Amostragem direta • limN[Namostras(x1,...,xn)/N] = P(x1,...,xn) • Quanto mais amostras, mais consistente a aproximação da DPC • Exemplo: • Se em 1000 amostras, 511 delas tem Rain = true, P(rain) = 0.511

  36. Redução da complexidade da inferência (e da precisão) RB Amostragem Direta RB com Inferência Exata DPC e Marginalização RB comCPT DPC Redução da complexidade na aquisição das probabilidades Resumo dos métodos de inferência dos agentes probabilistas

  37. Raciocínio Probabilistico TemporalRedes Bayesianas Dinâmicas

  38. Raciocínio Probabilistico TemporalMotivação • Agentes em ambientes incertos têm que manter-se atualizados sobre o estado do ambiente; • A tarefa fica mais difícil se considerarmos: • Percepções parciais e/ou ruidosas; • Incerteza sobre como o ambiente muda ao longo do tempo.

  39. Raciocínio Probabilistico TemporalEstados e Observações • O processo de mudança do ambiente pode ser visto como uma série de “fatias de tempo”; • Cada instante contém um conjunto de variáveis randômicas, algumas observáveis, outras não;

  40. Raciocínio Probabilistico TemporalNotação • Xt Variável de estado S no tempo t • Ex.: Chuva1, Energia5 • Et  Variável de evidência (observação) E no tempo t • Ex.: GramaMolhada1, LâmpadaAcesa9 • Xa:b  Conjunto de variáveis de estado ou evidência de Xa até Xb • Ex.: Chuva1:4 = Chuva1, Chuva2, Chuva3, Chuva4

  41. Raciocínio Probabilistico TemporalAlgumas Definições Importantes • Processo Estacionário • Processo de mudança governado por leis que não mudam ao longo do tempo • Restrição sobre Observações • P(Et|X0:t, E0:t-1) = P(Et|Xt)

  42. Raciocínio Probabilistico TemporalAlgumas Definições Importantes • Premissa de Markov (Markov Assumption) • Estado atual depende de um histórico finito de estados anteriores: • t, P(Xt|X0:t-1) = P(Xt|Xt-n:t-1), sendo n ≥ 1 • Processos de Markov ou Cadeias de Markov • Processo de Markov de 1a ordem (n = 1) • t, P(Xt|X0:t-1) = P(Xt|Xt-1)

  43. Raciocínio Probabilistico TemporalRepresentação com Redes Bayesianas Transition Model Prior Distribution Layer / Slice Transition Modelt … … Xt X2 X3 X0 X1 Sensor Model Sensor Modelt … … E2 Et E3 E1 Complete Joint Distribution (Processo de Markov de 1a ordem) P(X0, X1, …, Xt, E1, …, Et) = P(X0)∏P(Xi|Xi-1)P(Ei|Xi), para i de 1 a t

  44. Inferência em Modelos TemporaisServiços de Raciocínio Probabilístico Temporal • Filtering / Monitoring • P(Xt|e1:t) • Prediction • P(Xt+k|e1:t), para algum k > 0 • Smoothing / Hindsight • P(Xk|e1:t), para 0 ≤ k < t • Explicação Mais Provável • argmaxX1:tP(X1:t|e1:t)

  45. Inferência em Modelos TemporaisFiltering :: Métodos para Inferência Temporal • Estimativa por Recursão P(Xt+1|e1:t+1) = f(et+1, P(Xt|e1:t)) = f(et+1, f(et, P(Xt-1|e1:t-1)))… P(Xt+1|e1:t+1) = P(Xt+1|e1:t, et+1) = aP(et+1|Xt+1, e1:t)P(Xt+1|e1:t) [by Bayes Rule] = aP(et+1|Xt+1)P(Xt+1|e1:t) [by previous assumtions] = aP(et+1|Xt+1)∑xtP(Xt+1|xt, e1:t)P(xt|e1:t) = aP(et+1|Xt+1)∑xtP(Xt+1|xt)P(xt|e1:t)

  46. Inferência em Modelos TemporaisFiltering :: Métodos para Inferência Temporal P(Xt+1|e1:t+1) = a P(et+1|Xt+1) ∑xt P(Xt+1|xt) P(xt|e1:t) P(Xt|e1:t) pode ser visto como uma “mensagem” f1:t que é propagada atravez da seqüência, modificada a cada transição e atualizada a cada nova observação P(Xt|e1:t) = f1:t+1 = aFORWARD(f1:t, et+1) • Quando as variáveis de estado são discretas, o tempo e memória gastos em cada atualização são constantes!!! Transition Model Sensor Model

  47. Inferência em Modelos TemporaisPrediction :: Métodos para Inferência Temporal • Predição pode ser encarado como Filtering sem a adição de uma nova observação: P(Xt+k+1|e1:t) = ∑xt+kP(Xt+k+1|xt+k)P(xt+k|e1:t) • O que acontece se tentarmos prever cada vez mais longe? • A predição converge para um ponto fixo

  48. Inferência em Modelos TemporaisSmoothing :: Métodos para Inferência Temporal • Análogo a Filtering P(Xk|e1:t) = P(Xk|e1:k, ek+1:t) = aP(Xk|e1:k)P(ek+1:t|Xk, e1:k) = aP(Xk|e1:k)P(ek+1:t|Xk) = af1:kbk+1:t • A função BACKWARD é definida também analogamente: bk+1:t = BACKWARD(bk+2:t, ek+1:t)

  49. Inferência em Modelos TemporaisTempo e Complexidade • Tanto o FORWARD quanto o BACKWARD tem custo constante para um realizar um passo; • Sendo assim, a complexidade de realizar Smoothing para uma fatia de tempo k com respeito à observação e1:t é O(t); • Logo, para toda a seqüência, temos 0(t2); • Para conseguir O(t) usa-se programação dinânica, evitando o cálculo repetido da mensagem propagada; • O algoritmo é chamado de FORWARD-BACKWARD

  50. Inferência em Modelos TemporaisSeqüência Mais Provável • Tarefa consiste em achar a seqüência de estados mais provável para uma combinação qualquer de variáveis de estado; • Ex.: Qual a seqüência de estados Energia, dado que a seqüência de observações LâmpadaAcesa é [true, true, false, true, true]? • Uso do algoritmo de Smoothing para descobrir a distribuição posterior da variável Energia, a cada fatia de tempo; • Em seguida, constrói-se a seqüência usando a cada passo o valor de Energia mais provável de acordo com a distribuição encontrada;