LoginSignup
0
1

More than 1 year has passed since last update.

【ベイズ深層学習】ベイズニューラルネットワークモデルの予測分布の導出

Posted at

『機械学習プロフェッショナルシリーズ ベイズ深層学習』

こちらの本の
-> Chapter5 ニューラルネットワークのベイズ推論
 -> 5.1 ベイズニューラルネットワークモデルの近似推論法
  -> 5.1.2 ラプラス近似による学習
   -> 5.1.2.2 予測分布の近似
にて、予測分布を求める計算過程がかなり省略されていると感じ、誰かの役に立つかはわかりませんが、こちらについて私なりの導出過程を記します。

予測分布を解析的に求める過程

\begin{align*}
    p(y_* | \mathbf{x}_*, \mathbf{Y}, \mathbf{X}) &\approx \int p(y_* | \mathbf{x}_*, \mathbf{W}) q(\mathbf{W}) \mathrm{d} \mathbf{W} \\
    &\approx \int \mathcal{N} (y_* | f( \mathbf{x}_* ; \mathbf{W}_\mathrm{MAP}) + \mathbf{g}^\top (\mathbf{W} - \mathbf{W}_\mathrm{MAP}), \sigma_y^2 ) \\
    &\qquad \  \mathcal{N}(\mathbf{W} | \mathbf{W}_\mathrm{MAP}, \{ \mathbf{\Lambda (\mathbf{W}_\mathrm{MAP} ) } \}^{-1}) \mathrm{d} \mathbf{W} \\
    &= \mathcal{N}( y_* | f(\mathbf{x}_* ; \mathbf{W}_\mathrm{MAP}), \sigma^2(\mathbf{x}_*) ) \tag{5.14} \\
    \\
    \sigma^2(\mathbf{x}_*) &= \sigma_y^2 + \mathbf{g}^\top \{ \mathbf{\Lambda (\mathbf{W}_\mathrm{MAP})} \}^{-1} \mathbf{g} \tag{5.15}
\end{align*}

書籍にはこれらの式が記載されており、この記事では2段目の式から3段目の式への過程、

\begin{align*}
    \int \mathcal{N} (y_* | f( \mathbf{x}_* ; \mathbf{W}_\mathrm{MAP}) + \mathbf{g}^\top (\mathbf{W} - \mathbf{W}_\mathrm{MAP}), \sigma_y^2 ) \mathcal{N}(\mathbf{W} | \mathbf{W}_\mathrm{MAP}, \{ \mathbf{\Lambda (\mathbf{W}_\mathrm{MAP} ) } \}^{-1}) \mathrm{d} \mathbf{W} 
    &= \mathcal{N}( y_* | f(\mathbf{x}_* ; \mathbf{W}_\mathrm{MAP}), \sigma^2(\mathbf{x}_*) )
\end{align*}

を詳細に導出します。

詳細な導出

導出に用いる公式

ウッドベリーの公式(Woodbury formula)

\begin{align}
    (\mathbf{A} + \mathbf{UBV})^{-1} &= \mathbf{A}^{-1} - \mathbf{A}^{-1} \mathbf{U} ( \mathbf{B}^{-1} + \mathbf{V} \mathbf{A}^{-1} \mathbf{U} )^{-1} \mathbf{V} \mathbf{A}^{-1}
\end{align}

行列式の補題(matrix determinant lemma)

\begin{align}
    \det (\mathbf{A} + \mathbf{UBV}) &= \det (\mathbf{B}^{-1} + \mathbf{V} \mathbf{A}^{-1} \mathbf{U}) \det(\mathbf{B}) \det(\mathbf{A})
\end{align}

文字の置き換え

元の式の形は複雑であり、また一般性を持たせるために、次のように文字を置き換えます。

\begin{align}
    y_* \in \mathbb{R} \quad &\rightarrow \quad \mathbf{y} \in \mathbb{R}^D \\
    f( \mathbf{x}_* ; \mathbf{W}_\mathrm{MAP}) \in \mathbb{R} \quad &\rightarrow \quad \boldsymbol{\mu} \in \mathbb{R}^D \\
    \mathbf{g} \in \mathbb{R}^M \quad &\rightarrow \quad \mathbf{G} \in \mathbb{R}^{M \times D} \\
    \mathbf{W} \in \mathbb{R}^M \quad &\rightarrow \quad \mathbf{x} \in \mathbb{R}^M \\
    \mathbf{W}_\mathrm{MAP} \in \mathbb{R}^M \quad &\rightarrow \quad \mathbf{x}_0 \in \mathbb{R}^M \\
    \sigma_y^2 \in \mathbb{R} \quad &\rightarrow \quad \mathbf{\Sigma}_\mathbf{y} \in \mathbb{R}^{D \times D} \\
    \{ \mathbf{\Lambda (\mathbf{W}_\mathrm{MAP} ) } \}^{-1} \in \mathbb{R}^{M \times M} \quad &\rightarrow \quad \mathbf{\Sigma}_\mathbf{x} \in \mathbb{R}^{M \times M} \\
\end{align}

これより左辺の積分の中身は、

\begin{align}
    &\mathcal{N} (y_* | f( \mathbf{x}_* ; \mathbf{W}_\mathrm{MAP}) + \mathbf{g}^\top (\mathbf{W} - \mathbf{W}_\mathrm{MAP}), \sigma_y^2 ) \mathcal{N}(\mathbf{W} | \mathbf{W}_\mathrm{MAP}, \{ \mathbf{\Lambda (\mathbf{W}_\mathrm{MAP} ) } \}^{-1}) \in \mathbb{R} \\
    &\quad \rightarrow \quad
    \mathcal{N} (\mathbf{y} | \boldsymbol{\mu} + \mathbf{G}^\top (\mathbf{x} - \mathbf{x}_0), \mathbf{\Sigma}_\mathbf{y} ) \mathcal{N}(\mathbf{x} | \mathbf{x}_0, \mathbf{\Sigma}_\mathbf{x}) \in \mathbb{R}
\end{align}

対数についての計算

$\mathbf{z} = \mathbf{x} - \mathbf{x}_0$とおき、文字を置き換えた式の対数を取る。

\begin{align*}
			&\ln \left \{ \mathcal{N}(\mathbf{y} | \boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z}, \mathbf{\Sigma}_\mathbf{y}) \mathcal{N} (\mathbf{x} | \mathbf{x}_0, \mathbf{\Sigma}_\mathbf{x}) \right \} \\
			&= \dfrac{1}{2} (\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z}))^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z})) + \dfrac{1}{2} \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} + \ln \dfrac{1}{ \sqrt{ (2 \pi)^{D+M} |\mathbf{\Sigma}_\mathbf{x}| |\mathbf{\Sigma}_\mathbf{y}| } } \\
			&= \dfrac{1}{2} \left \{  (\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z}))^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z})) + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} \right \} + \ln \dfrac{1}{ \sqrt{ (2 \pi)^{D+M} |\mathbf{\Sigma}_\mathbf{x}| |\mathbf{\Sigma}_\mathbf{y}| } }
		\end{align*}

第1項目

第1項目の括弧内について、

\begin{align}
			&(\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z}))^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z})) + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} \\
			&= ((\mathbf{y} - \boldsymbol{\mu}) - \mathbf{G}^\top \mathbf{z})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} ((\mathbf{y} - \boldsymbol{\mu}) - \mathbf{G}^\top \mathbf{z}) + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} \\
			&= ((\mathbf{y} - \boldsymbol{\mu})^\top - \mathbf{z}^\top \mathbf{G}) \mathbf{\Sigma}_\mathbf{y}^{-1} ((\mathbf{y} - \boldsymbol{\mu}) - \mathbf{G}^\top \mathbf{z}) + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z}
\end{align}

ここで、普通に展開すると、

\begin{align}
			&((\mathbf{y} - \boldsymbol{\mu})^\top - \mathbf{z}^\top \mathbf{G}) \mathbf{\Sigma}_\mathbf{y}^{-1} ((\mathbf{y} - \boldsymbol{\mu}) - \mathbf{G}^\top \mathbf{z}) \\
            &= (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) - (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \mathbf{z} - \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) + \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \mathbf{z} \\
			&= (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) -2 \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) + \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \mathbf{z} \\
\end{align}

となりますが、$\mathbf{\Sigma_y}$は対称行列なので$\mathbf{\Sigma}_\mathbf{y}^{-1}$も対称行列であり、2項目の転置を取ると

\begin{align}
	(- (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \mathbf{z})^\top = - \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu})
\end{align}

のように3項目と同じになります。また、
 (2項目)
  =($1 \times D$行列)($D \times D$行列)($D \times M$行列)($M \times 1$行列)
  =($1 \times D$行列)($D \times D$行列)($D \times 1$行列)
  =($1 \times D$行列)($D \times 1$行列)
  =($1 \times 1$行列)
  =(スカラー)
なので、2項目の転置を取ったものは2項目と等しくなります。よって、2項目と3項目は等しくなり、その和はどちらかの項の2倍にまとめることができます。

\begin{align}
            &= \cdots \\
			&= ((\mathbf{y} - \boldsymbol{\mu})^\top - \mathbf{z}^\top \mathbf{G}) \mathbf{\Sigma}_\mathbf{y}^{-1} ((\mathbf{y} - \boldsymbol{\mu}) - \mathbf{G}^\top \mathbf{z}) + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} \\
			&= (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) -2 \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) + \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \mathbf{z} + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} \\
			&= \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \mathbf{z} + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} -2 \mathbf{z}^\top \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= \mathbf{z}^\top \left( \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top + \mathbf{\Sigma}_\mathbf{x}^{-1} \right) \mathbf{z} -2 \mathbf{z}^\top \left( \tilde{\mathbf{\Sigma}}^{-1} \tilde{\mathbf{\Sigma}} \right) \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= \mathbf{z}^\top \tilde{\mathbf{\Sigma}}^{-1} \mathbf{z} -2 \mathbf{z}^\top \tilde{\mathbf{\Sigma}}^{-1} \left( \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \right) + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= \mathbf{z}^\top \tilde{\mathbf{\Sigma}}^{-1} \mathbf{z} -2 \mathbf{z}^\top \tilde{\mathbf{\Sigma}}^{-1} \tilde{\boldsymbol{\mu}} + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu})
\end{align}

途中で、

\begin{align}
	\tilde{\mathbf{\Sigma}}^{-1} &= \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top + \mathbf{\Sigma}_\mathbf{x}^{-1} \\
    \tilde{\boldsymbol{\mu}} &= \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu})
\end{align}

と置きました。なお、単位行列$\tilde{\mathbf{\Sigma}}^{-1} \tilde{\mathbf{\Sigma}} = \mathbf{I} \in \mathbb{R}^{M \times M}$を途中で挿入しました。
また、次の式変形(平方完成)では後から前へ計算することで確かめられます。

\begin{align}
            &= \cdots \\
			&= \mathbf{z}^\top \tilde{\mathbf{\Sigma}}^{-1} \mathbf{z} -2 \mathbf{z}^\top \tilde{\mathbf{\Sigma}}^{-1} \tilde{\boldsymbol{\mu}} + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= (\mathbf{z} - \tilde{\boldsymbol{\mu}})^\top \tilde{\mathbf{\Sigma}}^{-1} (\mathbf{z} - \tilde{\boldsymbol{\mu}}) - \tilde{\boldsymbol{\mu}}^\top \tilde{\mathbf{\Sigma}}^{-1} \tilde{\boldsymbol{\mu}} + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= (\mathbf{z} - \tilde{\boldsymbol{\mu}})^\top \tilde{\mathbf{\Sigma}}^{-1} (\mathbf{z} - \tilde{\boldsymbol{\mu}}) - \left \{ \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \right\}^\top \tilde{\mathbf{\Sigma}}^{-1} \left \{ \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \right \} + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= (\mathbf{z} - \tilde{\boldsymbol{\mu}})^\top \tilde{\mathbf{\Sigma}}^{-1} (\mathbf{z} - \tilde{\boldsymbol{\mu}}) - \left \{ (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \tilde{\mathbf{\Sigma}} \right\} \left \{ \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \right \} + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= (\mathbf{z} - \tilde{\boldsymbol{\mu}})^\top \tilde{\mathbf{\Sigma}}^{-1} (\mathbf{z} - \tilde{\boldsymbol{\mu}}) + (\mathbf{y} - \boldsymbol{\mu})^\top \left( - \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \right) (\mathbf{y} - \boldsymbol{\mu}) + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \\
			&= (\mathbf{z} - \tilde{\boldsymbol{\mu}})^\top \tilde{\mathbf{\Sigma}}^{-1} (\mathbf{z} - \tilde{\boldsymbol{\mu}}) + (\mathbf{y} - \boldsymbol{\mu})^\top \left( \mathbf{\Sigma}_\mathbf{y}^{-1} - \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \right) (\mathbf{y} - \boldsymbol{\mu}) \\
			&= (\mathbf{z} - \tilde{\boldsymbol{\mu}})^\top \tilde{\mathbf{\Sigma}}^{-1} (\mathbf{z} - \tilde{\boldsymbol{\mu}}) + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}^{-1} (\mathbf{y} - \boldsymbol{\mu})
\end{align}

ガウス分布の形にするために、途中で、

\begin{align}
	\mathbf{\Sigma}^{-1} &= \mathbf{\Sigma}_\mathbf{y}^{-1} - \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1}
\end{align}

と置きました。逆行列の形で定義しましたが、$\mathbf{\Sigma}$自体をウッドベリーの公式を使って次のように求められます。

\begin{align}
    &\mathbf{A} \rightarrow \mathbf{\Sigma}_\mathbf{y}^{-1}, \quad \mathbf{U} \rightarrow - \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top, \quad \mathbf{B} \rightarrow \tilde{\mathbf{\Sigma}}, \quad \mathbf{V} \rightarrow \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \\
    \\
    \mathbf{\Sigma} &= \left( \mathbf{\Sigma}_\mathbf{y}^{-1} - \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \tilde{\mathbf{\Sigma}} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \right)^\top \\
    &= \mathbf{\Sigma}_\mathbf{y} - \mathbf{\Sigma}_\mathbf{y} \left( - \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \right) \left( \tilde{\mathbf{\Sigma}}^{-1} +  \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{\Sigma}_\mathbf{y} \left( - \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \right) \right)^{-1} \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{\Sigma}_\mathbf{y} \\
    &= \mathbf{\Sigma}_\mathbf{y} + \mathbf{G}^\top \left( \tilde{\mathbf{\Sigma}}^{-1} -  \mathbf{G}  \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \right)^{-1} \mathbf{G} \\
    &= \mathbf{\Sigma}_\mathbf{y} + \mathbf{G}^\top \left( \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top + \mathbf{\Sigma}_\mathbf{x}^{-1} -  \mathbf{G}  \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \right)^{-1} \mathbf{G} \\
    &= \mathbf{\Sigma}_\mathbf{y} + \mathbf{G}^\top \left( \mathbf{\Sigma}_\mathbf{x}^{-1} \right)^{-1} \mathbf{G} \\
    &= \mathbf{\Sigma}_\mathbf{y} + \mathbf{G}^\top \mathbf{\Sigma}_\mathbf{x} \mathbf{G}
\end{align}

これで、ガウス分布の指数関数の中身を作ることができました。

第2項目

第2項目はガウス分布の係数に関するもので、共分散行列の行列式を確かめる必要があります。天下り的ですが、行列式の補題を次のように適用すると、

\begin{align}
    &\mathbf{A} + \mathbf{UBV} \rightarrow \mathbf{\Sigma}, \quad \mathbf{A} \rightarrow \mathbf{\Sigma}_\mathbf{y}, \quad \mathbf{U} \rightarrow \mathbf{G}^\top, \quad \mathbf{B} \rightarrow \mathbf{\Sigma}_\mathbf{x}, \quad \mathbf{V} \rightarrow \mathbf{G} \\
    \\
    \det \left( \mathbf{\Sigma} \right) &= \det \left( \mathbf{\Sigma}_\mathbf{y} + \mathbf{G}^\top \mathbf{\Sigma}_\mathbf{x} \mathbf{G} \right) \\
			&= \det \left( \mathbf{\Sigma}_\mathbf{x}^{-1} + \mathbf{G} \mathbf{\Sigma}_\mathbf{y}^{-1} \mathbf{G}^\top \right) \det \left( \mathbf{\Sigma}_\mathbf{x} \right) \det \left( \mathbf{\Sigma}_\mathbf{y} \right) \\
			&= \det \left( \tilde{\mathbf{\Sigma}}^{-1} \right) \det \left( \mathbf{\Sigma}_\mathbf{x} \right) \det \left( \mathbf{\Sigma}_\mathbf{y} \right) \\
			&= \left \{ \det \left( \tilde{\mathbf{\Sigma}} \right) \right \}^{-1}  \det \left( \mathbf{\Sigma}_\mathbf{x} \right) \det \left( \mathbf{\Sigma}_\mathbf{y} \right) \\
			|\tilde{\mathbf{\Sigma}}| |\mathbf{\Sigma}| &= |\mathbf{\Sigma}_\mathbf{x}| |\mathbf{\Sigma}_\mathbf{y} | \\
			\therefore \ln \dfrac{1}{ \sqrt{ (2 \pi)^{D+M} |\tilde{\mathbf{\Sigma}}| |\mathbf{\Sigma}| } } &= \ln \dfrac{1}{ \sqrt{ (2 \pi)^{D+M} |\mathbf{\Sigma}_\mathbf{x}| |\mathbf{\Sigma}_\mathbf{y}| } }
\end{align}

第1項目と第2項目のまとめ

結局、第1項目と第2項目それぞれの計算から、

\begin{align}
    &\ln \left \{ \mathcal{N}(\mathbf{y} | \boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z}, \mathbf{\Sigma}_\mathbf{y}) \mathcal{N} (\mathbf{x} | \mathbf{x}_0, \mathbf{\Sigma}_\mathbf{x}) \right \} \\
			&= \dfrac{1}{2} \left \{  (\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z}))^\top \mathbf{\Sigma}_\mathbf{y}^{-1} (\mathbf{y} - (\boldsymbol{\mu} + \mathbf{G}^\top \mathbf{z})) + \mathbf{z}^\top \mathbf{\Sigma}_\mathbf{x}^{-1} \mathbf{z} \right \} + \ln \dfrac{1}{ \sqrt{ (2 \pi)^{D+M} |\mathbf{\Sigma}_\mathbf{x}| |\mathbf{\Sigma}_\mathbf{y}| } } \\
			&= \dfrac{1}{2} \left \{  (\mathbf{z} - \tilde{\boldsymbol{\mu}})^\top \tilde{\mathbf{\Sigma}}^{-1} (\mathbf{z} - \tilde{\boldsymbol{\mu}}) + (\mathbf{y} - \boldsymbol{\mu})^\top \mathbf{\Sigma}^{-1} (\mathbf{y} - \boldsymbol{\mu}) \right \} + \ln \dfrac{1}{ \sqrt{ (2 \pi)^{D+M} |\tilde{\mathbf{\Sigma}}| |\mathbf{\Sigma}| } } \\
			&= \ln \left \{ \mathcal{N}(\mathbf{z} | \tilde{\boldsymbol{\mu}}, \tilde{\mathbf{\Sigma}}) \mathcal{N} (\mathbf{y} | \boldsymbol{\mu}, \mathbf{\Sigma}) \right \}
\end{align}

すなわち、

\begin{align}
    \mathcal{N}(\mathbf{y} | \boldsymbol{\mu} + \mathbf{G}^\top (\mathbf{x}-\mathbf{x}_0), \mathbf{\Sigma}_\mathbf{y}) \mathcal{N} (\mathbf{x} | \mathbf{x}_0, \mathbf{\Sigma}_\mathbf{x}) = \mathcal{N}(\mathbf{x}-\mathbf{x}_0 | \tilde{\boldsymbol{\mu}}, \tilde{\mathbf{\Sigma}}) \mathcal{N} (\mathbf{y} | \boldsymbol{\mu}, \mathbf{\Sigma})
\end{align}

となることがわかります。
この式に元々置き換えられていた文字を元に戻してもよいですが、折角なので一般性を保つためにこのまま積分します。

積分

ここまで来ると積分は非常に簡単で、

\begin{align}
    \int \mathcal{N}(\mathbf{y} | \boldsymbol{\mu} + \mathbf{G}^\top (\mathbf{x}-\mathbf{x}_0), \mathbf{\Sigma}_\mathbf{y}) \mathcal{N} (\mathbf{x} | \mathbf{x}_0, \mathbf{\Sigma}_\mathbf{x}) \mathrm{d} \mathbf{x} &= \int \mathcal{N}(\mathbf{x}-\mathbf{x}_0 | \tilde{\boldsymbol{\mu}}, \tilde{\mathbf{\Sigma}}) \mathcal{N} (\mathbf{y} | \boldsymbol{\mu}, \mathbf{\Sigma}) \mathrm{d} \mathbf{x} \\
	&= \mathcal{N} (\mathbf{y} | \boldsymbol{\mu}, \mathbf{\Sigma}) \int \mathcal{N}(\mathbf{x}-\mathbf{x}_0 | \tilde{\boldsymbol{\mu}}, \tilde{\mathbf{\Sigma}}) \mathrm{d} \mathbf{x} \\
	&= \mathcal{N} (\mathbf{y} | \boldsymbol{\mu}, \mathbf{\Sigma})
\end{align}

途中で$\int \mathcal{N}(\mathbf{x}-\mathbf{x}_0 | \tilde{\boldsymbol{\mu}}, \tilde{\mathbf{\Sigma}}) \mathrm{d} \mathbf{x} = 1$を用いました。

結局、ここまでをまとめると次の式が成立し、

\begin{align}
    \int \mathcal{N}(\mathbf{y} | \boldsymbol{\mu} + \mathbf{G}^\top (\mathbf{x}-\mathbf{x}_0), \mathbf{\Sigma}_\mathbf{y}) \mathcal{N} (\mathbf{x} | \mathbf{x}_0, \mathbf{\Sigma}_\mathbf{x}) \mathrm{d} \mathbf{x} = \mathcal{N} (\mathbf{y} | \boldsymbol{\mu}, \mathbf{\Sigma}) \\
    \\
    \mathbf{\Sigma} = \mathbf{\Sigma}_\mathbf{y} + \mathbf{G}^\top \mathbf{\Sigma}_\mathbf{x} \mathbf{G}
\end{align}

これに、置き換える前の文字を代入すれば冒頭の式(5.14)・(5.15)になることが分かります。

参考

・『機械学習プロフェッショナルシリーズ ベイズ深層学習』, 須山敦志, 2019

・「ベイズニューラルネットワークの原理 マサムネの部屋」,

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