カーネル法 - Introduction

2016-09-18 (Sun.)

機械学習
% カーネル法によるパターン解析 第1章

index

  1. 線形分類
  2. 双対表現
  3. 特徴空間
  4. まとめ
  5. カーネル関数を用いることの利点

線形分類

データ xRn を二値 y{1,1} に分類したい. 線形分類Rn 上に超平面 (二次元上なら直線) を引いて、 x がそれより上にあるか下にあるかで分類する方法である. どちらでも良いのだが、超平面より上にあるなら y=+1 で、下にあるなら y=1 とする.

Rn 上の超平面はベクトル wRn とスカラー bR を以って、方程式

w,x+b=0

と表せる. ここで x1,x2 はベクトル x1,x2 の内積のこと. 幾何的な文脈では w は法線ベクトルで、 b はy切片である. どうせ次元 n が1増えても誰も気にしないので、 x の後ろに定数 1 を結合して、 w の後ろに b を結合することで、

w,x=0

と書ける. 式を少しでもすっきりさせたいので、こうする. データが上にあるか下にあるかは >0<0 で表現できる.

線形分類器とは、与えられた {(xi,yi)}i=1,2,,N について、それを正しく (もしかしたら完全にではなくとも、できるだけ) 分類するような超平面のことである. 即ち、

i,(w,xi>0yi=+1)(w,xi<0yi=1)

が成り立つような w のことである.

また逆に、ある w によって上が満たせるとき、データ {xi}i線形分離可能 である、と言う.

また、そのような w を計算する過程のことを、 線形分類器の学習 と呼ぶ. 学習のためのアルゴリズムはいくつかあるが、 パーセプトロン は単純ながらも興味深い. この方法を踏襲した AROW や、また SVM も原理的にはこれと同じである. そしてこれら全てに共通してることとして次のような事実がある.

パーセプトロン、AROW、SVM で学習して得られた w は、ある {αi}i=1,2,,N ( αiR ) が存在して次で表現される:

w=iαixi.

即ち、学習される超平面は、学習データ xi の線形和で表される.

双対表現

w の別な表現があるのなら、それを代入したくなるのが人情.

w,x=iαixi,x

特徴空間

線形分類器の致命的な問題は、そもそもデータは線形分離可能とは限らないこと. 曲面でしか分離できないようなケースも十分考えられる. 適当な関数 ϕ によって xRnϕ(x)Rm と写すことで線形分離が可能になるかもしれない. この写した先の空間を 特徴空間 と呼ぶ.

特徴空間での線形分類を考えるには、前章までで述べていた xϕ(x) に置き換えれば良い.

双対表現を用いる場合、 ϕ 自体を陽に記述できる必要はない. なぜなら

w,ϕ(x)=iαiϕ(xi),ϕ(x)

の右辺が計算できれば良いので、 κ(x1,x2)=ϕ(x1),ϕ(x2) なる κ を直接考えても問題ないから. これは κ の中身に依っては計算量の削減にもつながる. この κカーネル関数 と呼ぶ.

まとめ

線形分類器は次のような f である. f の構成には、学習データ {xi}i=1,2,,N 、パラメータ {αi}i=1,2,,N 及びカーネル関数 κ が必要.

そしてこれを用いた分類はこう:

カーネル関数を用いることの利点

もしかしたら計算量が削れるのも良いことだが、利点はそれだけではない. カーネル関数の型は κ:(T,T)R であれば何だって良い. 今まで、 xRn としていたが、 x を実ベクトルに限る必要は最早ない. x が集合であってもグラフであっても、適切なカーネル関数を設計できるなら線形分類器を構成することができる.

あと、直接 ϕ を設計することは κ を設計することに表現力は落ちる. κϕ から導けるからである. しかし逆に ϕκ から導けるとは限らない. 例えば rbfカーネルϕ を陽に記述することはできないが、 なかなか強いカーネルとしてしばしば用いられる. この事実は κ の設計は ϕ の設計 (つまりどんな特徴空間を用いるか、の設計) よりも大きな表現力を持つことを言っている.