機械学習基礎理論独習

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

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

PRML演習問題 9.9(基本)

問題

もし負担率\gamma(z_{nk})を固定した下で、(9.40){\bf\Sigma}_k{\boldsymbol\pi}_kについての最大化をしようとすると、
(9.19)(9.22)で与えられる陽な解が得られることを示せ。

参照

\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}
{\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})(\ln\pi_k+\ln{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma}_k))\tag{9.40}
\end{eqnarray}

解答

まず、{\bf\Sigma}_kに関する最大化についてです。

ここで使用する行列の微分やトレースの公式を書き出します。

\begin{eqnarray}
&&{\bf x}^\top{\bf A}{\bf x}={\rm Tr}({\bf A}{\bf x}{\bf x}^\top)\tag{1}\\
&&\frac{\partial}{\partial{\bf A}}\ln|{\bf A}|=({\bf A}^{-1})^\top\tag{2}\\
&&\frac{\partial}{\partial{\bf A}}{\rm Tr}({\bf A}^{-1}{\bf B})=-({\bf A}^{-1}{\bf B}{\bf A}^{-1})^\top\tag{3}\\
\end{eqnarray}

準備として、\dfrac{\partial}{\partial{\bf\Sigma}_k}\ln{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma}_k)を求めます。

\begin{eqnarray}
\ln{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma}_k)&=&-\frac{D}{2}\ln2\pi-\frac{1}{2}\ln|{\bf\Sigma}_k|-\frac{1}{2}({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Sigma}_k^{-1}({\bf x}_n-{\boldsymbol\mu}_k)\\
&=&-\frac{D}{2}\ln2\pi-\frac{1}{2}\ln|{\bf\Sigma}_k|-\frac{1}{2}\mathrm{Tr}\left({\bf\Sigma}_k^{-1}({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\right)\tag{4}\\
\end{eqnarray}

(4)の式変形に式(1)を用いました。
(4)に対数を取ります。

\begin{eqnarray}
\frac{\partial}{\partial{\bf\Sigma}_k}\ln{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Sigma}_k)&=&-\frac{1}{2}\frac{\partial}{\partial{\bf\Sigma}_k}\ln|{\bf\Sigma}_k|-\frac{1}{2}\frac{\partial}{\partial{\bf\Sigma}_k}\mathrm{Tr}\left({\bf\Sigma}_k^{-1}({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top\right)\\
&=&-\frac{1}{2}({\bf\Sigma}_k^{-1})^\top+\frac{1}{2}\left({\bf\Sigma}_k^{-1}({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Sigma}_k^{-1}\right)^\top\\
&=&-\frac{1}{2}{\bf\Sigma}_k^{-1}+\frac{1}{2}{\bf\Sigma}_k^{-1}({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Sigma}_k^{-1}\tag{5}\\
\end{eqnarray}

(5)の式変形には式(18),(19)を用いました。
{\mathbb E}_{\bf Z}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf\Sigma},{\boldsymbol\pi})]{\bf\Sigma}_k微分して={\bf O}とおきます。

\begin{eqnarray}
&&\frac{\partial}{\partial{\bf\Sigma}_k}{\mathbb E}_{\bf Z}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf\Sigma},{\boldsymbol\pi})]={\bf O}\\
&&\Leftrightarrow\frac{\partial}{\partial{\bf\Sigma}_k}\sum_{n=1}^N\sum_{j=1}^K\gamma(z_{nj})(\ln\pi_j+\ln{\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_j},{\bf\Sigma}_j))={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\sum_{j=1}^K\gamma(z_{nj})\frac{\partial}{\partial{\bf\Sigma}_k}(\ln\pi_j+\ln{\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_j},{\bf\Sigma}_j))={\bf O}\\
&&\Leftrightarrow\sum_{n=1}^N\gamma(z_{nj})\frac{\partial}{\partial{{\bf\Sigma}_k}}{\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_k},{\bf\Sigma}_k)={\bf O}\\
&&\Leftrightarrow \sum_{n=1}^N\gamma(z_{nk})\left(-\frac{1}{2}{\bf\Sigma}_k^{-1}+\frac{1}{2}{\bf\Sigma}_k^{-1}({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Sigma}_k^{-1}\right)={\bf O}\\
&&\Leftrightarrow {\bf\Sigma}_k^{-1}\sum_{n=1}^N\gamma(z_{nk})\left({\bf I}-({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Sigma}_k^{-1}\right)={\bf O}\\
&&\Leftrightarrow \sum_{n=1}^N\gamma(z_{nk})\left({\bf I}-({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Sigma}_k^{-1}\right)={\bf O}\\
&&\Leftrightarrow \sum_{n=1}^N\gamma(z_{nk})=\sum_{n=1}^N\gamma(z_{nk})({\bf x}_n-{\boldsymbol\mu}_k)({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Sigma}_k^{-1}\\
&&\Leftrightarrow {\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{6}\\
\end{eqnarray}

(6)により、式(9.19)が示せました。

次に、\pi_kに関する最大化についてです。

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

\begin{eqnarray}
G&=&{\mathbb E}_{\bf Z}[\ln p({\bf X},{\bf Z}|{\boldsymbol\mu},{\bf\Sigma},{\boldsymbol\pi})]+\lambda\left(\sum_{j=1}^K\pi_j-1\right)\\
&=&\sum_{n=1}^N\sum_{j=1}^K\gamma(z_{nj})(\ln\pi_j+\ln{\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_j},{\bf\Sigma}_j))+\lambda\left(\sum_{j=1}^K\pi_j-1\right)\tag{7}\\
\end{eqnarray}

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

\begin{eqnarray}
&&\frac{\partial}{\partial\pi_k}G=0\\
&&\Leftrightarrow\sum_{n=1}^N\sum_{j=1}^K\gamma(z_{nj})\frac{\partial}{\partial\pi_k}(\ln\pi_j+\ln{\mathcal{N}({\bf x}_n|{\boldsymbol\mu}_j},{\bf\Sigma}_j))+\lambda\frac{\partial}{\partial\pi_k}\left(\sum_{k'=1}^K\pi_{k'}-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{8}\\
\end{eqnarray}

ところで、

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

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

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

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

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

(11)より、式(9.22)が示せました。

目次へ戻る