Yuta Hayashibe

SVM

  • 線形分類器の一種
  • カーネルトリックを使って高精度(注:SVM以外にも使える)
  • ハードマージンSVMはソフトマージンSVMの特殊形
  • 現実にはソフトマージンSVMを使う

ハードマージンSVM

  • 線形分離可能: 分離超平面を引いてすべてのデータが分類できる
  • 方針: 分離超平面を2クラスの事例の出来る限り”真ん中”に引く
    • サポートベクトル(SV) x\*{{\bold x}}^\*: 平面から一番近い各クラスのデータ点
    • マージン: SVから分離超平面までの距離
  • 導出
    • 分離超平面を表す式: f(x)=y(wTx+b)=0f({{\bold x}}) = y ( {{\bold w}}^T {{\bold x}} + b) = 0
      • 分離超平面上の全ての点x{{\bold x}}がこの式を満たす
    • マージン: wTx\*+bw\frac{ | {{\bold w}}^T {{\bold x}}^\* +b | }{ \| {{\bold w }} \| }
      • w,b{{\bold w}}, bの全要素を定数倍するといくらでもマージンを大きくできる
      • wTx\*+b=1| {{\bold w}}^T {{\bold x}}^\* +b | = 1としても一般性は失われない
    • マージンは (ア) 1w\frac{1}{\|{{\bold w}}\|}と書き直せる
    • また,どのデータサンプルも分離超平面との距離はマージン以上なので,全てのデータサンプルd{{\bold d}}について以下の式が成り立つ
      • (イ) wTd+bw1wwTd+b1\frac{ | {{\bold w}}^T {{\bold d}} +b | }{ \| {{\bold w }} \| } \geq \frac{1}{\|{{\bold w}}\|} \Leftrightarrow | {{\bold w}}^T {{\bold d}} +b | \geq 1
    • したがって,(イ)の制約下で「(ア)を最大化」(目的関数)するのがハードマージンSVM
      • 目的関数の最大化問題は,目的関数を置き換えることで最小化問題ともみなせる
      • max1wminw2\max \frac{1}{\|{{\bold w}}\|} \Leftrightarrow \min \| {{\bold w}} \|^2

ソフトマージンSVM

  • ハードマージンSVMでは,分離不可能なデータに対して,制約(ア)を満たす解が存在しないので,分離超平面を計算できない
  • 制約の代わりに,分類に失敗した場合ペナルティξ\xiを与えて,ペナルティを目的関数に組み込む
    • 目的関数は L(w)=minw(tξ(t))+Cw2L({{\bold w}}) = \min_{{{\bold w}}} \left( \sum_t \xi^{(t)} \right) + C \| {{\bold w}} \|^2
    • CCは正の定数
    • ξ(t)\xi^{(t)}には以下の2つの制約条件を満たす必要がある
      • y(t)wTx(t)1ξ(t) y^{(t)} {{\bold w}}^T {{\bold x}}^{(t)} \geq 1- \xi^{(t)}
      • ξ(t)0 \xi^{(t)} \geq 0
    • 2つの制約条件は以下と同値
      • ξ(t)=max(1y(t)wTx(t),0) \xi^{(t)} = \max \left( 1- y^{(t)} {{\bold w}}^T {{\bold x}}^{(t)}, 0 \right)
    • よって目的関数は L(w)=minw(tmax(1y(t)wTx(t),0))+Cw2L({{\bold w}}) = \min_{{{\bold w}}} \left( \sum_t \max ( 1- y^{(t)} {{\bold w}}^T {{\bold x}}^{(t)}, 0 ) \right) + C \| {{\bold w}} \|^2
      • 第1項が損失項で,ヒンジ損失とよばれる
      • 第2項が正則化項で,これはL2正則化

学習

オンライン学習

  • オンライン機械学習本のp.37を参照
  • 目的関数を劣微分して劣勾配を求める
  • その劣勾配を使って例えばSGDが使える

参考文献