PRML Implémentation de l'algorithme EM pour la distribution gaussienne mixte au chapitre 9. Lien vers le bloc-notes Jupyter
résultat
Clustering Old Faithful Intermittent Spring Data avec K-means et algorithme EM pour la distribution gaussienne mixte fait.
Considération
L'algorithme EM pour la distribution gaussienne mixte peut être appliqué à divers problèmes lorsque l'on considère des modèles autres que la distribution gaussienne mixte.
Algorithme EM pour distribution gaussienne mixte
Mélanges de gaussiens
La distribution gaussienne mixte est représentée par une superposition de K distributions gaussiennes.$p(\mathbf{x}) = \Sigma_{k=1}^{K} \pi_{k} \mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})Chaque distribution gaussienne\mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})Est__Composant de mélange__Appelé, chaque moyenne individuellement\mathbf{\mu_{\rm{k}}}, Co-distribué\mathbf{\Sigma_{\rm{k}}}$A les paramètres de.
Le paramètre $ \ pi_ {k} $ est appelé __ coefficient de mélange __. $ \ Sigma_ {k = 1} ^ {K} \ pi_ {k} = 1 $ $ 0 \ leqslant \ pi_ {k} \ leqslant 1 $.
Introduction de variables latentes
Variable de probabilité binaire à K dimensions\mathbf{z}Présenter.\mathbf{z}Est\mathbf{x}Représente à partir de quel élément mixte 1-of-Prenez la méthode de codage K (n'importe laquellez_{k}だけが1で、他Est0)。\mathbf{x}Quand\mathbf{z}Distribution simultanée dep(\mathbf{x}, \mathbf{z})S'exprime comme suit.$p(\mathbf{x}, \mathbf{z})=p(\mathbf{z})p(\mathbf{x}|\mathbf{z})$p(\mathbf{z})Est混合係数\pi_{k}Il est décidé comme suit.$p(z_{k}=1)=\pi_{k}1-of-Puisque le codage K est utilisé, il peut également s'écrire comme suit.p(\mathbf{z})=\Pi_{k=1}^{K}\pi_{k}^{z_k}$\mathbf{z}の値が与えられたもQuandでの\mathbf{x}の条件付き分布Est次のガウス分布である。$p(\mathbf{x}|z_{k}=1)=\mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})これEstp(\mathbf{x}|\mathbf{z})=\Pi_{k=1}^{K} \mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})^{z_{k}}Quandいう形にも書ける。p(\mathbf{x}, \mathbf{z})Périphérique au précédentp(\mathbf{x})Obtenir.p(\mathbf{x})=\Sigma_{\mathbf{z}}p(\mathbf{z})p(\mathbf{x}|\mathbf{z})=\Sigma_{k=1}^{K} \pi_{k} \mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})$\mathbf{z}Cela semble inutile à introduire, mais il est nécessaire pour dériver l'algorithme EM.
Fardeau (responsabilité)
La probabilité conditionnelle de $ \ mathbf {z} $ étant donné $ \ mathbf {x} $ est représentée par $ \ gamma (z_ {k}) $.
\begin{align}
\gamma(z_{k})\equiv p(z_{k}=1|\mathbf{x})&=\frac{p(z_{k}=1)p(\mathbf{x}|z_{k}=1)}{\Sigma_{j=1}^{K}p(z_{j}=1)p(\mathbf{x}|z_{j}=1}\\
&=\frac{\pi_{k}\mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})}{\Sigma_{j=1}^{K}\pi_{j}\mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{j}}}, \mathbf{\Sigma_{\rm{j}}})}
\end{align}
Correspondance lorsque $ \ pi_ {k} $ est $ z_ {k} = 1 $ événement __ probabilité antérieure _, $ \ gamma (z {k}) $ est $ \ mathbf {x} $ Il est considéré comme __post-probabilité _. $ \ Gamma (z {k}) $ peut également être interprété comme responsibility, qui représente le degré auquel l'élément mixte k "explique" l'observation de $ \ mathbf {x} $.
Algorithme EM pour distribution gaussienne mixte
- Initialisez la moyenne $ \ mathbf {\ mu_ {\ rm {k}}} $, la variance $ \ Sigma_ {k} $, et le coefficient de mélange $ \ pi_ {k} $, et calculez la valeur initiale de la vraisemblance logarithmique. ..
- \mathbf{E}Étape: Calculez le facteur de charge à l'aide des valeurs de paramètre actuelles$\gamma(z_{nk})=\frac{\pi_{k}\mathcal{N}(\mathbf{x_{\rm{n}}}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})}{\Sigma_{j=1}^{K}\pi_{j}\mathcal{N}(\mathbf{x_{\rm{n}}}|\mathbf{\mu_{\rm{j}}}, \mathbf{\Sigma_{\rm{j}}})}$\mathbf{x_{\rm{n}}}Est le nième point de données.z_{nk}Est la variable latente pour le nième point de données.
- $ \ mathbf {M} $ Étape: Recalculez la valeur du paramètre avec la formule suivante en utilisant le taux de charge actuel.
\begin{align}
\mathbf{\mu_{\rm{k}}^{\rm{new}}}&=\frac{1}{N_{k}}\Sigma_{n=1}^{N}\gamma(z_{nk})\mathbf{x_{\rm{n}}}\\
\Sigma_{k}^{new}&=\frac{1}{N_{k}}\Sigma_{n=1}^{N}\gamma(z_{nk})(\mathbf{x_{\rm{n}}}-\mathbf{\mu_{\rm{k}}^{\rm{new}}})(\mathbf{x_{\rm{n}}}-\mathbf{\mu_{\rm{k}}^{\rm{new}}})^{T}\\
\pi_{k}^{new}&=\frac{N_{k}}{N}
\end{align}
Cependant, $ N_ {k} = \ Sigma_ {n = 1} ^ {N} \ gamma (z_ {nk}) $
4.Probabilité du journal$\ln(p(\mathbf{X}|\mathbf{\mu}, \mathbf{\Sigma}, \mathbf{\pi})=\Sigma_{n=1}^{N}\ln\\{\Sigma_{k=1}^{K}\pi_{k}\mathcal{N}(\mathbf{x_{\rm{n}}}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})\\}$Est calculée, la convergence est confirmée en observant le changement de la valeur du paramètre ou le changement de la vraisemblance logarithmique, et si le critère de convergence n'est pas satisfait, le processus retourne à l'étape 2.
référence
Écrit par C.M. Bishop, traduit par Hiroshi Motoda, Takio Kurita, Tomoyuki Higuchi, Yuji Matsumoto, Noboru Murata, Pattern Recognition and Machine Learning, Chapter 9, Maruzen Publishing