機械学習基礎理論独習

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

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

PRML演習問題 13.5(標準)

問題

隠れマルコフモデルの初期状態確率と遷移確率のパラメータについてのMステップの方程式(13.18)(13.19)を、
完全データに対する対数尤度関数の期待値(13.17)を最大化することにより確かめよ。
その際、適当なラグランジュ乗数を用いて{\boldsymbol\pi}{\bf A}の成分に対する和の制約を与えること。

参照

\begin{eqnarray}
\gamma({\bf z}_n)=p({\bf z}_n|{\bf X},{\boldsymbol\theta}^{old})\tag{13.13}
\end{eqnarray}

\begin{eqnarray}
\xi({\bf z}_{n-1},{\bf z}_n)=p({\bf z}_{n-1},{\bf z}_n|{\bf X},{\boldsymbol\theta}^{old})\tag{13.14}
\end{eqnarray}

\begin{eqnarray}
\gamma(z_{nk})={\mathbb E}[z_{nk}]=\sum_{{\bf z}_n}\gamma({\bf z}_n)z_{nk}\tag{13.15}
\end{eqnarray}

\begin{eqnarray}
\xi(z_{n-1,j},z_{nk})={\mathbb E}[z_{n-1,j}z_{nk}]=\sum_{{\bf z}_{n-1},{\bf z}_n}\xi({\bf z}_{n-1},{\bf z}_n)z_{n-1,j}z_{nk}\tag{13.16}
\end{eqnarray}

\begin{eqnarray}
Q({\boldsymbol\theta},{\boldsymbol\theta}^{old})&=&\sum_{k=1}^K\gamma(z_{1k})\ln\pi_k+\sum_{n=2}^N\sum_{k=1}^K\sum_{j=1}^K\xi(z_{n-1,j}z_{nk})\ln A_{jk}\\
&&+\sum_{n=1}^N\sum_{k=1}^K\gamma(z_{nk})\ln p({\bf x}_n|{\boldsymbol\phi}_k)\tag{13.17}
\end{eqnarray}

\begin{eqnarray}
\pi_k=\frac{\gamma(z_{1k})}{\displaystyle\sum_{k=1}^K\gamma(z_{1k})}\tag{13.18}
\end{eqnarray}

\begin{eqnarray}
A_{jk}=\frac{\displaystyle\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})}{\displaystyle\sum_{k=1}^K\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})}\tag{13.19}
\end{eqnarray}

解答

{\boldsymbol\pi}に関してQ({\boldsymbol\theta},{\boldsymbol\theta}^{old})を最大化します。
\displaystyle\sum_{k=1}^K\pi_k=1の制約条件の下で、ラグランジュ関数\widetilde{Q}は以下のようになります。
(Q({\boldsymbol\theta},{\boldsymbol\theta}^{old})の項で、\pi_kに無関係なものは無視しています。\displaystyle\sum_{k=1}^KA_{jk}=1の制約条件も無視しています。)

\begin{eqnarray}
\widetilde{Q}=\sum_{k=1}^K\gamma(z_{1k})\ln\pi_k+\lambda\left(\sum_{k=1}^K\pi_k-1\right)\tag{1}
\end{eqnarray}

\widetilde{Q}\pi_k微分して、=0とおきます。

\begin{eqnarray}
&&\frac{\partial \widetilde{Q}}{\partial\pi_k}=0\\
&&\Leftrightarrow\frac{\partial}{\partial\pi_k}\sum_{k'=1}^K\gamma(z_{1k'})\ln\pi_{k'}+\frac{\partial}{\partial\pi_k}\lambda\left(\sum_{k'=1}^K\pi_{k'}-1\right)=0\\
&&\Leftrightarrow\gamma(z_{1k})\frac{1}{\pi_k}+\lambda=0\\
&&\Leftrightarrow \pi_k=-\frac{\gamma(z_{1k})}{\lambda}\tag{2}
\end{eqnarray}

\displaystyle\sum_{k=1}^K\pi_k=1に式(2)を代入します。

\begin{eqnarray}
&&\sum_{k=1}^K-\frac{\gamma(z_{1k})}{\lambda}=1\\
&&\Leftrightarrow \lambda=-\sum_{k=1}^K\gamma(z_{1k})\tag{3}
\end{eqnarray}

(3)を式(2)に代入すると、以下の式を得ます。

\begin{eqnarray}
\pi_k=\frac{\gamma(z_{1k})}{\displaystyle\sum_{k=1}^K\gamma(z_{1k})}\tag{4}
\end{eqnarray}

(4)より、式(13.18)が示せました。

(13.19)を示します。

{\bf A}に関してQ({\boldsymbol\theta},{\boldsymbol\theta}^{old})を最大化します。
\displaystyle\sum_{k=1}^KA_{jk}=1の制約条件の下で、ラグランジュ関数\widehat{Q}は以下のようになります。
(Q({\boldsymbol\theta},{\boldsymbol\theta}^{old})の項で、A_{jk}に無関係なものは無視しています。\displaystyle\sum_{k=1}^K\pi_k=1の制約条件も無視しています。)

\begin{eqnarray}
\widehat{Q}=\sum_{n=2}^N\sum_{k=1}^K\sum_{j=1}^K\xi(z_{n-1,j},z_{nk})\ln A_{jk}+\sum_{j=1}^K\lambda_j\left(\sum_{k=1}^KA_{jk}-1\right)\tag{5}
\end{eqnarray}
\widehat{Q}A_{jk}微分して、=0とおきます。
\begin{eqnarray}
&&\frac{\partial\widehat{Q}}{\partial A_{jk}}=0\\
&&\Leftrightarrow\frac{\partial}{\partial A_{jk}}\sum_{n=2}^N\sum_{k'=1}^K\sum_{j'=1}^K\xi(z_{n-1,j'},z_{nk'})\ln A_{jk}+\frac{\partial}{\partial A_{jk}}\sum_{j'=1}^K\lambda_{j'}\left(\sum_{k'=1}^KA_{j'k'}-1\right)=0\\
&&\Leftrightarrow\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})\frac{1}{A_{jk}}+\lambda_j=0\\
&&\Leftrightarrow A_{jk}=-\frac{\displaystyle\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})}{\lambda_j}\tag{6}
\end{eqnarray}

\displaystyle\sum_{k=1}^KA_{jk}=1に式(6)を代入します。

\begin{eqnarray}
&&\sum_{k=1}^K\Bigg(-\frac{\displaystyle\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})}{\lambda_j}\Bigg)=1\\
&&\Leftrightarrow \lambda_j=-\sum_{k=1}^K\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})\tag{7}
\end{eqnarray}

(7)を式(6)に代入すると、以下の式を得ます。

\begin{eqnarray}
A_{jk}=\frac{\displaystyle\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})}{\displaystyle\sum_{k=1}^K\sum_{n=2}^N\xi(z_{n-1,j},z_{nk})}\tag{8}
\end{eqnarray}

(8)より、式(13.19)が示せました。

目次へ戻る