SVM
- 3. SVM(Support Vector Machine )とは
• 二値分類器
– 学習データD={(d1,y1), (d2,y2), (d3,y3), …,(d|D|,y|D|)}
di=(x1,x2):学習サンプル
yi:クラスラベル, Y∋yi, Y={1,-1}
2次元の例
x2
正クラス
分離超平面
N-1次元
の図形
x1
負クラス
3
- 5. SVMの方針(2)
良い超平面を構築するとは??
• マージン最大化
– どちらのクラスからもなるべく遠い位置で分ける
– マージン:最も近い訓練事例への距離
x2
正クラス
f(x)>0
サポート
ベクトル
x1
負クラス
5
f(x)<0
- 6. マージン最大化(1)
• マージンを定式化 正クラス H+
– 正例の場合を考えてみる x2
f(x)>0
– 右図よりマージンdは点線部分
x+
H-
x*
w
x-
負クラス
f(x)<0
x1
H+である
サポートベクトルではないデータ
6
- 7. マージン最大化(2)
• マージン最大化問題 H+
x2
目的関数
正クラス
大きさ・分数
f(x)>0
めんどい
x+
制約条件
x*
w
x-
正例 まとめる 負クラス
f(x)<0
負例
不等式制約付2次計画問題
x1
• 凸2次計画問題で表す
– 目的関数が2次関数 局所最適解に陥らない
– 制約条件が1次関数
7
- 9. ラグランジュの未定乗数法
• 解法
– 変数λを導入し,ラグランジュ関数L(x,λ)を定義する
– 関数L(x,λ)のxに関する偏微分が0となり,かつ与えられ
た制約が満たされる時,最適な解が得られる.
9
- 21. SVMの計算例(1)
• 学習データD={(d1,-1), (d2,-1),(d3,1)}
d1=(0,1), d2=(1,1) d3=(2,1) x2
正クラス
• まずは双対問題を解く 負クラス
(0,1)
(1,1)
(2,1)
x1
21