Tema
Mezclas gaussianas y algoritmo EM
- Machine Learning
- Nivel avanzado
Una mezcla gaussiana modela los datos como una suma ponderada de campanas, y el algoritmo de esperanza y maximización ajusta sus parámetros alternando el cálculo de las responsabilidades de cada componente sobre cada punto con la actualización de medias, varianzas y pesos.
Nombre en inglés
Gaussian mixtures and the EM algorithm
Intuición
Es la versión suave de k medias, porque un punto ya no pertenece a un grupo sino que reparte su pertenencia entre todos según cuánto lo explique cada campana. El paso de esperanza calcula ese reparto con lo que se sabe ahora de los parámetros, y el paso de maximización recalcula los parámetros tratando el reparto como si fuese cierto. La verosimilitud nunca baja entre iteraciones, aunque el punto final sigue siendo un óptimo local.
Fórmula
r_{ik} = pi_k N(x_i | mu_k, sigma_k) / sum_j pi_j N(x_i | mu_j, sigma_j), con sum_k pi_k = 1
Ejemplo resuelto
Una mezcla de dos componentes tiene pesos pi1 = 0.6 y pi2 = 0.4. Para un punto concreto, la primera densidad vale 0.20 y la segunda vale 0.05. El numerador de la primera responsabilidad vale 0.6 por 0.20 = 0.12 y el de la segunda vale 0.4 por 0.05 = 0.02. El denominador suma 0.14, de modo que las responsabilidades valen 0.857 y 0.143. El punto contribuye a la nueva media de la primera componente con peso 0.857 y a la de la segunda con peso 0.143.
Errores frecuentes
- Dejar que una componente colapse sobre un solo punto, situación en la que su varianza tiende a cero y la verosimilitud se dispara sin que el modelo describa nada, problema que se evita con un suelo en la varianza o con un previo.
- Tomar la responsabilidad como probabilidad de pertenecer a una clase real, cuando las componentes no tienen por qué corresponder a categorías del mundo.
- Arrancar el algoritmo desde un punto cualquiera y ejecutarlo una sola vez, ya que el resultado depende de la inicialización y lo habitual es partir de una ejecución previa de k medias.
Ejercicio
Una mezcla de dos componentes tiene pesos 0.3 y 0.7. En un punto la primera densidad vale 0.4 y la segunda vale 0.1. Calcula la responsabilidad de la primera componente.
Ver la solución
El numerador vale 0.3 por 0.4 = 0.12. El otro término vale 0.7 por 0.1 = 0.07. El denominador suma 0.12 + 0.07 = 0.19. La responsabilidad de la primera componente vale 0.12 dividido entre 0.19 = 0.632. Conviene notar que la primera componente gana pese a tener menos peso a priori, porque su densidad en ese punto es cuatro veces mayor.
Respuesta: 0.632
Temas relacionados
- Agrupamiento por k medias
- Inferencia aproximada por muestreo
- Máxima verosimilitud
- Distribución normal y teorema central del límite