svm

23
SVM勉強会(中山)

Upload: yuki-nakayama

Post on 14-Jun-2015

470 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: SVM

SVM勉強会(中山)

Page 2: SVM

SVM(Support Vector Machine)とは •  教師あり学習の手法

– 2クラスのパターン識別を行う手法 – 未学習データに対して識別能力が高い(汎化能力)

•  線形二値分類器

•  非線形二値分類器

2

x1

x2

Page 3: SVM

SVM(Support Vector Machine )とは •  二値分類器

– 学習データD={(d1,y1), (d2,y2), (d3,y3), …,(d|D|,y|D|)} di=(x1,x2):学習サンプル yi:クラスラベル, Y∋yi, Y={1,-1}

3

x1

x2

正クラス

負クラス

分離超平面

2次元の例

N-1次元の図形

Page 4: SVM

SVMの方針(1) •  線形分類器を線形方程式であらわす.

•  超平面の定式化 –  f(x) = w・x-b = 0を満たす点xの集合

  良い超平面を構築するためにwとbを調節

4

x1

x2 正クラス f(x)>0

負クラス f(x)<0

Page 5: SVM

SVMの方針(2) •  マージン最大化

– どちらのクラスからもなるべく遠い位置で分ける – マージン:最も近い訓練事例への距離

5

良い超平面を構築するとは??

x1

x2 正クラス f(x)>0

負クラス f(x)<0

サポート ベクトル

Page 6: SVM

マージン最大化(1) •  マージンを定式化

– 正例の場合を考えてみる – 右図よりマージンdは点線部分

6

x1

x2

正クラス f(x)>0

負クラス f(x)<0

x+

x* x-

w

H+

H-

H+である

サポートベクトルではないデータ

Page 7: SVM

マージン最大化(2) •  マージン最大化問題

•  凸2次計画問題で表す – 目的関数が2次関数 – 制約条件が1次関数

7

大きさ・分数 めんどい

x1

x2 正クラス f(x)>0

負クラス f(x)<0

x+

x* x- w

H+

正例

負例

まとめる

不等式制約付2次計画問題

局所最適解に陥らない

目的関数

制約条件

Page 8: SVM

どうやって最適解を求めるか

•  考えられる方法

–  x1で偏微分して0とおけば

– 必ずしもx2をx1で表現できるとは限らない

8 ラグランジュの未定乗数法を使おう

Page 9: SVM

ラグランジュの未定乗数法

•  解法 – 変数λを導入し,ラグランジュ関数L(x,λ)を定義する

– 関数L(x,λ)のxに関する偏微分が0となり,かつ与えられた制約が満たされる時,最適な解が得られる.

9

Page 10: SVM

計算例(等式制約)

10

停留点

Page 11: SVM

ラグランジュの乗数法は何をしてるのか

•  交わらず制約式がある値で接している点こそが最適値

11

x1

x2 x2

A B

A B

B地点の標高が最適であるとき B地点の標高が最適でないとき x1

Page 12: SVM

ラグランジュの乗数法は何をしてるのか

•  ラグランジュ関数を用いた解法をもう一度見てみる

12

x2

A B

x1

A

B

あるxでのf(x)の接線に対する法線ベクトルが制約式g(x)に対する法線ベクトルの整数倍で表せられるxが

最適解となる

x2

B地点の標高が最適であるとき B地点の標高が最適でないとき

Page 13: SVM

不等式制約の場合:制約条件の導出(1) •  制約が緩和される

– 条件を見つける(何かしらで厳しく) •  g(x)>0では

– C地点が最適解である⇒

13

x2

A B

x1

g(x)>0

C

Page 14: SVM

不等式制約の場合:制約条件の導出(2) •  g(x)=0では

– 最大化するためには∇f(x)の勾配が ∇g(x)の勾配と逆向きである必要がある

•  最小化するためは – 上式の左辺の符号を反転

14

x2

A B

B地点の標高が最適であるとき

② ①

g(x)>0

Page 15: SVM

不等式制約の場合:制約条件の導出(3) •  g(x)≧0の制約下で得られる条件

•  x, λが以上の条件を満たすときxがある問題の  最適解となる(ことが知られている)

15

KKT条件

Page 16: SVM

不等式制約:主問題と双対問題(1) •  先ほどの問題の不等式制約Ver

–  λに関する最小化問題に置き換える

16

主問題

双対問題

Page 17: SVM

不等式制約:主問題と双対問題(2) •  λを変数とする関数で表せる

•  ラグランジュ関数に代入

•  λに関する最適化問題(双対問題)に置き換えることで主問題を扱いやすくする.

17

制約条件は       のみ

Page 18: SVM

マージン最大化へ:主問題から双対問題

•  ラグランジュ関数の導入 

•  (2)を元のラグランジュ関数に代入

18

最小化なので-

主問題

Page 19: SVM

マージン最大化へ:双対問題を解く

•  (3)を使って整理すると

•  αi以外は既知, •  制約条件を満たしラグランジュ関数が最大となるαiを求める

19

主問題から双対問題に持ってこれた!

双対問題

Page 20: SVM

Support Vectorと呼ばれる所以 •  KKT条件から

•  xがサポートベクトルではない場合 •  xがサポートベクトルである場合

20

KKT条件

αi≧0であるベクトルだけを考慮(支持:Support)する

Page 21: SVM

SVMの計算例(1) •  学習データD={(d1,-1), (d2,-1),(d3,1)}

d1=(0,1), d2=(1,1) d3=(2,1)

•  まずは双対問題を解く

21

x1

x2

(0,1) (2,1)

正クラス

(1,1)

負クラス

Page 22: SVM

SVMの計算量(2) •  次はサポートベクトルのみ(α2, α3のみを考える)

•  主問題へ

22

Page 23: SVM

SVMの計算例(3) •  学習器に新しいデータx=(2,0)が来たら?

•  得られた超平面

23

x1

x2

(0,1)

(1,1)

(2,0)

正クラス

負クラス

超平面