K-means comme cas limite de l'algorithme EM pour les mélanges gaussiens avec covariances

8

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 .σ2Ilimσ0

Supposons que nous ayons un ensemble de données {x1,,xN} des observations de variable aléatoire X .
La fonction objective pour les moyennes M est donnée par:

J=n=1Nk=1Krnk||xnμk||2
rnk est une variable indicatrice binaire d'une affectation dure de xn au cluster k .
(si le point de données xn est affecté au cluster k , alors rnk=1 et rnj=0 pour j k).
L'algorithme K-means minimise J par itération jusqu'à la convergence, ce qui implique deux étapes successives:
(E) minimiserJ par rapport à {rnk}n,k gardant tous les μk fixes
(M) minimiser J par rapport à {μk}k gardant tous les rnk fixes

En général, désignant toutes les données observées par X , toutes les variables latentes par Z et l'ensemble de tous les paramètres du modèle par θ , l'algorithme EM maximise la distribution postérieure p(θ|X) par itération jusqu'à convergence, de deux étapes alternées:
(E ) calculer l'espérance Q(θ,θold):=Zp(Z|X,θold)logp(Z,X|θ)
(M) find θnew=argmaxθQ(θ,θold)

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

p(x)=k=1KπkN(x|μk,Σk)
Kzp(zk=1)=πk
p(X,Z)=n=1Nk=1KπkznkN(xn|μk,Σk)znk
γ(zk):=p(zk=1|x)=πkN(x|μk,Σk)j=1KπjN(x|μj,Σj)
logp(X,Z|μ,Σ,π)=n=1Nk=1Kznk(logπk+logN(xn|μk,Σk))
E(znk)=γ(znk)
Q((π,μ,Σ),(π,μ,Σ)old)=n=1Nk=1Kγ(znk)(logπk+logN(xn|μk,Σk))

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.σ2Iσ0γ(znk)rnkrnkrnk

Cependant, j'ai du mal à maximiser dans ce contexte, comme pour . Est-il vrai que jusqu'à une multiplication constante et scalaire: ?Q((π,μ,Σ),(π,μ,Σ)old)xμ limσ0log(N(x|μ,σ2))=
limσ0Q((π,μ,Σ),(π,μ,Σ)old)=J

Peut-être que je manque quelque chose. Aucun conseil?

Andrzej Neugebauer
la source
2
Bienvenue sur le site, @Andrzej. Veuillez poster la question complète - ne vous attendez pas à ce que les gens recherchent votre livre.
StasK
1
Cher StasK, Je viens de publier la question complète et j'espère qu'elle est claire maintenant.
Andrzej Neugebauer

Réponses:

3

Est-il vrai que jusqu'à une multiplication constante et scalaire: ?limσ0Q((π,μ,Σ),(π,μ,Σ)old)=J

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

Q=n,kγnk(logπk+logN(xnμk,Σk))=Nlog1K1σ2n,kγnk||xnμk||2ND2log2πσ2.

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

Qn,kγnk||xnμk||2+σ2C.
μγσJ

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.

F(μ,γ)=n,kγnklogπkN(xnμk,Σk)/γnkn,kn,kγnk||xnμk||2σ2n,kγnklogγnk+σ2C.
Fμγ

Voir également une vue alternative de EM .

Lucas
la source