Mon objectif est de voir que l'algorithme K-means est en fait un algorithme d'expectation-maximisation pour les mélanges gaussiens dans lequel toutes les composantes ont une covariance dans la limite comme .
Supposons que nous ayons un ensemble de données des observations de variable aléatoire .
La fonction objective pour les moyennes M est donnée par:
(si le point de données est affecté au cluster , alors et pour k).
L'algorithme K-means minimise par itération jusqu'à la convergence, ce qui implique deux étapes successives:
(E) minimiser par rapport à gardant tous les fixes
(M) minimiser par rapport à gardant tous les fixes
En général, désignant toutes les données observées par , toutes les variables latentes par et l'ensemble de tous les paramètres du modèle par , l'algorithme EM maximise la distribution postérieure par itération jusqu'à convergence, de deux étapes alternées:
(E ) calculer l'espérance
(M) find
Considérons maintenant la distribution du mélange gaussien: Présentation d'une variable aléatoire binaire latente de dimension par , on voit que: Donc
Si maintenant tous les Gaussiens dans le modèle de mélange ont une covariance , considérant la limite je peux facilement montrer que où est aussi défini ci-dessus. Ainsi, l'étape (E) met à jour comme dans l'algorithme K-means.
Cependant, j'ai du mal à maximiser dans ce contexte, comme pour .
Est-il vrai que jusqu'à une multiplication constante et scalaire:
?
Peut-être que je manque quelque chose. Aucun conseil?
la source
Réponses:
Ce n'est pas le cas puisque - comme vous l'avez constaté vous-même - la limite diverge.
Cependant, si l' on d' abord transformons et puis prendre la limite, on converge à l'objectif k-means. Pour et nous avonsQ Σk=σ2I πk=1/K
En multipliant par (ce qui n'affecte pas l'algorithme EM, car n'est pas optimisé mais constant) et en collectant tous les termes constants en , nous voyons que Notez que maximiser cette fonction par rapport à pour tout et donne la même chose comme fonction objectif ci-dessus, c'est-à-dire qu'il s'agit d'une formulation équivalente de l'étape M. Mais prendre la limite donne maintenant .σ2 σ C
Soit dit en passant, à mon avis, une formulation légèrement plus élégante d'EM consiste à utiliser la fonction objectif En utilisant cette fonction objective, l'algorithme EM revient à alterner entre l'optimisation de par rapport à (étape M) et (étape E). En prenant la limite, nous voyons que le pas M et le pas E convergent vers l'algorithme des k-moyennes.
Voir également une vue alternative de EM .
la source