機械学習基礎理論独習

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

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

PRML演習問題 9.20(基本) www

問題

ベイズ線形回帰モデルについて、期待完全データ対数尤度関数 (9.62) の最大化は
\alpha に関する M ステップの更新式 (9.63) を導くことを示せ。

参照

\begin{eqnarray}
{\mathbb E}[{\bf x}{\bf x}^\top]={\boldsymbol\mu}{\boldsymbol\mu}^\top+{\bf\Sigma}\tag{2.62}
\end{eqnarray}

\begin{eqnarray}
p({\bf w}|{\bf t})={\mathcal N}({\bf w}|{\bf m}_N,{\bf S}_N)\tag{3.49}
\end{eqnarray}

\begin{eqnarray}
{\mathbb E}[\ln p({\bf t},{\bf w}|\alpha,\beta)]=\frac{M}{2}\ln\left(\frac{\alpha}{2\pi}\right)-\frac{\alpha}{2}{\mathbb E}[{\bf w}^\top{\bf w}]+\frac{N}{2}\ln\left(\frac{\beta}{2\pi}\right)-\frac{\beta}{2}\sum_{n=1}^N{\mathbb E}[(t_n-{\bf w}^\top{\boldsymbol\phi}_n)^2]\tag{9.62}
\end{eqnarray}

\begin{eqnarray}
\alpha=\frac{M}{{\mathbb E}[{\bf w}^\top{\bf w}]}=\frac{M}{{\bf m}_N^\top{\bf m}_N+{\rm Tr}({\bf S}_N)}\tag{9.63}
\end{eqnarray}

解答

本解答における期待値 {\mathbb E}[\cdot] は事後分布 p({\bf w}|{\bf t}) に関する期待値 {\mathbb E}_{p({\bf w}|{\bf t})}[\cdot] です。

{\mathbb E}[\ln p({\bf t},{\bf w}|\alpha,\beta)]\alpha微分して、=0 とおきます。

\begin{eqnarray}
&&\frac{\partial}{\partial\alpha}{\mathbb E}[\ln p({\bf t},{\bf w}|\alpha,\beta)]=0\\
&&\Leftrightarrow\frac{\partial}{\partial\alpha}\left(\frac{M}{2}\ln\left(\frac{\alpha}{2\pi}\right)-\frac{\alpha}{2}{\mathbb E}[{\bf w}^\top{\bf w}]+\frac{N}{2}\ln\left(\frac{\beta}{2\pi}\right)-\frac{\beta}{2}\sum_{n=1}^N{\mathbb E}[(t_n-{\bf w}^\top{\boldsymbol\phi}_n)^2]\right)=0\\
&&\Leftrightarrow\frac{\partial}{\partial\alpha}\frac{M}{2}\ln\alpha-\frac{\partial}{\partial\alpha}\frac{\alpha}{2}{\mathbb E}[{\bf w}^\top{\bf w}]=0\\
&&\Leftrightarrow\frac{M}{2}\frac{1}{\alpha}-\frac{1}{2}{\mathbb E}[{\bf w}^\top{\bf w}]=0\\
&&\Leftrightarrow\alpha=\underbrace{\frac{M}{{\mathbb E}[{\bf w}^\top{\bf w}]}}_{=:X}\tag{1}
\end{eqnarray}

X:={\mathbb E}[{\bf w}^\top{\bf w}] を計算します。

\begin{eqnarray}
X&:=&{\mathbb E}\left[{\bf w}^\top{\bf w}\right]\\
&=&{\mathbb E}\left[\sum_{m=1}^Mw_i^2\right]\\
&=&{\mathbb E}\left[w_1^2+\cdots+w_M^2\right]\\
&=&{\mathbb E}\left[w_1^2\right]+\cdots+{\mathbb E}\left[w_M^2\right]\\
&=&{\rm Tr}\left({\mathbb E}\left[{\bf w}{\bf w}^\top\right]\right)\tag{2}\\
&=&{\rm Tr}(\underbrace{{\bf m}_N{\bf m}_N^\top+{\bf S}_N}_{(2.62),(3.49)})\\
&=&{\rm Tr}\left({\bf m}_N{\bf m}_N^\top\right)+{\rm Tr}\left({\bf S}_N\right)\\
&=&{\bf m}_N^\top{\bf m}_N+{\rm Tr}\left({\bf S}_N\right)\tag{3}
\end{eqnarray}

(2),(3) の式変形は、補足にて説明します。
(3) を式 (1) に代入します。

\begin{eqnarray}
\alpha=\frac{M}{{\bf m}_N^\top{\bf m}_N+{\rm Tr}\left({\bf S}_N\right)}\tag{4}
\end{eqnarray}

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

補足

(2),(3) の式変形を説明します。

まず、式 (2) の式変形を説明します。
{\bf w} の成分を w_m\ (m=1,\ldots,M) とおきます。
{\bf w}{\bf w}^\top を計算します。

\begin{eqnarray}
{\bf w}{\bf w}^\top=\begin{pmatrix}w_1w_1 & \cdots & w_1w_M \\ \vdots & \ddots & \vdots\\ w_Mw_1 & \cdots & w_Mw_M\end{pmatrix}\tag{5}
\end{eqnarray}

(5) より、以下が成り立ちます。

\begin{eqnarray}
{\mathbb E}[{\bf w}{\bf w}^\top]=\begin{pmatrix}{\mathbb E}[w_1w_1] & \cdots & {\mathbb E}[w_1w_M] \\ \vdots & \ddots & \vdots\\ {\mathbb E}[w_Mw_1] & \cdots & {\mathbb E}[w_Mw_M] \end{pmatrix}=\begin{pmatrix}{\mathbb E}[w_1^2] & \cdots & {\mathbb E}[w_1w_M] \\ \vdots & \ddots & \vdots\\ {\mathbb E}[w_Mw_1] & \cdots & {\mathbb E}[w_M^2] \end{pmatrix}\tag{6}
\end{eqnarray}

(6) の対角成分の和は {\rm Tr}({\mathbb E}[{\bf w}{\bf w}^\top]) で表すことができるので、{\mathbb E}\left[w_1^2\right]+\cdots+{\mathbb E}\left[w_M^2\right]={\rm Tr}([{\mathbb E}[{\bf w}{\bf w}^\top]) です。

また、the Matrix Cookbookの式 (378)によると、
{\bf x}\sim{\mathcal N}({\bf m},{\bf\Sigma}) のとき、{\mathbb E}[{\bf x}^\top{\bf A}{\bf x}]={\rm Tr}[{\bf A}{\bf\Sigma}]+{\bf m}^\top{\bf A}{\bf m} が成り立つので、これを使ってもよいです。

次に、式 (3) の式変形を説明します。
{\bf m}_N の成分を m_{Ni}\ (i=1,\ldots,M) とおきます。
{\bf m}_N^\top{\bf m}_N{\bf m}_N^\top{\bf m}_N=\displaystyle\sum_{i=1}^Mm_{Ni}^2=m_{N1}^2+\cdots+m_{NM}^2 です。
{\bf m}_N{\bf m}_N^\top を計算します。

\begin{eqnarray}
{\bf m}_N{\bf m}_N^\top=\begin{pmatrix}m_{N1}m_{N1} & \cdots & m_{N1}m_{NM} \\ \vdots & \ddots & \vdots\\ m_{NM}m_{N1} & \cdots & m_{NM}m_{NM}\end{pmatrix}=\begin{pmatrix}m_{N1}^2 & \cdots & m_{N1}m_{NM} \\ \vdots & \ddots & \vdots\\ m_{NM}m_{N1} & \cdots & m_{NM}^2\end{pmatrix}\tag{7}
\end{eqnarray}

(7) の対角成分の和は {\rm Tr}({\bf m}_N{\bf m}_N^\top) で表すことができるので、
{\bf m}_N^\top{\bf m}_N=m_{N1}^2+\cdots+m_{NM}^2={\rm Tr}({\bf m}_N{\bf m}_N^\top) です。

目次へ戻る