Soluções — Aula 4: Modelos de Mistura Gaussiana e o Algoritmo EM

Aprendizado Não Supervisionado

Autor

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

Data de Publicação

18 de setembro de 2026

Aula Exercícios

Dica

Gabarito comentado das questões de Verdadeiro/Falso de exercicios.qmd. As três questões discursivas não têm gabarito único registrado aqui — são abertas, para discussão em aula ou monitoria.

NotaTeste 1 — Partição rígida vs. probabilística
  • □ Uma partição probabilística (GMM) e uma partição rígida (obtida por um método baseado em densidade ou pelo KMeans) respondem exatamente à mesma pergunta matemática, diferindo apenas na forma de apresentar a resposta final (arredondar ou não a probabilidade).
  • □ Se dois clusters verdadeiros nos dados são separados por um vale de densidade genuíno (densidade exatamente zero em algum ponto do caminho entre eles), o GMM, ao convergir bem, tende a atribuir responsabilidades próximas de \(0\) ou \(1\) para a maioria dos pontos de cada lado, mesmo sendo, por definição, um método probabilístico.
  • □ Uma diferença do GMM sobre um método de clustering baseado em densidade (que pode descartar pontos como ruído) é que o GMM nunca deixa nenhum ponto sem uma atribuição, mesmo que irrisória, a algum componente.
  • □ Um paciente com responsabilidade \(\gamma=(0{,}5,0{,}5)\) para os dois componentes de um GMM é, necessariamente, um erro de convergência do algoritmo — um GMM bem ajustado nunca deveria produzir essa saída.
Dica(Resposta) Teste 1 — Partição rígida vs. probabilística
  • ✗ Falso — Não é só uma questão de apresentação — os métodos otimizam objetivos diferentes (distorção rígida vs. verossimilhança sob um modelo gerador com variável latente) e usam noções diferentes de “pertencimento” (densidade local conectada, ou distância a centróide, vs. probabilidade posterior sob um modelo global). Arredondar uma responsabilidade não reproduz a lógica de conectividade de um método baseado em densidade, nem vice-versa.
  • ✔ Verdadeiro — Um vale de densidade genuíno geralmente corresponde a componentes gaussianos bem separados (médias distantes relativas às covariâncias) — nesse regime, a razão de Bayes já favorece fortemente um dos dois componentes para a maioria dos pontos, mesmo sem forçar o limite \(\epsilon\to0\) da equivalência com o KMeans. Ser “probabilístico” não significa “sempre ambíguo”: significa que a ferramenta consegue expressar ambiguidade quando ela existe, não que a produz artificialmente.
  • ✔ Verdadeiro — É exatamente o contraste central do GMM com métodos que reconhecem “ruído”: pontos que um método baseado em densidade descartaria por não terem vizinhança densa o bastante recebem, no GMM, uma responsabilidade concreta (ambígua ou não) para cada componente — nenhum ponto fica sem resposta.
  • ✗ Falso — É o oposto: uma responsabilidade \(50/50\) é a resposta honesta do modelo quando a evidência realmente não pende para nenhum lado (sobreposição real entre populações) — não um sintoma de bug ou de não-convergência.
NotaTeste 2 — Variável latente e a história geradora do GMM
  • □ Na formulação por variável latente, \(z_n\) é observado durante o ajuste do modelo aos dados — é justamente essa observação que permite calcular \(\gamma(z_{nk})\) diretamente, sem precisar de Bayes.
  • □ A codificação 1-de-\(K\) de \(\mathbf{z}\) garante que, para qualquer ponto gerado pelo modelo, exatamente uma população é responsável por ele — nunca zero, nunca mais de uma.
  • □ Se \(\pi_1=1\) e todos os demais \(\pi_k=0\) para \(k>1\), a distribuição marginal \(p(\mathbf{x})=\sum_k\pi_k\mathcal{N}(\mathbf{x}\mid\mu_k, \Sigma_k)\) se reduz exatamente a uma única gaussiana \(\mathcal{N}(\mathbf{x}\mid\mu_1,\Sigma_1)\), sem mistura nenhuma.
  • □ Marginalizar a variável latente \(z\) (somar sobre seus \(K\) estados possíveis) é o que conecta a formulação generativa por variável latente à fórmula de mistura de gaussianas \(p(\mathbf{x})=\sum_k \pi_k\mathcal{N}(\mathbf{x}\mid\mu_k,\Sigma_k)\), que também pode ser escrita diretamente, sem qualquer variável latente.
Dica(Resposta) Teste 2 — Variável latente e a história geradora do GMM
  • ✗ Falso — É exatamente o oposto da premissa do modelo: \(z_n\) nunca é observado — só \(\mathbf{x}_n\) é. É justamente por não observar \(z_n\) que Bayes é necessário para inferir a probabilidade posterior \(\gamma(z_{nk})=p(z_{nk}=1\mid\mathbf{x}_n)\).
  • ✔ Verdadeiro — É a própria definição da codificação 1-de-\(K\): um vetor binário com exatamente uma coordenada igual a \(1\) — nunca zero, nunca mais de uma, por construção.
  • ✔ Verdadeiro — Com \(\pi_1=1\) e os demais nulos, a soma \(\sum_k\pi_k\mathcal{N}(\mathbf{x}\mid\mu_k,\Sigma_k)\) tem um único termo sobrevivente, \(\mathcal{N}(\mathbf{x}\mid\mu_1,\Sigma_1)\) — o modelo de mistura colapsa exatamente ao ajuste de uma única gaussiana quando um único componente concentra toda a massa a priori (ou quando \(K=1\)).
  • ✔ Verdadeiro — Somar \(p(z)p(\mathbf{x}\mid z)\) sobre os \(K\) estados de \(z\) recupera exatamente \(p(\mathbf{x})=\sum_k\pi_k\mathcal{N}( \mathbf{x}\mid\mu_k,\Sigma_k)\) — a mesma soma ponderada de gaussianas que já seria matematicamente possível escrever sem nenhuma história geradora, agora justificada por uma variável latente explícita: cada ponto nasceu de uma população específica, que não se observa.
NotaTeste 3 — Log-verossimilhança do GMM e a necessidade do EM
  • □ A dificuldade de maximizar \(\ln p(X\mid\pi,\mu,\Sigma)\) diretamente desaparece se \(K=1\) (um único componente), porque nesse caso a soma dentro do logaritmo tem um único termo, recuperando a mesma solução fechada por máxima verossimilhança que já vale para o ajuste de uma única gaussiana.
  • □ Uma singularidade da log-verossimilhança do GMM (um componente colapsando sobre um único ponto de dado) representa, na prática, um bom ajuste generalizável do modelo aos dados, só que num regime numérico extremo.
  • □ Rodar o algoritmo EM a partir de várias inicializações diferentes (n_init no sklearn) e escolher a de maior log-verossimilhança final é uma forma de mitigar o risco de convergir para um máximo local ruim — não uma forma de evitar singularidades.
  • □ Se a log-verossimilhança do GMM tivesse, de fato, uma solução fechada análoga à de uma única gaussiana, o algoritmo EM ainda assim seria necessário para ajustar o modelo.
Dica(Resposta) Teste 3 — Log-verossimilhança do GMM e a necessidade do EM
  • ✔ Verdadeiro — Com \(K=1\), a soma dentro do logaritmo tem um único termo — \(\ln[\pi_1\mathcal{N}(\mathbf{x}_n\mid\mu_1,\Sigma_1)]\) —, e o \(\ln\) age diretamente sobre a exponencial gaussiana, cancelando limpo, exatamente como na solução fechada do ajuste de uma única gaussiana por máxima verossimilhança.
  • ✗ Falso — É o oposto: uma singularidade é um caso patológico de overfitting de um único ponto (a variância de um componente colapsa exatamente sobre ele, levando a densidade — e a log-verossimilhança — a infinito), não um bom ajuste. É por isso que se buscam máximos locais bem-comportados, não o “máximo global” degenerado.
  • ✔ Verdadeiro — São dois problemas distintos: múltiplos máximos locais (mitigado por múltiplas inicializações, mantendo a de maior verossimilhança) e singularidades (que exigem salvaguardas específicas, como um piso mínimo de variância, já embutidas em implementações como o sklearn).
  • ✗ Falso — Se houvesse solução fechada, não haveria motivo algum para usar um algoritmo iterativo — o EM existe precisamente porque não há forma fechada; com solução fechada, o EM seria estritamente desnecessário.
NotaTeste 4 — O Passo E: responsabilidades e Bayes
  • \(\gamma(z_{nk})\) é, por construção, a probabilidade a priori de o ponto \(n\) vir do componente \(k\), calculada antes de observar \(\mathbf{x}_n\).
  • □ Para um ponto \(n\) fixo, a soma \(\sum_{k=1}^K\gamma(z_{nk})\) é sempre igual a \(1\), independentemente dos valores correntes de \(\pi,\mu,\Sigma\).
  • □ Se dois componentes tiverem exatamente os mesmos \(\mu_k\) e \(\Sigma_k\), mas pesos de mistura diferentes (\(\pi_1\ne\pi_2\)), a responsabilidade de qualquer ponto para o componente de maior peso será sempre estritamente maior que para o de menor peso.
  • □ Recalcular \(\gamma(z_{nk})\) para todos os \(N\) pontos após cada atualização do Passo M é necessário porque os parâmetros \(\pi,\mu,\Sigma\) usados na fórmula de Bayes do Passo E mudaram.
Dica(Resposta) Teste 4 — O Passo E: responsabilidades e Bayes
  • ✗ Falso — É o oposto: \(\pi_k\) é a probabilidade a priori; \(\gamma(z_{nk})=p(z_{nk}=1\mid\mathbf{x}_n)\) é a probabilidade a posteriori, calculada depois de observar \(\mathbf{x}_n\), via Bayes.
  • ✔ Verdadeiro — A fórmula de Bayes de \(\gamma(z_{nk})\) normaliza pela soma sobre todos os \(K\) componentes no denominador — por construção, a soma das responsabilidades de um ponto é sempre \(1\), quaisquer que sejam os parâmetros correntes.
  • ✔ Verdadeiro — Com densidades idênticas nos dois componentes (\(\mathcal{N}(\mathbf{x}\mid\mu_1,\Sigma_1)=\mathcal{N}(\mathbf{x}\mid \mu_2,\Sigma_2)\) para todo \(\mathbf{x}\)), a razão de Bayes cancela o termo de densidade e \(\gamma(z_{nk})=\pi_k\) exatamente — então, neste caso degenerado específico, “maior peso \(\Rightarrow\) responsabilidade maior” é verdade. A afirmação só vale sob a hipótese de densidades idênticas já dada no enunciado, não como regra geral.
  • ✔ Verdadeiro — É a lógica central do ciclo EM: \(\gamma(z_{nk})\) é função dos parâmetros correntes, não uma etiqueta fixa — mudar os parâmetros no Passo M invalida as responsabilidades antigas, exigindo um novo Passo E.
NotaTeste 5 — O Passo M: atualizações ponderadas
  • □ A atualização \(\mu_k=\dfrac{1}{N_k}\sum_n\gamma(z_{nk})\mathbf{x}_n\) se reduz à média aritmética simples de todos os \(N\) pontos quando \(\gamma(z_{nk})=1/K\) para todo ponto e todo componente.
  • \(N_k\) pode, em princípio, assumir um valor não inteiro, mesmo que o número de pontos \(N\) seja inteiro.
  • □ A atualização de \(\Sigma_k\) do Passo M usa o \(\mu_k\) da rodada anterior do Passo M (antes de ser atualizado nesta mesma rodada), em vez do \(\mu_k\) recém-calculado, para manter a ordem correta de dependência entre os parâmetros.
  • □ A restrição \(\sum_k\pi_k=1\) é o único motivo pelo qual a atualização de \(\pi_k\) precisa de um multiplicador de Lagrange — as atualizações de \(\mu_k\) e \(\Sigma_k\) não têm nenhuma restrição não são automaticamente respeitadas pelo processo de otimização.
Dica(Resposta) Teste 5 — O Passo M: atualizações ponderadas
  • ✔ Verdadeiro — Com \(\gamma(z_{nk})=1/K\) constante, \(N_k=N/K\) para todo \(k\), e \(\mu_k=\frac{1}{N/K}\sum_n\frac1K\mathbf{x}_n=\frac1N \sum_n\mathbf{x}_n\) — a média aritmética simples de todos os \(N\) pontos, igual para todos os componentes (caso degenerado em que nenhum componente é informativo).
  • ✔ Verdadeiro — \(N_k=\sum_n\gamma(z_{nk})\) é uma soma de números reais entre \(0\) e \(1\) (responsabilidades fracionárias) — não uma contagem de pontos. Um componente que “convence” \(50\) pontos por completo e mais \(20\) pontos pela metade tem \(N_k=60{,}0\) exatamente por acaso; em geral o resultado é fracionário.
  • ✗ Falso — É o oposto do que o algoritmo especifica: dentro do mesmo Passo M, calcula-se primeiro o novo \(\mu_k\), e depois usa-se esse valor já atualizado para calcular \(\Sigma_k\) — a mesma ordem já usada no ajuste de uma única gaussiana por máxima verossimilhança. Usar o \(\mu_k\) antigo produziria uma covariância inconsistente com a média corrente.
  • ✔ Verdadeiro — É exatamente essa a assimetria entre os três parâmetros: \(\mu_k\) e \(\Sigma_k\) são livres (qualquer vetor/matriz definida positiva serve), então suas derivadas igualadas a zero já satisfazem as restrições automaticamente; só \(\pi_k\) tem uma restrição de soma a respeitar, exigindo o multiplicador de Lagrange para incorporar essa restrição na otimização.
NotaTeste 6 — KMeans como caso limite do GMM
  • □ A redução do GMM ao KMeans depende de covariâncias esféricas idênticas entre os componentes (\(\Sigma_k=\epsilon I\) para todo \(k\)) — covariâncias esféricas, porém diferentes entre componentes (por exemplo, \(\Sigma_1=\epsilon_1 I\ne\Sigma_2=\epsilon_2 I\)), não bastariam para reproduzir exatamente a atribuição rígida do KMeans no limite.
  • □ O limite \(\epsilon\to 0\) produz atribuição rígida porque a exponencial do componente mais próximo domina exponencialmente as demais no denominador de Bayes — não porque os pesos de mistura \(\pi_k\) se tornam iguais entre si.
  • □ Um GMM com covariâncias esféricas idênticas, mas \(\epsilon\) grande (não pequeno), produziria responsabilidades próximas às do KMeans, porque o formato esférico e idêntico já é, por si só, suficiente para uma atribuição quase rígida.
  • □ O KMeans, ao não estimar covariância nenhuma, é incapaz, por construção, de representar clusters com formas alongadas ou giradas de forma diferente entre si — só bolas do mesmo tamanho.
Dica(Resposta) Teste 6 — KMeans como caso limite do GMM
  • ✔ Verdadeiro — A derivação da equivalência com o KMeans depende especificamente de um único \(\epsilon\) compartilhado — é essa premissa que faz o termo de normalização \((2\pi\epsilon)^{D/2}\) cancelar igualmente entre componentes na razão de Bayes, sobrando só a comparação das distâncias \(\|\mathbf{x}-\mu_k\|^2\). Com \(\epsilon_k\) diferentes, o termo de normalização não cancela, e a “vitória” de um componente no limite dependeria de uma combinação de distância e da razão entre os \(\epsilon_k\), não seria idêntica à regra pura “vizinho mais próximo” do KMeans.
  • ✔ Verdadeiro — O resultado vale independentemente dos valores de \(\pi_k\), desde que nenhum seja exatamente zero — a dominância vem da divisão por \(\epsilon\to0\) dentro da exponencial (a diferença de distância ao quadrado, dividida por um \(\epsilon\) minúsculo, vira uma diferença enorme na exponencial), não de qualquer relação entre os pesos de mistura.
  • ✗ Falso — É o contrário: com \(\epsilon\) grande relativo à escala dos dados, a responsabilidade fica próxima de uniforme, não rígida — numa verificação numérica com \(\epsilon=1{,}0\) (grande), a responsabilidade média máxima foi só \(0{,}904\), e a concordância com o KMeans, \(95{,}78\%\), ambos bem longe de \(1\)/\(100\%\). É precisamente o \(\epsilon\) pequeno que aproxima do KMeans; formato esférico e idêntico sozinho não basta sem o limite \(\epsilon\to0\).
  • ✔ Verdadeiro — É a consequência direta da premissa \(\Sigma_k= \epsilon I\) idêntico para todos os componentes: todo cluster do KMeans é, por construção, esférico e do mesmo “raio” efetivo — uma elipse alongada e maior que as demais, como as que um GMM completo pode ajustar, simplesmente não é representável nesse regime.
NotaTeste 7 — Um resultado real: GMM vs. um método baseado em densidade

Um GMM com \(K=2\) foi ajustado a dois atributos de exame (\(569\) pacientes) de um conjunto de dados médico real (diagnóstico benigno/maligno, nunca usado no ajuste, só para avaliar depois). O componente mais maligno reuniu \(189\) pacientes malignos e \(8\) benignos (pureza \(\approx95{,}9\%\)); a acurácia da atribuição rígida (arg max da responsabilidade) contra o diagnóstico real foi \(94{,}55\%\), com Índice de Rand Ajustado \(\mathrm{ARI}=0{,}792\). Para comparação, um método de clustering baseado em densidade, aplicado antes aos mesmos dois atributos, havia encontrado um cluster de \(54\) pacientes \(100\%\) malignos e outro de \(347\) pacientes \(\approx90{,}8\%\) benignos, descartando \(168\) pacientes (\(\approx29{,}5\%\)) como ruído; o ARI dessa partição foi \(0{,}644\), calculado excluindo os pacientes de ruído da comparação. Dos \(569\) pacientes, \(9\) receberam responsabilidade do GMM próxima de \(50\%/50\%\) (ambíguos).

  • □ O ARI do GMM (\(0{,}792\)) ser maior que o do método baseado em densidade (\(0{,}644\) excluindo ruído) é, sozinho, uma prova de que o GMM é um algoritmo estritamente superior para clustering em geral, e não uma consequência específica de como cada método trata os pontos difíceis deste dataset.
  • □ O fato de o GMM atribuir uma responsabilidade máxima a todos os \(569\) pacientes (nunca “ruído”) é o que permite calcular seu ARI sobre a população inteira, sem precisar excluir nenhum paciente da comparação, ao contrário do que foi feito para calcular o ARI do método baseado em densidade, que excluiu os pacientes de ruído.
  • □ O componente \(1\) do GMM (o mais maligno, \(189\)M/\(8\)B) é mais puro proporcionalmente do que o cluster \(100\%\) maligno de \(54\) pacientes encontrado pelo método baseado em densidade.
  • □ Os \(9\) pacientes de responsabilidade mais ambígua do GMM estão necessariamente entre os \(168\) pacientes que o método baseado em densidade havia marcado como ruído, já que ambos os fenômenos vêm da mesma região de sobreposição entre as duas populações.
Dica(Resposta) Teste 7 — Um resultado real: GMM vs. um método baseado em densidade
  • ✗ Falso — A comparação de ARI favorece estruturalmente o GMM aqui porque ele atribui todo mundo a algum componente, enquanto o método baseado em densidade descarta \(29{,}5\%\) dos pontos como ruído (o que já penaliza esse ARI, calculado excluindo o ruído) — isso é uma consequência de como cada método trata os pontos difíceis deste dataset, não uma prova de superioridade geral de um método sobre o outro.
  • ✔ Verdadeiro — É exatamente a diferença de contabilidade entre os dois números citados: o ARI de \(0{,}792\) do GMM usa todos os \(569\) pacientes; já o ARI de \(0{,}644\) do método baseado em densidade exclui explicitamente os \(168\) pacientes de ruído da comparação, exigindo essa exclusão para ser calculado daquela forma.
  • ✗ Falso — O componente \(1\) do GMM tem pureza \(189/197\approx 95{,}9\%\) — alta, mas estritamente menor que os \(100\%\) de pureza do cluster de \(54\) pacientes do método baseado em densidade. O GMM cobre bem mais pacientes malignos (\(189\) vs. \(54\)), mas ao custo de incluir \(8\) benignos que o cluster mais restrito do outro método não incluía — um trade-off entre cobertura e pureza, não uma superioridade em ambos os eixos ao mesmo tempo.
  • ✗ Falso — Verificado numericamente: dos \(9\) pacientes com responsabilidade do GMM próxima de \(50\%/50\%\), só \(3\) foram marcados como ruído pelo método baseado em densidade — os outros \(6\) caíram dentro do cluster majoritariamente benigno desse método, apesar de o GMM os achar ambíguos. Os dois fenômenos vêm de critérios diferentes (densidade local vs. probabilidade posterior global) e não coincidem necessariamente ponto a ponto, mesmo nascendo da mesma região geral de sobreposição entre as duas populações.