LoginSignup
1
0

More than 3 years have passed since last update.

PRML 演習問題 3.16(標準) 解答

Last updated at Posted at 2020-06-06

はじめに

本記事は, 機械学習の教科書の決定版ともいえる, 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) はそれぞれ以下の式の積の積分で表される。

\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*}

を導くことができる。 (証明終)

1
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
1
0