LoginSignup
0
0

More than 3 years have passed since last update.

PRML 式(13.17)の導出

Last updated at Posted at 2021-02-04

この記事では統計学・機械学習の教科書である、C. M. Bishop 著「パターン認識と機械学習」(略称:PRML)の演習問題を私が解いた結果を載せています。この本は私が所属する研究室の輪読会で現在扱われていて、勉強の一環として演習問題を解いています。

\newcommand{\boa}[1]{\mathbf{#1}}
\newcommand{\bog}[1]{\boldsymbol{#1}}

\newcommand{\z}{\mathbf{z}}
\newcommand{\Z}{\mathbf{Z}}
\newcommand{\x}{\mathbf{x}}
\newcommand{\X}{\mathbf{X}}
\newcommand{\th}{\boldsymbol{\theta}}
\newcommand{\tho}{\th^{\rm old}}

 この記事の中では、練習問題の解答ではなく、教科書内に出てくる式の導出について記述しました。

命題

 以下のような隠れマルコフモデルを考える。

\begin{align}
p(\z_n|\z_{n-1}, \boa{A})
=&\ 
\prod_{k=1}^K \prod_{j=1}^K A_{jk}^{z_{n-1,j}\ z_{nk}}
\tag{13.7}
\\
p(\z_1|\bog{\pi})
=&\ 
\prod_{k=1}^K \pi_k^{z_{1k}}
\tag{13.8}
\\
p(\x_n|\z_n,\bog{\phi})
=&\ 
\prod_{k=1}^K p(\x_n|\bog{\phi}_k)^{z_{nk}}
\tag{13.9}
\\
p(\X,\Z|\th)
=&\ 
p(\z_1|\bog{\pi})
\left[ \prod_{n=2}^N p(\z_n|\z_{n-1}, \boa{A}) \right]
\prod_{m=1}^N p(\x_m|\z_{m}, \bog{\phi})
\tag{13.10}
\end{align}

 この時、パラメータをEMアルゴリズムで推定するために必要な、完全データ対数尤度関数の期待値

\begin{align}
Q(\th, \tho)
=&
\mathbb{E}_{\Z | \tho} [\ln p(\X,\Z|\th)]
\\=&
\sum_\Z p(\Z|\X,\tho) \ln p(\X,\Z|\th)
\tag{13.12}
\end{align}

 は、以下のようになる。

\begin{align}
Q(\th, \tho)
=&
\sum_{k=1}^K \gamma(z_{1k}) \ln \pi_k
+ \sum_{n=2}^N \sum_{j=1}^K \sum_{k=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(\x_n|\phi_k)
\tag{13.17}
\end{align}

 なお、$\gamma, \xi$ は以下のように定義される。

\begin{align}
\gamma(\z_n) =&\ p(\z_n|\X,\tho) \tag{13.13}
\\
\xi(\z_{n-1},\z_n) =&\ p(\z_{n-1},\z_n|\X,\tho) \tag{13.14}
\\
\gamma(z_{nk}) =&\ \mathbb{E} [z_{nk}]
\\ =& \sum_{\z_n} \gamma(\z_n) z_{nk} \tag{13.15}
\\
\xi(z_{n-1,j},z_{nk}) =&\ \mathbb{E} [z_{n-1,\ j},z_{nk}]
\\ =& \sum_{\z_{n-1},\ \z_n} \xi(\z_{n-1},\z_n) z_{n-1,j} z_{nk} \tag{13.16}
\end{align}

証明

\begin{align}
Q(\th, \tho)
=&\ 
\sum_\Z p(\Z|\X,\tho) \ln p(\X,\Z|\th)
\tag{13.12}
\end{align}

 
 $Q(\th, \tho)$ を構成する要素のうち、同時分布 $p(\X,\Z|\th)$ の対数は、式 $(13.10)$ のように3つの項の和に分けられるので、それぞれに関して考える。

第1項

 第1項は $\z_1$ に注目して変形する。そのため、$\Z$ から $\z_1$ を除いたものを $\Z_{/1}$ と表記する。

\begin{align}
&\ 
\sum_\Z p(\Z|\X,\tho)
\ln p(\z_1|\bog{\pi})
\\=&\ 
\sum_{\z_1} \sum_{\Z_{/1}} 
p(\z_1|\X,\tho) p(\Z_{/1}|\z_1\X,\tho)
\ln p(\z_1|\bog{\pi})
\\=&\ 
\sum_{\z_1} \left[ p(\z_1|\X,\tho) \ln p(\z_1|\bog{\pi})
\sum_{\Z_{/1}} p(\Z_{/1}|\z_1\X,\tho) \right]
\\=&\ 
\sum_{\z_1} p(\z_1|\X,\tho) \ln p(\z_1|\bog{\pi})
\\=&\ 
\sum_{k=1}^K \gamma(z_{1k}) \ln \pi_k
\tag{ex.1}
\end{align}

 以上より、求める式 $(13.17)$ の第1項を導出することができた。

第2項

 対象とする式は以下である。

\begin{align}
&\ 
\sum_\Z \left[ p(\Z|\X,\tho) 
\ln \left( \prod_{n=2}^N p(\z_n|\z_{n-1}, \boa{A}) \right) \right]
\\=&\ 
\sum_\Z \left[ p(\Z|\X,\tho) 
\sum_{n=2}^N \ln p(\z_n|\z_{n-1}, \boa{A}) \right]
\tag{ex.2}
\end{align}

 2つ目のシグマ記号の各要因 $(n=2,...,N)$ について、更に分解して考える。$\Z$ から $\z_{n-1},\z_n$ を除いたものを $\Z_{/n-1,n}$ と表記する。

\begin{align}
&\ 
\sum_\Z p(\Z|\X,\tho) \ln p(\z_n|\z_{n-1}, \boa{A})
\\=&\ 
\sum_{\z_n} \sum_{\z_{n-1}} \sum_{\Z_{/n-1,n}}
p(\z_n,\z_{n-1}|\X,\tho) p(\Z_{/n-1,n}|\z_n,\z_{n-1},\X,\tho) 
\ln p(\z_n|\z_{n-1}, \boa{A})
\\=&\ 
\sum_{\z_n} \sum_{\z_{n-1}} \left[
p(\z_n,\z_{n-1}|\X,\tho) \ln p(\z_n|\z_{n-1}, \boa{A})
\sum_{\Z_{/n-1,n}}
p(\Z_{/n-1,n}|\z_n,\z_{n-1},\X,\tho) \right]
\\=&\ 
\sum_{\z_n} \sum_{\z_{n-1}}
p(\z_n,\z_{n-1}|\X,\tho) \ln p(\z_n|\z_{n-1}, \boa{A})
\\=&\ 
\sum_{j=1}^K \sum_{k=1}^K \xi(z_{n-1,j}, z_{nk}) \ln A_{jk}
\tag{ex.3}
\end{align}

 これを $n=2,...,N$ において足し合わせることで、求める式 $(13.17)$ の第2項を導出することができる。

\begin{align}
& \ \sum_\Z \left[ p(\Z|\X,\tho) 
\ln \left( \prod_{n=2}^N p(\z_n|\z_{n-1}, \boa{A}) \right) \right]
\\=& \  
\sum_{n=2}^N \sum_{j=1}^K \sum_{k=1}^K \xi(z_{n-1,j}, z_{nk}) \ln A_{jk}
\tag{ex.4}
\end{align}

第3項

\begin{align}
&\ 
\sum_\Z p(\Z|\X,\tho) 
\ln \prod_{m=1}^N p(\x_m|\z_{m}, \bog{\phi})
\\=&\ 
\sum_\Z \left[ p(\Z|\X,\tho) 
\sum_{m=1}^N \ln p(\x_m|\z_{m}, \bog{\phi}) \right]
\tag{ex.5}
\end{align}

 こちらも、2つ目のシグマ記号の各要因 $(m=1,...,N)$ について、更に分解して考える。$\Z$ から $\z_m$ を除いたものを $\Z_{/m}$ と表記する。

\begin{align}
&\ 
\sum_\Z p(\Z|\X,\tho) \ln p(\x_m|\z_{m}, \bog{\phi})
\\=&\ 
\sum_{\z_m} \sum_{\Z_{/m}} 
p(\z_m|\X,\tho) p(\Z_{/m}|\z_m,\X,\tho) \ln p(\x_m|\z_{m}, \bog{\phi})
\\=&\ 
\sum_{\z_m} \left[ 
p(\z_m|\X,\tho) \ln p(\x_m|\z_{m}, \bog{\phi})
\sum_{\Z_{/m}}  p(\Z_{/m}|\z_m,\X,\tho) \right]
\\=&\ 
\sum_{\z_m} p(\z_m|\X,\tho) \ln p(\x_m|\z_{m}, \bog{\phi})
\\=&\ 
\sum_{k=1}^K \gamma(z_{nk}) \ln p(\x_n|\phi_k)
\tag{ex.6}
\end{align}

 これを $m=1,...,N$ において足し合わせることで、求める式 $(13.17)$ の第3項を導出することができる。

\begin{align}
&\ \sum_\Z p(\Z|\X,\tho) 
\ln \prod_{m=1}^N p(\x_m|\z_{m}, \bog{\phi})
\\=&\ 
\sum_{m=1}^N \sum_{k=1}^K \gamma(z_{mk}) \ln p(\x_m|\phi_k)
\tag{ex.7}
\end{align}

 以上より、題意

\begin{align}
Q(\th, \tho)
=&
\sum_{k=1}^K \gamma(z_{1k}) \ln \pi_k
+ \sum_{n=2}^N \sum_{j=1}^K \sum_{k=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(\x_n|\phi_k)
\tag{13.17}
\end{align}

 は示された。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0