ガウス過程とカーネル、ガウス過程回帰モデル(3.3、3.4)|『ガウス過程と機械学習』読解メモ #3

f:id:lib-arts:20190513194548p:plain

最近購入した『ガウス過程と機械学習』ですが読んでいて面白いので読解メモをまとめていきます。

ガウス過程と機械学習 | 書籍情報 | 株式会社 講談社サイエンティフィク
#1ではCh.1とCh.2の内容を元に事前知識の整理を行いました。

本のメイントピックのCh.3はじっくりと取り扱っていければということで、#2ではCh.3の3.1と3.2を取り扱いました。

#3では3.3の『ガウス過程とカーネル』と3.4の『ガウス過程回帰モデル』について取り扱います。
以下目次になります。

1. ガウス過程とカーネル(Section 3.3)
2. ガウス過程回帰モデル(Section 3.4)
3. まとめ


1. ガウス過程とカーネル(Section 3.3)
3.3.1ではRBFカーネルと基底関数についてまとめられています。まずRBFカーネルとは(3.26)式で下記のように表されています。
k(x,x')=\theta_{1}exp(-\frac{|x-x'|^2}{\theta_{2}})
ここで、(3.28)式のように基底関数を設けた際にカーネル関数は以下の(3.30)式のように表されます。
k(x,x')=\sum_{h=-H^2}^{H^2}\phi_{h}(x)\phi_{h}(x')
ここでH→∞としてグリッドを無限に細かくするとこの値はRBFカーネルとなります。
すなわち、(3.26)式のRBFカーネルを用いたガウス過程回帰は線形回帰モデルの結果として導出することができます。
次に3.3.2では様々なカーネルとして、線形カーネル(linear kernel)、指数カーネル(exponential kernel)、周期カーネル(periodic kernel)などが紹介されています。三つのカーネルはそれぞれ下記の数式で表されています。
k(x,x')=x^Tx' 線形カーネル
k(x,x')=exp(-\frac{|x-x'|}{\theta}) 指数カーネル
k(x,x')=exp(\theta_{1}cos(\frac{|x-x'|}{\theta_{2}})) 周期カーネル
続く3.3.3では観測ノイズを予測値に組み込んでいます。
y_{n}=f(x_{n})+\epsilon_{n}
上記のような(3.52)式で表される観測ノイズを含めたカーネル関数k(x,x')をこの後で前提としていくにあたって、以下で表される式(3.59)のカーネル関数が紹介されています。
k'(x_{n},x_{n'})=k(x_{n},x_{n'})+\sigma^2\delta(n,n')


2. ガウス過程回帰モデル(Section 3.4)
3.4ではガウス過程に基づいて具体的にどうやって回帰問題を解いていくかということで、ガウス過程回帰モデルについてまとめられています。式(3.60)〜(3.64)ではガウス過程回帰の問題の大枠について数式を用いて解説されています。
3.4.1ではガウス過程回帰の予測分布ということで、データに含まれないx^*でのy*の値をどうやって求めるかについて議論がされています。この予測分布に関しては(3.74)の形で導出されています。予測値が複数ある際も同様に導出し、(3.79)が導出されています。
ここで図3.16は予測分布における期待値を青線で、空色の部分をガウス事後分布の\pm{2\sigma}の誤差範囲を表してくれています。この際に注意なのが、図3.16は期待値であり、サンプルである図3.7は異なった値となるということです。この辺は確率分布に従ったサンプリングについての理解と照らし合わせると良いと思います。
3.4.2ではガウス過程回帰にあたっての計算として、カーネル\mathbf{K}の計算についてまとめられています。ここでカーネルが計算できれば予測分布の計算や、予測分布に基づくサンプリングが可能になります。また、式(3.84)ではハイパーパラメータの\thetaの値を与えていますが、こちらのハイパーパラメータのデータからの学習については3.5で取り扱われています
3.4.3では精度行列を\mathbf{\Lambda}=\mathbf{K^{-1}}とおき、数式を書き換えるなどを行っています。


3. まとめ
#3では3.3でまとめられているカーネルと基底関数の関係性と、3.4でまとめられている実際にデータが与えられた際の未知のデータの予測ということでガウス回帰モデルについて取り扱いました。
#4では3.5のガウス過程回帰の一般化について取り扱います。