SVM
-
Upload
yuki-nakayama -
Category
Documents
-
view
470 -
download
3
Transcript of SVM
![Page 1: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/1.jpg)
SVM勉強会(中山)
![Page 2: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/2.jpg)
SVM(Support Vector Machine)とは • 教師あり学習の手法
– 2クラスのパターン識別を行う手法 – 未学習データに対して識別能力が高い(汎化能力)
• 線形二値分類器
• 非線形二値分類器
2
x1
x2
![Page 3: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/3.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/4.jpg)
SVMの方針(1) • 線形分類器を線形方程式であらわす.
• 超平面の定式化 – f(x) = w・x-b = 0を満たす点xの集合
良い超平面を構築するためにwとbを調節
4
x1
x2 正クラス f(x)>0
負クラス f(x)<0
![Page 5: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/5.jpg)
SVMの方針(2) • マージン最大化
– どちらのクラスからもなるべく遠い位置で分ける – マージン:最も近い訓練事例への距離
5
良い超平面を構築するとは??
x1
x2 正クラス f(x)>0
負クラス f(x)<0
サポート ベクトル
![Page 6: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/6.jpg)
マージン最大化(1) • マージンを定式化
– 正例の場合を考えてみる – 右図よりマージンdは点線部分
6
x1
x2
正クラス f(x)>0
負クラス f(x)<0
x+
x* x-
w
H+
H-
H+である
サポートベクトルではないデータ
![Page 7: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/7.jpg)
マージン最大化(2) • マージン最大化問題
• 凸2次計画問題で表す – 目的関数が2次関数 – 制約条件が1次関数
7
大きさ・分数 めんどい
x1
x2 正クラス f(x)>0
負クラス f(x)<0
x+
x* x- w
H+
正例
負例
まとめる
不等式制約付2次計画問題
局所最適解に陥らない
目的関数
制約条件
![Page 8: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/8.jpg)
どうやって最適解を求めるか
• 考えられる方法
– x1で偏微分して0とおけば
– 必ずしもx2をx1で表現できるとは限らない
8 ラグランジュの未定乗数法を使おう
![Page 9: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/9.jpg)
ラグランジュの未定乗数法
• 解法 – 変数λを導入し,ラグランジュ関数L(x,λ)を定義する
– 関数L(x,λ)のxに関する偏微分が0となり,かつ与えられた制約が満たされる時,最適な解が得られる.
9
![Page 10: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/10.jpg)
計算例(等式制約)
10
停留点
![Page 11: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/11.jpg)
ラグランジュの乗数法は何をしてるのか
• 交わらず制約式がある値で接している点こそが最適値
11
x1
x2 x2
A B
A B
B地点の標高が最適であるとき B地点の標高が最適でないとき x1
![Page 12: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/12.jpg)
ラグランジュの乗数法は何をしてるのか
• ラグランジュ関数を用いた解法をもう一度見てみる
12
x2
A B
x1
A
B
②
①
①
②
あるxでのf(x)の接線に対する法線ベクトルが制約式g(x)に対する法線ベクトルの整数倍で表せられるxが
最適解となる
①
x2
B地点の標高が最適であるとき B地点の標高が最適でないとき
②
![Page 13: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/13.jpg)
不等式制約の場合:制約条件の導出(1) • 制約が緩和される
– 条件を見つける(何かしらで厳しく) • g(x)>0では
– C地点が最適解である⇒
13
x2
A B
x1
g(x)>0
C
![Page 14: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/14.jpg)
不等式制約の場合:制約条件の導出(2) • g(x)=0では
– 最大化するためには∇f(x)の勾配が ∇g(x)の勾配と逆向きである必要がある
• 最小化するためは – 上式の左辺の符号を反転
14
x2
A B
①
B地点の標高が最適であるとき
②
② ①
g(x)>0
![Page 15: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/15.jpg)
不等式制約の場合:制約条件の導出(3) • g(x)≧0の制約下で得られる条件
• x, λが以上の条件を満たすときxがある問題の 最適解となる(ことが知られている)
15
KKT条件
![Page 16: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/16.jpg)
不等式制約:主問題と双対問題(1) • 先ほどの問題の不等式制約Ver
– λに関する最小化問題に置き換える
16
主問題
双対問題
![Page 17: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/17.jpg)
不等式制約:主問題と双対問題(2) • λを変数とする関数で表せる
• ラグランジュ関数に代入
• λに関する最適化問題(双対問題)に置き換えることで主問題を扱いやすくする.
17
制約条件は のみ
![Page 18: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/18.jpg)
マージン最大化へ:主問題から双対問題
• ラグランジュ関数の導入
• (2)を元のラグランジュ関数に代入
18
最小化なので-
主問題
![Page 19: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/19.jpg)
マージン最大化へ:双対問題を解く
• (3)を使って整理すると
• αi以外は既知, • 制約条件を満たしラグランジュ関数が最大となるαiを求める
19
主問題から双対問題に持ってこれた!
双対問題
![Page 20: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/20.jpg)
Support Vectorと呼ばれる所以 • KKT条件から
• xがサポートベクトルではない場合 • xがサポートベクトルである場合
20
KKT条件
αi≧0であるベクトルだけを考慮(支持:Support)する
![Page 21: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/21.jpg)
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](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/22.jpg)
SVMの計算量(2) • 次はサポートベクトルのみ(α2, α3のみを考える)
• 主問題へ
22
![Page 23: SVM](https://reader030.fdocument.pub/reader030/viewer/2022020123/557cce93d8b42a7e5b8b4f74/html5/thumbnails/23.jpg)
SVMの計算例(3) • 学習器に新しいデータx=(2,0)が来たら?
• 得られた超平面
23
x1
x2
(0,1)
(1,1)
(2,0)
正クラス
負クラス
超平面