Exercícios — Independência, Naive Bayes e Teoria da Decisão

Aula 2 — Fundamentos Estatísticos do Aprendizado Supervisionado

Autor

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

Aula Soluções

Questões discursivas

  1. Um colega propõe estimar \(p(\mathbf{x} \mid \mathcal{C}_k)\) em \(\mathbb{R}^{15}\) ajustando um histograma multidimensional com \(M=8\) células por eixo. Calcule o número de células e explique, em termos do argumento de que cada nova dimensão multiplica (em vez de somar) o número de células de um histograma multidimensional, por que essa abordagem é inviável mesmo com um dataset de 10 milhões de pontos.

  2. O Naive Bayes assume \(p(\mathbf{x}\mid\mathcal{C}_k) = \prod_i p(x_i\mid\mathcal{C}_k)\) — os atributos são condicionalmente independentes dada a classe. Descreva uma situação de classificação (pode ser hipotética) em que essa suposição é fortemente violada, mas o classificador ainda assim tem boa acurácia. Que propriedade da fronteira de decisão explica essa aparente contradição?

  3. (Adaptado de PRML, Exercício 1.25) Considere um problema de decisão de \(K\) classes com uma matriz de perda \(L\) arbitrária (não necessariamente 0-1), em que \(L(k,a)\) denota o custo de tomar a ação \(a\) quando a verdade é a classe \(\mathcal{C}_k\). Escreva o risco posterior \(\rho(a\mid\mathbf{x})\) e a regra de Bayes correspondente. Em que condições sobre \(L\) a regra de Bayes se reduz à regra do posterior máximo (0-1)?

Questões de Verdadeiro/Falso

Cada bloco de 4 itens trata do mesmo tema. A questão só é considerada correta se todos os 4 itens forem julgados corretamente (deixar em branco tem penalidade de 20% da nota da questão).

Considere estimar a densidade condicional de classe \(p(\mathbf{x}\mid\mathcal{C}_k)\) construindo um histograma multidimensional: cada um dos \(d\) eixos (atributos) de \(\mathbf{x}\in\mathbb{R}^d\) é dividido em \(M\) células, o que dá um total de \(M^d\) células na grade. Com \(M=10\) e \(d=15\), por exemplo, isso já significa \(10^{15}\) células — um número muito maior do que qualquer conjunto de dados real poderia preencher com uma quantidade razoável de pontos por célula.

NotaTeste 1 — A maldição da dimensionalidade
  • □ No limite em que \(d\to\infty\), mantendo \(M=10\) fixo por eixo, o número de células \(M^d\) cresce mais rápido do que qualquer conjunto de dados de tamanho polinomial em \(d\).

  • □ Se, em vez de \(M\) células por eixo, usássemos apenas \(M=2\) (uma grade binária), o problema de crescimento exponencial em \(d\) desapareceria.

  • □ Num problema de reconhecimento de imagens em que cada pixel é uma dimensão (por exemplo, \(28\times28=784\) dimensões), um histograma multidimensional ingênuo seria ainda mais inviável do que o exemplo de \(d=15\) descrito acima.

  • □ Como o problema vem do crescimento exponencial de \(M^d\), comprar mais capacidade computacional (mais GPUs) resolveria a maldição da dimensionalidade.

Numa classificação com \(K\) classes e um espaço de ações \(\mathcal{A}\) (que pode incluir mais opções do que classes, como a de “rejeitar”), uma função de perda \(L(k,a)\) dá o custo de tomar a ação \(a\) quando a verdade é a classe \(\mathcal{C}_k\). O risco posterior de uma ação em \(\mathbf{x}\) é \(\rho(a\mid\mathbf{x}) = \sum_{k=1}^K L(k,a)\,p(\mathcal{C}_k\mid\mathbf{x})\), e a regra de Bayes \(\delta^\star(\mathbf{x}) = \arg\min_{a} \rho(a\mid\mathbf{x})\) minimiza esse risco para cada \(\mathbf{x}\). Sob a perda 0-1 (\(L(k,a)=0\) se \(a=k\) e \(L(k,a)=1\) caso contrário), a regra de Bayes coincide com a regra do posterior máximo: decidir pela classe \(k\) de maior \(p(\mathcal{C}_k\mid\mathbf{x})\). O risco de Bayes \(R^\star=\mathbb{E}_{\mathbf{X}}\!\left[\min_a \rho(a\mid\mathbf{X})\right]\) é o menor risco esperado possível, calculado supondo que o modelo usado para \(p(\mathcal{C}_k\mid\mathbf{x})\) é o verdadeiro processo gerador dos dados.

NotaTeste 2 — Teoria da decisão: risco e regra de Bayes
  • □ No limite em que a matriz de perda \(L\) se torna a perda 0-1, a regra de Bayes coincide exatamente com a regra do posterior máximo.

  • □ Se a matriz de perda \(L\) fosse alterada para ter custos muito diferentes entre os tipos de erro, mas a posteriori \(p(\mathcal{C}_k\mid\mathbf{x})\) permanecesse a mesma, a regra de decisão ótima poderia mudar, mesmo sem nenhuma mudança na posteriori.

  • □ Num sistema de aprovação de crédito, se o custo de aprovar um mau pagador for muito maior que o de recusar um bom pagador, a regra ótima recusará crédito mesmo para clientes com posteriori de bom pagador moderadamente alta (ex: \(60\%\)), não só abaixo de \(50\%\).

  • □ Como o risco de Bayes \(R^\star\) é o menor risco esperado dado o modelo verdadeiro, conclui-se que \(R^\star=0\) sempre que o modelo \(p(\mathbf{x},\mathcal{C}_k)\) usado for corretamente especificado.

Num problema de classificação com \(K\) classes \(\mathcal{C}_1,\dots,\mathcal{C}_K\), o Teorema de Bayes dá \(p(\mathcal{C}_k\mid\mathbf{x}) = p(\mathbf{x}\mid\mathcal{C}_k)\,\pi_k \big/ \sum_{j=1}^K p(\mathbf{x}\mid\mathcal{C}_j)\,\pi_j\), com \(\pi_k=p(\mathcal{C}_k)\) a priori de cada classe. A regra que minimiza a probabilidade de erro é decidir pela classe de maior conjunta, \(\arg\max_k p(\mathbf{x}\mid\mathcal{C}_k)\,\pi_k\) — regra cuja prova de otimalidade nunca usa o valor de \(K\) como hipótese. Um modelo generativo para esse problema é uma receita executável em duas etapas: (1) sorteie uma classe \(\mathcal{C}_k\) com probabilidade \(\pi_k\); (2) dada a classe, sorteie \(\mathbf{x}\sim p(\mathbf{x}\mid\mathcal{C}_k)\).

NotaTeste 3 — Bayes para \(K\) classes e modelos generativos
  • □ Se, em vez de \(K=2\), tivéssemos \(K=5\) classes, a regra “decida pela conjunta maior” deixaria de valer, sendo necessário reformular do zero o argumento de otimalidade descrito acima.

  • □ No limite em que a priori de uma das \(K\) classes tende a zero, a probabilidade de o modelo generativo sortear essa classe tende a zero, mesmo que sua condicional \(p(\mathbf{x}\mid\mathcal{C}_k)\) seja idêntica às demais.

  • □ Num sistema de diagnóstico com 5 doenças possíveis mutuamente exclusivas mais “saudável” (6 classes), a evidência \(p(\mathbf{x})\) ainda seria a soma da conjunta sobre as 6 classes, só com mais termos do que no caso \(K=2\).

  • □ Como substituir a família gaussiana por uma rede neural profunda muda a forma funcional usada para \(p(\mathbf{x}\mid\mathcal{C}_k)\), isso também muda o conceito de modelo generativo em si.

Um modelo generativo de classificação é uma receita executável em duas etapas: primeiro sorteia-se uma classe \(\mathcal{C}_k\) segundo a priori \(\pi_k\), depois sorteia-se \(\mathbf{x}\sim p(\mathbf{x}\mid\mathcal{C}_k)\) dada essa classe. Um modelo discriminativo, em contraste, modela apenas \(p(\mathcal{C}_k\mid\mathbf{x})\) diretamente, sem nunca construir \(p(\mathbf{x}\mid\mathcal{C}_k)\).

NotaTeste 4 — O modelo generativo em duas etapas
  • □ No limite em que todas as \(K\) classes têm a mesma condicional \(p(\mathbf{x}\mid\mathcal{C}_k)\), o modelo generativo em duas etapas se reduz, na prática, a sortear \(\mathbf{x}\) de uma única distribuição comum, independentemente de qual classe foi sorteada.

  • □ Se um modelo discriminativo fosse usado no lugar do modelo generativo, ainda seria possível gerar novos dados sintéticos \(\mathbf{x}\) amostrando do modelo ajustado, exatamente como no caso generativo.

  • □ Num sistema que gera imagens sintéticas de rostos realistas, o procedimento é conceitualmente uma amostragem de \(p(\mathbf{x})\) (ou \(p(\mathbf{x}\mid\mathcal{C}_k)\)) — a mesma ideia central do modelo generativo descrito acima, com uma família de distribuições muito mais sofisticada.

  • □ Como um modelo discriminativo modela diretamente a fronteira sem passar por \(p(\mathbf{x}\mid\mathcal{C}_k)\), conclui-se que ele modela diretamente \(p(\mathbf{x})\), em vez da posteriori.

Um modelo discriminativo modela diretamente a posteriori \(p(\mathcal{C}_k\mid\mathbf{x})\) (ou só a fronteira entre classes), sem nunca construir \(p(\mathbf{x}\mid\mathcal{C}_k)\) nem \(p(\mathbf{x})\). Um modelo generativo, em contraste, modela \(p(\mathbf{x}\mid\mathcal{C}_k)\) e \(\pi_k\), o que permite também gerar (amostrar) novos dados sintéticos.

NotaTeste 5 — Generativo, discriminativo e “IA generativa”
  • □ No limite em que um classificador discriminativo só precisa prever a classe mais provável (sem uma pontuação de confiança calibrada), ele pode dispensar completamente qualquer estimativa exata de \(p(\mathbf{x}\mid\mathcal{C}_k)\) ou de \(p(\mathcal{C}_k\mid\mathbf{x})\), bastando aprender a fronteira certa.

  • □ Se um modelo discriminativo, além de aprender a fronteira, também precisasse necessariamente estimar \(p(\mathbf{x})\) como subproduto do treinamento, ele deixaria de ser, por definição, discriminativo.

  • □ Num problema em que se quer não só classificar e-mails como spam, mas também gerar exemplos sintéticos de spam para aumentar o treino, um modelo puramente discriminativo não bastaria para essa segunda tarefa, mesmo sendo excelente na primeira.

  • □ Como um modelo discriminativo “joga fora” a informação de \(p(\mathbf{x}\mid\mathcal{C}_k)\) que o generativo usaria, conclui-se que ele sempre precisa de mais parâmetros do que um modelo generativo equivalente para o mesmo problema.

Causa comum. Sejam \(x_1\) e \(x_2\) dois atributos binários (por exemplo, a presença das palavras “grátis” e “ganhador” num e-mail) condicionalmente independentes dada a classe \(C\in\{\text{spam},\text{ham}\}\): \(p(x_1,x_2\mid C)=p(x_1\mid C)\,p(x_2\mid C)\). Com \(\pi_{\text{spam}}=0{,}5\), \(p(x_1{=}1\mid\text{spam})=0{,}85\), \(p(x_2{=}1\mid\text{spam})=0{,}60\), \(p(x_1{=}1\mid\text{ham})=0{,}03\) e \(p(x_2{=}1\mid\text{ham})=0{,}02\), marginalizar a classe (regra da soma) dá \(p(x_1{=}1,x_2{=}1)=0{,}255\), contra \(p(x_1{=}1)\,p(x_2{=}1)=0{,}136\) se fossem independentes — ou seja, \(x_1\) e \(x_2\) são condicionalmente independentes dada a classe, mas fortemente dependentes marginalmente, porque a classe funciona como causa comum.

XOR. Sejam agora \(x_1,x_2\) duas moedas honestas e independentes, e \(C = x_1\oplus x_2\) (ou-exclusivo). Marginalmente \(x_1\) e \(x_2\) são independentes. Mas, dado \(C=1\), tem-se \(x_2 = 1-x_1\) com certeza — uma dependência perfeita que só aparece depois de condicionar em \(C\).

NotaTeste 6 — Contraexemplos de independência: causa comum e XOR
  • □ No exemplo de “causa comum” (grátis/ganhador dado a classe), no limite em que a classe deixa de ter qualquer influência sobre as duas palavras, a dependência marginal entre elas desaparece, mesmo mantendo a independência condicional dada a classe.

  • □ No exemplo do XOR (\(x_1,x_2\) moedas independentes, \(\mathcal{C}=x_1\oplus x_2\)), se observássemos apenas uma pista parcial sobre \(\mathcal{C}\) (por exemplo, “provavelmente \(1\)”, com \(70\%\) de confiança), \(x_1\) e \(x_2\) permaneceriam exatamente tão dependentes quanto no caso de observar \(\mathcal{C}=1\) com certeza.

  • □ Num sistema de recomendação em que a popularidade geral de um produto afeta tanto “número de cliques” quanto “número de compras”, essas duas variáveis podem ser marginalmente dependentes mesmo sendo condicionalmente independentes dado o nível de popularidade.

  • □ Como o XOR mostra que condicionar pode CRIAR dependência entre variáveis originalmente independentes, conclui-se que condicionar em qualquer variável adicional sempre aumenta (ou mantém) a dependência entre duas variáveis, nunca a reduz.

Relembrando as duas noções: independência condicional dada uma variável \(Z\) significa \(p(x_1,x_2\mid Z) = p(x_1\mid Z)\,p(x_2\mid Z)\); independência marginal significa \(p(x_1,x_2) = p(x_1)\,p(x_2)\), sem condicionar em nada. O exemplo do XOR (moedas independentes \(x_1,x_2\) e \(C=x_1\oplus x_2\)) mostra que \(x_1,x_2\) são marginalmente independentes mas condicionalmente dependentes dado \(C\): nenhuma das duas noções implica a outra.

NotaTeste 7 — Independência vs. independência condicional
  • □ Se \(X_1,X_2\) forem marginalmente independentes mas NÃO condicionalmente independentes dada uma terceira variável \(Z\), isso contradiz o exemplo do XOR descrito acima, que mostrou exatamente o padrão oposto.

  • □ No limite em que a classe \(C\) tem um único valor possível (não há mais de uma classe), independência condicional dada \(C\) e independência marginal passam a significar exatamente a mesma coisa.

  • □ Em genética, dois genes podem ser fortemente correlacionados na população geral (por estarem ligados a uma etnia comum), mas condicionalmente independentes dentro de qualquer subgrupo étnico específico — a mesma estrutura de “causa comum” do exemplo do e-mail.

  • □ Como a independência condicional dada a classe é a suposição central do Naive Bayes, conclui-se que, se essa suposição for violada, o Naive Bayes necessariamente terá desempenho ruim de classificação.

No algoritmo Naive Bayes, a decisão para um novo \(\mathbf{x}\) compara, para cada classe \(k\), o score logarítmico \(s_k = \log\hat\pi_k + \sum_{i=1}^d \log\hat p(x_i\mid\mathcal{C}_k)\), escolhendo a classe de maior \(s_k\). Se alguma probabilidade condicional \(\hat p(x_i\mid\mathcal{C}_k)\) for estimada como exatamente zero (por exemplo, por contagem direta, quando um valor nunca aparece nos dados de treino daquela classe), a correção padrão é a suavização de Laplace: somar contagens fictícias antes de normalizar, garantindo que a estimativa fique sempre estritamente entre 0 e 1.

NotaTeste 8 — O algoritmo Naive Bayes
  • □ No limite em que uma probabilidade condicional estimada é exatamente zero para algum atributo, o score logarítmico dessa classe tende a \(-\infty\), não importa quão altas sejam as demais probabilidades condicionais.

  • □ Se, em vez de suavização, a correção para probabilidade zero fosse simplesmente ignorar aquele atributo no cálculo do score daquela instância, isso teria um efeito equivalente à suavização, só calculado de outra forma.

  • □ Num classificador de sentimento de texto, se a palavra “maravilhoso” nunca apareceu nos exemplos rotulados como “negativo”, um Naive Bayes sem suavização atribuiria zero de probabilidade a qualquer review negativo que contenha essa palavra, não importa o resto do texto.

  • □ Como somar logaritmos evita o problema de multiplicar muitos números pequenos (underflow numérico), a soma de logs também resolve, por si só, o problema de uma probabilidade estimada exatamente zero.

No Naive Bayes, cada atributo \(x_i\) pode ser modelado por uma família de distribuições diferente: Bernoulli para atributos binários, Categórica (com \(M-1\) parâmetros livres por classe, para \(M\) níveis) para atributos categóricos, Gaussiana 1-D para atributos contínuos de forma conhecida, etc. Na predição, cada atributo contribui um termo de log-verossimilhança independente para a soma \(s_k = \log\hat\pi_k + \sum_{i=1}^d \log\hat p(x_i\mid\mathcal{C}_k)\).

NotaTeste 9 — A escolha de família por atributo
  • □ Se um atributo categórico com \(M=5\) níveis fosse, por engano, modelado como contínuo e Gaussiano, o Naive Bayes ainda produziria uma pontuação numérica para cada classe, mas essa pontuação deixaria de corresponder a uma probabilidade genuína sobre os 5 níveis discretos.

  • □ No limite em que um atributo categórico tem \(M=2\) níveis, a distribuição Categórica usada para modelá-lo se reduz a uma Bernoulli, com apenas 1 parâmetro livre por classe.

  • □ Num prontuário médico misto (idade contínua, tipo sanguíneo categórico com 4 níveis, presença de sintoma binária), o Naive Bayes poderia legitimamente usar três famílias de distribuição diferentes para essas três colunas.

  • □ Como cada atributo contribui seu próprio termo de log-verossimilhança para a soma do score, misturar famílias diferentes por coluna quebra essa soma, pois os termos passam a ter unidades ou escalas incompatíveis.

No caso binário (\(\mathcal{A}=\mathcal{Y}=\{\mathcal{C}_A,\mathcal{C}_B\}\)), com acertos sem custo, \(L(A,B)=c_{\mathrm{I}}\) (custo de decidir \(B\) quando a verdade é \(A\)) e \(L(B,A)=c_{\mathrm{II}}\) (custo de decidir \(A\) quando a verdade é \(B\)), a regra de Bayes se reduz a um limiar sobre a posteriori: decidir \(A\) quando \(p(\mathcal{C}_A\mid\mathbf{x}) > t\), com \(t = c_{\mathrm{II}}/(c_{\mathrm{I}}+c_{\mathrm{II}})\). O limiar \(t\) depende só da razão de custos e das prioris, nunca de \(\mathbf{x}\).

NotaTeste 10 — O caso binário: custo e priori viram um limiar
  • □ No limite em que \(c_{II}/c_I\to\infty\), o limiar de decisão ótimo tende ao extremo que quase sempre declara a classe associada a evitar o Tipo II, mesmo com posteriori muito baixa a favor dela.

  • □ Se a perda deixasse de ser 0-1 e passasse a ser fortemente assimétrica, a regra de Bayes deixaria de coincidir com a regra do posterior máximo, mesmo que a posteriori \(p(\mathcal{C}_k\mid\mathbf{x})\) permanecesse exatamente a mesma.

  • □ Num sistema de controle de qualidade industrial, se deixar passar um produto defeituoso custar 20 vezes mais que descartar um produto bom por engano, a regra ótima usará um limiar de posteriori bem abaixo de \(50\%\) para declarar “defeituoso”.

  • □ Como mudar os custos da matriz de perda desloca o limiar de decisão ótimo, conclui-se que mudar os custos também muda a posteriori \(p(\mathcal{C}_k\mid\mathbf{x})\) calculada pelo modelo.

O risco de Bayes \(R^\star = \mathbb{E}_{\mathbf{X}}\!\left[\min_{a} \rho(a\mid\mathbf{X})\right]\) é o menor risco esperado possível, dado que o modelo usado para calcular \(p(\mathcal{C}_k\mid\mathbf{x})\) é o verdadeiro processo gerador dos dados. Essa ressalva importa: a regra de Bayes é ótima em relação ao modelo assumido, não necessariamente em relação ao mundo real, caso o modelo esteja mal especificado.

NotaTeste 11 — Risco de Bayes e a ressalva que importa
  • □ No limite em que as densidades condicionais das classes se tornam idênticas entre si, o risco de Bayes \(R^\star\) sob perda 0-1 tende ao seu valor máximo possível, \(\min(\pi_A,\pi_B)\) (o erro que se comete sempre prevendo a classe majoritária).

  • □ Se o modelo \(p(\mathbf{x},\mathcal{C}_k)\) usado estiver errado (mal especificado), a regra de Bayes calculada a partir desse modelo errado ainda seria, por definição, ótima em relação ao mundo real, não só em relação ao modelo assumido.

  • □ Num sistema de aprovação de empréstimos com suposições simplificadas (independência entre variáveis correlacionadas na realidade), a regra de decisão pode classificar bem a maioria dos casos sob perda 0-1, mesmo que as probabilidades de inadimplência estimadas estejam sistematicamente erradas.

  • □ Como a regra de Bayes minimiza o risco posterior calculado a partir de \(p(\mathcal{C}_k\mid\mathbf{x})\), a teoria da decisão garante, como parte do seu resultado, que esse \(p(\mathcal{C}_k\mid\mathbf{x})\) usado é o verdadeiro processo gerador dos dados.

Considere o exemplo de causa comum: dois atributos binários \(x_1\) (presença da palavra “grátis”) e \(x_2\) (presença da palavra “ganhador”), condicionalmente independentes dada a classe \(C\in\{\text{spam},\text{ham}\}\), com \(\pi_{\text{spam}}=0{,}5\), \(p(x_1{=}1\mid\text{spam})=0{,}85\), \(p(x_2{=}1\mid\text{spam})=0{,}60\), \(p(x_1{=}1\mid\text{ham})=0{,}03\) e \(p(x_2{=}1\mid\text{ham})=0{,}02\). Marginalizando a classe, \(p(x_1{=}1,x_2{=}1)=0{,}255\), contra \(p(x_1{=}1)\,p(x_2{=}1)=0{,}136\) se fossem independentes — dependência marginal induzida pela classe como causa comum.

NotaTeste 12 — O exemplo do e-mail: “grátis” e “ganhador”
  • □ No limite em que \(p(\text{grátis}=1\mid\text{spam})\) e \(p(\text{grátis}=1\mid\text{ham})\) se tornam iguais, a conjunta marginal \(p(\text{grátis}=1,\text{ganhador}=1)\) passa a ser exatamente igual ao produto das marginais, mesmo mantendo a independência condicional dada a classe.

  • □ Se a prevalência de spam fosse \(\pi_{\text{spam}}=0{,}99\) em vez de \(0{,}5\) (mantendo as mesmas condicionais), a dependência marginal entre “grátis” e “ganhador” seria menor do que no cenário original descrito acima (\(\pi_{\text{spam}}=0{,}5\)).

  • □ O mesmo padrão de “causa comum” explicaria por que, num hospital, “tosse” e “febre” podem ser marginalmente dependentes mesmo sendo condicionalmente independentes dado o diagnóstico (gripe ou não).

  • □ Como a independência condicional dada a classe É satisfeita exatamente no exemplo de “grátis”/“ganhador” (foi construído assim), conclui-se que o Naive Bayes sempre estimará bem a posteriori em qualquer conjunto de dados de spam, não só neste exemplo controlado.