Redes Bayesianas

Professora

O que são redes bayesianas?

Redes bayesianas são modelos gráficos probabilísticos que representam relações de dependência entre variáveis. Cada nó é uma variável aleatória, e cada aresta direcionada indica influência causal ou condicional. A estrutura é um grafo acíclico direcionado (DAG), que proíbe ciclos de dependência. Cada nó possui uma tabela de probabilidade condicional (CPT) dado seus pais. A rede codifica a distribuição conjunta de todas as variáveis de forma fatorada. Isso reduz drasticamente o número de parâmetros necessários para modelar sistemas complexos. Por exemplo, com 10 variáveis binárias, a tabela conjunta teria 2^10 = 1024 valores. Com uma rede esparsa, esse número cai para poucas dezenas. Portanto, redes bayesianas são eficientes e interpretáveis para inferência sob incerteza.

Características fundamentais

As redes bayesianas possuem três características principais que as definem. Primeiro, elas são baseadas no teorema de Bayes para atualização de crenças. Segundo, a independência condicional é codificada pela estrutura do grafo. Dado seus pais, cada nó é independente de todos os seus não-descendentes. Terceiro, a inferência pode ser exata (por eliminação de variáveis) ou aproximada (MCMC). Elas também permitem aprendizado estrutural (descobrir o grafo) e paramétrico (estimar CPTs). Além disso, lidam naturalmente com dados faltantes usando expectativa-maximização. Redes bayesianas são robustas a overfitting quando prioris são usados.

Vantagens e aplicações típicas

A principal vantagem é a capacidade de raciocínio causal e diagnóstico. Elas são usadas em sistemas de suporte à decisão médica (ex.: diagnóstico de doenças). Também são aplicadas em detecção de falhas, mineração de dados e bioinformática. Outra vantagem é a transparência: cada aresta tem uma interpretação clara. Contudo, aprender a estrutura ótima é um problema NP-difícil em geral. Ainda assim, heurísticas como busca gulosa ou algoritmos genéticos são usadas.

A construção de uma rede bayesiana começa com a definição das variáveis relevantes. Em seguida, o especialista ou algoritmo define as arestas baseadas em dependências. Cada nó tem uma CPT que especifica P(nó | pais) para todas as combinações. A distribuição conjunta é o produto de todas as CPTs: P(X₁,…,Xₙ) = ∏ P(Xᵢ | pais). A inferência responde a perguntas como: qual a probabilidade de doença dado um sintoma? Isso é feito por propagação de crenças em redes com estrutura de árvore. Para redes gerais, usa-se o algoritmo de eliminação de variáveis ou amostragem. A amostragem de Gibbs é comum para aproximações quando o grafo é grande. Redes bayesianas dinâmicas estendem o modelo para séries temporais. Elas incluem arestas entre estados consecutivos, como em filtros de Kalman. Aprendizado de estrutura busca o DAG que melhor explica os dados observados. Medidas como BIC (Bayesian Information Criterion) ou AIC são usadas. A busca é feita por operadores de adição, remoção ou inversão de arestas. Assim, redes bayesianas são ferramentas versáteis para modelagem probabilística.

Um exemplo clássico é a rede de diagnóstico de pneumonia com variáveis: Febre, Tosse, Raio-X, e Doença. A febre e a tosse são sintomas que podem ser causados pela pneumonia. O raio-X é um teste que também depende da doença. A rede permite calcular P(Pneumonia | Febre=True, Tosse=True, Raio-X=Anormal).


Enunciado do exemplo clássico

Implemente uma rede bayesiana para o problema “Chuva” e “Gramado Molhado”. Variáveis: Chuva (R), Irrigação (I), Gramado Molhado (G), e Tempo Nublado (N). Relações: N influencia R; R e I influenciam G (cada um independente). Defina probabilidades condicionais manualmente. Calcule P(G | R=True) e P(R | G=True, I=False) usando inferência exata. Plote a estrutura da rede (grafo) e uma tabela com as probabilidades solicitadas.

Este código implementa uma rede bayesiana manual com inferência por enumeração. A estrutura do grafo mostra as dependências causais entre as variáveis. Os resultados da inferência respondem perguntas condicionais diretamente. A enumeração é exata para redes pequenas, mas escala mal para muitas variáveis. Para iniciantes, este exemplo demonstra a mecânica fundamental das redes bayesianas. Elas são, portanto, uma ferramenta poderosa e didática para raciocínio probabilístico.

IA Bayesiana

Professora

O que é a IA bayesiana?

A IA bayesiana é um ramo da inteligência artificial baseado no teorema de Bayes. Ela trata a incerteza de forma probabilística, atualizando crenças com novas evidências. Diferentemente da IA clássica, ela não produz respostas pontuais, mas distribuições de probabilidade. Cada predição vem acompanhada de um intervalo de confiança ou credibilidade. Isso é crucial para decisões críticas em medicina, finanças e robótica. A IA bayesiana incorpora conhecimento prévio (prior) e dados observados (likelihood). O resultado é uma distribuição a posteriori que combina ambas as fontes. Portanto, ela é naturalmente adaptativa e resistente a overfitting. Ela também permite aprendizado contínuo com a chegada de novos dados.

Características fundamentais da abordagem bayesiana

A IA bayesiana possui três pilares conceituais que a distinguem. Primeiro, a probabilidade é interpretada como grau de crença subjetiva. Segundo, o teorema de Bayes é a regra de atualização: P(A|B) = P(B|A)*P(A)/P(B). Terceiro, todas as inferências são feitas integrando sobre distribuições completas. Não há estimativas pontuais como máximo de verossimilhança sem incerteza. Além disso, a escolha do prior é fundamental e deve ser justificada. Prioris informativos aceleram a convergência; prioris fracos deixam os dados falar. A IA bayesiana também lida naturalmente com dados faltantes e hierárquicos. Ela é computacionalmente intensiva, mas métodos MCMC e variacionais aliviam isso.

Vantagens e aplicações típicas

A principal vantagem é a quantificação rigorosa da incerteza nas decisões. Isso é vital em sistemas autônomos que operam em ambientes ruidosos. Além disso, a IA bayesiana é interpretável, pois cada parâmetro tem um significado. Ela é usada em filtros de Kalman, redes bayesianas e otimização bayesiana. Também é aplicada em diagnóstico médico, detecção de fraudes e recomendação. Contudo, a escolha do prior pode ser subjetiva e influenciar os resultados. Ainda assim, a IA bayesiana é uma das abordagens mais fundamentais da estatística.

O teorema de Bayes foi formulado no século XVIII, mas sua aplicação em IA é recente. Com o aumento da capacidade computacional, ela se tornou viável em grande escala. Redes bayesianas modelam relações causais entre variáveis de forma gráfica. Cada nó é uma variável e cada aresta representa uma dependência probabilística. A inferência nessas redes é feita por propagação de crenças (belief propagation). Na otimização bayesiana, usa-se um modelo substituto (geralmente Gaussian Process). Ele guia a busca por máximos de funções caras de avaliar. A cada iteração, a função de aquisição equilibra exploração e explotação. Isso é amplamente usado em ajuste de hiperparâmetros de machine learning. A IA bayesiana também é a base de algoritmos de aprendizado por reforço. Ela permite que agentes aprendam políticas com incerteza sobre o ambiente. Sua robustez a ruído a torna superior a métodos determinísticos em muitos casos. Por fim, ela fornece intervalos de credibilidade, não apenas pontuações. Assim, a IA bayesiana é uma filosofia de modelagem tão poderosa quanto elegante.

Um exemplo clássico é o problema do diagnóstico médico com testes imperfeitos. Dada a prevalência de uma doença e a acurácia do teste, calcula-se a probabilidade pós-teste. O teorema de Bayes atualiza a crença inicial com o resultado do exame. Esse exemplo ilustra perfeitamente a essência da inferência bayesiana.


Enunciado do exemplo clássico

Implemente um classificador bayesiano ingênuo (Naive Bayes) para prever se um e-mail é spam. Use o conjunto de dados sintético com duas características: frequência de “grátis” e “urgente”. Gere 200 e-mails (100 spam, 100 não-spam) com distribuições Gaussianas. Treine o modelo calculando as probabilidades a priori e as verossimilhanças. Teste em 50 novos e-mails e plote a fronteira de decisão com os pontos de teste. Plote também a matriz de confusão e a acurácia do classificador.

Este código usa o Gaussian Naive Bayes do scikit-learn para classificação. A fronteira de decisão mostra como o modelo separa as duas classes. A matriz de confusão revela o desempenho detalhado do classificador. O exemplo final demonstra a inferência probabilística para um novo e-mail. Para iniciantes, este exemplo conecta o teorema de Bayes à prática. A IA bayesiana é, portanto, uma abordagem fundamental e acessível.