ガウス過程回帰のハイパーパラメータの推定、ガウス過程回帰の一般化(3.5、3.6)|『ガウス過程と機械学習』読解メモ #4

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について取り扱いました。

#4では3.5の『ガウス過程回帰のハイパーパラメータの推定』と3.6の『ガウス過程回帰の一般化』について取り扱います。
以下目次になります。

1. ガウス過程回帰のハイパーパラメータの推定(Section 3.5)
2. ガウス過程回帰の一般化(Section 3.6)
3. まとめ


1. ガウス過程回帰のハイパーパラメータの推定(Section 3.5)
3.5ではガウス過程回帰のハイパーパラメータの推定ということで、3.4の式(3.84)では\theta_{1}=1,\theta_{2}=0.4,\theta_{3}=0.1のように手動で与えていたハイパーパラメータをデータから推定する方法について議論しています。ハイパーパラメータをまとめて\mathbf{\theta}=(\theta_{1},\theta_{2},\theta_{3})とおくと、以下の式(3.87)のように明示することができます。
k(x,x'|\mathbf{\theta})=\theta_{1}exp(-\frac{|(x-x')|^2}{\theta_{2}})+\theta_{3}\delta(x,x')
このkから計算されるカーネル行列\mathbf{K}\mathbf{\theta}に依存して\mathbf{K_{\mathbf{\theta}}}のように表すことができます。この際に最尤法を用いて学習データの同時確率の最大化をはかります。(3.88)〜(3.92)までの流れで尤度(likelihood)が計算できるので、これを元にMCMC(Markov Chain Monte Carlo)法や勾配法(gradient method)を用いて最適化(パラメータ\mathbf{\theta}の調整)を行います。式(3.98)で実際に勾配の\frac{\delta L}{\delta \theta}が計算されているのでこれを用いて最適化を行うことができます。
またカーネルは組み合わせて以下の式(3.99)のように定義することもできます。
k_{\theta}(x,x')=\theta_{1}+\theta_{2}x^Tx'+\theta_{3}exp(-\frac{|x-x'|^2}{\theta_{4}})+\theta_{5}\delta(x,x')
この際に各カーネルの重みである\theta_{1}\theta_{2}\theta_{3}\theta_{5}を同時に学習することもできるので、特定の1つのカーネルを事前に選択する必要は必ずしもないです。この手法はカーネル法の枠組みにおいてはMKL(Multiple Kernel Learning)と呼ばれています。


2. ガウス過程回帰の一般化(Section 3.6)
3.6ではガウス過程回帰に対し、さらなる一般化を行うにあたって考察がなされています。
3.6.1では外れ値(outlier)に対し頑健性を持たせるために、正規分布の代わりにコーシー分布(Cauchy distribution)を導入しています。コーシー分布は正規分布よりも裾野が広いので、外れ値をうまく取り扱える分布となっています。
3.6.2では、観測値yが何かのイベントが起こった(1)または起こらない(0)のような2値データの際にy=1となる確率をp(y=1|f)=\sigma(f)のように表す識別モデルとしてガウス過程識別モデルを紹介しています。この際にプロビット関数(probit function)を用いると取り扱いづらいので、似たような挙動を示すロジスティック関数(logistic function)が広く用いられるとされています。
3.6.3では観測値\mathbf{y}が非負の自然数を取る場合に使用することが多いポアソン分布(Poisson distribution)を用いたポアソン回帰モデルについて言及されています。


3. まとめ
#2〜#4に渡って3章についてまとめてきましたが、これで一区切りがついた形になります。
#5からは4章以降について読み進めていければと思います。