はじめに
『ベイズ推論による機械学習入門』の学習時のノートです。基本的な内容は「数式の行間を読んでみた」とそれを「RとPythonで組んでみた」になります。「数式」と「プログラム」から理解するのが目標です。
この記事は、3.5節の内容です。線形回帰モデルの「観測モデルを1次元ガウス分布(1次元正規分布)」、「事前分布を多次元ガウス分布(多変量正規分布)」とした場合の「パラメータの事後分布」と「未観測値の予測分布」を導出します。
省略してある内容等ありますので、本とあわせて読んでください。初学者な自分が理解できるレベルまで落として書き下していますので、分かる人にはかなりくどくなっています。同じような立場の人のお役に立てれば幸いです。
【実装編】
www.anarchive-beta.com
www.anarchive-beta.com
【他の節一覧】
www.anarchive-beta.com
【この節の内容】
3.5.1 モデルの構築
線形回帰モデルは、入力値を$\mathbf{x}_n = (x_{n,1}, x_{n,2}, \cdots, x_{n,M})$、出力値を$y_n$、パラメータを$\mathbf{w} = (w_1, w_2, \cdots, w_M)$、ノイズ成分を$\epsilon_n$として、次のようにモデル化する。
$$
\begin{align}
y_n
&= \mathbf{w}^{\top}
\mathbf{x}_n
+ \epsilon_n
\tag{3.141}\\
&= w_1 x_{n,1} + w_2 x_{n,2} + \cdots + w_M x_{n,M} + \epsilon_n
\end{align}
$$
ベクトルの計算(内積)を展開すると(また$\mathbf{w}$を$(\beta_0, \cdots, \beta_3)$に置き換えると)、重回帰式でよくみる形であることが分かる。
ノイズ成分$\epsilon_n$は、平均0、分散$\sigma^2 = \lambda^{-1}$のガウス分布に従うと仮定する。分散の逆数$\lambda$を精度と呼ぶ。
$$
\epsilon_n
\sim
\mathcal{N}(\epsilon_n | 0, \lambda^{-1})
\tag{3.142}
$$
この2つの式を用いて、出力値$y_n$を次のように確率分布として定式化できる。
$$
p(y_n | \mathbf{x}_n, \mathbf{w})
= \mathcal{N}(y_n | \mathbf{w}^{\top} \mathbf{x}_n, \lambda^{-1})
\tag{3.143}
$$
つまり、平均$\mathbf{w}^{\top} \mathbf{x}_n$に対して、精度$\lambda$の確率的な誤差を含めたものが出力$y_n$になることを表している。
パラメータ$\mathbf{w}$の事前分布を$M$次元ガウス分布
$$
p(\mathbf{w})
= p(\mathbf{w} | \mathbf{m}, \boldsymbol{\Lambda}^{-1})
\tag{3.144}
$$
とする。ここで、$\mathbf{m} = (m_1, m_2, \cdots, m_M)$は平均パラメータ、$\boldsymbol{\Lambda}$は精度パラメータ(精度行列)で分散共分散行列$\boldsymbol{\Sigma} = (\sigma_{1,1}^2, \cdots, \sigma_{M,M}^2)$の逆行列$\boldsymbol{\Sigma} = \boldsymbol{\Lambda}^{-1}$である。
3.5.2 事後分布と予測分布の計算
観測データ$\mathbf{y} = \{y_1, y_2, \cdots, y_M\}$と$\mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2, \cdots, \mathbf{x}_N\}$を用いて、パラメータ$\mathbf{w}$の事後分布と未観測データ$y_{*}$の予測分布を求めていく。
・事後分布の導出
パラメータ$\mathbf{w}$の事後分布$p(\mathbf{w} | \mathbf{y}, \mathbf{X})$を導出する。
観測データ$\mathbf{y},\ \mathbf{X}$が与えられた下での$\mathbf{w}$の事後分布は、ベイズの定理を用いて
$$
\begin{align}
p(\mathbf{w} | \mathbf{y}, \mathbf{X})
&= \frac{
p(\mathbf{y} | \mathbf{X}, \mathbf{w})
p(\mathbf{w})
}{
p(\mathbf{y} | \mathbf{X})
}
\\
&\propto
p(\mathbf{y} | \mathbf{X}, \mathbf{w})
p(\mathbf{w})
\\
&= \left\{
\prod_{n=1}^N p(y_n | \mathbf{x}_n, \mathbf{w})
\right\}
p(\mathbf{w})
\tag{3.145}\\
&= \left\{
\prod_{n=1}^N \mathcal{N}(y_n | \mathbf{w}^{\top} \mathbf{x}_n, \lambda^{-1})
\right\}
\mathcal{N}(\mathbf{w} | \mathbf{m}, \boldsymbol{\Lambda}^{-1})
\end{align}
$$
となる。分母の$p(\mathbf{y} | \mathbf{X})$は$\mathbf{w}$に影響しないため省略して、比例関係のみに注目する。省略した部分については、最後に正規化することで対応できる。
この分布の具体的な形状を明らかにしていく。対数をとって指数部分の計算を分かりやすくして、$\mathbf{w}$に関して整理すると
$$
\begin{align}
\ln p(\mathbf{w} | \mathbf{y}, \mathbf{X})
&= \sum_{n=1}^N
\ln \mathcal{N}(y_n | \mathbf{w}^{\top} \mathbf{x}_n, \lambda^{-1})
+ \ln \mathcal{N}(\mathbf{w} | \mathbf{m}, \boldsymbol{\Lambda}^{-1})
+ \mathrm{const.}
\\
&= \sum_{n=1}^N
- \frac{1}{2} \Bigl\{
(y_n - \mathbf{w}^{\top} \mathbf{x}_n)^2
\lambda
+ \ln \lambda^{-1}
+ \ln 2 \pi
\Bigr\} \\
&\qquad
- \frac{1}{2} \Bigl\{
(\mathbf{w} - \mathbf{m})^{\top}
\boldsymbol{\Lambda}
(\mathbf{w} - \mathbf{m})
+ \ln |\boldsymbol{\Lambda}^{-1}|
+ M \ln 2 \pi
\Bigr\}
+ \mathrm{const.}
\\
&= \sum_{n=1}^N
- \frac{1}{2} \Bigl\{
\lambda y_n^2
- 2 \lambda y_n \mathbf{w}^{\top} \mathbf{x}_n
+ \lambda \mathbf{w}^{\top} \mathbf{x}_n \mathbf{w}^{\top} \mathbf{x}_n
\Bigr\} \\
&\qquad
- \frac{1}{2} \Bigl\{
\mathbf{w}^{\top} \boldsymbol{\Lambda} \mathbf{w}
- \mathbf{w}^{\top} \boldsymbol{\Lambda} \mathbf{m}
- \mathbf{m}^{\top} \boldsymbol{\Lambda} \mathbf{w}
+ \mathbf{m}^{\top} \boldsymbol{\Lambda} \mathbf{m})
\Bigr\}
+ \mathrm{const.}
\\
&= - \frac{1}{2} \left\{
- 2 \lambda \sum_{n=1}^N
y_n \mathbf{w}^{\top} \mathbf{x}_n
+ \lambda \sum_{n=1}^N
\mathbf{w}^{\top} \mathbf{x}_n \mathbf{x}_n^{\top} \mathbf{w}
+ \mathbf{w}^{\top} \boldsymbol{\Lambda} \mathbf{w}
- 2 \mathbf{w}^{\top} \boldsymbol{\Lambda} \mathbf{m}
\right\}
+ \mathrm{const.}
\\
&= - \frac{1}{2} \left\{
\mathbf{w}^{\top} \left(
\lambda
\sum_{n=1}^N \mathbf{x}_n \mathbf{x}_n^{\top}
+ \boldsymbol{\Lambda}
\right)
\mathbf{w}
- 2 \mathbf{w}^{\top} \left(
\lambda
\sum_{n=1}^N y_n \mathbf{x}_n
+ \boldsymbol{\Lambda} \mathbf{m}
\right)
\right\}
+ \mathrm{const.}
\tag{3.146}
\end{align}
$$
【途中式の途中式】
- 尤度と事前分布に、それぞれ具体的な(対数をとった)確率分布の式を代入する。
- 括弧を展開する。また、$\mathbf{w}$に無関係な項を$\mathrm{const.}$にまとめる。
- 転置の性質$(\mathbf{a} \mathbf{b})^{\top} = \mathbf{b}^{\top} \mathbf{a}^{\top}$を用いて式を整理する。また、$\mathbf{w}$に無関係な項を$\mathrm{const.}$にまとめる。
- $\mathbf{m}^{\top} \boldsymbol{\Lambda} \mathbf{w}$は$1 \times M$と$M \times M$、$M \times 1$の行列の積なのでスカラになるため転置しても影響しない。よって$\mathbf{m}^{\top} \boldsymbol{\Lambda} \mathbf{w} = (\mathbf{m}^{\top} \boldsymbol{\Lambda} \mathbf{w})^{\top} = \mathbf{w}^{\top} \boldsymbol{\Lambda}^{\top} \mathbf{m}$である。また精度行列は対称行列なので$\boldsymbol{\Lambda} = \boldsymbol{\Lambda}^{\top}$である。
- $\mathbf{w}^{\top} \mathbf{x}_n$も$1 \times M$と$M \times 1$の行列の積なので、同様に$\mathbf{w}^{\top} \mathbf{x}_n = (\mathbf{w}^{\top} \mathbf{x}_n)^{\top} = \mathbf{x}_n^{\top} \mathbf{w}$である。
- $\mathbf{w}^{\top} \mathbf{w}$と$\mathbf{w}^{\top}$の項をそれぞれまとめて式を整理する。
となる。
式(3.146)について
$$
\hat{\boldsymbol{\Lambda}}
= \lambda
\sum_{n=1}^N \mathbf{x}_n \mathbf{x}_n^{\top}
+ \boldsymbol{\Lambda}
\tag{3.148.a}
$$
また
$$
\begin{align}
\hat{\boldsymbol{\Lambda}} \hat{\mathbf{m}}
&= \lambda
\sum_{n=1}^N y_n \mathbf{x}_n
+ \boldsymbol{\Lambda} \mathbf{m}
\\
\hat{\mathbf{m}}
&= \hat{\boldsymbol{\Lambda}}^{-1} \left(
\lambda
\sum_{n=1}^N y_n \mathbf{x}_n
+ \boldsymbol{\Lambda} \mathbf{m}
\right)
\tag{3.148.b}
\end{align}
$$
とおき、$\mathrm{const.}$を正規化項に置き換える(正規化する)と
$$
\begin{aligned}
\ln \mathcal{N}(\mathbf{w} | \hat{\mathbf{m}}, \hat{\boldsymbol{\Lambda}})
&= - \frac{1}{2} \Bigl\{
\mathbf{w}^{\top} \hat{\boldsymbol{\Lambda}} \mathbf{w}
- 2 \mathbf{w}^{\top} \hat{\boldsymbol{\Lambda}} \hat{\mathbf{m}}
\Bigr\}
+ \mathrm{const.}
\\
&= - \frac{1}{2} \Bigl\{
(\mathbf{w} - \hat{\mathbf{m}})^{\top}
\hat{\boldsymbol{\Lambda}}
(\mathbf{w} - \hat{\mathbf{m}})
+ \ln |\hat{\boldsymbol{\Lambda}}^{-1}|
+ M \ln 2 \pi
\Bigr\}
\end{aligned}
$$
事後分布は式の形状から、平均$\hat{\mathbf{m}}$、精度$\hat{\boldsymbol{\Lambda}}$の$M$次元のガウス分布となることが分かる。
$$
p(\mathbf{w} | \mathbf{y}, \mathbf{X})
= \mathcal{N}(\mathbf{w} | \hat{\mathbf{m}}, \hat{\boldsymbol{\Lambda}}^{-1})
\tag{3.147}
$$
また、式(3.148)が超パラメータ$\hat{\mathbf{m}},\ \hat{\boldsymbol{\Lambda}}$の計算式(更新式)である。
・予測分布の導出
続いて、新規の入力値$\mathbf{x}_{*} = (x_{*,1}, x_{*,2}, \cdots, x_{n,M})$が与えられたときの未知の出力値$y_{*}$に対する予測分布$(y_{*} | \mathbf{x}_{*}, \mathbf{y}, \mathbf{X})$を導出する。
先に、事前分布(観測データによる学習を行っていない分布)$p(\mathbf{w})$を用いて、未学習の予測分布$p(y_{*} | \mathbf{x}_{*})$を求める。その結果を用いて、学習後の予測分布$p(y_{*} | \mathbf{x}_{*}, \mathbf{y}, \mathbf{X})$を求める。
予測分布$p(y_{*} | \mathbf{x}_{*})$と事前分布$p(\mathbf{w})$は、ベイズの定理より
$$
p(\mathbf{w} | y_{*}, \mathbf{x}_{*})
= \frac{
p(y_{*} | \mathbf{x}_{*}, \mathbf{w})
p(\mathbf{w})
}{
p(y_{*} | \mathbf{x}_{*})
}
\tag{3.149}
$$
という関係が成り立つ。この式の両辺の対数をとり
$$
\ln p(\mathbf{w} | y_{*}, \mathbf{x}_{*})
= \ln p(y_{*} | \mathbf{x}_{*}, \mathbf{w})
+ \ln p(\mathbf{w})
- \ln p(y_{*} | \mathbf{x}_{*})
$$
予測分布に関して整理すると
$$
\ln p(y_{*} | \mathbf{x}_{*})
= \ln p(y_{*} | \mathbf{x}_{*}, \mathbf{w})
- \ln p(\mathbf{w} | y_{*}, \mathbf{x}_{*})
+ \mathrm{const.}
\tag{3.150}
$$
となる。ただし、$y_{*}$に影響しない$\ln p(\mathbf{w})$を$\mathrm{const.}$とおいた。
この式から予測分布の具体的な式を計算する。
$p(\mathbf{w} | y_{*}, \mathbf{x}_{*})$は、1つのデータ$y_{*},\ \mathbf{x}_{*}$が与えられた下での$\mathbf{w}$の条件付き分布である。つまり$p(\mathbf{w} | y_{*}, \mathbf{x}_{*})$は、$N$個のデータが与えられた下での事後分布$p(\mathbf{w} | \mathbf{y}, \mathbf{X})$と同様の手順で求められる(同様のパラメータになる)。
したがって、事後分布のパラメータ(3.137)を用いると、$p(\mathbf{w} | y_{*}, \mathbf{x}_{*})$は$N = 1$より
$$
p(\mathbf{w} | y_{*}, \mathbf{x}_{*})
= \mathcal{N}(\mathbf{w} | \tilde{\mathbf{m}}, \tilde{\boldsymbol{\Lambda}}^{-1})
\tag{3.151}
$$
となる。ただし
$$
\begin{aligned}
\tilde{\boldsymbol{\Lambda}}
&= \lambda \mathbf{x}_{*} \mathbf{x}_{*}^{\top}
+ \boldsymbol{\Lambda}
\\
\tilde{\mathbf{m}}
&= \tilde{\boldsymbol{\Lambda}}^{-1} \left(
\lambda y_{*} \mathbf{x}_{*}
+ \boldsymbol{\Lambda} \mathbf{m}
\right)
\end{aligned}
\tag{3.152}
$$
とおく。
観測モデル(3.143)と式(3.151)を式(3.150)に代入して、$y_{*}$に関して整理する。
$$
\begin{aligned}
\ln p(y_{*} | \mathbf{x}_{*})
&= \ln \mathcal{N}(y_{*} | \mathbf{w}^{\top} \mathbf{x}_{*}, \lambda)
- \ln \mathcal{N}(\mathbf{w} | \tilde{\mathbf{m}}, \tilde{\boldsymbol{\Lambda}}^{-1})
+ \mathrm{const.}
\\
&= - \frac{1}{2} \Bigl\{
(y_{*} - \mathbf{w}^{\top} \mathbf{x}_{*})^2
\lambda
+ \ln \lambda^{-1}
+ \ln 2 \pi
\Bigr\} \\
&\qquad
+ \frac{1}{2} \Bigl\{
(\mathbf{w} - \tilde{\mathbf{m}})^{\top}
\tilde{\boldsymbol{\Lambda}}
(\mathbf{w} - \tilde{\mathbf{m}})
+ \ln |\tilde{\boldsymbol{\Lambda}}^{-1}|
+ M \ln 2 \pi
\Bigr\}
+ \mathrm{const.}
\\
&= - \frac{1}{2} \Bigl(
\lambda y_{*}^2
- 2 \lambda \mathbf{w}^{\top} \mathbf{x}_{*} y_{*}
+ \lambda \mathbf{w}^{\top} \mathbf{x}_{*} \mathbf{w}^{\top} \mathbf{x}_{*}
\Bigr) \\
&\qquad
+ \frac{1}{2} \Bigl(
\mathbf{w}^{\top} \tilde{\boldsymbol{\Lambda}} \mathbf{w}
- 2 \mathbf{w}^{\top} \tilde{\boldsymbol{\Lambda}} \tilde{\mathbf{m}}
+ \tilde{\mathbf{m}}^{\top} \tilde{\boldsymbol{\Lambda}} \tilde{\mathbf{m}}
\Bigr)
+ \mathrm{const.}
\end{aligned}
$$
適宜$y_{*}$に無関係な項を$\mathrm{const.}$にまとめる。さらに、$\tilde{\mathbf{m}}$に式(3.152)を代入すると、転置の性質より$\tilde{\mathbf{m}}^{\top} = {\tilde{\boldsymbol{\Lambda}}^{-1} (\lambda \mathbf{x}_{*} y_{*}+ \boldsymbol{\Lambda} \mathbf{m})}^{\top} = (\lambda \mathbf{x}_{*} y_{*} + \boldsymbol{\Lambda} \mathbf{m})^{\top} (\tilde{\boldsymbol{\Lambda}}^{-1})^{\top}$であり、また対称行列より$(\tilde{\boldsymbol{\Lambda}}^{-1})^{\top} = \tilde{\boldsymbol{\Sigma}}^{\top} = \tilde{\boldsymbol{\Sigma}} = \tilde{\boldsymbol{\Lambda}}^{-1}$、逆行列の定義より$\tilde{\boldsymbol{\Lambda}} \tilde{\boldsymbol{\Lambda}}^{-1} = \mathbf{I}_M$なので
$$
\begin{align}
\ln p(y_{*} | \mathbf{x}_{*})
&= - \frac{1}{2} \Bigl(
\lambda y_{*}^2
- 2 \lambda y_{*} \mathbf{w}^{\top} \mathbf{x}_{*}
\Bigr) \\
&\qquad
+ \frac{1}{2} \Bigl\{
- 2 \mathbf{w}^{\top} (
\lambda \mathbf{x}_{*} y_{*}
+ \boldsymbol{\Lambda} \mathbf{m}
)
+ (
\lambda \mathbf{x}_{*} y_{*}
+ \boldsymbol{\Lambda} \mathbf{m}
)^{\top}
\tilde{\boldsymbol{\Lambda}}^{-1} (
\lambda \mathbf{x}_{*} y_{*}
+ \boldsymbol{\Lambda} \mathbf{m}
)
\Bigr\}
+ \mathrm{const.}
\\
&= - \frac{1}{2} \Bigl(
\lambda y_{*}^2
- 2 \lambda \mathbf{w}^{\top} \mathbf{x}_{*} y_{*}
\Bigr) \\
&\qquad
+ \frac{1}{2} \Bigl\{
- 2 \lambda
\mathbf{w}^{\top} \mathbf{x}_{*}
y_{*}
- 2 \mathbf{w}^{\top} \boldsymbol{\Lambda} \mathbf{m}
+ \lambda^2
\mathbf{x}_{*}^{\top}
\tilde{\boldsymbol{\Lambda}}^{-1}
\mathbf{x}_{*}
y_{*}^2
+ 2 \lambda
\mathbf{x}_{*}^{\top}
\tilde{\boldsymbol{\Lambda}}^{-1} \boldsymbol{\Lambda}
\mathbf{m}
y_{*}
+ (\boldsymbol{\Lambda} \mathbf{m})^{\top}
\tilde{\boldsymbol{\Lambda}}^{-1} \boldsymbol{\Lambda}
\mathbf{m}
\Bigr)
+ \mathrm{const.}
\\
&= - \frac{1}{2} \Bigl\{
\Bigl(
\lambda
- \lambda^2
\mathbf{x}_{*}^{\top} \tilde{\boldsymbol{\Lambda}}^{-1} \mathbf{x}_{*}
\Bigr)
y_{*}^2
- 2 \lambda
\mathbf{x}_{*}^{\top} \tilde{\boldsymbol{\Lambda}}^{-1} \boldsymbol{\Lambda} \mathbf{m}
y_{*}
\Bigl\}
+ \mathrm{const.}
\\
&= - \frac{1}{2} \Bigl[
\Bigl\{
\lambda
- \lambda^2 \mathbf{x}_{*}^{\top}
(\lambda \mathbf{x}_{*} \mathbf{x}_{*}^{\top} + \boldsymbol{\Lambda})^{-1}
\mathbf{x}_{*}
\Bigr\}
y_{*}^2
- 2 \lambda \mathbf{x}_{*}^{\top}
(\lambda \mathbf{x}_{*} \mathbf{x}_{*}^{\top} + \boldsymbol{\Lambda})^{-1}
\boldsymbol{\Lambda} \mathbf{m}
y_{*}
\Bigl]
+ \mathrm{const.}
\tag{3.153}
\end{align}
$$
となる。
式(3.153)について次のようにおく。
$$
\begin{aligned}
\lambda_{*}
&= \lambda
- \lambda^2 \mathbf{x}_{*}^{\top} (
\boldsymbol{\Lambda}
+ \lambda \mathbf{x}_{*} \mathbf{x}_{*}^{\top}
)^{-1}
\mathbf{x}_{*}
\\
&= \lambda \Bigl\{
1
- \lambda \mathbf{x}_{*}^{\top} (
\boldsymbol{\Lambda}
+ \lambda \mathbf{x}_{*} \mathbf{x}_{*}^{\top}
)^{-1}
\mathbf{x}_{*}
\Bigr\}
\\
&= \lambda \Bigl[
\mathbf{I}_1^{-1}
- \lambda \mathbf{I}_1^{-1} \mathbf{x}_{*}^{\top} \Bigl\{
(\boldsymbol{\Lambda}^{-1})^{-1}
+ \lambda \mathbf{x}_{*} \mathbf{I}_1^{-1} \mathbf{x}_{*}^{\top}
\Bigr\}^{-1}
\mathbf{x}_{*} \mathbf{I}_1^{-1}
\Bigr]
\\
&= \lambda \Bigl(
\mathbf{I}_1
+ \lambda \mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}
\Bigr)^{-1}
\\
&= \frac{
\lambda
}{
1
+ \lambda
\mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}
}
\end{aligned}
$$
【途中式の途中式】
ウッドベリーの公式
$$
(\mathbf{A} + \mathbf{U} \mathbf{B} \mathbf{V})^{-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}
\tag{A.7}
$$
を用いて式を変形する。
- $\lambda$を括り出す。
- 1を$1 \times 1$の単位行列$1 = \mathbf{I}_1 = \mathbf{I}_1^{-1}$として、式(A.7)の右辺の形に合わせる。
- $\mathbf{A} = \mathbf{I}_1$、$\mathbf{B} = \boldsymbol{\Lambda}^{-1}$、$\mathbf{U} = \mathbf{x}_{*}^{\top}$、$\mathbf{V} = \mathbf{x}_{*}$として、式(A.7)の左辺の形に変形する。
- 括弧の中はスカラになるため、$-1$乗は逆数$a^{-1} = \frac{1}{a}$である。
さらに、両辺の逆数をとると
$$
\begin{align}
\lambda_{*}^{-1}
&= \frac{
1
+ \lambda
\mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}
}{
\lambda
}
\\
&= \lambda^{-1}
+ \mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}
\tag{3.155.b}
\end{align}
$$
となる。また
$$
\lambda_{*} \mu_{*}
= \lambda \mathbf{x}_{*}^{\top}
(\lambda \mathbf{x}_{*} \mathbf{x}_{*}^{\top} + \boldsymbol{\Lambda})^{-1}
\boldsymbol{\Lambda} \mathbf{m}
$$
とおき、両辺を$\lambda_{*}$で割る(両辺に$\lambda_{*}^{-1}$を掛ける)と
$$
\begin{align}
\mu_{*}
&= \lambda_{*}^{-1} \lambda
\mathbf{x}_{*}^{\top} (
\boldsymbol{\Lambda}
+ \lambda
\mathbf{x}_{*} \mathbf{x}_{*}^{\top}
)^{-1}
\boldsymbol{\Lambda} \mathbf{m}
\\
&= \lambda_{*}^{-1} \lambda
\mathbf{x}_{*}^{\top} \left(
\boldsymbol{\Lambda}^{-1}
- \frac{
\lambda
\boldsymbol{\Lambda}^{-1}
\mathbf{x}_{*} \mathbf{x}_{*}^{\top}
\boldsymbol{\Lambda}^{-1}
}{
1
+ \lambda
\mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}
}
\right)
\boldsymbol{\Lambda} \mathbf{m}
\\
&= \lambda_{*}^{-1} \lambda
\mathbf{x}_{*}^{\top} \mathbf{m}
- \lambda_{*}^{-1} \lambda \lambda_{*}
\mathbf{x}_{*}^{\top}
\boldsymbol{\Lambda}^{-1}
\mathbf{x}_{*} \mathbf{x}_{*}^{\top} \mathbf{m}
\\
&= (
\lambda^{-1}
+ \mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}
)
\lambda
\mathbf{x}_{*}^{\top} \mathbf{m}
- \lambda
\mathbf{x}_{*}^{\top}
\boldsymbol{\Lambda}^{-1}
\mathbf{x}_{*} \mathbf{x}_{*}^{\top} \mathbf{m}
\\
&= \mathbf{x}_{*}^{\top} \mathbf{m}
+ \lambda
\mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}
\mathbf{x}_{*}^{\top} \mathbf{m}
- \lambda
\mathbf{x}_{*}^{\top}
\boldsymbol{\Lambda}^{-1}
\mathbf{x}_{*} \mathbf{x}_{*}^{\top} \mathbf{m}
\\
&= \mathbf{m}^{\top} \mathbf{x}_{*}
\tag{3.155.a}
\end{align}
$$
【途中式の途中式】
シャーマン-モリソンの公式
$$
(\mathbf{A} + \mathbf{b} \mathbf{c}^{\top})^{-1}
= \mathbf{A}^{-1}
- \frac{
\mathbf{A}^{-1} \mathbf{b} \mathbf{c}^{\top} \mathbf{A}^{-1}
}{
1 + \mathbf{c}^{\top} \mathbf{A}^{-1} \mathbf{b}
}
\tag{A.9}
$$
を用いて式を変形する。
- 括弧内の項を$\mathbf{A} = \boldsymbol{\Lambda}$、$\mathbf{b} = \lambda \mathbf{x}$、$\mathbf{c}^{\top} = \mathbf{x}^{\top}$として、式(A.9)の変形を行う。
- 括弧を展開する。また式(3.155.b)より、$\lambda_{*} = \frac{\lambda}{1 + \lambda \mathbf{x}_{*}^{\top} \boldsymbol{\Lambda}^{-1} \mathbf{x}_{*}}$である。
- $\lambda_{*}^{-1}$に式(3.155.b)を代入する。
- 事後分布のときと同様に、$\mathbf{x}_{*}^{\top} \mathbf{m} = (\mathbf{x}_{*}^{\top} \mathbf{m})^{\top} = \mathbf{m}^{\top} \mathbf{x}_{*}$である。
となる。よって、$\mathrm{const.}$を正規化項に置き換える(正規化する)と
$$
\begin{aligned}
\ln p(y_{*} | \mu_{*}, \lambda_{*}^{-1})
&= - \frac{1}{2} \Bigl(
\lambda_{*} y_{*}^2
- 2 \lambda_{*} \mu_{*} y_{*}
\Bigr)
+ \mathrm{const.}
\\
&= - \frac{1}{2} \Bigl\{
(y_{*} - \mu_{*})^2
\lambda_{*}
+ \ln \lambda_{*}^{-1}
+ \ln 2 \pi
\Bigr\}
\end{aligned}
$$
予測分布は式の形状から、平均$\mu_{*}$、精度$\lambda_{*}$の1次元ガウス分布となることが分かる。
$$
p(y_{*} | \mathbf{x}_{*})
= \mathcal{N}(y_{*} | \mu_{*}, \lambda_{*}^{-1})
$$
予測分布の計算に事前分布$p(\mathbf{w})$を用いることで、観測データによる学習を行っていない予測分布$p(y_{*} | \mathbf{x}_{*})$(のパラメータ$\mu_{*},\ \lambda_{*}$)を求めた。事後分布$p(\mathbf{w} | \mathbf{y},\ \mathbf{X})$を用いると、同様の手順で観測データ$\mathbf{y},\ \mathbf{X}$によって学習した予測分布$p(y_{*} | \mathbf{x}_{*}, \mathbf{y}, \mathbf{X})$(のパラメータ$\hat{\mu}_{*},\ \hat{\lambda}_{*}$)を求められる。
よって、$\mu_{*},\ \lambda_{*}$を構成する事前分布のパラメータ$\mathbf{m},\ \boldsymbol{\Lambda}$を事後分布のパラメータ(3.148)に置き換えると
$$
\begin{aligned}
\hat{\mu}_{*}
&= \hat{\mathbf{m}}^{\top} \mathbf{x}_{*}
\\
\hat{\lambda}_{*}^{-1}
&= \lambda^{-1}
+ \mathbf{x}_{*}^{\top} \hat{\boldsymbol{\Lambda}}^{-1} \mathbf{x}_{*}
\end{aligned}
$$
が得られる。したがって、予測分布は平均$\hat{\mu}_{*}$、精度$\hat{\lambda}_{*}$の1次元ガウス分布となる。
$$
p(y_{*} | \mathbf{x}_{*}, \mathbf{y}, \mathbf{X})
= \mathcal{N}(y_{*} | \hat{\mu}_{*}, \hat{\lambda}_{*}^{-1})
$$
また、上の式が予測分布のパラメータの計算式(更新式)である。
参考文献
- 須山敦志『ベイズ推論による機械学習入門』(機械学習スタートアップシリーズ)杉山将監修,講談社,2017年.
おわりに
この節で3章終了!多次元ガウス分布の転置パズルにもだいぶ慣れてきた!と思ったら、最後の$\mu_{*},\ \lambda_{*}$のところでまた脳みそ捻じ切れそうでした。
4章に進むか、過去記事を修正しながら復習するか、内容の被ってるPRMLをやるか悩む。
【次節の内容】
www.anarchive-beta.com