はじめに
本記事は, 機械学習の教科書の決定版ともいえる, Christopher Bishop先生による[『Pattern Recognition and Machine Learning (パターン認識と機械学習)』] (https://www.microsoft.com/en-us/research/people/cmbishop/prml-book/) , 通称PRMLの演習問題のうち, 私が解いた問題の解答を記したものです. これは, 私の所属する[生物測定学研究室] (https://www.ut-biomet.org/) の輪読会でPRMLを取り扱っており, その勉強の一環として演習問題を解いたときのものです. なお, 他の演習問題の解答例に関する記事については, [PRML 演習問題 解答集 まとめ] (https://qiita.com/Lab_of_Biomet/items/15e38ca34fafa8176d89) をご覧ください.
問題
ガウス出力密度をもつ隠れマルコフモデルを考える. ガウス分布の平均と共分散のパラメータについての関数 $Q(\boldsymbol{\theta}, \boldsymbol{\theta} ^ \mathrm{old})$ の最大化が, Mステップの方程式
\begin{align*}
\boldsymbol{\mu}_k = \frac{\sum ^ {N}_{n = 1} \gamma(z_{nk}) \textbf{x}_{n}}{\sum ^ {N}_{n = 1} \gamma(z_{nk})}
\tag {13.20}
\end{align*}
と
\begin{align*}
\boldsymbol{\Sigma}_k = \frac{\sum ^ {N}_{n = 1} \gamma(z_{nk}) (\textbf{x}_{n} - \boldsymbol{\mu}_k)(\textbf{x}_{n} - \boldsymbol{\mu}_k) ^ \mathrm{T}}{\sum ^ {N}_{n = 1} \gamma(z_{nk})}
\tag{13.21}
\end{align*}
を導くことを示せ.
解答
まず, $Q(\boldsymbol{\theta}, \boldsymbol{\theta} ^ \mathrm{old})$ が
\begin{align*}
Q(\boldsymbol{\theta}, \boldsymbol{\theta} ^ \mathrm{old}) = \sum ^ {K}_{k = 1} \gamma(z_{1k}) \ln{\pi} + \sum ^ {N}_{n = 2} \sum ^ {K}_{j = 1} \sum ^ {K}_{k = 1} \xi (z_{n - 1, j}, z_{n k}) \ln{A_{jk}} + \sum ^ {N}_{n = 1} \sum ^ {K}_{k = 1} \gamma(z_{nk}) \ln {p (\textbf{x}_{n} | \boldsymbol{\phi}_{k})}
\tag{13.17}
\end{align*}
の形で表されたことを思い出そう.
ここで$Q(\boldsymbol{\theta}, \boldsymbol{\theta} ^ \mathrm{old})$ の第3項のみが $\boldsymbol{\phi}$ に依存することを考慮すれば, ガウス分布の平均と共分散のパラメータについての最大化は,
\begin{align*}
\sum ^ {N}_{n = 1} \sum ^ {K}_{k = 1} \gamma(z_{nk}) \ln {p (\textbf{x}_{n} | \boldsymbol{\phi}_{k})} = \sum ^ {N}_{n = 1} \sum ^ {K}_{k = 1} \gamma(z_{nk}) \left \{ - \frac{D}{2} \ln {2 \pi} - \frac{1}{2} \ln{|\boldsymbol{\Sigma}_k|} - \frac{1}{2} (\textbf{x}_n - \boldsymbol{\mu}_k) ^ \mathrm{T} \boldsymbol{\Sigma}_k ^ \mathrm{-1} (\textbf{x}_n - \boldsymbol{\mu}_k) \right \}
\tag{13.7.1}
\end{align*}
の最大化に等しい.
したがって, ガウス分布の平均$\boldsymbol{\mu}_k$ に関する最大化は,
\begin{align*}
\frac{\partial}{\partial \boldsymbol{\mu}_k} Q(\boldsymbol{\theta}, \boldsymbol{\theta} ^ \mathrm{old})
&= \frac{\partial}{\partial \boldsymbol{\mu}_k} \sum ^ {N}_{n = 1} \sum ^ {K}_{k = 1} \gamma(z_{nk}) \left \{ - \frac{1}{2} (\textbf{x}_n - \boldsymbol{\mu}_k) ^ \mathrm{T} \boldsymbol{\Sigma}_k ^ \mathrm{-1} (\textbf{x}_n - \boldsymbol{\mu}_k) \right \} \\
&= \sum ^ {N}_{n = 1} \gamma(z_{nk}) \boldsymbol{\Sigma}_k ^ \mathrm{-1} (\textbf{x}_n - \boldsymbol{\mu}_k)
= 0
\tag{13.7.2}
\end{align*}
より,
\begin{align*}
\boldsymbol{\mu}_k = \frac{\sum ^ {N}_{n = 1} \gamma(z_{nk}) \textbf{x}_{n}}{\sum ^ {N}_{n = 1} \gamma(z_{nk})}
\tag{13.20}
\end{align*}
が得られる.
次に分散パラメータ $\boldsymbol{\Sigma}_k$ に関する最大化は,
\begin{align*}
\frac{\partial}{\partial \boldsymbol{\Sigma}_k} Q(\boldsymbol{\theta}, \boldsymbol{\theta} ^ \mathrm{old})
&= \frac{\partial}{\partial \boldsymbol{\Sigma}_k} \sum ^ {N}_{n = 1} \sum ^ {K}_{k = 1} \gamma(z_{nk}) \left \{ - \frac{1}{2} \ln{|\boldsymbol{\Sigma}_k|} - \frac{1}{2} (\textbf{x}_n - \boldsymbol{\mu}_k) ^ \mathrm{T} \boldsymbol{\Sigma}_k ^ \mathrm{-1} (\textbf{x}_n - \boldsymbol{\mu}_k) \right \} \\
&= \sum ^ {N}_{n = 1} \gamma(z_{nk}) \left \{ - \frac{1}{2} \left( \boldsymbol{\Sigma}_k ^ \mathrm{-1} \right) ^ \mathrm{T} - \frac{1}{2} \frac{\partial}{\partial \boldsymbol{\Sigma}_k} \text{Tr} \left( \boldsymbol{\Sigma}_k ^ \mathrm{-1} (\textbf{x}_n - \boldsymbol{\mu}_k) (\textbf{x}_n - \boldsymbol{\mu}_k) ^ \mathrm{T} \right)
\right\} \\
&= - \frac{1}{2} \sum ^ {N}_{n = 1} \gamma(z_{nk}) \left \{ \boldsymbol{\Sigma}_k ^ \mathrm{-1} - \boldsymbol{\Sigma}_k ^ \mathrm{-1} (\textbf{x}_n - \boldsymbol{\mu}_k) (\textbf{x}_n - \boldsymbol{\mu}_k) ^ \mathrm{T} \boldsymbol{\Sigma}_k ^ \mathrm{-1}
\right\}
= 0
\tag{13.7.3}
\end{align*}
より,
\begin{align*}
\boldsymbol{\Sigma}_k = \frac{\sum ^ {N}_{n = 1} \gamma(z_{nk}) (\textbf{x}_{n} - \boldsymbol{\mu}_k)(\textbf{x}_{n} - \boldsymbol{\mu}_k) ^ \mathrm{T}}{\sum ^ {N}_{n = 1} \gamma(z_{nk})}
\tag{13.21}
\end{align*}
となることが導出される.
以上で証明は終了である. (証明終)