PRML下巻_7章 疎な解を持つカーネルマシン(SVM etc) 読解メモ #7

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

#6では6章のカーネル法についてまとめました。

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


1. 7章の内容に関して概要
2. 詳細
2.1 最大マージン分類器(7.1)
2.2 関連ベクトルマシン(7.2)
3. まとめ&所感


1. 7章の内容に関して概要

7章では6章のカーネル法を踏まえて、実際の実用例への展開として疎な解(sparse solution)を持ち訓練データの一部のみに対してカーネル関数を計算することで新しい入力の予測ができるアルゴリズムの一つであるサポートベクトルマシンについてまとめられています。SVMは2010年頃は流行っていた印象ですが、最近ではニューラル系のアルゴリズムに押されている雰囲気は感じます。とはいえ、ベースは知っておく方が望ましいので、ベーシックな考え方は抑えておくのが良いかと思います。


2. 詳細

7.1では観測データに基づいたオーソドックスなSVMについてまとまっています。7.1の冒頭では一番ベーシックなハードマージンのSVMについてまとめられており、7.1.1では分布の重なり合いや誤分類を許すことでハードマージンの制約をソフトマージンへの緩和を行うことについて諸々まとまっています。7.2はSVMベイズ的な取り扱いとして、RVMについて諸々まとまっています。


2.1 最大マージン分類器(7.1)

7.1の冒頭では、線形分離の問題から話を展開して、マージン(margin)という分類境界と訓練データの最短距離を用いてマージンを最大化する分類境界を求めようということで論理展開がなされています。式がややこしいので、流れを見失いそうになった際は、分類境界を決めるwとbを求めるということが目的であるということを常に見失わないようにしていると良いです(が、途中でwがaに置き換わって双対表現を解いていくため、最終的にはaとbを求めることになりややこしい)。マージンの最大化にあたって色々と論理展開をすると(7.6)に落とせるので、これに制約条件を考慮するにあたってラグランジュの未定乗数法を導入し、(7.7)のラグランジュ関数を目的関数と置き直します。また。ここで(7.8)と(7.9)を(7.7)に代入することでwとbを消去を行い、(7.6)の双対表現(dual representation)として(7.10)が導出されています。この二次計画化問題をaについて解くとここからbの値を導出することができます。推論は(7.13)式を用いれば行うことができます。
上記がハードマージン的な考え方で、7.1.1では分類誤差を許すにあたってソフトマージン(soft margin)への緩和が行われています。これを数式で表現するにあたってはスラック変数(slack variable)を導入して間違った分類へのペナルティという形で変更しているのがここでの論旨の流れです(ハードマージンではそもそも許されなかったので、ペナルティに変わった時点で条件が緩和されていることに注意です)。実際には(7.21)式が(7.6)式の対応となります。ラグランジュ関数は(7.32)式で、これは(7.10)と比較して捉えておくと良いです。また、注意点としてカーネル関数は高次元の特徴空間での内積に相当するものの、特徴空間が無限次元になるかというとそうではなく、(7.42)式のように特徴空間の次元間に一定の関係があるため、見かけ上の次元よりも小さくなるとされています。この辺は(7.42)は多重共線性と同様の議論をしているようです。

7.1.2ではロジスティック回帰との関係性についてまとめられています。7.1.3は多クラスSVMについてまとめられていますが、こちらについてはニューラルネットワークの出力層のようにあまりエレガントな表現ではなさそうです(二つのクラスの境界を前提とする理論展開のため、境界を作る前提のためなかなか多クラスへの拡張が困難なようです)。7.1.4の回帰のためのSVMはε許容誤差関数(ε-insensitive error function)を導入することで、図7.7のように許容内を正答とみなすような学習を行います。7.1.5はSVMが出てきた背景として計算論的学習理論(computational learning theory)についてまとまっています。


2.2 関連ベクトルマシン(7.2)

7.2の冒頭では下記のようなSVMの制限についてまとめられています。

SVMが出力するのは識別結果であり、予測に対する事後確率は計算できない
SVMは元々2クラス分類のために作られたものであるため、多クラス問題への格闘には問題が多い
正則化のパラメータCもしくはνは黄砂検定のようにホールドアウトデータを用いて決定する必要がある
④ 予測関数は訓練データ点を中心としたカーネル関数の線形組み合わせでなければならず、そのカーネル関数も正定値のものに限られる

これを受けて、関連ベクトルマシン(RVM; Relevance Vector Machine)は回帰及び分類問題を解くために提案された疎なカーネルベースのベイズ流学習手法であり、SVMの持つ特性の多くを引き継ぎながら数々の問題点を克服しているとされています。
7.2.1では、回帰問題に対するRVMということで、最終的に(7.90)の予測分布が得られています。7.2.2、7.2.3は一旦飛ばしました。


3. まとめ&所感

SVMは結構とっつきづらいし情報が落ちると逆に分かりづらいのですが、ちゃんと書かれていた印象で何度か読み返すと良さそうな印象でした。とはいえ、多クラス分類についての頑健性がちょっとなさそうなので、こちらについては概念として抑えておくだけでも十分な印象でした。