← capítulo

Modelos de mezclas gaussianas

k-means, pero con dos suposiciones relajadas.

Los clusters ahora pueden ser elipses inclinadas, no círculos. Los puntos pueden pertenecer a más de uno a la vez.

Se ajusta con EM — el mismo ciclo de asignar suave y reajustar, ahora en 2-D y con una covarianza completa por componente.

Dos mejoras sobre k-means

Esas probabilidades son las responsabilidades. Son la forma en que ajusta y lo que te regresa.

Los datos

300 puntos, tres blobs, con un shear que los vuelve elipses diagonales largas y traslapadas. Sin etiquetas. El caso canónico que k-means resuelve mal.

El ciclo (EM)

Paso E — responsabilidad del componente k sobre el punto i:

γik=πkN(xiμk,Σk)jπjN(xiμj,Σj)\gamma_{ik} = \frac{\pi_k \, \mathcal{N}(x_i \mid \mu_k, \Sigma_k)}{\sum_{j} \pi_j \, \mathcal{N}(x_i \mid \mu_j, \Sigma_j)}

Paso M — reajustar cada componente, ponderando por responsabilidad. La covarianza es lo que inclina la elipse:

Σk=1Nki=1Nγik(xiμk)(xiμk)\Sigma_k = \frac{1}{N_k} \sum_{i=1}^{N} \gamma_{ik}\, (x_i - \mu_k)(x_i - \mu_k)^{\top}

La log-verosimilitud solo sube. Cuando se aplana, paramos.

Mira cómo se moldean las elipses

Dos contornos por componente (1σ, 2σ) sacados de la descomposición real en eigenvalores de la covarianza. Puntos sombreados por responsabilidad suave — mezclas en las costuras. Panel de abajo: la log-verosimilitud subiendo.

Semillas redondas → elipses diagonales en tres o cuatro cuadros. Converge en 23 iteraciones, log-verosimilitud de −1,081 → −515.

Elegir k: BIC

La log-verosimilitud siempre mejora con más componentes. El BIC penaliza el número de parámetros, así que sí tiene un mínimo real.

Mínimo en k=3. La pregunta del codo, pero con un objetivo real debajo.

La toma estelar

Los mismos datos. k-means corta una línea recta a través de los grupos diagonales. El GMM envuelve cada uno en su elipse inclinada.

Índice de Rand ajustado contra los blobs verdaderos: k-means 0.60, GMM 1.0.

Desde cero vs librería

El EM hecho desde cero y sklearn.mixture.GaussianMixture(covariance_type="full") llegan los dos a una log-verosimilitud promedio de −1.7162, y sus etiquetas coinciden con ARI de 1.0.

Conclusiones