Exercícios — Aula 4: Modelos de Mistura Gaussiana e o Algoritmo EM
Aprendizado Não Supervisionado
Contexto e notação
As questões abaixo são autocontidas, mas reaproveitam a notação padrão de Modelos de Mistura Gaussiana (GMM). Um GMM assume que cada ponto observado \(\mathbf{x}\) nasceu de uma entre \(K\) populações (“componentes”), cada uma gaussiana, sem que se observe diretamente de qual: introduz-se uma variável latente \(\mathbf{z}\), um vetor binário de tamanho \(K\) com codificação 1-de-\(K\) (\(z_k=1\) indica “este ponto veio da população \(k\)”, as demais coordenadas valem \(0\)), com \(p(z_k=1)=\pi_k\) (o peso de mistura a priori de cada população, \(\sum_k\pi_k=1\)) e \(p(\mathbf{x}\mid z_k=1)=\mathcal{N}(\mathbf{x}\mid \mu_k,\Sigma_k)\).
A responsabilidade \(\gamma(z_{nk})\equiv p(z_k=1\mid\mathbf{x}_n)\) é a probabilidade a posteriori de o ponto \(n\) ter vindo da população \(k\), dada por Bayes:
\[\gamma(z_{nk}) = \frac{\pi_k\,\mathcal{N}(\mathbf{x}_n\mid\mu_k,\Sigma_k)}{\sum_{j=1}^K \pi_j\,\mathcal{N}(\mathbf{x}_n\mid\mu_j,\Sigma_j)}, \qquad \sum_{k=1}^K\gamma(z_{nk}) = 1 \text{ para todo } n.\]
Maximizar diretamente a log-verossimilhança \(\ln p(X\mid\pi,\mu,\Sigma) =\sum_n\ln\{\sum_k\pi_k\mathcal{N}(\mathbf{x}_n\mid\mu_k,\Sigma_k)\}\) não tem solução fechada, então o ajuste é feito pelo algoritmo EM (Expectation-Maximization), iterando dois passos até convergir:
- Passo E: calcular \(\gamma(z_{nk})\) para todo \(n,k\), usando os parâmetros correntes do modelo.
- Passo M: fixar as responsabilidades e reestimar os parâmetros, com \(N_k=\sum_{n=1}^N\gamma(z_{nk})\) (o “número efetivo” de pontos atribuídos ao componente \(k\)):
\[\mu_k = \frac{1}{N_k}\sum_{n=1}^N \gamma(z_{nk})\,\mathbf{x}_n, \qquad \Sigma_k = \frac{1}{N_k}\sum_{n=1}^N \gamma(z_{nk})\,(\mathbf{x}_n-\mu_k)(\mathbf{x}_n-\mu_k)^T, \qquad \pi_k = \frac{N_k}{N}.\]
O KMeans é o caso de atribuição rígida: em vez da responsabilidade fracionária \(\gamma(z_{nk})\in[0,1]\), usa-se um indicador \(r_{nk}\in\{0,1\}\) (com \(\sum_k r_{nk}=1\)), e minimiza-se a medida de distorção \(J=\sum_n\sum_k r_{nk}\|\mathbf{x}_n-\mu_k\|^2\) diretamente (sem variável latente probabilística). Formalmente, o KMeans é o limite do GMM quando todas as covariâncias são esféricas e idênticas entre componentes (\(\Sigma_k=\epsilon I\) para todo \(k\), com \(\epsilon\) tratado como constante fixa) e \(\epsilon\to 0\): nesse limite, \(\gamma(z_{nk})\to r_{nk}\).
Por fim, algumas questões contrastam essa atribuição probabilística com a atribuição rígida por densidade de um método de clustering baseado em conectividade (como o HDBSCAN): esse tipo de método também produz uma partição rígida, mas pode ainda descartar pontos que não têm vizinhança densa o bastante, marcando-os como ruído — uma terceira categoria além dos clusters, sem grau de pertencimento nenhum, nem mesmo binário.
Questões discursivas
Ajustar uma única gaussiana a um conjunto de dados por máxima verossimilhança tem solução fechada — \(\hat\mu\) e \(\hat\Sigma\) saem diretamente como média e covariância amostrais — porque, nesse caso, a log-verossimilhança \(\sum_n\ln\mathcal{N}(\mathbf{x}_n\mid \mu,\Sigma)\) tem, dentro do \(\ln\), uma única gaussiana, e o \(\ln\) cancela limpo contra a exponencial. Já para o GMM, a log-verossimilhança é \(\ln p(X\mid\pi,\mu,\Sigma)=\sum_n\ln\{ \sum_k\pi_k\mathcal{N}(\mathbf{x}_n\mid\mu_k,\Sigma_k)\}\). Explique, em termos da forma dessas duas expressões, exatamente onde a álgebra que funciona no caso de uma única gaussiana deixa de funcionar quando se passa para \(K\ge 2\) gaussianas — não basta dizer “porque tem uma soma dentro do log”; explique por que essa soma especificamente impede isolar \(\mu_k\) ao derivar e igualar a zero.
No Passo M do algoritmo EM, o peso de mistura de cada componente é reestimado como \(\pi_k=N_k/N\), onde \(N_k=\sum_n\gamma(z_{nk})\) é a soma das responsabilidades de todos os pontos para o componente \(k\) (ver Contexto acima) — por isso \(\pi_k\) é lido como uma “responsabilidade média”. Construa um argumento de por que essa forma — ponderar cada ponto pela sua responsabilidade fracionária, em vez de usar uma contagem rígida de quantos pontos “pertencem” ao componente \(k\) — é a atualização de máxima verossimilhança esperada correta para \(\pi_k\), isto é, por que essa ponderação é a escolha coerente com o resto do algoritmo EM, e não uma aproximação arbitrária.
Um GMM ajustado a um conjunto de dados médicos reais (dois atributos contínuos de exame, \(K=2\)) convergiu para dois componentes cujas elipses de covariância (dois desvios-padrão) diferem visivelmente em tamanho e orientação: a elipse de um dos componentes é maior e mais alongada que a do outro, indicando covariâncias \(\Sigma_k\) diferentes e não-esféricas entre os dois grupos. O KMeans, em contraste, assume covariâncias esféricas e idênticas entre componentes (\(\Sigma_k=\epsilon I\) igual para todo \(k\), no limite \(\epsilon\to0\)) e, por isso, não estima covariância nenhuma — só médias. Discuta um cenário de dados (pode ser diferente do exemplo médico acima) em que essa diferença de forma entre as elipses seria decisiva para separar corretamente dois clusters — e o que o KMeans faria de errado nesse mesmo cenário, especificamente por causa da premissa de covariância esférica e idêntica.
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).