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=1N∑k=1Krnk||xn−μk||2
où 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)log⁡p(Z,X|θ)
(M) find θnew=arg⁡maxθ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=1N∏k=1KπkznkN(xn|μk,Σk)znk
γ(zk):=p(zk=1|x)=πkN(x|μk,Σk)∑j=1KπjN(x|μj,Σj)
log⁡p(X,Z|μ,Σ,π)=∑n=1N∑k=1Kznk(log⁡πk+log⁡N(xn|μk,Σk))
E(znk)=γ(znk)
Q((π,μ,Σ),(π,μ,Σ)old)=∑n=1N∑k=1Kγ(znk)(log⁡πk+log⁡N(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?


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+log⁡N(xn∣μk,Σk))=Nlog⁡1K−1σ2∑n,kγnk||xn−μk||2−ND2log⁡2πσ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

Q∝−∑n,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)/γnk∝−∑n,k∑n,kγnk||xn−μk||2−σ2∑n,kγnklog⁡γnk+σ2C.
Fμγ

Voir également une vue alternative de EM .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.