機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

PRML演習問題 9.6(標準)

問題

混合ガウスモデルについて、各混合要素の共分散行列{\bf\Sigma}_kすべてが共通の値\bf\Sigmaに制限された特別な場合を考える。
そのようなモデルにおいて、尤度関数を最大化するEM方程式を導け。

参照

\begin{eqnarray}
{\boldsymbol\mu}_k=\frac{1}{N_k}\sum_{n=1}^N\gamma(z_{nk}){\bf x}_n\tag{9.17}
\end{eqnarray}

\begin{eqnarray}
N_k=\sum_{n=1}^N\gamma(z_{nk})\tag{9.18}
\end{eqnarray}

\begin{eqnarray}
{\bf\Sigma}_k=\frac{1}{N_k}\sum_{n=1}^N\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\tag{9.19}
\end{eqnarray}

\begin{eqnarray}
\pi_k=\frac{N_k}{N}\tag{9.22}\\
\end{eqnarray}

\begin{eqnarray}
\gamma(z_{nk})=\frac{\pi_k\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma}_k)}{\displaystyle\sum_{j=1}^K\pi_j\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_j,{\bf\Sigma}_j)}\tag{9.23}
\end{eqnarray}

\begin{eqnarray}
{\mathbb E}_{\bf Z}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf\Sigma},{\boldsymbol\pi})]=\sum_{n=1}^N \sum_{k=1}^K\gamma(z_{nk})\left(\ln\pi_k+\ln{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma}_k)\right)\tag{9.40}
\end{eqnarray}

解答

各混合要素の共分散行列{\bf\Sigma}_kすべてが共通の値\bf\Sigmaに制限されることによって、影響の受けるものを順番に書いていきます。

完全データ対数尤度関数の期待値は、式(9.40)より、以下のようになります。

\begin{eqnarray}
{\mathbb E}_{\bf Z}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf\Sigma},{\boldsymbol\pi})]=\sum_{n=1}^N \sum_{k=1}^K\gamma(z_{nk})\left(\ln\pi_k+\ln{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma})\right)\tag{1}
\end{eqnarray}

ここで、\gamma(z_k)は、式(9.23)より、以下の式で表されます。

\begin{eqnarray}
\gamma(z_{nk})=\frac{\pi_k\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma})}{\displaystyle\sum_{j=1}^K\pi_j\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_j,{\bf\Sigma})}\tag{2}
\end{eqnarray}

N_kは式(9.18)と同じです。

{\boldsymbol\mu}_kの更新式は、式(9.17)と同じです。
{\pi}_kの更新式は、式(9.22)と同じです。

{\bf\Sigma}の更新式は、式(9.19)より、以下のようになります。

\begin{eqnarray}
&&{\bf\Sigma}=\frac{1}{N_k}\sum_{n=1}^N\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\\
&&\Leftrightarrow N_k{\bf\Sigma}=\sum_{n=1}^N\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\\
&&\Leftrightarrow \sum_{n=1}^N\gamma(z_{nk}){\bf\Sigma}=\sum_{n=1}^N\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\tag{3}
\end{eqnarray}

(3)において、すべてのkについて足し合わせると、次の式が成り立ちます。

\begin{eqnarray}
&&\sum_{k=1}^K\sum_{n=1}^N\gamma(z_{nk}){\bf\Sigma}=\sum_{k=1}^K\sum_{n=1}^N\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\\
&&\Leftrightarrow\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk}){\bf\Sigma}=\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\\
&&\Leftrightarrow\sum_{n=1}^N{\bf\Sigma}=\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\tag{4}\\
&&\Leftrightarrow N{\bf\Sigma}=\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\\
&&\Leftrightarrow {\bf\Sigma}=\frac{1}{N}\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\tag{5}
\end{eqnarray}

(4)で、\displaystyle\sum_{k=1}^K\gamma(z_{nk})を用いました。

以上をEステップ、Mステップについてまとめます。

Eステップ

\begin{eqnarray}
\gamma(z_{nk})=\frac{\pi_k\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma})}{\displaystyle\sum_{j=1}^K\pi_j\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_j,{\bf\Sigma})}\tag{6}
\end{eqnarray}

Mステップ

\begin{eqnarray}
{\boldsymbol\mu}_k=\frac{1}{N_k}\sum_{n=1}^N\gamma(z_{nk}){\bf x}_n\tag{7}
\end{eqnarray}

\begin{eqnarray}
{\bf\Sigma}=\frac{1}{N}\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\tag{8}
\end{eqnarray}

\begin{eqnarray}
\pi_k=\frac{N_k}{N}\tag{9}\\
\end{eqnarray}

ただし、

\begin{eqnarray}
N_k=\sum_{n=1}^N\gamma(z_{nk})\tag{10}
\end{eqnarray}

です。

目次へ戻る