はじめに
本記事は, 機械学習の教科書の決定版ともいえる, Christopher Bishop先生による『Pattern Recognition and Machine Learning (パターン認識と機械学習)』, 通称PRMLの演習問題のうち, 私が解いた問題の解答を記したものです. これは, 私の所属する生物測定学研究室の輪読会でPRMLを取り扱っており, その勉強の一環として演習問題を解いたときのものです. なお, 他の演習問題の解答例に関する記事については, PRML 演習問題 解答集 まとめをご覧ください.
問題
\begin{align*}
p \left ( \mathbf t ~ | ~ \alpha,\beta \right ) =\int p \left ( \mathbf t ~ | ~ \mathbf w,\beta \right ) p \left ( \mathbf w ~ | ~ \alpha \right ) \mathrm d\mathbf w
\tag{3.77}
\end{align*}
の評価に
$$
\begin{align*}
p \left ( \mathbf y \right ) =N \left ( \mathbf y ~ | ~ \mathbf A \boldsymbol \mu + \mathbf b, ~ \mathbf L^{-1} + \mathbf A \boldsymbol \Lambda^{-1} \mathbf A^\mathrm T \right )
\tag{2.115}
\end{align*}
$$
を直接用いて,
$$
\begin{align*}
\ln p \left ( \mathbf t ~ | ~ \alpha,\beta \right ) =\frac {M}{2} \ln \alpha + \frac {N}{2} \beta - E \left ( \mathbf m_N \right ) -\frac{1}{2} \ln \left | \mathbf A \right | -\frac {N}{2} \ln \left ( 2 \pi \right ) \tag{3.86}
\end{align*}
$$
で与えられる線形回帰モデルの対数エビデンス関数 $p \left ( \mathbf t ~ | ~ \alpha ,\beta \right ) $ の結果を導け.
## 解答
(3.77) はそれぞれ以下の式の積の積分で表される。
```math
\begin{align*}
p \left ( \mathbf t ~ | ~ \mathbf w,\beta \right ) =N \left ( \mathbf t ~ | ~ \boldsymbol \Phi \mathbf w, ~ \beta^{-1} \mathbf I_N \right )
\tag{3.10.1}
\end{align*}
\begin{align*}
p \left ( \mathbf w ~ | ~ \alpha \right ) =N \left ( \mathbf w ~ | ~ \mathbf 0, ~ \alpha^{-1} \mathbf I_M \right )
\tag{3.52}
\end{align*}
ここで, (2.115) の式は,
\begin{align*}
p \left ( \mathbf x \right ) =N \left ( \boldsymbol \mu , ~ \boldsymbol \Lambda^{-1} \right )
\tag{2.113}
\end{align*}
\begin{align*}
p \left ( \mathbf y ~ | ~ \mathbf x \right ) =N \left ( \mathbf y ~ | ~ \mathbf A \boldsymbol x + \mathbf b, ~ \mathbf L^{-1} \right )
\tag{2.114}
\end{align*}
が与えられた際の周辺分布だったことに注意して,
(2.113) から (2.115) について,
\begin{align*}
\mathbf y \rightarrow \mathbf t, \quad \mathbf x \rightarrow\mathbf w, \quad \boldsymbol \mu\rightarrow\mathbf 0, \quad \boldsymbol \Lambda^{-1}\rightarrow\alpha ^{-1}\mathbf I_M,\quad \mathbf A\rightarrow\boldsymbol \Phi ,\quad \mathbf L^{-1}\rightarrow\beta^{-1} \mathbf I_N
\end{align*}
と置き換えると, (3.77) を評価できる。
したがって, (2.115) にそれぞれを代入すると,
\begin{align*}
p \left ( \mathbf t ~ | ~ \alpha,\beta \right ) =N \left ( \mathbf t ~ | ~ \mathbf 0, ~ \beta^{-1} \mathbf I_N+\alpha ^{-1} \boldsymbol \Phi \boldsymbol \Phi^{\mathrm T} \right )
\end{align*}
と求まる。対数を取ると,
\begin{align*}
\ln p \left ( \mathbf t ~ | ~ \alpha,\beta \right ) =-\frac {N}{2} \ln \left ( 2 \pi \right ) - \frac {1}{2} \ln \left | \beta^{-1} \mathbf I_N+\alpha ^{-1} \boldsymbol \Phi \boldsymbol \Phi^{\mathrm T} \right | -\frac{1}{2} \mathbf t^{\mathrm T} \left ( \beta^{-1} \mathbf I_N+\alpha ^{-1} \boldsymbol \Phi \boldsymbol \Phi^{\mathrm T} \right ) \mathbf t
\end{align*}
ここで,
\begin{align*}
\left | \mathbf I_N+\mathbf {AB}^{\mathrm T} \right | = \left | \mathbf I_M+\mathbf {A}^{\mathrm T} \mathbf B \right |
\tag{C.14}
\end{align*}
より, (3.81) を用いて,
\begin{align*}
\left | \beta^{-1} \mathbf I_N+\alpha ^{-1} \boldsymbol \Phi \boldsymbol \Phi^{\mathrm T} \right |
&= \beta^{-N} \left | \mathbf I_N+\beta \alpha ^{-1} \boldsymbol \Phi \boldsymbol \Phi^{\mathrm T} \right | \\
&= \beta^{-N} \left | \mathbf I_M+\beta \alpha ^{-1} \boldsymbol \Phi ^{\mathrm T}\boldsymbol \Phi \right | \\
&= \beta^{-N} \alpha^{-M} \left | \alpha \mathbf I_M+\beta \boldsymbol \Phi ^{\mathrm T}\boldsymbol \Phi \right | \\
&= \beta^{-N} \alpha^{-M} \left | \mathbf A \right |
\end{align*}
また, 対数を取った時の第3項目は, Woodburyの公式
\begin{align*}
\left ( \mathbf A + \mathbf {BD}^{-1} \mathbf C \right ) ^{-1} = \mathbf A^{-1}-\mathbf A^{-1} \mathbf{B} \left ( \mathbf D + \mathbf{CA}^{-1}\mathbf B \right ) ^{-1}\mathbf{CA}^{-1} \tag {C .7}
\end{align*}
や,
\begin{align*}
\mathbf A = \alpha \mathbf I_M+\beta \boldsymbol \Phi ^{\mathrm T}\boldsymbol \Phi \tag{3.81}
\end{align*}
\begin{align*}
\mathbf m_N = \beta \mathbf{A}^{-1} \boldsymbol \Phi ^{\mathrm T} \mathbf t
\tag {3.84}
\end{align*}
を用いると,
\begin{align*}
-\frac{1}{2} \mathbf t^{\mathrm T} \left ( \beta^{-1} \mathbf I_N+\alpha ^{-1} \boldsymbol \Phi \boldsymbol \Phi^{\mathrm T} \right ) \mathbf t
&= -\frac{1}{2} \mathbf t^{\mathrm T} \left [ \beta \mathbf I_N - \beta \boldsymbol \Phi \left ( \alpha \mathbf I_M + \beta \boldsymbol \Phi^{\mathrm T} \boldsymbol \Phi \right ) ^{-1} \boldsymbol \Phi^{\mathrm T} \beta \right ] \mathbf t \\
&= -\frac{\beta}{2}\mathbf t^{T} \mathbf t+ \frac{\beta ^2}{2} \mathbf t^{\mathrm T} \boldsymbol \Phi \mathbf A^{-1}\boldsymbol \Phi^{\mathrm T} \mathbf t\\
&= -\frac{\beta}{2}\mathbf t^{T} \mathbf t+ \frac{1}{2} \mathbf m^{\mathrm T}_N \mathbf A \mathbf m_N\\
&=-\frac{1}{2} \left ( \beta \mathbf t^{T} \mathbf t-2 \mathbf m^{\mathrm T}_N \mathbf A \mathbf m_N + \mathbf m^{\mathrm T}_N \mathbf A \mathbf m_N \right ) \\
&= - \frac { 1 } { 2 } \left ( \beta \mathbf { t } ^ \mathrm { T } \mathbf { t } - 2 \mathbf { m } ^ \mathrm { T } _ { N } \mathbf { A } \left ( \beta \mathbf { A } ^ { - 1 } \mathbf { \Phi } ^ \mathrm { T } \mathbf { t } \right ) + \mathbf { m } ^ \mathrm { T } _ { N } \left ( \alpha \mathbf { I } _ { M } + \beta \mathbf { \Phi } ^ \mathrm { T } \mathbf { \Phi } \right ) \mathbf { m } _ { N } \right ) \\
&=-\frac{1}{2} \left ( \beta \mathbf t^{T} \mathbf t-2 \mathbf m^{\mathrm T}_N \boldsymbol \Phi ^{\mathrm T} \mathbf t \beta + \beta \mathbf m^{\mathrm T}_N \boldsymbol \Phi ^{\mathrm T}\boldsymbol \Phi\mathbf m_N+\alpha \mathbf m^{\mathrm T}_N \mathbf m_N \right ) \\
&=-\frac{1}{2} \left ( \beta \left ( \mathbf t-\boldsymbol \Phi \mathbf m_N \right ) ^{\mathrm T} \left ( \mathbf t-\boldsymbol \Phi \mathbf m_N \right ) +\alpha \mathbf m^{\mathrm T}_N \mathbf m_N \right ) \\
&= -\frac{\beta}{2} \left | \left | \mathbf t-\boldsymbol \Phi \mathbf m_N \right | \right | ^ 2-\frac{1}{2}\alpha \mathbf m^\mathrm{ T}_N \mathbf m_N
\end{align*}
したがって, これらを対数を取ったものに代入すれば,
\begin{align*}
\ln p \left ( \mathbf t ~ | ~ \alpha,\beta \right ) =\frac {M}{2} \ln \alpha + \frac {N}{2} \beta - E \left ( \mathbf m_N \right ) -\frac{1}{2} \ln \left | \mathbf A \right | -\frac {N}{2} \ln \left ( 2 \pi \right ) \tag{3.86}
\end{align*}
を導くことができる。 (証明終)