機械学習基礎理論独習

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

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

PRML演習問題 10.12(標準)

問題

同時分布(10.41)から始めて一般的な結果(10.9)を適用することで、
ベイズ混合ガウス分布の潜在変数の最適な変分事後分布q^*({\bf Z})(10.48)で与えられることを、
本文の段階を確かめることで示せ。

参照

\begin{eqnarray}
\ln q_j^\star({\bf Z}_j)={\mathbb E}_{i\not=j}[\ln p({\bf X},{\bf Z})]+{\rm const.}\tag{10.9}
\end{eqnarray}

\begin{eqnarray}
p({\bf Z}|{\boldsymbol\pi})=\prod_{n=1}^N\prod_{k=1}^K\pi_k^{z_{nk}}\tag{10.37}
\end{eqnarray}

\begin{eqnarray}
p({\bf X}|{\bf Z},{\boldsymbol\mu},{\bf\Lambda})=\prod_{n=1}^N\prod_{k=1}^K{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Lambda}_k^{-1})^{z_{nk}}\tag{10.38}
\end{eqnarray}

\begin{eqnarray}
p({\bf X},{\bf Z},{\boldsymbol\pi},{\boldsymbol\mu},{\bf\Lambda})=p({\bf X}|{\bf Z},{\boldsymbol\mu},{\bf\Lambda})p({\bf Z}|{\boldsymbol\pi})p({\boldsymbol\pi})p({\boldsymbol\mu}|{\bf\Lambda})p({\bf\Lambda})\tag{10.41}
\end{eqnarray}

\begin{eqnarray}
\ln \rho_{nk}={\mathbb E}[\ln \pi_k]+\frac{1}{2}{\mathbb E}[\ln|{\bf\Lambda}_k|]-\frac{D}{2}\ln(2\pi)-\frac{1}{2}{\mathbb E}_{{\boldsymbol\mu}_k,{\bf\Lambda}_k}[({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Lambda}_k({\bf x}_n-{\boldsymbol\mu}_k)]\tag{10.46}
\end{eqnarray}

\begin{eqnarray}
q^\star({\bf Z})=\prod_{n=1}^N\prod_{k=1}^Kr_{nk}^{z_{nk}}\tag{10.48}
\end{eqnarray}

\begin{eqnarray}
r_{nk}=\frac{\rho_{nk}}{\displaystyle\sum_{j=1}^K\rho_{nj}}\tag{10.49}
\end{eqnarray}

解答

(10.9){\bf Z}_j={\bf Z}(右辺の{\bf Z}は式(10.41){\bf Z})とおくと、以下が成り立ちます。

\begin{eqnarray}
\ln q^\star({\bf Z})&=&\langle\ln p({\bf X},{\bf Z},{\boldsymbol\pi},{\boldsymbol\mu},{\boldsymbol\Lambda})\rangle_{q({\boldsymbol\pi},{\boldsymbol\mu},{\boldsymbol\Lambda})}+{\rm const.}\\
&=&\langle\ln p({\bf X}|{\bf Z},{\boldsymbol\mu},{\bf\Lambda})p({\bf Z}|{\boldsymbol\pi})p({\boldsymbol\pi})p({\boldsymbol\mu}|{\bf\Lambda})p({\bf\Lambda})\rangle_{q({\boldsymbol\pi},{\boldsymbol\mu},{\boldsymbol\Lambda})}+{\rm const.}\\
&=&\underbrace{\langle\ln p({\bf Z}|{\boldsymbol\pi})\rangle_{q({\boldsymbol\pi})}}_{:=A}+\underbrace{\langle\ln p({\bf X}|{\bf Z},{\boldsymbol\mu},{\bf\Lambda})\rangle_{q({\boldsymbol\mu},{\bf\Lambda})}}_{:=B}+{\rm const.}\tag{1}
\end{eqnarray}

(1)の2つの項を分けて計算します。

まずは A=\langle\ln p({\bf Z}|{\boldsymbol\pi})\rangle_{q({\boldsymbol\pi})} を計算します。

\begin{eqnarray}
A&=&\langle\ln p({\bf Z}|{\boldsymbol\pi})\rangle_{q({\boldsymbol\pi})}\\
&=&\left\langle\ln\Bigg(\underbrace{\prod_{n=1}^N\prod_{k=1}^K\pi_k^{z_{nk}}}_{(10.37)}\Bigg)\right\rangle_{q({\boldsymbol\pi})}\\
&=&\left\langle\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\ln\pi_k\right\rangle_{q({\boldsymbol\pi})}\\
&=&\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\langle\ln\pi_k\rangle_{q({\boldsymbol\pi})}\tag{2}\\
\end{eqnarray}

次に B=\langle\ln p({\bf X}|{\bf Z},{\boldsymbol\mu},{\bf\Lambda})\rangle_{q({\boldsymbol\mu},{\bf\Lambda})} を計算します。

\begin{eqnarray}
B&=&\langle\ln p({\bf X}|{\bf Z},{\boldsymbol\mu},{\bf\Lambda}_k)\rangle_{q({\boldsymbol\mu},{\bf\Lambda})}\\
&=&\Bigg\langle\ln\Bigg(\underbrace{\prod_{n=1}^N\prod_{k=1}^K{\mathcal N}({\bf x}_n|{\boldsymbol\mu}_k,{\bf\Lambda}^{-1}_k)^{z_{nk}}}_{(10.38)}\Bigg)\Bigg\rangle_{p({\boldsymbol\mu},{\bf\Lambda})}\\
&=&\left\langle\ln\left(\prod_{n=1}^N\prod_{k=1}^K\left(\dfrac{\sqrt{|{\bf\Lambda}_k|}}{\sqrt{(2\pi)^D}}\exp\left(-\frac{1}{2}({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Lambda}_k({\bf x}_n-{\boldsymbol\mu}_k)\right)\right)^{z_{nk}}\right)\right\rangle_{p({\boldsymbol\mu},{\bf\Lambda})}\\
&=&\left\langle\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\left(\frac{1}{2}\ln|{\bf\Lambda}_k|-\frac{D}{2}\ln2\pi-\frac{1}{2} ({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Lambda}_k({\bf x}_n-{\boldsymbol\mu}_k)\right)\right\rangle_{p({\boldsymbol\mu},{\bf\Lambda})}\\
&=&\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\left(\frac{1}{2}\langle\ln|{\bf\Lambda}_k|\rangle_{q({\bf\Lambda}_k)}-\frac{D}{2}\ln2\pi-\frac{1}{2}\langle({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Lambda}_k({\bf x}_n-{\boldsymbol\mu}_k)\rangle_{q({\boldsymbol\mu}_k,{\bf\Lambda}_k)}\right)\tag{3}\\
\end{eqnarray}

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

\begin{eqnarray}
\ln q^\star({\bf Z})&=&\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\langle\ln\pi_k\rangle_{q({\boldsymbol\pi})}+\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\left(\frac{1}{2}\langle\ln|{\bf\Lambda}_k|\rangle_{q({\bf\Lambda}_k)}-\frac{D}{2}\ln2\pi-\frac{1}{2}\langle({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Lambda}_k({\bf x}_n-{\boldsymbol\mu}_k)\rangle_{q({\boldsymbol\mu}_k,{\bf\Lambda}_k)}\right)\\
&=&\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\left(\langle\ln\pi_k\rangle_{q({\boldsymbol\pi})}+\frac{1}{2}\langle\ln|{\bf\Lambda}_k|\rangle_{q({\bf\Lambda}_k)}-\frac{D}{2}\ln2\pi-\frac{1}{2}\langle({\bf x}_n-{\boldsymbol\mu}_k)^\top{\bf\Lambda}_k({\bf x}_n-{\boldsymbol\mu}_k)\rangle_{q({\boldsymbol\mu}_k,{\bf\Lambda}_k)}\right)\\
&=&\sum_{n=1}^N\sum_{k=1}^Kz_{nk}\underbrace{\ln\rho_{nk}}_{(10.46)}+{\rm const.}\tag{4}
\end{eqnarray}

(4)の対数を外してみます。

\begin{eqnarray}
q^\star({\bf Z})=C_{q({\bf Z})}\prod_{n=1}^N\prod_{k=1}^K\rho_{nk}^{z_{nk}}\tag{5}
\end{eqnarray}

(5)C_{q({\bf Z})}q({\bf Z})正則化項であり、
{\bf Z}について\displaystyle\prod_{n=1}^N\displaystyle\prod_{k=1}^K\rho_{nk}^{z_{nk}}を足しわせた数の逆数が正規化定数なので、以下のように計算できます。

\begin{eqnarray}
C^{-1}_{q({\bf Z})}&=&\sum_{\bf Z}\prod_{n=1}^N\prod_{k=1}^K\rho_{nk}^{z_{nk}}\\
&=&\sum_{{\bf z}_1}\cdots\sum_{{\bf z}_N}\prod_{n=1}^N\prod_{k=1}^K\rho_{nk}^{z_{nk}}\\
&=&\sum_{{\bf z}_1}\prod_{k=1}^K\rho_{1k}^{z_{1k}}\cdots\sum_{{\bf z}_N}\prod_{k=1}^K\rho_{Nk}^{z_{Nk}}\\
&=&\sum_{k=1}^K\rho_{1k}\cdots\sum_{k=1}^K\rho_{Nk}\\
&=&\prod_{n=1}^N\sum_{k=1}^K\rho_{nk}\tag{6}\\
\end{eqnarray}

(6)を式(5)に代入します。

\begin{eqnarray}
q^\star({\bf Z})&=&\frac{\displaystyle\prod_{n=1}^N\displaystyle\prod_{k=1}^K\rho_{nk}^{z_{nk}}}{\displaystyle\prod_{n=1}^N\displaystyle\sum_{k=1}^K\rho_{nk}}\\
&=&\prod_{n=1}^N\frac{\displaystyle\prod_{k=1}^K\rho_{nk}^{z_{nk}}}{\displaystyle\sum_{j=1}^K\rho_{nj}}\\
&=&\prod_{n=1}^N\prod_{k=1}^K\left(\frac{\rho_{nk}}{\sum_{j=1}^K\rho_{nj}}\right)^{z_{nk}}\\
&=&\prod_{n=1}^N\prod_{k=1}^K\underbrace{r_{nk}^{z_{nk}}}_{(10.49)}\tag{7}\\
\end{eqnarray}

(7)より、式(10.48)が示せました。

補足

(6),(7)の式変形が分かりにくい場合は、
ポアソン混合モデルにおける変分推論の「式(24)から式(25)の変形について」を読んでみてください。

目次へ戻る