機械学習基礎理論独習

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

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

PRML演習問題 9.16(基本)

問題

混合ベルヌーイ分布についての期待完全データ対数尤度関数(9.55)ラグランジュ未定乗数法を用いて
混合係数\pi_kの総和を一定に保ちつつ\pi_kについて最大化すると、Mステップ方程式(9.60)が得られることを示せ。

参照

\begin{eqnarray}
{\mathbb E}_{\bf Z}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\boldsymbol\pi})]=\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})\left(\ln\pi_k+\sum_{i=1}^D\left(x_{ni}\ln\mu_{ki}+(1-x_{ni})\ln(1-\mu_{ki})\right)\right)\tag{9.55}
\end{eqnarray}

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

解答

N_kを以下のようにおきます。

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

\sum_{k=1}^K\pi_k=1\Leftrightarrow\sum_{k=1}^K\pi_k-1=0の制約の下で最大化します。
この時ラグランジュ関数Gは以下のようになります。

\begin{eqnarray}
G&=&{\mathbb E}_{\bf Z}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\boldsymbol\pi})]+\lambda\left(\sum_{j=1}^K\pi_j-1\right)\\
&=&\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})\left(\ln\pi_{k}+\sum_{i=1}^D\left(x_{ni}\ln\mu_{ki}+(1-x_{ni})\ln(1-\mu_{ki})\right)\right)+\lambda\left(\sum_{j=1}^K\pi_j-1\right)\tag{2}\\
\end{eqnarray}

G\pi_k微分して、=0とおきます。

\begin{eqnarray}
&&\frac{\partial}{\partial\pi_k}G=0\\
&&\Leftrightarrow\sum_{n=1}^N\sum_{k'=1}^K\gamma(z_{nk'})\frac{\partial}{\partial\pi_k}\left(\ln\pi_{k'}+\sum_{i=1}^D\left(x_{ni}\ln\mu_{k'i}+(1-x_{ni})\ln(1-\mu_{k'i})\right)\right)+\lambda\frac{\partial}{\partial\pi_k}\left(\sum_{j'=1}^K\pi_{j'}-1\right)=0\\
&&\Leftrightarrow\sum_{n=1}^N\gamma(z_{nj})\frac{1}{\pi_k}+\lambda={\bf 0}\\
&&\Leftrightarrow\frac{1}{\pi_k}\sum_{n=1}^N\gamma(z_{nk})+\lambda=0\\
&&\Leftrightarrow\frac{N_k}{\pi_k}+\lambda=0\\
&&\Leftrightarrow N_k=-\lambda\pi_k\tag{3}
\end{eqnarray}

ところで、

\begin{eqnarray}
&&N=\sum_{k=1}^K N_k\tag{4}\\
\end{eqnarray}

が成り立ちます。式(3)を式(4)に代入します。

\begin{eqnarray}
&&N=\sum_{k=1}^K(-\lambda\pi_k)\\
&&\Leftrightarrow N=-\lambda\sum_{k=1}^K\pi_k\\
&&\Leftrightarrow\lambda=-N\tag{5}\\
\end{eqnarray}

(5)を式(3)に代入して、\pi_kについて解きます。

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

(6)より、式(9.60)が得られることを示せました。

目次へ戻る