[PYTHON] EM de distribution gaussienne mixte

PRML Implémentation de l'algorithme EM pour la distribution gaussienne mixte au chapitre 9. Lien vers le bloc-notes Jupyter

résultat

EMforGaussainMixtures.png

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

  1. 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. ..
  2. \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.
  3. $ \ 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

Recommended Posts

EM de distribution gaussienne mixte
Estimation de la distribution gaussienne mixte par algorithme EM
Calcul d'algorithme EM pour un problème de distribution gaussienne mixte
PRML Chapitre 9 Implémentation Python de distribution gaussienne mixte
Algorithme EM modèle mixte gaussien [apprentissage automatique statistique]
Vérification de la distribution normale
[Python] Implémentation du clustering à l'aide d'un modèle gaussien mixte
Distribution des valeurs propres de la matrice laplacienne
Résumé des types de distribution Linux
Statistiques de base et distribution gaussienne
Implémentation Python Distribution mixte de Bernoulli
Diagramme PRML Figure 1.15 Biais dans l'estimation la plus probable de la distribution gaussienne
Implémentation de distribution normale mixte en python
Visualisation de matrices mixtes à l'aide de sklearn.metrics.ConfusionMatrixDisplay
Tester l'adéquation de la distribution
(Apprentissage automatique) J'ai essayé de comprendre attentivement l'algorithme EM dans la distribution gaussienne mixte avec l'implémentation.