PRML下巻_6章 カーネル法(kernel methods) 読解メモ #6

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

#5では5章のニューラルネットワークについてまとめました。

#6では6章の読解メモをまとめていければと思います。(7~8割の理解を目標においた読解にあたってのメモなので、要旨を掴みたい方向けです)
6章ではカーネル法に関して取り扱われています。
以下目次になります。

1. 6章の内容に関して概要
2. 詳細
2.1 双対表現(6.1)
2.2 カーネル関数の構成(6.2)
2.3 RBFネットワーク(6.3)
2.4 ガウス過程(6.4)
3. まとめ&所感


1. 6章の内容に関して概要
6章ではカーネル法について取り扱われています。カーネル法はデータを高次元の特徴空間に写像し、その座標の内積カーネル関数とおくことによって、明示的な計算を経由せずに、特徴空間における内積をデータから直接計算する手段を与える手法です。具体的なアルゴリズムとしてはSVMなどに応用されています。
他の章に比べて若干抽象的で難しいので、初見の際は読み流しても良い章だと感じました。(下巻は各章ごとが独立しているため、6,7,10は初見の際は飛ばしても良いと思います。)

 

2. 詳細
6.1では回帰や分類などのアルゴリズムからカーネル関数を導くにあたって用いる双対表現について触れられています。6.2ではカーネル法のベースとなるカーネル関数について、6.3ではRBFという基底関数について言及されています。また、6.4ではカーネルを確立的識別モデルに対しても適用するにあたってガウス過程を導き、ベイズ的な設定においても自然にカーネルが現れてくることが述べられています。

 

2.1 双対表現(6.1)
6.1では回帰や分類に用いられる線形モデルにおいてカーネル関数を用いるために双対表現(dual representation)を導入しています。双対表現は大学教養過程までだとあまり出てこない言葉ですが、ざっくりいうと問題を同値な問題に変換して解くことを最適化の文脈では時折行うのですが、この際に主問題と対になる問題を双対問題と呼んでおり、この際に導入する表現を本の中では双対表現と呼ばれています。
論旨の流れとしては、(6.2)で3章で取り扱った線形回帰モデルの二乗和誤差関数が表されており、このwを計画行列Φとパラメータベクトルaを用いて、(6.3)のようにw=Φaで定義しています。これを元に(6.2)をaの式で表し、双対表現(6.5)を求めます。ここで注意なのはwがaで置き換わりましたが、問題自体は同値だということです。
ここで(6.5)を見ると、ΦとΦの転置の積になっているので、これをグラム行列(Gram matrix)Kと置き(6.5)を整理すると、(6.7)の数式を得ることができます。
また、(6.3)を用いて(6.4)からwを消去してaについて解くと(6.8)が得られるので、新しい入力xに対する予測は(6.9)のように与えられるそうです。この変換からわかることは、最小二乗法の解はカーネル関数k(x,x')のみによって表現できることです。この双対表現の意義としては、全てがカーネル関数k(x,x')で表現されることにあり、常にカーネル関数を通じて問題を取り扱うことができるために、特徴ベクトルφ(x)を明示的に考えることを避け、高次元の(時に無限次元の)特徴空間を間接的に扱うことができるようになるとされています。


2.2 カーネル関数の構成(6.2)

6.2では6章のベースとなるカーネル関数について色々とまとまっています。カーネル関数を構成するにあたっては主に2つのアプローチが言及されており、一つは図6.1のような特徴空間への写像を考えて、これを元に対応するカーネルを構成することとされています。ここで、(6.10)は(6.1)で定義されたカーネルを基底関数の和で書き直したものです。
また、もう一つのアプローチとしては、カーネル関数を直接定義することも挙げられています。(6.11)〜(6.12)の流れが具体的にカーネル関数を導く計算式となっています。また、新しいカーネル関数を構築するより便利な方法として、単純なカーネルを構成要素として拡張していく流れについて(6.13)〜(6.22)でまとまっています。
また、よく使われるカーネル関数としてk(x,x')=(x^\mathrm{T}x'+c)^Mで表される多項式カーネルや、(6.23)で表されるガウスカーネルについて言及がされています。

 

2.3 RBFネットワーク(6.3)

6.3では一般的によく用いられるRBF(同径基底関数; radial basis function)と呼ばれる関数について説明されています。RBFは基底関数がその中心μからの同径(通常、ユークリッド距離がよく用いられる)のみに依存する形式を持ったものがよく利用されているようです。
一旦、(6.38)の式だけ抑えておければ十分かと思います。


2.4 ガウス過程(6.4)

6.1節では回帰問題の非確率的な取り扱いにカーネル法の導入を行いましたが、6.4では確率的識別モデルにカーネル法の導入を行なっています。6.4節ではガウス過程を導き、ベイズ的な設定においても自然にカーネル法が出現してくることについてまとめられています。
軽く3章の流れを振り返ると、 y(x,w)=w^\mathrm{T}φ(x)の形を持つ線形回帰モデルにおいて、wの事前分布を決めることで、関数y(x,w)に対する事前分布が求まり、訓練データを与えられるとwの事後分布が求まり、これによって回帰関数の事後分布が求まります。これにより最終的に新しい入力ベクトルxに対する予測分布p(t|x)が導かれ、これを推論に用いる形になります。

6.4.1では実際に線形回帰問題の再訪として、(6.49)で式を定義し、(6.50)でパラメータwの事前分布を定義しています。(6.49)〜(6.54)までで表されるモデルはガウス過程の一例になっているということについて言及されており、ガウス過程の定義としては関数y(x)上の確率分布として定義され、任意の点集合に対するy(x)の値の同時分布がガウス分布に従うものとされています。
6.4.2ではガウス過程を回帰問題に適用するにあたって、諸々の仮定を置き(6.60)のガウス分布を導き出しています。(6.63)までがガウス過程の視点からデータ点での集合の上での同時分布のモデル化の話ですが、回帰問題においては、訓練データの集合が与えられた時に新しい入力に対する目標変数の値を予測することが必要で、 p(t_{N+1}|\mathbf{t}_{N})を求めることが必要となります。これは(6.66)と(6.67)に示す平均と共分散を持つようなガウス分布になることを導出されています。
以後は6.4.3ではカーネル関数のハイパーパラメータの学習に関して、6.4.5がガウス過程による分類を扱います。分類における論旨の流れは回帰と似ています。

上記が簡単なハイライトで、初見の際はだいたいこのくらいつかめれば十分なのではと思います。(機会があればまた別記事で詳しいところについてまとめたいと思います。)


3. まとめ&所感

高次元写像を元に諸々を捉え直すという視点が非常に面白かったです。
6,7,10章は一人で読むにはしんどい章だと思うので、詰まったら輪読会に参加したり企画したりが良いと思います。
ご希望者いたらTwitterまでDMいただけたら輪読会企画しますので気軽にご連絡いただけたらと思います。