SVM
- 線形分類器の一種
- カーネルトリックを使って高精度(注:SVM以外にも使える)
- ハードマージンSVMはソフトマージンSVMの特殊形
- 現実にはソフトマージンSVMを使う
ハードマージンSVM
- 線形分離可能: 分離超平面を引いてすべてのデータが分類できる
- 方針: 分離超平面を2クラスの事例の出来る限り”真ん中”に引く
- サポートベクトル(SV) x\*: 平面から一番近い各クラスのデータ点
- マージン: SVから分離超平面までの距離
- 導出
- 分離超平面を表す式: f(x)=y(wTx+b)=0
- 分離超平面上の全ての点xがこの式を満たす
- マージン: ∥w∥∣wTx\*+b∣
- w,bの全要素を定数倍するといくらでもマージンを大きくできる
- ∣wTx\*+b∣=1としても一般性は失われない
- マージンは (ア) ∥w∥1と書き直せる
- また,どのデータサンプルも分離超平面との距離はマージン以上なので,全てのデータサンプルdについて以下の式が成り立つ
- (イ) ∥w∥∣wTd+b∣≥∥w∥1⇔∣wTd+b∣≥1
- したがって,(イ)の制約下で「(ア)を最大化」(目的関数)するのがハードマージンSVM
- 目的関数の最大化問題は,目的関数を置き換えることで最小化問題ともみなせる
- max∥w∥1⇔min∥w∥2
ソフトマージンSVM
- ハードマージンSVMでは,分離不可能なデータに対して,制約(ア)を満たす解が存在しないので,分離超平面を計算できない
- 制約の代わりに,分類に失敗した場合ペナルティξを与えて,ペナルティを目的関数に組み込む
- 目的関数は L(w)=minw(∑tξ(t))+C∥w∥2
- Cは正の定数
- ξ(t)には以下の2つの制約条件を満たす必要がある
- y(t)wTx(t)≥1−ξ(t)
- ξ(t)≥0
- 2つの制約条件は以下と同値
- ξ(t)=max(1−y(t)wTx(t),0)
- よって目的関数は L(w)=minw(∑tmax(1−y(t)wTx(t),0))+C∥w∥2
- 第1項が損失項で,ヒンジ損失とよばれる
- 第2項が正則化項で,これはL2正則化
学習
オンライン学習
- オンライン機械学習本のp.37を参照
- 目的関数を劣微分して劣勾配を求める
- その劣勾配を使って例えばSGDが使える
参考文献