🧠

PRML 第3章(3.1から3.12まで)解答例

2022/06/04に公開

はじめに

PRML解答例まとめを参照

演習 3.1

tanh関数とロジステイックシグモイド関数

\sigma(a)=\frac{1}{1+\exp (-a)} \tag{3.6}

は次のように関係付けられることを示せ.

\tanh(a) = 2\sigma(2a)-1 \tag{3.100}

さらに,次の形のロジステイックシグモイド関数の線形結合

y(x, \mathbf{w})=w_{0}+\sum_{j=1}^{M} w_{j} \sigma\left(\frac{x-\mu_{j}}{s}\right) \tag{3.101}

は次の形の\tanh関数の線形結合

y(x, \mathbf{u})=u_{0}+\sum_{j=1}^{M} u_{j} \tanh \left(\frac{x-\mu_{j}}{2 s}\right) \tag{3.102}

と等価であることを示し,新しいパラメータ\{ u_0, \ldots, u_M\}ともとのパラメータ\{ w_0, \ldots, w_M\}を関係付ける式を求めよ.


双曲線関数\sinh\cosh関数を使うと

\sinh a = \frac{e^a - e^{-a}}{2},\quad \cosh a = \frac{e^a + e^{-a}}{2}

であるから、

\tanh a = \frac{\sinh a}{\cosh a} = \frac{e^a - e^{-a}}{e^a + e^{-a}}

である。これと(3.100)式の右辺を計算すると

2\sigma(2a) -1 = \frac{2}{1+e^{-2a}}-1 = \frac{1-e^{-2a}}{1+e^{-2a}} = \frac{e^a - e^{-a}}{e^a + e^{-a}}

となるので、\tanh a = 2\sigma(2a) -1が示された。

また(3.100)の関係式から\displaystyle \sigma(a) = \frac{1}{2}\left\{ \tanh \left(\frac{a}{2}\right) + 1\right\}となるので、

\begin{aligned} w_0+\sum_{j=1}^M w_j \sigma\left( \frac{x-\mu_j}{s} \right) &= w_0 + \sum_{j=1}^M \left\{ \frac{w_j}{2} \tanh \left( \frac{x-\mu_j}{2s} \right) + \frac{w_j}{2} \right\} \\ &= w_0 + \sum_{j=1}^M \frac{w_j}{2} + \sum_{j=1}^M \frac{w_j}{2} \tanh \left( \frac{x-\mu_j}{2s} \right) \end{aligned}

これと(3.102)式の形を比較すれば

u_0 = w_0 + \sum_{j=1}^M \frac{w_j}{2},\quad u_j = \frac{w_j}{2}

と関係付けることができる。

演習 3.2

行列

\mathbf{\Phi}\left(\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\right)^{-1} \mathbf{\Phi}^{\mathrm{T}} \tag{3.103}

は任意のベクトル\mathbf{v}\mathbf{\Phi}の列ベクトルで張られる空間の上に正射影することを示せ.そしてこの結果を使って,最小二乗解

\mathbf{w}_{\mathrm{ML}}=\left(\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\right)^{-1} \mathbf{\Phi}^{\mathrm{T}} \textsf{t} \tag{3.15}

は図3.2で示した多様体\mathcal{S}の上にベクトル\mathsf{t}を正射影することに対応していることを示せ.

PRML_Fig3.2.png


【前半】

この問題で線形空間(多様体)\mathcal{S}は行列\mathbf{\Phi}j番目の列ベクトル\boldsymbol{\varphi}_jを基底としている。つまり、任意のスカラーx_jを用いて\displaystyle \sum_{j=1}^M x_j\boldsymbol{\varphi}_jの形で書けるベクトルは線形空間\mathcal{S}に含まれる。

あるベクトル\mathbf{v}の線形空間\mathcal{S}への正射影とは、次の2つを満たすベクトル\mathbf{v}^{\prime}のことである。

  1. ベクトル\mathbf{v}^{\prime}\mathcal{S}上に存在する。すなわち\displaystyle \mathbf{v}^{\prime} = \sum_{j=1}^M x_j\boldsymbol{\varphi}_j=\mathbf{\Phi}\mathbf{x}と書ける。

  2. ベクトル\mathbf{v}-\mathbf{v}^{\prime}が線形空間\mathcal{S}と直交する。すなわち任意のjについて\boldsymbol{\varphi}_j^{\mathrm{T}}(\mathbf{v}-\mathbf{v}^{\prime})=0つまり\displaystyle \mathbf{\Phi}^{\mathrm{T}}(\mathbf{v}-\mathbf{v}^{\prime})=0が成立する。

以上を踏まえて、まずベクトル\mathbf{v}\mathbf{\Phi}\left(\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\right)^{-1} \mathbf{\Phi}^{\mathrm{T}}を作用させた\mathbf{v}^{\prime}を考える。すなわち

\begin{aligned} \mathbf{v}^{\prime} &= \mathbf{\Phi}\left(\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\right)^{-1} \mathbf{\Phi}^{\mathrm{T}}\mathbf{v} = \mathbf{\Phi}\tilde{{\mathbf{v}}}=\sum_{j=1}^M \tilde{v_j} \boldsymbol{\varphi}_j \end{aligned}

とする。ここで\boldsymbol{\varphi}_j\mathbf{\Phi}j番目の列ベクトルで\tilde{\mathbf{v}} \equiv \left(\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}\right)^{-1} \mathbf{\Phi}^{\mathrm{T}}\mathbf{v}とする。\tilde{v_j}はベクトル\tilde{\mathbf{v}}j番目の要素である(スカラー)。これは\boldsymbol{\varphi}_jについての線形結合となっているので、上の正射影の条件1を満たしている。

ちなみに

\Phi=\begin{pmatrix}\mathbf{\phi}_{0}\left(\mathbf{x}_{1}\right) & \phi_{1}\left(\mathbf{x}_{1}\right) & \cdots & \phi_{M-1}\left(\mathbf{x}_{1}\right) \\ \phi_{0}\left(\mathbf{x}_{2}\right) & \phi_{1}\left(\mathbf{x}_{2}\right) & \cdots & \phi_{M-1}\left(\mathbf{x}_{2}\right) \\ \vdots & \vdots & \ddots & \vdots \\ \phi_{0}\left(\mathbf{x}_{N}\right) & \phi_{1}\left(\mathbf{x}_{N}\right) & \cdots & \phi_{M-1}\left(\mathbf{x}_{N}\right)\end{pmatrix} = (\boldsymbol{\varphi}_1\ \boldsymbol{\varphi}_2\ \cdots \ \boldsymbol{\varphi}_{M}) \tag{3.16}

としたので番号は1つずつずれているけれど気にしないでOK。

次に正射影の条件2のために\mathbf{v}-\mathbf{v}^{\prime}\mathcal{S}の直交性を調べる。

\begin{aligned} \mathbf{\Phi}^{\mathrm{T}}(\mathbf{v}-\mathbf{v}^{\prime}) &= \mathbf{\Phi}^{\mathrm{T}}(\mathbf{I} - \mathbf{\Phi}(\mathbf{\Phi}^{\mathrm{T}}\mathbf{\Phi})^{-1}\mathbf{\Phi}^{\mathrm{T}})\mathbf{v} \\ &=\mathbf{\Phi}^{\mathrm{T}}\mathbf{v} - \mathbf{\Phi}^{\mathrm{T}}\mathbf{v} \\ &= \mathbf{0} \end{aligned}

であるから、\mathbf{v}-\mathbf{v}^{\prime}\mathcal{S}は直交していることが示された。以上条件1と2が成立しているので、\mathbf{v}^{\prime}\mathbf{v}\mathcal{S}への正射影であることが示された。

【後半】

続いて、3.1.2節の流れからn番目の要素がy(\mathbf{x}_n,\mathbf{w})で与えられるN次元ベクトル\mathsf{y}を定義すると、\mathsf{y}の構成は

\mathsf{y} = \begin{pmatrix}y(\mathbf{x}_1,\mathbf{w}) \\ \vdots \\ y(\mathbf{x}_n,\mathbf{w})\end{pmatrix} = \begin{pmatrix}\mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_1) \\ \vdots \\ \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_n)\end{pmatrix} = \begin{pmatrix}\boldsymbol{\phi}(\mathbf{x}_1)^{\mathrm{T}}\mathbf{w} \\ \vdots \\ \boldsymbol{\phi}(\mathbf{x}_n)^{\mathrm{T}}\mathbf{w}\end{pmatrix} = \mathbf{\Phi}\mathbf{w}

となっている。これと(3.15)から\mathbf{w}_{\mathrm{ML}} = (\mathbf{\Phi}^{\mathrm{T}}\mathbf{\Phi})^{-1}\mathbf{\Phi}^{\mathrm{T}} \mathsf{t}を代入してみると

\mathsf{y} = \mathbf{\Phi}\mathbf{w}_{\mathrm{ML}} = \mathbf{\Phi}(\mathbf{\Phi}^{\mathrm{T}}\mathbf{\Phi})^{-1}\mathbf{\Phi}^{\mathrm{T}} \mathsf{t}

となる。ここで、この数式と【前半】の議論より、\mathsf{y}がベクトル\mathsf{t}の線形空間\mathcal{S}への正射影であることは明らかになっている。したがって題意(最小二乗解\mathsf{y}はデータベクトル\mathsf{t}の部分空間\mathcal{S}上への正射影に対応する)は示された。

統計のための行列代数(上)の第12章 射影と射影行列に詳しい議論が載っている。

演習 3.3

それぞれのデータ点t_nに重み要素r_n>0が割り当てられており,二乗和誤差関数が

E_{D}(\mathbf{w})=\frac{1}{2} \sum_{n=1}^{N} r_{n}\left\{t_{n}-\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right\}^{2} \tag{3.104}

となるデータ集合を考える.このとき,この誤差関数を最小にする解\mathbf{w}^{*}についての式を求めよ.また,(i)ノイズの分散がデータに依存する場合,(ii)データ点に重複がある場合に照らして,それぞれ重み付き二乗和誤差関数の解釈を与えよ.


誤差関数を最小にする解を求めたいので、(3.104)式を\mathbf{w}で微分する。その前に(3.104)式を行列形式で書き直したい。

\displaystyle \mathbf{R} = \operatorname{diag}(r_1,r_2,\ldots,r_n)(つまり対角成分がr_1,r_2,\ldots,r_nで残りが0の行列)とすると、(3.104)式は次のように書ける。

\begin{aligned} E_{D}(\mathbf{w}) &=\frac{1}{2} \sum_{n=1}^{N} r_{n}\left\{t_{n}-\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right\}^{2} \\ &=\frac{1}{2}\left\{\left(\begin{array}{c} t_{1} \\ \vdots \\ t_{n} \end{array}\right)-\left(\boldsymbol{\phi}\left(\mathbf{x}_{1}\right), \cdots, \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)\left(\begin{array}{c} w_{1} \\ \vdots \\ w_{n} \end{array}\right)\right\}^{\mathrm{T}} \mathbf{R} \left\{\left(\begin{array}{c} t_{1} \\ \vdots \\ t_{n} \end{array}\right)-\left(\boldsymbol{\phi}\left(\mathbf{x}_{1}\right), \cdots, \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)\left(\begin{array}{c} w_{1} \\ \vdots \\ w_{n} \end{array}\right)\right\} \\ &=\frac{1}{2}(\mathsf{t}-\mathbf{\Phi} \mathbf{w})^{\mathrm{T}} \mathbf{R}(\mathsf{t}-\mathbf{\Phi} \mathbf{w}) \end{aligned}

\mathbf{w}で微分すると

\begin{aligned} \frac{\partial E_D}{\partial \mathbf{w}} &=\frac{1}{2}\left\{-2 \mathbf{\Phi}^{\mathrm{T}} \mathbf{R}(\mathsf{t}-\mathbf{\Phi} \mathbf{w})\right\} \quad \left(\because \frac{\partial}{\partial \mathbf{s}}(\mathbf{x}-\mathbf{A} \mathbf{s})^{\mathrm{T}} \mathbf{W}(\mathbf{x}-\mathbf{A} \mathbf{s})=-2 \mathbf{A}^{\mathrm{T}} \mathbf{W}(\mathbf{x}-\mathbf{A} \mathbf{s}),\ \textrm{if}\ \mathbf{W} \textrm{is symmetric.}\right)\\ &=-\mathbf{\Phi}^{\mathrm{T}} \mathbf{R}(\mathsf{t}-\mathbf{\Phi} \mathbf{w})=0 \\ & \mathbf{\Phi}^{\mathrm{T}} \mathbf{R} \mathsf{t}=\mathbf{\Phi}^{\mathrm{T}} \mathbf{R} \mathbf{\Phi} \mathbf{w}^{*} \\ \therefore \quad \mathbf{w}^{*}&=\left(\mathbf{\Phi}^{\mathrm{T}} \mathbf{R} \mathbf{\Phi}\right)^{-1} \mathbf{\Phi}^{\mathrm{T}} \mathbf{R} \mathsf{t} \end{aligned}

なお行列の微分には https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf(84)の公式を使った。また、こうして得られた\mathbf{w}^{*}は単位行列\mathbf{R} = \mathbf{I}とすれば(3.15)の正規方程式と一致する。

  1. ノイズの分散がデータに依存する場合というのは(3.8)において全データの分散の逆数(精度)が\betaで一定ではなく、データごとにy_nと変化することを意味する。このとき(3.8)-(3.12)の導出に沿って対数尤度関数をとると
\begin{aligned} \ln p(\mathsf{t} \mid \mathbf{x}, \mathbf{w}, \mathbf{y}) &=\sum_{n=1}^{N} \ln \mathcal{N}\left(t_n \mid \mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right), y_{n}^{-1}\right) \\ &=\sum_{n=1}^{N} \ln \left\{\frac{y_{n}^{1 / 2}}{(2 \pi)^{1 / 2}} \exp \left(-\frac{y_{n}\left(t_{n}-\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)^{2}}{2}\right)\right\} \\ &=\frac{1}{2} \sum_{n=1}^{N} \ln y_{n}-\frac{N}{2} \ln (2 \pi)-\frac{1}{2} \sum_{n=1}^{N} y_{n}\left\{t_{n}-\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right\}^{2} \end{aligned}

となる。ここでy_n = r_nとすればまさに重み付き二乗和誤差関数として(3.104)が現れていることがわかる。

  1. データ点に重複がある場合、そのデータ点についての実効的な数として見なすことができる。尤度関数\ln p(\mathsf{t}\mid \mathbf{w},\beta)の最大化は二乗和誤差関数E_D(\mathbf{w})の最小化と等価であることを考えれば、例えばN個の点のうち(\mathbf{x}_1, t_1), (\mathbf{x}_2, t_2)のみが同じだった場合にr_1=1, r_2=0とおけば実質1つカウントとして見なせるし、そうしないこともできる……ってことかな?

演習 3.4

次の形の線形モデル

y(\mathbf{x}, \mathbf{w})=w_{0}+\sum_{i=1}^{D} w_{i} x_{i} \tag{3.105}

と二乗和誤差関数

E_{D}(\mathbf{w})=\frac{1}{2} \sum_{n=1}^{N}\left\{y\left(\mathbf{x}_{n}, \mathbf{w}\right)-t_{n}\right\}^{2} \tag{3.106}

を考える.平均0,分散\sigma^2のガウスノイズ\epsilon_iが独立にそれぞれの入力変数x_iに加わるものとする.\mathbb{E}[\epsilon_i] = 0\mathbb{E}\left[\epsilon_{i} \epsilon_{j}\right]=\delta_{i j} \sigma^{2}の2つの性質を用いて,E_Dのノイズ分布に関する平均を最小にすることは,ノイズのない入力変数に対する二乗和誤差と荷重減衰の正則化項の和を最小にすることと等価であることを示せ.ただし,正則化項にバイアスパラメータw_0は含めない.


※ 線形モデルの入力ベクトル\mathbf{x}の各次元x_iにノイズ\epsilon_iが加わったときの二乗和誤差について、その二乗和誤差のノイズ\epsilon_iについての期待値を取ったものを最小化することが、\mathbf{w}の正則化項を考慮した最小二乗法と同じ形式になることを示します。

ガウスノイズ\epsilon_{i}が入力変数x_iに加えられるので

\begin{aligned} \tilde{y}(\mathbf{x}_n,\mathbf{w}) &= w_0 + \sum_{i=1}^D w_{ni}(x_{ni}+\epsilon_{ni}) \\ &= y(\mathbf{x}_n,\mathbf{w})+\sum_{i=1}^D w_i \epsilon_{ni} \end{aligned}

となる。これの二乗和誤差関数は

\begin{aligned} \tilde{E}_D(\mathbf{w}) &= \frac{1}{2}\sum_{n=1}^N\left\{ \tilde{y}(\mathbf{x}_n,\mathbf{w}) - t_n \right\}^2 \\ &=\frac{1}{2}\sum_{n=1}^N\left\{ \tilde{y}_n^2-2\tilde{y}_nt_n+t_n \right\}^2 \\ &=\frac{1}{2}\sum_{n=1}^N\left\{ y_n^2+2y_n\sum_{i=1}^D{w_i\epsilon_{ni}}+\left(\sum_{i=1}^D w_i \epsilon_{ni} \right)^2 -2 y_n t_n-2\sum_{i=1}^D w_i\epsilon_{ni} + t_n^2 \right\} \quad \cdots (*) \end{aligned}

と展開できる。ここで\tilde{E}_D(\mathbf{w})についての期待値\mathbb{E}\left[\tilde{E}_D(\mathbf{w})\right]をとると\mathbb{E}[\epsilon_i]=0より(*)の第2項と第5項は0になる。また、第3項については\mathbb{E}[\epsilon_i \epsilon_j]=\delta_{ij}\sigma^2から

\mathbb{E}\left[\left( \sum_{i=1}^D w_i \epsilon_{ni}\right)^2\right] = \sum_{i=1}^D w_i^2\sigma^2

となるので

\mathbb{E}\left[\tilde{E}_D(\mathbf{w})\right] = E_D(\mathbf{w}) + \frac{1}{2}\sum_{i=1}^D w_i^2\sigma^2

と表せる。さらに(3.25)のような重みベクトルの二乗和E_W(\mathbf{w})=\frac{1}{2}\mathbf{w}^{\mathrm{T}}\mathbf{w}を用いると

\mathbb{E}\left[\tilde{E}_D(\mathbf{w})\right] = E_D(\mathbf{w}) + \frac{\sigma^2}{2}\mathbf{w}^{\mathrm{T}}\mathbf{w}

となる。これは、ノイズのない入力変数に対する二乗和誤差E_D(\mathbf{w})\lambda=\sigma^2にしたときの荷重減衰の正則化項の和E_W(\mathbf{w})の和の形になっている。したがって題意が示された。

演習 3.5

付録Eに示したラグランジュ未定乗数法を用いて,正則化誤差関数

\frac{1}{2} \sum_{n=1}^{N}\left\{t_{n}-\mathbf{w}^{\mathrm{T}} \phi\left(\mathrm{x}_{n}\right)\right\}^{2}+\frac{\lambda}{2} \sum_{j=1}^{M}\left|w_{j}\right|^{q} \tag{3.29}

の最小化と,正則化されていない二乗和誤差

E_{D}(\mathbf{w})=\frac{1}{2} \sum_{n=1}^{N}\left\{t_{n}-\mathbf{w}^{\mathrm{T}} \phi\left(\mathbf{x}_{n}\right)\right\}^{2} \tag{3.12}

の制約条件

\sum_{j=1}^{M}|w_j|^q \le \eta \tag{3.30}

下での最小化が等価であることを示せ.そして,パラメータ\eta\lambdaの関係を議論せよ.


※ ヒントとしてラグランジュの未定乗数法を使うと書いてあるのですぐに導けるが、このヒントがないとなぜ等価なのかわかりにくいかもしれない、という問題。

制約条件(3.30)が不等式なので付録Eのラグランジュ未定乗数法の不等式制約の場合を参考にする。

(3.30)を変形すると\displaystyle \frac{1}{2}\left( \sum_{j=1}^M|w_j|^q - \eta \right) \leq 0である。(後で(3.29)に合わせるために\frac{1}{2}をわざとつけている)

ラグランジュの未定乗数法を用いると

\begin{aligned} L(\mathbf{w},\lambda) &= \frac{1}{2}\sum_{j=1}^{M}\left\{ t_n - \mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_n)\right\}^2 + \frac{\lambda}{2}\left( \sum_{j=1}^M|w_j|^q - \eta \right) \\ &= \frac{1}{2}\sum_{j=1}^{M}\left\{ t_n - \mathbf{w}^{\mathrm{T}}\phi(\mathbf{x}_n)\right\}^2 + \frac{\lambda}{2}\sum_{j=1}^M|w_j|^q - \frac{\lambda\eta}{2} \end{aligned}

これについて\displaystyle \frac{\partial}{\partial\mathbf{w}}\left( - \frac{\lambda\eta}{2} \right) = 0なので、L(\mathbf{w},\lambda)\mathbf{w}について最小化させることと、(3.29)式の\mathbf{w}についての最小化は等価であることが示された。

またラグランジュの未定乗数法の不等式制約におけるKarush-Kuhn-Tucker条件は

\left\{ \begin{array}{l} \frac{1}{2}\left( \sum_{j=1}^M|w_j|^q - \eta \right) \leq 0 \\ \lambda \geq 0 \\ \frac{\lambda}{2}\left( \sum_{j=1}^M|w_j|^q - \eta \right) = 0 \end{array} \right.

となる。最後の等式がL(\mathbf{w},\lambda)\mathbf{w}について最小化させた\mathbf{w}^*で成立する必要がある。
すなわち、\mathbf{w}^*\displaystyle \eta = \sum_{j=1}^M|w_j|^qとなる。これより、qは正則化項の形状(lasso, ridge...)を示している。\lambdaは正則化項の大きさを表している。

演習 3.6

ガウス分布に従う複数の目標変数\mathbf{t}を持つ次の形の線形基底関数モデルを考える.

p(\mathbf{t} | \mathbf{W}, \mathbf{\Sigma})=\mathcal{N}(\mathbf{t} | \mathbf{y}(\mathbf{x}, \mathbf{W}), \mathbf{\Sigma}) \tag{3.107}

ただし,

\mathbf{y}(\mathbf{x}, \mathbf{W}) = \mathbf{W}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}) \tag{3.108}

である.入力基底ベクトルの\boldsymbol{\phi}(\mathbf{x}_n)\ (n=1,\ldots,N)とそれに対応する目標ベクトル\mathbf{t}_nが訓練データ集合として与えられるとき,パラメータ行列\mathbf{W}の最尤推定解\mathbf{W}_{\mathrm{ML}}のそれぞれの列が,等方性のノイズ分布に対する解の

\mathbf{w}_{\mathrm{ML}}=\left(\Phi^{\mathrm{T}} \Phi\right)^{-1} \Phi^{\mathrm{T}} \mathbf{t} \tag{3.15}

の形の式で与えられることを示せ.これは共分散行列\mathbf{\Sigma}にはよらないことに注意せよ.さらに,\mathbf{\Sigma}の最尤推定解が

\mathbf{\Sigma}=\frac{1}{N} \sum_{n=1}^{N}\left(\mathbf{t}_{n}-\mathbf{W}_{\mathrm{ML}}^{\mathrm{T}} \phi\left(\mathbf{x}_{n}\right)\right)\left(\mathbf{t}_{n}-\mathbf{W}_{\mathrm{ML}}^{\mathrm{T}} \phi\left(\mathbf{x}_{n}\right)\right)^{\mathrm{T}} \tag{3.109}

で与えられることを示せ.


3.1.5 出力変数が多次元の場合 を参考にしてすすめる。また、途中の行列の微分については付録だけでは足りないので https://www.math.uwaterloo.ca/~hwolkowi/matrixcookbook.pdf を参考にする。

\mathbf{y}(\mathbf{X},\mathbf{W})=\mathbf{W}^{\mathrm T}\boldsymbol{\phi}(\mathbf{x})について、\mathbf{y}K次元列ベクトル、\mathbf{W}M\times Kのパラメータ行列、\boldsymbol{\phi}(\mathbf{x})\boldsymbol{\phi}_j(\mathbf{x})j番目の要素に持つM次元の列ベクトルである。また、n番目の観測値\mathbf{t}_nK次元の列ベクトル、観測値の集合\mathbf{t}_1, \mathbf{t}_2, \cdots \mathbf{t}_Nをまとめてn番目の行が\mathbf{t}_n^{\mathrm T}となるN\times K行列\mathbf{T}とする。

(3.107)について最尤推定解を得るために対数尤度関数を考えると

\begin{aligned} \ln p(\mathbf{t} \mid \mathbf{W}, \mathbf{\Sigma}) &=\ln \prod_{n=1}^{N} \mathcal{N}\left(\mathbf{t}_{n} \mid \mathbf{W}^{\mathrm T} \boldsymbol{\phi}(\mathbf{x}), \mathbf{\Sigma}\right) \\ &=\sum_{n=1}^{N} \ln \mathcal{N}\left(\mathbf{t}_{n} \mid \mathbf{W}^{\mathrm T} \boldsymbol{\phi}(\mathbf{x}), \mathbf{\Sigma}\right) \\ &=\sum_{n=1}^{N} \ln \left\{\frac{1}{(2 \pi)^{\frac{K}{2}}} \frac{1}{\left|\mathbf{\Sigma}\right|^{\frac{1}{2}}} \exp \left(-\frac{1}{2}\left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm T} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)^{\mathrm T} \mathbf{\Sigma}^{-1} \left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm T} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)\right)\right\}\\ &=-\frac{N K}{2} \ln (2 \pi)-\frac{N}{2} \ln |\mathbf{\Sigma}|-\frac{1}{2} \sum_{n=1}^{N}\left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm T} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)^{\mathrm T} \mathbf{\Sigma}^{-1} \left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm T} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right) \end{aligned}

\mathbf{W}_{\mathrm{ML}}を求めるために\mathbf{W}について偏微分すると

\begin{aligned} \frac{\partial}{\partial \mathbf{W}} \ln p(t \mid \mathbf{W}, \Sigma) &=-\frac{1}{2} \sum_{n=1}^{N} \frac{\partial}{\partial \mathbf{W}}\left\{\left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)^{\mathrm{T}} \mathbf{\Sigma}^{-1} \left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right)\right\} \\ &= -\frac{1}{2}\sum_{n=1}^N \left( \mathbf{\Sigma}^{-1} + (\mathbf{\Sigma}^{-1})^{\mathrm T}\right) \left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right) \left(- \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)^{\mathrm T}\right) \quad \left(\because \frac{\partial}{\partial \mathbf{X}}(\mathbf{X} \mathbf{b}+\mathbf{c})^{\mathrm T} \mathbf{D}(\mathbf{X} \mathbf{b}+\mathbf{c})=\left(\mathbf{D}+\mathbf{D}^{\mathrm T}\right)(\mathbf{X} \mathbf{b}+\mathbf{c}) \mathbf{b}^{\mathrm T} \right)\\ &= \sum_{n=1}^N \mathbf{\Sigma}^{-1}\left(\mathbf{t}_{n}-\mathbf{W}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)\right) \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)^{\mathrm T} \quad \left( \because \mathbf{\Sigma}^{-1} = (\mathbf{\Sigma}^{-1})^{\mathrm T} \right) \end{aligned}

これを0とすると

\sum_{n=1}^N \mathbf{\Sigma}^{-1}\mathbf{t}_n\boldsymbol{\phi}(\mathbf{x}_n)^{\mathrm T} = \sum_{n=1}^N \mathbf{\Sigma}^{-1}\left( \mathbf{W}_{\mathrm{ML}}^{\mathrm T} \boldsymbol{\phi}(\mathbf{x}_n)\right) \boldsymbol{\phi}(\mathbf{x}_n)^{\mathrm T}

両辺に\mathbf{\Sigma}をかけると

\sum_{n=1}^N \mathbf{t}_n\boldsymbol{\phi}(\mathbf{x}_n)^{\mathrm T} = \mathbf{W}_{\mathrm{ML}}^{\mathrm T} \sum_{n=1}^N \boldsymbol{\phi}(\mathbf{x}_n)\boldsymbol{\phi}(\mathbf{x}_n)^{\mathrm T}

これは行列形式で書くと

\left( \mathbf{t}_1, \mathbf{t}_2 \cdots, \mathbf{t}_n\right)\begin{pmatrix} \boldsymbol{\phi}\left(\mathbf{x}_{1}\right)^{\mathrm{T}} \\ \boldsymbol{\phi}\left(\mathbf{x}_{2}\right)^{\mathrm{T}} \\ \vdots \\ \boldsymbol{\phi}\left(\mathbf{x}_{N}\right)^{\mathrm{T}} \end{pmatrix} = \mathbf{W}_{\mathrm{ML}}^{\mathrm T} \left(\boldsymbol{\phi}\left(\mathbf{x}_{1}\right), \boldsymbol{\phi}\left(\mathbf{x}_{2}\right), \ldots, \boldsymbol{\phi}\left(\mathbf{x}_{N}\right)\right)\begin{pmatrix} \boldsymbol{\phi}\left(\mathbf{x}_{1}\right)^{\mathrm{T}} \\ \boldsymbol{\phi}\left(\mathbf{x}_{2}\right)^{\mathrm{T}} \\ \vdots \\ \boldsymbol{\phi}\left(\mathbf{x}_{N}\right)^{\mathrm{T}} \end{pmatrix}

と書き直せる。ここで、計画行列が

\mathbf{\Phi}=\begin{pmatrix} \boldsymbol{\phi}\left(\mathbf{x}_{1}\right)^{\mathrm{T}} \\ \boldsymbol{\phi}\left(\mathbf{x}_{2}\right)^{\mathrm{T}} \\ \vdots \\ \boldsymbol{\phi}\left(\mathbf{x}_{N}\right)^{\mathrm{T}} \end{pmatrix}, \quad \mathbf{\Phi}^{\mathrm{T}}=\left(\boldsymbol{\phi}\left(\mathbf{x}_{1}\right), \boldsymbol{\phi}\left(\mathbf{x}_{2}\right), \ldots , \boldsymbol{\phi}\left(\mathbf{x}_{N}\right)\right)

のように書けることを考えると、

\mathbf{T}^{\mathrm T}\mathbf{\Phi} = \mathbf{W}_{\mathrm{ML}}^{\mathrm T}\mathbf{\Phi}^{\mathrm T}\mathbf{\Phi}

と書き表せる。これより\mathbf{W}_{\mathrm{ML}}^{\mathrm T}=\mathbf{T}^{\mathrm T}\mathbf{\Phi}\left(\mathbf{\Phi}^{\mathrm T}\mathbf{\Phi}\right)^{-1}なので、\mathbf{W}_{\mathrm{ML}}を求めるよう変換していくと

\begin{aligned} \mathbf{W}_{\mathrm{ML}} &=\left(\mathbf{T}^{\mathrm T}\mathbf{\Phi}\left(\mathbf{\Phi}^{\mathrm T}\mathbf{\Phi}\right)^{-1}\right)^{\mathrm T} \\ &=\left(\left(\mathbf{\Phi}^{\mathrm T} \mathbf{\Phi}\right)^{-1}\right)^{\mathrm T}\left(\mathbf{T}^{\mathrm T} \mathbf{\Phi}\right)^{\mathrm T} \quad \left(\because (\mathbf{AB})^{\mathrm T} = \mathbf{B}^{\mathrm T}\mathbf{A}^{\mathrm T}\right)\\ &=\left(\mathbf{\Phi}^{\mathrm T} \mathbf{\Phi}\right)^{-1} \mathbf{\Phi}^{\mathrm T} \mathbf{T} \end{aligned}

これは(3.15)式のような形で求まっている。また\mathbf{\Sigma}によらず決まることが分かる。

\mathbf{\Sigma}についての最尤推定解は演習問題2.34と同じ手続きで求めることができるので省略。

演習 3.7

\mathbf{m}_N\mathbf{S}_Nがそれぞれ

\mathbf{m}_{N} =\mathbf{S}_{N}\left(\mathbf{S}_{0}^{-1} \mathbf{m}_{0}+\beta \mathbf{\Phi}^{\mathrm{T}} \textsf{t}\right) \tag{3.50}
\mathbf{S}_{N}^{-1} =\mathbf{S}_{0}^{-1}+\beta \mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi} \tag{3.51}

で定義される線形基底関数モデルを考える.平方完成を用いて,このモデルのパラメータ\mathbf{w}の事後分布が

p(\mathbf{w}| \textsf{t})=\mathcal{N}\left(\mathbf{w} \mid \mathbf{m}_{N}, \mathbf{S}_{N}\right) \tag{3.49}

で与えられることを確かめよ.


(事後分布)\propto(尤度関数)×(事前分布)の関係式、すなわちp(\mathbf{w}|\textsf{t}) \propto p(\textsf{t}|\mathbf{w}) p(\mathbf{w})を使って計算する。正規化係数部分は吸収されるので、指数部分だけに着目する。

\begin{aligned} p(\mathbf{w}|\textsf{t}) &= \prod_{n=1}^{N}\mathcal{N}(t_n|\mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_n))\mathcal{N}(\mathbf{w}|\mathbf{m}_0,\mathbf{S}_0) \\ &\propto \left( \prod_{n=1}^N \exp\left[ -\frac{1}{2} \left\{ t_n - \mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}(\mathbf{x}_n) \right\}^2 \beta \right] \right) \exp \left[ -\frac{1}{2} (\mathbf{w} - \mathbf{m}_0)^{\mathrm{T}} \mathbf{S}_0^{-1}(\mathbf{w} - \mathbf{m}_0) \right] \\ &= \exp\left[ -\frac{1}{2} \left\{ \beta \sum_{n=1}^N \left( t_n - \mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}(\mathbf{x}_n)) \right)^2 + (\mathbf{w} - \mathbf{m}_0)^{\mathrm{T}} \mathbf{S}_0^{-1}(\mathbf{w} - \mathbf{m}_0) \right\} \right] \\ \end{aligned}

ここで、指数部分のみ着目すると

\begin{aligned} & \beta \sum_{n=1}^N \left( t_n - \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_n) \right)^2 + (\mathbf{w} - \mathbf{m}_0)^{\mathrm{T}}\mathbf{S}_0^{-1}(\mathbf{w} - \mathbf{m}_0)\\ = & \beta \begin{pmatrix} t_1 - \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_1) \\ \vdots\\ t_N - \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_N) \end{pmatrix}^{\mathrm{T}} \begin{pmatrix} t_1 - \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_1) \\ \vdots\\ t_N - \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}(\mathbf{x}_N) \end{pmatrix} + (\mathbf{w} - \mathbf{m}_0)^{\mathrm{T}}\mathbf{S}_0^{-1}(\mathbf{w} - \mathbf{m}_0) \\ = & \beta \begin{pmatrix} t_1 - \boldsymbol{\phi}(\mathbf{x}_1)^{\mathrm{T}}\mathbf{w} \\ \vdots\\ t_N - \boldsymbol{\phi}(\mathbf{x}_N)^{\mathrm{T}}\mathbf{w} \end{pmatrix}^{\mathrm{T}} \begin{pmatrix} t_1 - \boldsymbol{\phi}(\mathbf{x}_1)^{\mathrm{T}}\mathbf{w} \\ \vdots\\ t_N - \boldsymbol{\phi}(\mathbf{x}_N)^{\mathrm{T}}\mathbf{w} \end{pmatrix} + (\mathbf{w} - \mathbf{m}_0)^{\mathrm{T}}\mathbf{S}_0^{-1}(\mathbf{w} - \mathbf{m}_0) \hspace{1em} (\because \mathbf{a}^{\mathrm{T}}\mathbf{b} = \mathbf{b}^{\mathrm{T}}\mathbf{a})\\ \end{aligned}

ここで、(3.16)式の計画行列が\displaystyle \mathbf{\Phi} = \begin{pmatrix} \boldsymbol{\phi}(\mathbf{x}_1)^{\mathrm{T}} \\ \boldsymbol{\phi}(\mathbf{x}_2)^{\mathrm{T}} \\ \vdots \\ \boldsymbol{\phi}(\mathbf{x}_N)^{\mathrm{T}} \end{pmatrix}と書けることを利用すると、上の式は以下のように変形できる。

\begin{aligned} &= \beta (\textsf{t} - \mathbf{\Phi} \mathbf{w})^{\mathrm{T}}(\textsf{t} - \mathbf{\Phi} \mathbf{w}) + (\mathbf{w} - \mathbf{m}_0)^{\mathrm{T}}\mathbf{S}_0^{-1}(\mathbf{w} - \mathbf{m}_0)\\ &= \beta (\mathbf{w}^{\mathrm{T}}\mathbf{\Phi}^{\mathrm{T}}\mathbf{\Phi} \mathbf{w} - \mathbf{w}^{\mathrm{T}}\mathbf{\Phi}^{\mathrm{T}}\textsf{t} - \textsf{t}^{\mathrm{T}}\mathbf{\Phi} \mathbf{w} ) + \mathbf{w}^{\mathrm{T}}\mathbf{S}_0^{-1}\mathbf{w} - \mathbf{w}^{\mathrm{T}}\mathbf{S}_0^{-1}\mathbf{m}_0 - \mathbf{m}_0^{\mathrm{T}}\mathbf{S}_0^{-1}\mathbf{w} + \text{const.} \\ &= \mathbf{w}^{\mathrm{T}}(\mathbf{S}_0^{-1} + \beta \mathbf{\Phi}^{\mathrm{T}}\mathbf{\Phi})\mathbf{w} - \mathbf{w}^{\mathrm{T}}(\mathbf{S}_0^{-1}\mathbf{m}_0 + \beta \mathbf{\Phi}^{\mathrm{T}} \textsf{t}) - (\mathbf{S}_0^{-1}\mathbf{m}_0 + \beta \mathbf{\Phi}^{\mathrm{T}} \textsf{t})^{\mathrm{T}}\mathbf{w} + \text{const.} \end{aligned}

\mathbf{S}_0は共分散なので対称行列である。この逆行列も対称行列である。よって(\mathbf{S}_0^{-1})^{\mathrm{T}} = \mathbf{S}_0^{-1}となることに注意する。

一方で、事後分布の形\mathcal{N}(\mathbf{w}|\mathbf{m}_N, \mathbf{S}_N)の指数部分を同様に展開すると

\mathbf{w}^{\mathrm{T}}\mathbf{S}_N^{-1}\mathbf{w} - \mathbf{w}^{\mathrm{T}}(\mathbf{S}_N^{-1}\mathbf{m}_N) - (\mathbf{S}_N^{-1}\mathbf{m}_N)^{\mathrm{T}}\mathbf{w} + \text{const.}

となる。これらの係数を比較すれば

\begin{aligned} \mathbf{S}_N^{-1} &= \mathbf{S}_0^{-1} + \beta \mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi} \\ \mathbf{m}_N &= \mathbf{S}_N(\mathbf{S}_0^{-1} \mathbf{m}_0 + \beta \mathbf{\Phi}^{\mathrm{T}}\textsf{t}) \end{aligned}

すなわち(3.50), (3.51)式が導けた。

演習 3.8

3.1節の線形基底関数モデルを考える.そして,すでにN個のデータ点が観測され,\mathbf{w}の事後分布が

p(\mathbf{w}|\textsf{t})=\mathcal{N}\left(\mathbf{w} \mid \mathbf{m}_{N}, \mathbf{S}_{N}\right) \tag{3.49}

で与えられるとする.この事後分布は次に観測されるデータの事前確率とみなすことができる.追加のデータ点(\mathbf{x}_{N+1}, t_{N+1})を考え,指数関数の中で平方完成することにより,事後確率が再び(3.49)の形式で与えられ,\mathbf{S}_N\mathbf{S}_{N+1}に,\mathbf{m}_N\mathbf{m}_{N+1}にそれぞれ置き換えたものになることを示せ.


事後分布は尤度関数と事前分布の掛け算に比例するので

\begin{aligned} p(\mathbf{w|t})&\propto p(\mathbf{t|w})\cdot p(\mathbf{w}) \end{aligned}

が満たされることがわかる.また事前分布はp(\mathbf{w}) = \mathcal{N}(\mathbf{w} \mid \mathbf{m}_{N},\mathbf{S}_{N})で、尤度関数がp(t_{N+1}\mathbf{|w}) = \prod_{n=1}^{N}\mathcal{N}({t_{N+1}\mid \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}_{N+1}}, \beta^{-1})なので、

\begin{aligned} p(\mathbf{w|t})&\propto p(t_{N+1}|\mathbf{w}) \cdot p(\mathbf{w})\\ p(t_{N+1}|\mathbf{w}) \cdot p(\mathbf{w}) &\propto \text{exp}\left(-\frac{1}{2}(\mathbf{w-m_{N}})^{\mathbf{T}}\mathbf{S}_{N}^{-1}(\mathbf{w-m_{N}}) - \frac{\beta}{2}(t_{N+1} - \mathbf{w^{T}}\boldsymbol{\phi}_{N+1})^{2}\right)\\ \end{aligned}

となる(ここで、\mathbf{\phi}_{N+1} = \mathbf{\phi}(\mathbf{x}_{N+1})と表記している).指数部分だけを見ていくと

\begin{aligned} &\quad(\mathbf{w-m_{N}})^{\mathrm{T}}\mathbf{S}_{N}^{-1}(\mathbf{w-m_{N}}) + \beta(t_{N+1} - \mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}_{N+1})^{2}\\ &= \mathbf{w}^{\mathrm{T}}\mathbf{S}_{N}^{-1}\mathbf{w} -2\mathbf{w}^{\mathrm{T}}\mathbf{S}_{N}^{-1}\mathbf{m_{N}} +\beta\mathbf{w}^{\mathrm{T}}\boldsymbol{\phi}_{N+1}^{\mathrm{T}}\boldsymbol{\phi}_{N+1}\mathbf{w} - 2\beta\mathbf{w^{T}}\boldsymbol{\phi}_{N+1}t_{N+1} + \text{const.}\\ &= \mathbf{w}^{\mathrm{T}}(\mathbf{S}_{N}^{-1}+\beta\boldsymbol{\phi}_{N+1}\boldsymbol{\phi}_{N+1}^{\mathrm{T}})\mathbf{w} -2\mathbf{w}^{\mathrm{T}}(\mathbf{S}_{N}^{-1}\mathbf{m_{N}} + \beta\boldsymbol{\phi}_{N+1}t_{N+1}) + \text{const.}\\ \end{aligned}

となるので、演習問題3.7の最後の部分と比較すれば

\begin{aligned} \therefore \quad \mathbf{S}_{N+1}^{-1} &= \mathbf{S}_{N}^{-1}+\beta\boldsymbol{\phi}_{N+1}\boldsymbol{\phi}_{N+1}^{\mathrm{T}}\\ \mathbf{m}_{N+1} &= \mathbf{S}_{N+1}(\mathbf{S}_{N}^{-1}\mathbf{m}_{N} + \beta\boldsymbol{\phi}_{N+1}t_{N+1}) \end{aligned}

となって、題意は示された.

演習 3.9

上記の問題を平方完成ではなく,線形ガウスモデルの一般的な結果

p(\mathbf{x} \mid \mathbf{y})=\mathcal{N}\left(\mathbf{x} \mid \mathbf{\Sigma}\left\{\mathbf{A}^{\mathrm{T}} \mathbf{L}(\mathbf{y}-\mathbf{b})+\mathbf{\Lambda} \boldsymbol{\mu}\right\}, \mathbf{\Sigma}\right) \tag{2.116}

を用いて示せ.


p(\mathbf{x}) = \mathcal{N}(\mathbf{x|}\boldsymbol{\mu,\Lambda^{-1}}) \tag{2.112}
p(\mathbf{y|x}) = \mathcal{N}(\mathbf{y|Ax+b,L}^{-1}) \tag{2.114}
p(\mathbf{x|y}) = \mathcal{N}(\mathbf{x|}\boldsymbol{\Sigma}\{\mathbf{A^{T}L(y-b)+\boldsymbol{\Lambda\mu}}\},\boldsymbol{\Sigma})\quad(\boldsymbol{\Sigma=(\Lambda+\mathbf{A^{T}LA})^{-1}}) \tag{2.116}

を使って、演習3.8をもう一度解ける、観察すれば\mathbf{w}\leftrightarrow\mathbf{x}\quad,t_{N+1}\leftrightarrow\mathbf{y}で関係付けることができるので

\begin{aligned} p(\mathbf{w}) &= \mathcal{N}(\mathbf{w|m_{N},S_{N}})\\ p(t_{N+1}\mathbf{|w}) &= \mathcal{N}({t_{N+1}\mathbf{|w^{T}}\boldsymbol{\phi}_{N+1}}, \beta^{-1})\\ \end{aligned}

と比較すれば、さらに各パラメータを次のように決めることができる.

\begin{aligned} \boldsymbol{\mu}&=\mathbf{m_{N}}\\ \boldsymbol{\Lambda}&=\mathbf{S}_{N}^{-1}\\ \mathbf{A}&=\boldsymbol{\phi}_{N+1}^{T}\\ \mathbf{b}&=0\\ \mathbf{L}&=\beta\\ \end{aligned}

(2.116)に代入すれば

\begin{aligned} p(\mathbf{w}|t_{N+1}) &= \mathcal{N}(\mathbf{w|m}_{N+1}, \mathbf{S}_{N+1})\\ \mathbf{S}_{N+1}^{-1} &= \boldsymbol{\Sigma}^{-1} \\ &=\boldsymbol{\Lambda}+\mathbf{A^{T}LA}\\ &= \mathbf{S}_{N}^{-1}+\beta\boldsymbol{\phi}_{N+1}^{T}\boldsymbol{\phi}_{N+1}\\ \mathbf{m}_{N+1} &= \boldsymbol{\Sigma}\{\textbf{A}^\textbf{T}\textbf{L(y}-\textbf{b)} + \boldsymbol{\Lambda\mu}\}\\ &=\textbf{S}_{N+1}(\textbf{S}_{N}^{-1}\textbf{m}_{N} + \beta\boldsymbol{\phi}_{N+1}t_{N+1})\\ \end{aligned}

となって、題意は示された.

演習 3.10

p(\mathbf{y})=\mathcal{N}\left(\mathbf{y} \mid \mathbf{A} \boldsymbol{\mu}+\mathbf{b}, \mathbf{L}^{-1}+\mathbf{A} \mathbf{\Lambda}^{-1} \mathbf{A}^{\mathbf{T}}\right) \tag{2.115}

の結果を用いて

p(t \mid \mathbf{t}, \alpha, \beta)=\int p(t \mid \mathbf{w}, \beta) p(\mathbf{w} \mid \mathbf{t}, \alpha, \beta) \mathrm{d} \mathbf{w} \tag{3.57}

の積分を評価し,ベイズ線形回帰モデルの予測分布が

p(t \mid \mathbf{x}, \mathbf{t}, \alpha, \beta)=\mathcal{N}\left(t \mid \mathbf{m}_{N}^{\mathrm{T}} \boldsymbol{\phi}(\mathbf{x}), \sigma_{N}^{2}(\mathbf{x})\right) \tag{3.58}

で与えられることを確かめよ.ただし,入力に依存する分散は

\sigma_{N}^{2}(\mathbf{x})=\frac{1}{\beta}+\boldsymbol{\phi}(\mathbf{x})^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}(\mathbf{x}) \tag{3.59}

で与えられる.


(3.57)の条件付き分布と事後分布は, それぞれ以下の式で表される。

p \left (t \mid \mathbf w,\beta \right ) = \mathcal { N } \left (t \mid \mathbf w^\textrm T \boldsymbol \phi (\mathbf x),\beta^{-1} \right ) \tag{3.3, 3.8}
p \left (\mathbf w \mid \mathbf t,\alpha,\beta \right ) = \mathcal { N } \left (\mathbf w \mid \mathbf m _ N,\mathbf S_N \right ) \tag{3.49}

ここで, (2.115)の式は,

p \left (\mathbf x \right ) = \mathcal{N} \left( \boldsymbol{\mu},\mathbf{\Lambda}^{-1} \right) \tag{2.113}
p \left (\mathbf y \mid \mathbf x \right ) = \mathcal{N} \left (\mathbf{y} \mid \mathbf{A} \mathbf x + \mathbf b,\mathbf L^{-1} \right ) \tag{2.114}

が与えられた際の周辺分布だったことに注意して, (2.113)から(2.115)について,

\mathbf y \rightarrow \textit t, \quad \mathbf x \rightarrow \mathbf w, \quad \boldsymbol \mu \rightarrow \mathbf m_N, \quad \mathbf{\Lambda}^{-1} \rightarrow \mathbf S_N,\quad \mathbf A \rightarrow \boldsymbol \phi (\mathbf x)^\textrm T,\quad \mathbf L^{-1}→\beta^{-1}

と置き換えると, (3.57)を評価できる。

したがって, (2.115)にそれぞれを代入すると,

p \left (t \mid \mathbf x,\mathbf t,\alpha,\beta \right ) = \mathcal { N } \left (t \mid \mathbf m^\textrm T_N \boldsymbol \phi (\mathbf x),\sigma ^2_N (\mathbf x) \right ) \tag{3.58}

と求まる。ここで, 入力に依存する分散は

\sigma ^ 2 _ N (\mathbf x) = \frac{1}{\beta}+\boldsymbol \phi (\mathbf x)^\textrm T \mathbf S_N \boldsymbol \phi (\mathbf x) \tag{3.59}

である。

演習 3.11

データ集合のサイズが増えるにつれて,モデルパラメータの事後分布に関する不確かさが減少することについて説明した.次の行列の公式(付録C参照)

\left(\mathbf{M}+\mathbf{vv}^{\mathrm{T}}\right)^{-1}=\mathbf{M}^{-1}-\frac{\left(\mathbf{M}^{-1} \mathbf{v}\right)\left(\mathbf{v}^{\mathrm{T}} \mathbf{M}^{-1}\right)}{1+\mathbf{v}^{\mathrm{T}} \mathbf{M}^{-1} \mathbf{v}} \tag{3.110}

を用いて,

\sigma_{N}^{2}(\mathbf{x})=\frac{1}{\beta}+\boldsymbol{\phi}(\mathbf{x})^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}(\mathbf{x}) \tag{3.59}

の線形回帰モデルに関する不確かさ\sigma_{N}^{2}(\mathbf{x})

\sigma_{N+1}^{2}(\mathbf{x}) \leq \sigma_{N}^{2}(\mathbf{x}) \tag{3.111}

を満たすことを示せ.


演習問題3.8で示したように、新しい点(\mathbf{x}_{N+1}, t_{N+1})が与えられたとき、\mathcal{N}(\mathbf{w}\mid \mathbf{m}_N, \mathbf{S}_N)に対する事後分布は\mathcal{N}(\mathbf{w}\mid \mathbf{m}_{N+1}, \mathbf{S}_{N+1})と書け、

\begin{aligned} \mathbf{S}_{N+1}&=\left(\mathbf{S}_{N}^{-1}+\beta \boldsymbol{\phi}_{N+1} \boldsymbol{\phi}_{N+1}^{\mathrm{T}}\right)^{-1} \\ \mathbf{m}_{N+1}&=\mathbf{S}_{N+1}\left(\mathbf{S}_{N}^{-1} \mathbf{m}_{N}+\beta \boldsymbol{\phi}_{N+1} t_{N+1}\right) \end{aligned}

で与えられる(\boldsymbol{\phi}_{N+1} = \boldsymbol{\phi}(\mathbf{x}_{N+1})である)。

問いとしては\sigma_N^{2}(\mathbf{x})-\sigma_{N+1}^{2}(\mathbf{x}) \ge 0であることを証明すれば良い。これはまず

\begin{aligned} \sigma_N^{2}(\mathbf{x})-\sigma_{N+1}^{2}(\mathbf{x}) &= \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}\mathbf{S}_N\boldsymbol{\phi}(\mathbf{x}) - \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}\mathbf{S}_{N+1}\boldsymbol{\phi}(\mathbf{x}) \\ &= \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}(\mathbf{S}_{N} - \mathbf{S}_{N+1})\boldsymbol{\phi}(\mathbf{x}) \end{aligned}

であるから、\mathbf{S}_{N} - \mathbf{S}_{N+1}を計算すると

\begin{aligned} \mathbf{S}_{N} - \mathbf{S}_{N+1} &= \mathbf{S}_{N} - \left(\mathbf{S}_{N}^{-1} + \beta \boldsymbol{\phi}_{N+1} \boldsymbol{\phi}_{N+1}^{\mathrm{T}}\right)^{-1} \\ &= \mathbf{S}_{N} - \left(\mathbf{S}_{N}^{-1} + \boldsymbol{\psi}_{N+1} \boldsymbol{\psi}_{N+1}^{\mathrm{T}} \right) \quad (\boldsymbol{\psi}_{N+1} = \beta^{1/2} \boldsymbol{\phi}_{N+1})\\ &=\frac{\left(\mathbf{S}_{N} \boldsymbol{\psi}_{N+1}\right)\left(\boldsymbol{\psi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N}\right)}{1+ \boldsymbol{\psi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\psi}_{N+1}} \\ &=\frac{\beta \mathbf{S}_{N} \boldsymbol{\phi}_{N+1} \boldsymbol{\phi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N}}{1+\beta \boldsymbol{\phi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}_{N+1}} \end{aligned}

これより

\begin{aligned} \sigma_N^{2}(\mathbf{x})-\sigma_{N+1}^{2}(\mathbf{x}) &= \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}\mathbf{S}_N\boldsymbol{\phi}(\mathbf{x}) - \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}\mathbf{S}_{N+1}\boldsymbol{\phi}(\mathbf{x}) \\ &= \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}(\mathbf{S}_{N} - \mathbf{S}_{N+1})\boldsymbol{\phi}(\mathbf{x}) \\ &= \frac{\beta \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}\mathbf{S}_{N} \boldsymbol{\phi}_{N+1} \boldsymbol{\phi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}(\mathbf{x})}{1+\beta \boldsymbol{\phi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}_{N+1}} \\ &= \frac{\beta \left\| \boldsymbol{\phi}(\mathbf{x})^{\mathrm T}\mathbf{S}_{N} \boldsymbol{\phi}_{N+1} \right\|^2}{1+\beta \boldsymbol{\phi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}_{N+1}} \end{aligned}

ここで、\mathbf{S}_{N}は実対称行列であり((3.54)式から \mathbf{S}_{N} = \left( \alpha \mathbf{I} + \beta\mathbf{\Phi}^{\mathrm T}\mathbf{\Phi} \right)^{-1})、このため正定値行列である(後述)。すなわち任意のベクトル\mathbf{x}において\mathbf{x}^{\mathrm T}\mathbf{S}_{N}\mathbf{x} \gt 0が成立するため、\boldsymbol{\phi}_{N+1}^{\mathrm{T}} \mathbf{S}_{N} \boldsymbol{\phi}_{N+1} \gt 0となる(また当然ながら\beta \gt 0)。これより、

\sigma_{N+1}^{2}(\mathbf{x}) \leq \sigma_{N}^{2}(\mathbf{x}) \tag{3.111}

が証明された。

※ 最後の正定値行列であることについて、定義として、任意の零ベクトルでないベクトル\mathbf{x}について行列\mathbf{P}

\mathbf{x}^{\mathrm T}\mathbf{Px} \gt 0

を満たすならば、\mathbf{P}は正定値行列である。また、その逆行列\mathbf{P}^{-1}も正定値行列である。

そこで\mathbf{S}_{N} = \left( \alpha \mathbf{I} + \beta\mathbf{\Phi}^{\mathrm T}\mathbf{\Phi} \right)^{-1}について、逆行列\mathbf{S}_{N}^{-1} = \alpha \mathbf{I} + \beta\mathbf{\Phi}^{\mathrm T}\mathbf{\Phi}が正定値行列であることを示す。

まず\alpha \mathbf{I}は正定値行列である(\because \mathbf{x}^{\mathrm T}(\alpha \mathbf{I})\mathbf{x} = \alpha \mathbf{x}^{\mathrm T}\mathbf{x} = \alpha \|\mathbf{x}\|^{2} \gt 0)。また、\mathbf{x}^{\mathrm T}(\beta\mathbf{\Phi}^{\mathrm T}\mathbf{\Phi})\mathbf{x} = \beta \|\mathbf{\Phi x}\|^2 \ge 0が成り立つ(これは半正定値)。したがって線形結合である\mathbf{S}_N^{-1}も正定値行列であるので、\mathbf{S}_Nが正定値行列であることが示された。

むしろ等号成立条件がわからないけど

演習 3.12

2.3.6節で,平均および精度(分散の逆数)がともに未知のガウス分布に対応する共役事前分布は正規ガンマ分布であることを述べた.この性質は,線形回帰モデルの条件付きガウス分布p(t|\mathbf{x}, \mathbf{w}, \beta)の場合にも成り立つ.尤度関数が

p(\mathsf{t} \mid \mathbf{X}, \mathbf{w}, \beta)=\prod_{n=1}^{N} \mathcal{N}\left(t_{n} \mid \mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right), \beta^{-1}\right) \tag{3.10}

で与えられるとき,\mathbf{w}\betaの共役事前分布が

p(\mathbf{w}, \beta)=\mathcal{N}\left(\mathbf{w} | \mathbf{m}_{0}, \beta^{-1} \mathbf{S}_{0}\right) \operatorname{Gam}\left(\beta | a_{0}, b_{0}\right) \tag{3.112}

で与えられることを示せ.さらに,対応する事後分布が同様に

p(\mathbf{w}, \beta | \mathbf{t})=\mathcal{N}\left(\mathbf{w} | \mathbf{m}_{N}, \beta^{-1} \mathbf{S}_{N}\right) \operatorname{Gam}\left(\beta | a_{N}, b_{N}\right) \tag{3.113}

の関数形で与えられることを示し,パラメータ\mathbf{m}_{N}, \mathbf{S}_{N}, a_N, b_Nについての式を求めよ.


(事後確率)\propto(尤度関数)\times(共役事前分布)なので、p(\mathbf{w},\beta\mid \mathsf{t},\mathbf{x}) \propto p(\mathbf{t} \mid \mathbf{x}, \mathbf{w}, \beta)p(\mathbf{w},\beta)である。

実際には入力変数\mathbf{x}をモデル化しようとしていないので、\mathbf{x}は条件としてしか現れないのでp(\mathbf{w},\beta\mid t)\propto p(\mathsf{t}\mid \mathbf{w},\beta)p(\mathbf{w},\beta)である。

P.98を読むことで、この共役事前分布も正規-ガンマ関数として書けることがわかる。よって、p(\mathbf{w}, \beta)=\mathcal{N}\left(\mathbf{w} | \mathbf{m}_{0}, \beta^{-1} \mathbf{S}_{0}\right) \operatorname{Gam}\left(\beta | a_{0}, b_{0}\right)の形で書くことができる。

本当にこれで示せたことになるのか?感はある

これが与えられているとき、対数で事後分布を考えると

\ln p(\mathbf{w},\beta\mid \mathsf{t}) = \ln p(\mathsf{t}\mid \mathbf{x},\mathbf{w},\beta) + \ln p(\mathbf{w},\beta) + \textrm{const.}

と書くことができる。これを展開すると

\begin{aligned} \ln p(\mathbf{w}, \beta \mid \mathbf{t})=& \sum_{n=1}^{N} \ln p\left(t_{n} \mid \mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right), \beta^{-1}\right) + \ln p(\mathbf{w}, \beta)\\ =& \frac{M}{2} \ln \beta-\frac{1}{2} \ln \left|\mathbf{S}_{0}\right|-\frac{\beta}{2}\left(\mathbf{w}-\mathbf{m}_{0}\right)^{\mathrm{T}} \mathbf{S}_{0}^{-1}\left(\mathbf{w}-\mathbf{m}_{0}\right) - b_{0} \beta+\left(a_{0}-1\right) \ln \beta \\ +& \frac{N}{2} \ln \beta-\frac{\beta}{2} \sum_{n=1}^{N}\left\{\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)-t_{n}\right\}^{2}+\text{const.} \end{aligned} \tag{*}

この事後分布も正規-ガンマ分布の形で分解できることが示されている。すなわちp(\mathbf{w},\beta\mid \mathsf{t}) = p(\mathbf{w} \mid \beta, \mathsf{t})p(\beta\mid \mathsf{t})と分解でき、\mathbf{w}に依存するp(\mathbf{w} \mid \beta, \mathsf{t})がガウス分布の形\mathcal{N}(\mathbf{w}\mid \mathbf{m}_N,\beta^{-1}\mathbf{S}_N)になるはずである。

(*)式を\mathbf{w}についての関数としてまとめ直すと、\displaystyle \sum_{n=1}^{N}\left\{\mathbf{w}^{\mathrm{T}} \boldsymbol{\phi}\left(\mathbf{x}_{n}\right)-t_{n}\right\}^{2} = (\mathbf{\Phi}\mathbf{w} - \mathsf{t})^{\mathrm T}(\mathbf{\Phi}\mathbf{w} - \mathsf{t})を利用して

\ln p(\mathbf{w} \mid \beta, \mathbf{t})=-\frac{\beta}{2} \mathbf{w}^{\mathrm{T}}\left[\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi}+\mathbf{S}_{0}^{-1}\right] \mathbf{w}+\mathbf{w}^{\mathrm{T}}\left[\beta \mathbf{S}_{0}^{-1} \mathbf{m}_{0}+\beta \mathbf{\Phi}^{\mathrm{T}} \mathbf{t}\right]+\mathrm{const.}

となる。よって、\mathcal{N}(\mathbf{w}\mid \mathbf{m}_N, \mathbf{S}_N)と比較すると(P.84のように\mathbf{S}_Nから求める)、

\begin{aligned} \mathbf{S}_{N}^{-1} &=\mathbf{\Phi}^{\mathrm{T}} \mathbf{\Phi} + \mathbf{S}_{0}^{-1} \\ \mathbf{m}_{N} &=\mathbf{S}_{N}\left[\mathbf{S}_{0}^{-1} \mathbf{m}_{0}+\mathbf{\Phi}^{\mathrm{T}} \mathsf{t}\right] \end{aligned}

となる((3.50), (3.51)と似ているようで異なる)。

次に、p(\beta\mid \mathsf{t})がガンマ分布の形になるはずなので(*)の\betaに依存する残りの項をまとめる。ただし、\frac{M}{2}\ln \betaは上記のガウス分布の正規化定数に相当するので\ln p(\beta\mid \mathsf{t})には現れなくなることに注意する。

\begin{aligned} \ln p(\beta \mid \mathbf{t}) &= \ln p(\mathbf{w},\beta\mid \mathsf{t}) - \ln p(\mathbf{w}\mid \beta, \mathsf{t}) \\ &= -\frac{\beta}{2} \mathbf{m}_{0}^{\mathrm{T}} \mathbf{S}_{0}^{-1} \mathbf{m}_{0}+\frac{\beta}{2} \mathbf{m}_{N}^{\mathrm{T}} \mathbf{S}_{N}^{-1} \mathbf{m}_{N} + \frac{N}{2} \ln \beta-b_{0} \beta+\left(a_{0}-1\right) \ln \beta-\frac{\beta}{2} \sum_{n=1}^{N} t_{n}^{2}+\mathrm{const.} \\ &=\left(\frac{N}{2}+a_0 -1\right)\ln \beta - \frac{1}{2} \left( \mathbf{m}_{0}^{\mathrm{T}} \mathbf{S}_{0}^{-1} \mathbf{m}_{0} - \mathbf{m}_{N}^{\mathrm{T}} \mathbf{S}_{N}^{-1} \mathbf{m}_{N} + \sum_{n=1}^{N} t_{n}^{2} \right)\beta - b_0\beta + \mathrm{const.} \end{aligned}

これがガンマ分布の対数形\ln \operatorname{Gam}(\beta\mid a_N, b_N) = (a_N -1)\ln \beta - b_N \beta + \mathrm{const.}の式と同形になるべきなので、両式を比較することで

\begin{aligned} a_{N}&=a_{0}+\frac{N}{2} \\ b_{N}&=b_{0}+\frac{1}{2}\left(\mathbf{m}_{0}^{\mathrm{T}} \mathbf{S}_{0}^{-1} \mathbf{m}_{0}-\mathbf{m}_{N}^{\mathrm{T}} \mathbf{S}_{N}^{-1} \mathbf{m}_{N}+\sum_{n=1}^{N} t_{n}^{2}\right) \end{aligned}

が得られる。

Discussion