Independência, Naive Bayes e Teoria da Decisão

Aula 2 — Fundamentos Estatísticos do Aprendizado Supervisionado

Marcos M. Raimundo — Instituto de Computação, UNICAMP

2026-08-26

Abertura

Revisão Rápida: A Aula 1 em Uma Frase

Um atributo \(x\in[0,1]\), duas classes, densidades Beta comparadas, limiar de decisão por cauda de probabilidade, erros Tipo I/II — sem teoria da decisão formal ainda.

Organizador Prévio

Nota

As três peças do curso (suposição distributiva, verossimilhança, regra de decisão) já apareceram na Aula 1, na versão mais enxuta possível. Hoje generalizamos cada uma.

Problema Motivador

Dica

Triagem médica com 5 doenças, cada uma com assinatura própria em dezenas de exames — não uma. A receita da Aula 1 (duas curvas, um eixo, um corte) não serve mais como está. O que sobrevive? O que precisa mudar?

Roteiro de Hoje

1. “Decida pela conjunta maior” vale com mais de 2 classes?

2. O que muda com \(\mathbf{x}\in\mathbb{R}^d\) em vez de \(x\in\mathbb{R}\)?

3. O que é, precisamente, um modelo generativo?

4. Como generalizar a teoria da decisão da Aula 1 para qualquer perda?

Pergunta

O que, na receita da Aula 1, sobrevive sem mudança quando passamos para várias classes e vários atributos — e o que precisa ser repensado?

Dica: separe mentalmente as três peças do curso (suposição distributiva, verossimilhança, regra de decisão) e pergunte, peça por peça, se ela dependia de ter só 2 classes ou só 1 atributo.

  • □ A prova da Aula 1 de que “decida pela conjunta maior” minimiza o erro nunca usou o valor \(K=2\) como hipótese — ela vale, passo a passo, também para \(K=5\) classes.
  • □ Estimar \(p(\mathbf{x}\mid\mathcal{C}_k)\) com \(\mathbf{x}\in\mathbb{R}^{50}\) enfrenta exatamente a mesma dificuldade prática que estimar \(p(x\mid\mathcal{C}_k)\) com \(x\in\mathbb{R}\), só que “em maior escala”.
  • □ A matriz de perda \(2\times 2\) da teoria da decisão informal da Aula 1 é um caso particular da formalização geral de função de perda que vamos generalizar hoje, no limite em que há só duas classes e a perda é fixa.
  • □ Como um modelo generativo consegue “sonhar” (gerar dados novos), isso significa que ele é sempre um classificador melhor do que um modelo puramente discriminativo.

Resposta

Resposta — o que sobrevive da Aula 1

  • ✔ A prova nunca usou \(K=2\) — vale também para \(K=5\).
  • ✗ Alta dimensão traz uma dificuldade qualitativa nova (maldição da dimensionalidade), não só “mais escala”.
  • ✔ A matriz \(2\times 2\) é o caso particular de duas classes e perda fixa da teoria geral.
  • ✗ Capacidade generativa (gerar dados) não implica melhor desempenho discriminativo — são propriedades diferentes.

Voltando à pergunta: a lógica da regra de decisão sobrevive quase intacta; o que muda de verdade é a dificuldade de estimar \(p(\mathbf{x}\mid\mathcal{C}_k)\) em alta dimensão — o fio que atravessa o resto desta aula.

Teorema de Bayes e Modelos Generativos

Bayes para K classes

Generaliza sem atrito para \(K\) classes:

\[ p(\mathcal{C}_k \mid \mathbf{x}) = \frac{p(\mathbf{x}\mid\mathcal{C}_k)\,\pi_k}{\sum_j p(\mathbf{x}\mid\mathcal{C}_j)\,\pi_j} \]

Regra ótima: \(\arg\max_k p(\mathbf{x}\mid\mathcal{C}_k)\,\pi_k\) — a prova da Aula 1 nunca usou \(K=2\).

Modelo generativo

Para calcular \(p(\mathcal{C}_k\mid\mathbf{x})\) você precisa de \(\pi_k\) e \(p(\mathbf{x}\mid\mathcal{C}_k)\). Juntos, eles são mais que um classificador — são uma receita executável:

  1. sorteie a classe: \(\mathcal{C}_k\) com probabilidade \(\pi_k\)
  2. sorteie os atributos: \(\mathbf{x}\sim p(\mathbf{x}\mid\mathcal{C}_k)\)

Já havendo estimado os dados. Duas chamadas ao gerador aleatório, na ordem. Um modelo assim se chama generativo porque dele se pode gerar.

Modelos Generativos, Discriminativos e IA Generativa

Regressão logística (Aula 6) modela \(p(\mathcal{C}_k\mid\mathbf{x})\) direto — nunca constrói \(p(\mathbf{x}\mid\mathcal{C}_k)\).

  • Pergunte a ela: “me dê um \(\mathbf{x}\) plausível da classe 2”.

  • A pergunta não faz sentido — ela nunca representou como \(\mathbf{x}\) se distribui.

Discriminativo decide. Generativo decide e sonha.

É a mesma palavra em “IA generativa”

esta aula modelo moderno
condição \(\mathcal{C}_k \sim \pi_k\) prompt / latente
gera \(\mathbf{x}\in\mathbb{R}^2\) imagem, tokens
\(p(\mathbf{x}\mid\cdot)\) gaussiana, 5 params rede, \(10^9\)+ params

Mudou a família de distribuições, não o conceito. E precisa de bilhões de parâmetros porque \(\mathbf{x}\) tem dimensão altíssima — o problema do histograma, de novo.

O que muda entre um modelo generativo gaussiano de 5 parâmetros e uma IA generativa moderna com bilhões — o conceito, ou só a família de distribuições?

Uma frase. Compare com um colega antes de avançar (2 min).

Bayes para \(K\) classes e modelos generativos

Dica

Julgue V ou F — a questão só conta se acertar os 4 itens:

  1. No limite em que \(K\to2\) (voltando ao caso binário), a regra do posterior máximo para \(K\) classes se reduz exatamente à regra de decisão binária da Aula 1.
  2. Se, em vez de sortear a classe primeiro, o modelo generativo sorteasse \(\mathbf{x}\) primeiro (de uma marginal \(p(\mathbf{x})\)) e só depois a classe condicional a \(\mathbf{x}\), essa ordem alternativa descreveria exatamente a mesma escolha de modelagem, só narrada ao contrário.
  3. Num sistema de biometria que classifica impressões digitais entre \(500\) pessoas cadastradas, a regra de Bayes ainda seria “decida pela classe \(k\) que maximiza \(p(\mathbf{x}\mid\mathcal{C}_k)\pi_k\)”, apenas com \(500\) termos para comparar em vez de \(2\).
  4. Como a evidência \(p(\mathbf{x})=\sum_j p(\mathbf{x}\mid\mathcal{C}_j)\pi_j\) soma sobre todas as \(K\) classes, problemas com muitas classes ficam sistematicamente mais difíceis de normalizar corretamente, do mesmo jeito que a maldição da dimensionalidade dificulta muitas variáveis.

Bayes para \(K\) classes e modelos generativos — Resposta

Dica

  1. Verdadeiro — a regra para \(K\) classes generaliza sem atrito; em \(K=2\) ela é literalmente a regra da Aula 1.
  2. Falso — a identidade \(p(\mathbf{x})p(\mathcal{C}_k\mid\mathbf{x})=p(\mathcal{C}_k)p(\mathbf{x}\mid\mathcal{C}_k)\) é sempre verdadeira, mas modelar \(p(\mathcal{C}_k\mid\mathbf{x})\) diretamente É a abordagem discriminativa — uma escolha de modelagem diferente, não uma simples narração ao contrário da mesma escolha.
  3. Verdadeiro — mais classes só significam mais termos a comparar na mesma soma, sem mudar a lógica da regra.
  4. Falso — somar \(K\) termos é uma conta trivialmente barata, linear em \(K\); não é o mesmo tipo de dificuldade que o crescimento exponencial \(M^d\) da maldição da dimensionalidade.

O que muda entre um modelo generativo gaussiano de 5 parâmetros e uma IA generativa moderna com bilhões — o conceito, ou só a família de distribuições?

Dica

(Uma frase. Compare com um colega antes de avançar.)

O que fazer em alta dimensão?

Bayes funciona para qualquer dimensão?

\[ p(\mathcal{C}_k\mid x) = \frac{p(x\mid\mathcal{C}_k)\,\pi_k}{\sum_j p(x\mid\mathcal{C}_j)\,\pi_j} \;\Longrightarrow\; \arg\max_k \; p(x\mid\mathcal{C}_k)\,\pi_k \]

  • Estimar: \(\pi_k\) (contar rótulos) e \(p(x\mid\mathcal{C}_k)\) (uma densidade por classe).

Vamos supor que você tente estimar \(p(\mathbf{x}\mid\mathcal{C}_k)\) do jeito mais ingênuo possível: um histograma multidimensional. Divida cada um dos \(d\) eixos em \(M\) células.

  • \(d=1\): 10 células. Com \(n=1000\), ~100 pontos por célula. Tranquilo.
  • \(d=2\): 20 células?
    • Não — 10 em \(x_1\) e 10 em \(x_2\) dão só as marginais. A conjunta pede uma célula por par: \(10\times10 = 100\).
    • Os 80 números a mais são a interação entre \(x_1\) e \(x_2\).
  • \(d=3\): uma célula por tripla, \(10^3\). Cada variável nova multiplica por 10 — não soma 10.

A conta quebra rápido

  • \(M\) divisões, \(d\) eixos \(\Rightarrow M^d\) células.
\(d\) células pontos/célula (\(n=10^6\))
1 \(10\) \(100\,000\)
3 \(10^{3}\) \(1\,000\)
6 \(10^{6}\) \(1\)
10 \(10^{10}\) \(0{,}0001\)
  • Célula vazia não estima densidade baixa — estima zero. Conjunta zerada, \(\log \to -\infty\): os zeros exatos da Aula 1, de novo.
  • Mas as \(10\times d = 100\) contagens marginais seriam estimáveis. O abismo entre 100 e \(10^{10}\) é o preço das interações — e o resto da aula é sobre abrir mão delas.

Quanto custa um histograma multidimensional?

  • Histograma multidimensional: \(M\) células por eixo, \(d\) eixos $M^d $$
  • \(d=1\): \(M=10\) células bastam.
  • \(d=10\): \(10^{10}\) células — mais que qualquer dataset real.
  • Não é falta de poder computacional. É falta de dados — o problema é estrutural, não de engenharia.

Por que “faltam dados” para estimar \(p(\mathbf{x}\mid\mathcal{C}_k)\) em alta dimensão é diferente de “falta poder computacional”?

Explique a um colega em uma frase. Se comprássemos 100× mais GPUs, o problema desapareceria?

“Faltam dados” é o mesmo problema que “falta poder computacional”?

Dica

Comprar 100× mais GPUs resolveria?

(Uma frase. Compare com um colega.)

Independência e Naive Bayes

Independências

  • Independência: \(p(x_i, x_j) = p(x_i)\,p(x_j) \iff p(x_i \mid x_j) = p(x_i)\)

Observar \(x_j\) não altera em nada a crença sobre \(x_i\).

  • Independência condicional: \(p(x_i, x_j \mid z) = p(x_i \mid z)\, p(x_j \mid z) \iff p(x_i \mid x_j, z) = p(x_i \mid z)\)

Uma vez conhecido \(z\), observar \(x_j\) não acrescenta nada de novo.

\(x_j\) pode ser muito informativa sobre \(x_i\) — mas toda essa informação já está em \(z\).

As duas não são a mesma coisa

(a) “Grátis” e “ganhador”, cond. independentes dada a classe. Marginalizando: \(p(1,1) = 0{,}255\) vs. \(0{,}44 \times 0{,}31 = 0{,}136\).

Dependentes no corpus — a classe é causa comum.

(b) \(x_1, x_2\) moedas independentes, \(\mathcal{C} = x_1 \oplus x_2\).

Dado \(\mathcal{C}=1\): \(x_2 = 1 - x_1\). Condicionar criou dependência.

Bayes sob independência condicional

\[ p(\mathbf{x}\mid\mathcal{C}_k) = \prod_{i=1}^{d} p(x_i\mid\mathcal{C}_k) \]

\[ \arg\max_k \; \pi_k \prod_{i=1}^{d} p(x_i\mid\mathcal{C}_k) \]

  1. marginais a estimar — as que sobreviviam à contagem de células
  2. \(2^d - 1 \to d\) parâmetros por classe
  3. \(\log\): produto vira soma, uma parcela por atributo

Este é o Naive Bayes. O adjetivo é justo — e o resto da aula é sobre o que se perde.

Suposição de Independência e Naive Bayes

Spam: \(\mathbf{x}\in\{0,1\}^d\), presença/ausência de \(d\) palavras.

Sem estrutura: \(2^d-1\) parâmetros por classe. Com \(d=20\): mais de 1 milhão.

Naive Bayes — independência condicional dada a classe: \[ p(\mathbf{x}\mid\mathcal{C}_k) = \prod_{i=1}^d p(x_i\mid\mathcal{C}_k) \]

Inferencia em Naive Bayes

flowchart TD
    C(("𝒞ₖ")) --> x1["x₁ (#quot;grátis#quot;)"]
    C --> x2["x₂ (#quot;reunião#quot;)"]
    C --> x3["x₃ (#quot;urgente#quot;)"]
    C --> xd["x_d"]

Mesma armadilha da Aula 1: palavra nunca vista numa classe \(\Rightarrow\) \(\hat\theta=0 \Rightarrow \ln 0 = -\infty\). Correção: suavização de Laplace (\(+1\) no numerador, \(+2\) no denominador).

Decisão: comparar \(\log\dfrac{p(\text{spam}\mid\mathbf{x})}{p(\text{não-spam}\mid\mathbf{x})}\) contra zero — uma soma de termos, um por palavra.

O algoritmo Naive Bayes

Escolha: para cada atributo \(i\), uma família \(\mathcal{F}_i\) para \(p(x_i\mid\mathcal{C}_k)\).

Treino

  1. \(\hat\pi_k = N_k / N\)
  2. para cada \((k, i)\): ajuste \(\hat p(x_i\mid\mathcal{C}_k)\) em \(\mathcal{F}_i\), usando só a coluna \(i\) das linhas da classe \(k\)

Predição

  1. \(s_k = \log\hat\pi_k + \sum_{i=1}^{d} \log \hat p(x_i\mid\mathcal{C}_k)\)
  2. devolva \(\arg\max_k s_k\)

Três detalhes

  • Passo 2: são \(d\times K\) ajustes 1-D independentes. Nenhum vê mais de uma coluna. Daí a escalabilidade em \(d\).
  • Passo 3: log, não produto. Centenas de fatores \(<1\) dão underflow.
  • Um zero em qualquer atributo manda \(s_k \to -\infty\) sozinho. Correção da Aula 1: contagens fictícias antes de normalizar.

A escolha do passo 2

atributo família por classe
binário Bernoulli 1 prob.
categórico (\(M\) níveis) Categórica \(M-1\)
contagem Multinomial taxa/termo
contínuo, forma conhecida Gaussiana 1-D \(\mu_{ik}, \sigma^2_{ik}\)
contínuo, forma livre histograma / KDE \(M\) contagens

Famílias diferentes por coluna são permitidas — idade, estado civil e “tem cartão” convivem. O passo 3 soma os logs indiferentemente.

Dê um exemplo de par de atributos em que a independência condicional do Naive Bayes parece particularmente errada — e outro em que parece razoável

Escreva os dois exemplos, num problema que você conheça.

Independência e Naive Bayes

Dica

Julgue V ou F — a questão só conta se acertar os 4 itens:

  1. No limite em que a classe \(C\) explica perfeitamente toda a variação de \(X_1\) e \(X_2\) (ambas se tornam funções determinísticas de \(C\)), \(X_1\) e \(X_2\) se tornam condicionalmente independentes dada \(C\) de forma trivial, mas continuam fortemente dependentes marginalmente.
  2. Se todos os \(d\) atributos fossem fortemente dependentes entre si dada a classe (violando bastante a suposição), o Naive Bayes ainda produziria alguma estimativa de posteriori ao aplicar sua fórmula de produto — só que uma aproximação pior da verdadeira posteriori.
  3. Num jogo de cartas, a carta sorteada por dois jogadores de baralhos separados, embaralhados de forma independente, é marginalmente independente E condicionalmente independente dada qualquer variável adicional — não há causa comum possível nesse cenário.
  4. Como um zero numa probabilidade condicional pode ser corrigido por suavização, a suavização também torna o Naive Bayes imune a qualquer violação da suposição de independência condicional.

Independência e Naive Bayes — Resposta

Dica

  1. Verdadeiro — dado \(C\), ambas viram constantes (independência condicional trivial), mas conhecer \(X_1\) revela \(C\), que revela \(X_2\) — dependência marginal máxima.
  2. Verdadeiro — o algoritmo não verifica sua própria suposição; ele sempre calcula um produto de verossimilhanças, só que a qualidade dessa aproximação piora quanto mais a suposição for violada.
  3. Verdadeiro — sem nenhum mecanismo causal compartilhado, as duas noções de independência coincidem e ambas se sustentam.
  4. Falso — suavização resolve um problema numérico específico (probabilidade zero quebrando o log); não diz nada sobre se a suposição de independência condicional é razoável para os dados.

Dê um exemplo de par de atributos em que a independência condicional do Naive Bayes parece particularmente errada — e outro em que parece razoável

Dica

(Compare os dois exemplos com um colega.)

Teoria da decisão

O objeto geral

Regra \(\delta:\mathbf{x}\mapsto a\in\mathcal{A}\) (espaço de ações, não necessariamente de classes). Perda \(L(k,a)\).

\[ \rho(a\mid\mathbf{x}) = \sum_k L(k,a)\,p(\mathcal{C}_k\mid\mathbf{x}) \]

\[ \delta^\star(\mathbf{x}) = \arg\min_{a} \rho(a\mid\mathbf{x}) \]

Divisão de trabalho: o modelo dá a posteriori, a perda vem de fora, \(\delta^\star\) combina as duas.

O binário: tudo vira um limiar

\(\rho(A\mid\mathbf{x}) = c_{\mathrm{II}}\,p(\mathcal{C}_B\mid\mathbf{x})\), \(\quad\rho(B\mid\mathbf{x}) = c_{\mathrm{I}}\,p(\mathcal{C}_A\mid\mathbf{x})\)

\[ \text{decida } A \iff p(\mathcal{C}_A\mid\mathbf{x}) > \frac{c_{\mathrm{II}}}{c_{\mathrm{I}}+c_{\mathrm{II}}} \]

O limiar depende só de custos e prioris — nunca de \(\mathbf{x}\).

Só a razão importa: dobrar os dois custos não muda nada.

Custos não mudam a evidência

A curva \(p(\mathcal{C}_A\mid x)\) é o que o modelo sabe — ela não se move.

O que se move é o corte:

\(c_{II}/c_I = 1 \Rightarrow t = 0{,}50\) \(\quad\cdot\quad\) \(= 5 \Rightarrow t = 0{,}83\) \(\quad\cdot\quad\) \(= 20 \Rightarrow t = 0{,}95\)

“O modelo está bom?” é sobre a curva. “Onde cortar?” é sobre custos — e isso não está nos dados.

Escolher custo = escolher qual erro cometer

Nenhum limiar reduz os dois erros ao mesmo tempo.

As duas curvas se cruzam em \(c_{II}/c_I = 1\): a perda 0-1.

Ou seja: usar acurácia é declarar que os dois erros custam o mesmo.

Quase nunca custam.

De onde vêm os números

consequência ordem
\(c_{\mathrm{I}}\) deixa passar fraude valor transacionado R$ 800
\(c_{\mathrm{II}}\) bloqueia legítima atendimento + churn R$ 40

Razão \(0{,}05 \Rightarrow t \approx 0{,}048\): bloqueie com pouca evidência.

Custos não são estimáveis dos dados — são declaração sobre consequências.

Difícil fixar? Reporte o sistema para toda a faixa de \(t\) e deixe a escolha explícita.

Risco de Bayes

\[ R^\star = \mathbb{E}_{\mathbf{X}}\!\left[\min_{a} \rho(a\mid\mathbf{X})\right] \]

Generaliza o erro de Bayes para perda arbitrária — dado o modelo verdadeiro.

Ótima se a posteriori estiver certa. Naive Bayes erra a posteriori e decide bem mesmo assim.

Otimalidade da regra e correção do modelo são perguntas separadas.

E a lacuna aparece justamente quando os custos ficam assimétricos: aí o limiar sai de \(0{,}5\) e passa a depender do valor da posteriori.

Teoria da decisão e risco de Bayes

Dica

Julgue V ou F — a questão só conta se acertar os 4 itens:

  1. No limite em que a matriz de perda \(L\) atribui custo zero a TODAS as ações (certas ou erradas), o risco posterior \(\rho(a\mid\mathbf{x})\) é zero para qualquer ação, e a regra de Bayes fica indiferente entre todas as opções.
  2. Se o espaço de ações \(\mathcal{A}\) tivesse mais opções que o espaço de classes \(\mathcal{Y}\) (por exemplo, incluindo rejeitar), a regra de Bayes ainda seria “minimize o risco posterior”, só que comparando mais valores de \(\rho\).
  3. Num pronto-socorro com 4 níveis de prioridade como espaço de ações, e uma matriz de perda que penaliza fortemente sub-triar uma emergência, a regra de Bayes ainda seria calculada minimizando o risco posterior ponderado por essa matriz de perda específica.
  4. Como o risco posterior é calculado a partir da posteriori \(p(\mathcal{C}_k\mid\mathbf{x})\), uma posteriori mal calibrada sempre produz uma regra de decisão pior do que uma bem calibrada, para qualquer matriz de perda \(L\).

Teoria da decisão e risco de Bayes — Resposta

Dica

  1. Verdadeiro — com todo custo igual a zero, \(\rho(a\mid\mathbf{x})=0\) para qualquer \(a\); não há ação melhor que outra.
  2. Verdadeiro — a lógica de “minimize o risco posterior” não depende de \(|\mathcal{A}|=|\mathcal{Y}|\); a rejeição é só mais uma ação a comparar.
  3. Verdadeiro — a teoria da decisão não é específica de nenhum domínio; espaço de ações e matriz de perda vêm da aplicação.
  4. Falso — sob perda 0-1, só o argmax da posteriori importa; uma posteriori mal calibrada mas com o ranking certo produz a mesma decisão ótima (é o próprio ponto do Naive Bayes “classifica bem, estima mal”). A afirmação falha justamente por dizer “sempre… para qualquer \(L\)” — sob perda assimétrica isso já não vale mais.

Fechamento

  1. A regra generaliza para \(K\) classes sem atrito — o que custa é estimar em alta dimensão (\(M^d\) células).
  2. Naive Bayes: \(2^d-1 \to d\). O preço em acurácia é fixo; o que muda com \(d\) é a alternativa deixar de existir.
  3. Decisão é ótima dado o modelo; custos entram só pelo limiar.

Ponte para a Aula 3

Naive Bayes decide a estrutura antes dos dados. Árvores: nenhuma suposição sobre a densidade, divisões construídas gulosamente — inclusive as interações que o naive descartou. O preço da liberdade é o assunto de lá.