カーネル法 - Introduction
2016-09-18 (Sun.)
% カーネル法によるパターン解析 第1章
index
線形分類
データ を二値 に分類したい. 線形分類 は 上に超平面 (二次元上なら直線) を引いて、 がそれより上にあるか下にあるかで分類する方法である. どちらでも良いのだが、超平面より上にあるなら で、下にあるなら とする.
上の超平面はベクトル とスカラー を以って、方程式
と表せる. ここで はベクトル の内積のこと. 幾何的な文脈では は法線ベクトルで、 はy切片である. どうせ次元 が1増えても誰も気にしないので、 の後ろに定数 1 を結合して、 の後ろに を結合することで、
と書ける. 式を少しでもすっきりさせたいので、こうする. データが上にあるか下にあるかは か で表現できる.
線形分類器とは、与えられた について、それを正しく (もしかしたら完全にではなくとも、できるだけ) 分類するような超平面のことである. 即ち、
が成り立つような のことである.
また逆に、ある によって上が満たせるとき、データ は 線形分離可能 である、と言う.
また、そのような を計算する過程のことを、 線形分類器の学習 と呼ぶ. 学習のためのアルゴリズムはいくつかあるが、 パーセプトロン は単純ながらも興味深い. この方法を踏襲した AROW や、また SVM も原理的にはこれと同じである. そしてこれら全てに共通してることとして次のような事実がある.
パーセプトロン、AROW、SVM で学習して得られた は、ある ( ) が存在して次で表現される:
即ち、学習される超平面は、学習データ の線形和で表される.
双対表現
の別な表現があるのなら、それを代入したくなるのが人情.
特徴空間
線形分類器の致命的な問題は、そもそもデータは線形分離可能とは限らないこと. 曲面でしか分離できないようなケースも十分考えられる. 適当な関数 によって と写すことで線形分離が可能になるかもしれない. この写した先の空間を 特徴空間 と呼ぶ.
特徴空間での線形分類を考えるには、前章までで述べていた を に置き換えれば良い.
双対表現を用いる場合、 自体を陽に記述できる必要はない. なぜなら
の右辺が計算できれば良いので、 なる を直接考えても問題ないから. これは の中身に依っては計算量の削減にもつながる. この を カーネル関数 と呼ぶ.
まとめ
線形分類器は次のような である. の構成には、学習データ 、パラメータ 及びカーネル関数 が必要.
そしてこれを用いた分類はこう:
カーネル関数を用いることの利点
もしかしたら計算量が削れるのも良いことだが、利点はそれだけではない. カーネル関数の型は であれば何だって良い. 今まで、 としていたが、 を実ベクトルに限る必要は最早ない. が集合であってもグラフであっても、適切なカーネル関数を設計できるなら線形分類器を構成することができる.
あと、直接 を設計することは を設計することに表現力は落ちる. は から導けるからである. しかし逆に を から導けるとは限らない. 例えば rbfカーネル は を陽に記述することはできないが、 なかなか強いカーネルとしてしばしば用いられる. この事実は の設計は の設計 (つまりどんな特徴空間を用いるか、の設計) よりも大きな表現力を持つことを言っている.