Arquivos

Archive for sexta-feira, 13 nov 2009; \46\UTC\UTC\k 46

Lógica Bayesiana

sexta-feira, 13 nov 2009; \46\UTC\UTC\k 46 6 comentários

Todo mundo conhece a lógica clássica, aquela segundo o qual proposições são julgadas verdadeiras ou falsas através de certos procedimentos de consistência. Mesmo que não conheça as regras da lógica formal, certamente já as usou e saberia reconhece-las. Poucos nunca ouviram o tal exemplo sobre a mortalidade ou não de Sócrates.  A lógica formal nos fornece uma forma de raciocínio: seguindo suas regras básicas eu consigo formas de, de posse de afirmações que eu julgo verdadeiras,  julgar a validade de outras. Mais ainda, na lógica não há espaço para ambiguidade e meia-certeza — o valor de uma proposição é verdadeiro ou falso, fim de papo. E note: ainda que eu não consiga determinar esse valor, está estabelecido desde o princípio que ele é verdadeiro ou falso.

Certamente isso fornece ferramentas úteis mas há uma grande limitação: como eu deveria raciocinar se eu não possuo informação completa sobre algo? A lógica formal não serve para isso. Eu não posso fazer perguntas como: “dado que eu acho a proposição P1 maaais ou menos certa, qual é o valor de P2?”. Há formas de lidar com essa questão de informação parcial? Isso é o que os probabilistas da escola bayesiana se perguntaram e o que eu pretendo dizer aqui é como responder positivamente essa pergunta.

A grande pergunta inicial é: como eu quantifico informação incompleta sobre algo? Em outras palavras, como eu digo a você quão fortemente eu acredito que algo é verdade? Uma vez determinada essa resposta a próxima pergunta é: como eu devo proceder, uma vez estabelecida o valor de uma proposição, para determinar o valor de outra proposição derivada dessa? Essas são as duas perguntas que eu vou tentar explicar como são respondidas pela teoria bayesiana.

Então para começo de conversa vamos estabelecer como se mede o grau de plausibilidade de algo (A. Caticha gosta de chamar de “degree of rational belief”, eu concordo com ele). Para cada proposição vamos criar uma função que associa a cada outra proposição um número real — a princípio irrestrito:

\Phi_{p} : \mathcal{P} \to \mathcal{R}, \forall p\in\mathcal{P}.

Aqui, \mathcal{P} é a coleção de proposições e \mathcal{R} o conjunto dos reais. Ao número \Phi_{P_1}(P_2) vamos chamar plausibilidade de P_2 no ambiente lógico (gerado por) P_1. Ou seja, esse número mede o quanto eu acredito em P_2 assumindo P_1 como “axioma”. Quanto maior o número maior minha crença.

Bem, não faz muito sentido apenas fazer isso. Preciso de algumas regras básicas para essa função. Essas regras devem me garantir que quando eu faço o “limite de certeza absoluta” eu recobre os resultados da lógica formal. Essas regras são chamadas axiomas de Cox e são bem simples e intuitivas. Melhor ainda: elas determinam \Phi_{p} quase univocamente (vamos entender esse quase adiante). Os axiomas de Cox são os seguintes:

A plausibilidade da negação de uma proposição é determinada assim que eu conheço a plausibilidade da própria proposição. Ou seja(2):

\Phi_{A}(\neg B) = F(\Phi_{A}(B)).

Parece razoável: quanto mais acredito em B, menos acredito em \neg B.  Note que há aqui a afirmação implícita de que a função que liga a plausibilidade de uma proposição com a plausibilidade da sua negação é única e independe de qual proposição estamos falando, nem do “ambiente lógico”.

A operação de negação é idempotente – ou seja, se eu aplicar a negação duas vezes, devo recuperar a proposição original(\neg \neg B = B). Essa propriedade nos fornece uma equação funcional para F(\cdot):

\Phi_{A}(\neg \neg B) = \Phi_{A}(B),

F(\Phi_{A}(\neg B)) = \Phi_{A}(B),

F(F(\Phi_{A}(B))) = \Phi_{A}(B).

Ou seja, para todos os valores u pertencentes à imagem de \Phi_{\cdot}(\cdot) devemos ter que:

F(F(u)) = u.

Ou seja, a função F(⋅) é idempotente também. Vamos reservar essa propriedade de F(\cdot) e prosseguir para o segundo axioma de Cox:

A plausibilidade da conjunção de duas proposições A\wedge B dada uma terceira proposição C (ou seja, \Phi_{C}(A \wedge B) ) deve depender apenas da plausibilidade de:

(1) plausibilidade de A dado C: \Phi_{C}(A);
(2) estabelecida a plausibilidade de A, quão plausível é B dado C : \Phi_{C\wedge A}(B).

Ou seja, estou assumindo a existência de mais uma “função universal”:

\Phi_{C}(A \wedge B) = G( \Phi_{C}(A) , \Phi_{C\wedge A}(B) ).

Também parece razoável: quando quero determinar se duas proposições são simultaneamente verdadeiras, estabeleço primeiro a validade da primeira e depois, dada a primeira, estabeleço a validade da segunda. É um pouco mais difícil tirar uma equação funcional para G(⋅ , ⋅) mas não é impossível. Considere a expressão:

\Phi_{B}(A_1 \wedge A_2 \wedge A_3).

Há duas formas diferentes de decompor essa expressão usando a função G(\cdot,\cdot): lembre-se que o conectivo \wedge é  associativo e comutativo e portanto:

\left(A_1 \wedge A_2\right) \wedge A_3 = A_1 \wedge \left(A_2 \wedge A_3\right).

Uma inferência consistente exige que essas duas formas dêem o mesmo resultado(3). Portanto:

G( \Phi_{B}(A_1 \wedge A_2) , \Phi_{B\wedge A_1 \wedge A_2}(A_3) ) = G(\Phi_{B}(A_1) , \Phi_{B\wedge A_1 }( A_2 \wedge A_3) ).

Aplicando novamente a definição de G(\cdot,\cdot):

G( G(\Phi_{B}(A_1),\Phi_{B \wedge A_1 }( A_2)) , \Phi_{B\wedge A_1 \wedge A_2}(A_3) ) = G(\Phi_{B}(A_1) , G(\Phi_{B\wedge A_1 }( A_2),\Phi_{B\wedge A_1 \wedge A_2 }( A_3)) ).

Se isso deve valer para quaisquer proposições então novamente tenho um equação funcional válida para quaiser u, v e w na imagem de \Phi_{\cdot}(\cdot)(4):

G(u,G(v,w)) = G(G(u,v),w).

Ou seja: a função G(⋅ , ⋅) também é associativa.

Um leitor apressado deve se perguntar nesse momento: e daí que você tem duas equações funcionais para essas funções arbitrárias F(⋅) e G(⋅ , ⋅) que você postulou do chapéu? O ponto é que essas duas equações funcionais generalíssimas definem univocamente estrutura de inferência! Sério mesmo. Não to brincando. E você conhece essa estrutura.

O coração da questão deriva de dois teoremas devidos a Cox. Para conseguir o primeiro teorema vamos usar o seguinte resultado (não vou provar aqui porque a prova é extensa e é encontrada na referência [2]).

Teorema da função associativa: dada qualquer função associativa G(u,v), existe uma função monotônica g(⋅) tal que:

g(G(u,v)) = g(u) g(v)

Isso é muito conveniente pois se escrevermos de novo a definição de G(\cdot,\cdot), temos:

\Phi_{C}(A \wedge B) = G( \Phi_{C}(A) , \Phi_{C\wedge A}(B) ),

e usarmos o teorema da função associativa, então obtemos:

g\left(\Phi_{C}(A \wedge B)\right) = g\left(\Phi_{C}(A)\right) g\left( \Phi_{C\wedge A}(B) )\right)

E agora posso simplesmente regraduar minha definição de plausibilidade. Uma vez que g() é monotônica, e portanto vai preservar a ordem com que eu classifico coisas como mais ou menos plausíveis, eu posso redefinir plausibilidade como:

\phi(A|B) = g(\Phi_{B}(A))

Mudei ligeiramente a notação para que o leitor possa apreciar melhor o que acontece com a antiga expressão que define G(⋅ , ⋅) com essa nova definição de plausibilidade:

\phi(A \wedge B | C) = \phi(B|C \wedge A) \phi(A|C)

Mas veja se essa não é a boa e velha regra do produto da teoria de probabilidades!!! Usando a comutatividade de \wedge eu ainda posso notar que:

\phi( B | C \wedge A) = \dfrac{\phi (A|C \wedge B) \phi (B|C)}{\phi (A|C)},

e essa não é nada mais que a regra de Bayes da teoria de probabilidades!

Mas calma, a nova função plausibilidade \phi(\cdot| \cdot) ainda não é uma probabilidade: não basta seguir essas duas regras, há uma série de condições na teoria axiomática de probabilidades para chamar algo com esse nome e a nossa função ainda não satisfaz todas. Tudo bem: ainda nos falta estudar as propriedades de F(\cdot)! Quem sabe isso ajude.

Novamente precisamos criar uma situação em que a demanda por consistência delimite as propriedades da função plausibilidade. Por exemplo temos a seguinte situação(5):

\phi(A \wedge B | C) = \phi(B|C \wedge A) \phi(A|C) =F\left(\phi(\neg B|C \wedge A)\right) \phi(A|C) .

Mas, pela regra do produto que deduzimos acima:

\phi(\neg B |C \wedge A) = \dfrac{\phi(A \wedge \neg B |C)}{\phi(A|C) }

e então:

\phi( A \wedge B | C) =\phi(A|C) F \left( \dfrac{\phi(A \wedge \neg B |C)}{\phi(A|C) }\right)

Mas lembre-se que a conjunção A \wedge B é simétrica, portanto toda essa expressão fica invariante se eu trocar A por B. E assim:

\phi(A|C) F \left( \dfrac{\phi(A \wedge \neg B |C)}{\phi(A|C) }\right)=\phi(B|C) F \left( \dfrac{\phi(B \wedge \neg A |C)}{\phi(B|C) }\right)

Se isso deve valer independente de quais são as proposições A, B e C, então eu posso, por exemplo, escolher uma particular proposição \neg B = A\wedge D. Note que com essa escolha temos as seguintes identidades: A\wedge \neg B = \neg B\neg A \wedge B = \neg A. Então:

\phi(A|C) F \left( \dfrac{\phi(\neg B |C)}{\phi(A|C) }\right)=\phi(B|C) F \left( \dfrac{\phi(\neg A |C)}{\phi(B|C) }\right)

\phi(A|C) F \left( \dfrac{F\left(\phi( B |C)\right)}{\phi(A|C) }\right)=\phi(B|C) F \left( \dfrac{F\left(\phi(A |C)\right)}{\phi(B|C) }\right)

O que finalmente resulta em mais uma equação funcional para F(⋅):

uF \left( \dfrac{F\left(v\right)}{u }\right)=v F \left( \dfrac{F\left(u\right)}{v }\right)

Novamente sem demonstrar, vou simplesmente afirmar que a solução mais geral dessa equação, submetida à condição de idempotência que deduzimos acima, é dada por:

F(u)^\alpha=(1-u^\alpha).

Note que para um \alpha qualquer isso restringe o dominio da função F(⋅), e portanto a imagem da função \phi(\cdot|\cdot), ao intervalo [0,1]. E veja o que acontece então com a regra que define F(⋅):

\phi(\neg A | B) ^\alpha + \phi(A|B)^\alpha = 1

Uma nova regraduação permite definir uma função Pr(A|B) =\phi(A|B)^\alpha com as seguintes propriedades:

  • Pr(A|B)\in[0,1]
  • Pr(A|B) + Pr(\neg A|B) = 1
  • Pr(A_1\wedge A_2|B) = Pr(A_2| B \wedge A_1)Pr(A_1 |B)

Esses não são exatamente os axiomas de Kolmogorov para a teoria de probabilidades mas… close enough para um post de blog. Isso tudo pode ser refinado com o devido grau de rigor matemático para satisfazer os exatos axiomas da teoria da probabilidade.

O que foi obtido com essa massagem matemática toda?

  1. É possível definir um sistema lógico de inferência baseado em informação incompleta e incerteza que atribui uma plausibilidade a cada proposição.
  2. Esse sistema lógico é único, a menos de uma regraduação monotônica da função plausibilidade. Isso faz com que uma ordenação segundo a plausibilidade seja única, uma vez que regraduações monotônicas não alteram essa ordem.
  3. A função plausibilidade satisfaz todas as regras que uma probabilidade legitima deve satisfazer (aqui não provei isso, mas apenas mostrei algumas coisas – para fazer isso rigorosamente precisa-se definir uma “sigma-álgebra de proposições”).

E qual é a utilidade prática disso? Bem… o mundo está cheio de situações de inferência baseada em informação incompleta. Particularmente, todo problema que depende de dados empíricos é, em essência, um problema dessa natureza e todo problema de inferência em ciência é assim. Uma vez que o único sistema de inferência para informação incompleta – como aí mostrado – é aquele que usa as regras  da teoria da probabilidade é razoável se supor que efetivamente usar essas regras explicitamente oferece vantagens sobre os métodos estatísticos ad hoc frequentemente usados, como os métodos de mínimos quadrados e outras formas de fitting de dados. Na verdade esse processo de inferência vai muito além disso – ele oferece ferramentas de modelagem física, de interpretação de modelos, de planejamento de experimentos e ainda mais. Mas disso eu vou tratar em um próximo post.

Notas:

(1) — Se você se interessa por nomes, o que se segue é devido a um certo número de pessoas — Edwin Jaynes, Harold Jeffreys e particularmente Richard Cox.

(2) — Estou usando os seguintes simbolos para os conectivos lógicos:

  • \neg — negação: \neg \mbox{Verdadeiro} = \mbox{Falso}
  • \wedge — o conectivo E (conjunção): \mbox{Verdadeiro} \wedge \mbox{Falso} = \mbox{Falso}
  • \vee — o conectivo OU (disjunção inclusiva): \mbox{Verdadeiro} \vee \mbox{Falso} = \mbox{Verdadeiro}

(3) — Lembre-se: queremos um sistema racional de atribuir um grau de confiança a algo.

(4) — Que pode ser obtida fazendo: u = \Phi_{B}(A_1), v = \Phi_{B \wedge A_1 }( A_2)) e w = \Phi_{B\wedge A_1 \wedge A_2 }( A_3).

(5) Note que eu tinha definido F(⋅) para a função original \Phi_{A}(B). Entretanto fizemos uma regraduação monotônica então nada me impede de abusar da linguagem e redefinir F(x) \to F(g(x)).

Referências:

[1] E. T. Jaynes, Probability Theory, the Logic of Science.
[2] A. Caticha, Lectures on Probability, Entropy, and Statistical Physics — arXiv:0808.0012v1 [physics.data-an]
[3] A. Caticha,  Quantifying Rational Belief — arXiv:0908.3212v1 [physics.data-an]

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 67 outros seguidores

%d blogueiros gostam disto: