[PYTHON] EM der gemischten Gaußschen Verteilung

PRML Implementierte den EM-Algorithmus für die gemischte Gaußsche Verteilung in Kapitel 9. Link zum Jupyter-Notizbuch

Ergebnis

EMforGaussainMixtures.png

Clustering Old Faithful Intermittent Spring Data mit K-Mitteln und EM-Algorithmus für gemischte Gaußsche Verteilung tat.

Erwägung

Der EM-Algorithmus für die gemischte Gaußsche Verteilung kann auf verschiedene Probleme angewendet werden, wobei andere Modelle als die gemischte Gaußsche Verteilung berücksichtigt werden.

EM-Algorithmus für gemischte Gaußsche Verteilung

Mischungen von Gaußschen

Die gemischte Gaußsche Verteilung wird durch eine Überlagerung von K Gaußschen Verteilungen dargestellt.$p(\mathbf{x}) = \Sigma_{k=1}^{K} \pi_{k} \mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})Jede Gaußsche Verteilung\mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})Ist__Mischungskomponente__Genannt, jeder einzeln durchschnittlich\mathbf{\mu_{\rm{k}}}, Mitverteilt\mathbf{\Sigma_{\rm{k}}}$Hat die Parameter von. Der Parameter $ \ pi_ {k} $ heißt __Mischungskoeffizient __. $ \ Sigma_ {k = 1} ^ {K} \ pi_ {k} = 1 $ $ 0 \ leqslant \ pi_ {k} \ leqslant 1 $.

Latente Variablen eingeführt

K-dimensionale binäre Wahrscheinlichkeitsvariable\mathbf{z}Vorstellen.\mathbf{z}Ist\mathbf{x}Stellt dar, von welchem gemischten Element 1-of-Nehmen Sie die K-Codierungsmethode (eine beliebige)z_{k}だけが1で、他Ist0)。\mathbf{x}Wann\mathbf{z}Gleichzeitige Verteilung vonp(\mathbf{x}, \mathbf{z})Wird wie folgt ausgedrückt.$p(\mathbf{x}, \mathbf{z})=p(\mathbf{z})p(\mathbf{x}|\mathbf{z})$p(\mathbf{z})Ist混合係数\pi_{k}Es wird wie folgt entschieden.$p(z_{k}=1)=\pi_{k}1-of-Da die K-Codierung verwendet wird, kann sie auch wie folgt geschrieben werden.p(\mathbf{z})=\Pi_{k=1}^{K}\pi_{k}^{z_k}$\mathbf{z}の値が与えられたもWannでの\mathbf{x}の条件付き分布Ist次のガウス分布である。$p(\mathbf{x}|z_{k}=1)=\mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})これIstp(\mathbf{x}|\mathbf{z})=\Pi_{k=1}^{K} \mathcal{N}(\mathbf{x}|\mathbf{\mu_{\rm{k}}}, \mathbf{\Sigma_{\rm{k}}})^{z_{k}}Wannいう形にも書ける。p(\mathbf{x}, \mathbf{z})Peripherie zum vorherigenp(\mathbf{x})Bekommen.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}Die Einführung scheint sinnlos zu sein, ist jedoch für die Ableitung des EM-Algorithmus erforderlich.

Belastung (Verantwortung)

Die bedingte Wahrscheinlichkeit von $ \ mathbf {z} $ bei $ \ mathbf {x} $ wird durch $ \ gamma (z_ {k}) $ dargestellt.

\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}

Korrespondenz, wenn $ \ pi_ {k} $ $ z_ {k} = 1 $ Ereignis __ vorherige Wahrscheinlichkeit __ ist, $ \ gamma (z_ {k}) $ ist $ \ mathbf {x} $ Es wird als _post-Wahrscheinlichkeit __ angesehen. $ \ Gamma (z {k}) $ kann auch als verantwortung interpretiert werden, die den Grad darstellt, in dem das gemischte Element k die Beobachtung von $ \ mathbf {x} $ "erklärt".

EM-Algorithmus für gemischte Gaußsche Verteilung

  1. Initialisieren Sie den Durchschnitt $ \ mathbf {\ mu_ {\ rm {k}}} $, die Varianz $ \ Sigma_ {k} $ und den Mischungskoeffizienten $ \ pi_ {k} $ und berechnen Sie den Anfangswert der logarithmischen Wahrscheinlichkeit. ..
  2. \mathbf{E}Schritt: Berechnen Sie den Belastungsfaktor anhand der aktuellen Parameterwerte.$\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}}}Ist der n-te Datenpunkt.z_{nk}Ist die latente Variable für den n-ten Datenpunkt.
  3. $ \ mathbf {M} $ Schritt: Berechnen Sie den Parameterwert mit der folgenden Formel unter Verwendung der aktuellen Belastungsrate neu.
\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}
N_ {k} = \ Sigma_ {n = 1} ^ {N} \ gamma (z_ {nk})

4.Log-Wahrscheinlichkeit$\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}}})\\}$Wird berechnet und die Konvergenz durch Beobachtung der Änderung des Parameterwerts oder der Änderung der logarithmischen Wahrscheinlichkeit bestätigt.

Referenz

Geschrieben von C. M. Bishop, übersetzt von Hiroshi Motoda, Takio Kurita, Tomoyuki Higuchi, Yuji Matsumoto, Noboru Murata, Mustererkennung und maschinelles Lernen, Kapitel 9, Maruzen Publishing

Recommended Posts

EM der gemischten Gaußschen Verteilung
Schätzung der gemischten Gaußschen Verteilung durch EM-Algorithmus
EM-Algorithmusberechnung für gemischtes Gaußsches Verteilungsproblem
PRML Kapitel 9 Mixed Gaussian Distribution Python-Implementierung
Gaußscher EM-Algorithmus mit gemischtem Modell [statistisches maschinelles Lernen]
Überprüfung der Normalverteilung
[Python] Implementierung von Clustering mit einem gemischten Gaußschen Modell
Verteilung der Eigenwerte der Laplace-Matrix
Zusammenfassung der Linux-Verteilungstypen
Grundlegende Statistik und Gaußsche Verteilung
Python-Implementierung gemischte Bernoulli-Verteilung
PRML-Diagramm Abbildung 1.15 Verzerrung bei der Schätzung der wahrscheinlichsten Wahrscheinlichkeit der Gaußschen Verteilung
Implementierung einer gemischten Normalverteilung in Python
Visualisierung gemischter Matrizen mit sklearn.metrics.ConfusionMatrixDisplay
Testen Sie die Eignung der Verteilung
(Maschinelles Lernen) Ich habe versucht, den EM-Algorithmus in der gemischten Gaußschen Verteilung sorgfältig mit der Implementierung zu verstehen.