機械学習基礎理論独習

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

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

PRML演習問題 13.14(標準)

問題

因子グラフにおける因子ノードから変数ノードへ渡されるメッセージの定義 (8.64)
隠れマルコフモデルの同時分布の表現 (13.6) を用いて、
\beta メッセージの定義 (13.52)(13.35) の定義と同一であることを示せ。

参照

\begin{eqnarray}
\mu_{f_s\rightarrow x}(x)\equiv\sum_{X_s}F_s(x,X_s)\tag{8.64}
\end{eqnarray}

\begin{eqnarray}
p({\bf x}_1,\ldots,{\bf x}_N,{\bf z}_1,\ldots,{\bf z}_N)=p({\bf z}_1)\left(\prod_{n=2}^Np({\bf z}_n|{\bf z}_{n-1})\right)\prod_{n=1}^Np({\bf x}_n|{\bf z}_n)\tag{13.6}
\end{eqnarray}

\begin{eqnarray}
\beta({\bf z}_n)\equiv p({\bf x}_{n+1},\ldots,{\bf x}_N|{\bf z}_n)\tag{13.35}
\end{eqnarray}

\begin{eqnarray}
f_n({\bf z}_{n-1},{\bf z}_n)=p({\bf z}_n|{\bf z}_{n-1})p({\bf x}_n|{\bf z}_n)\tag{13.46}
\end{eqnarray}

\begin{eqnarray}
\beta({\bf z})=\mu_{f_{n+1}\rightarrow{\bf z}_n}({\bf z}_n)\tag{13.52}
\end{eqnarray}

解答

(8.64) を用いて、式 (13.52) は、以下のように書けます。

\begin{eqnarray}
\beta({\bf z}_n)=\sum_{{\bf z}_{n+1},\ldots,{\bf z}_N}F_{n+1}({\bf z}_n,\{{\bf z}_{n+1},\ldots,{\bf z}_N\})\tag{1}
\end{eqnarray}

F_{n+1}(\cdot)f_{n+1} 自体を含む f_{n+1} を介して接続される全ての因子の積ですので、
F_{n+1}({\bf z}_n,\{{\bf z}_{n+1},\ldots,{\bf z}_N\}) は、以下のように書けます。

\begin{eqnarray}
F_{n+1}({\bf z}_n,\{{\bf z}_{n+1},\ldots,{\bf z}_N\})&=&\prod_{i=n+1}^Nf_i({\bf z}_{i-1},{\bf z}_i)\\
&=&\prod_{i=n+1}^Np({\bf z}_i|{\bf z}_{i-1})p({\bf x}_i|{\bf z}_i)\\
&=&p({\bf x}_{n+1},\ldots,{\bf x}_N,{\bf z}_{n+1},\ldots,{\bf z}_N|{\bf z}_n)\tag{2}
\end{eqnarray}

(2) を式 (1) に代入します。

\begin{eqnarray}
\beta({\bf z}_n)&=&\sum_{{\bf z}_{n+1},\ldots,{\bf z}_N}p({\bf x}_{n+1},\ldots,{\bf x}_N,{\bf z}_{n+1},\ldots,{\bf z}_N|{\bf z}_n)\\
&=&p({\bf x}_{n+1},\ldots,{\bf x}_N|{\bf z}_n)\tag{3}
\end{eqnarray}

(3) より、 (13.52)(13.35) の定義と同一であることが示せました。

補足

PRMLでは問題文は (8.67) とありますが、正しくは (8.64) です。
本記事の問題文では、(8.64) に修正してあります。

目次へ戻る