11. 最適識別超平面
識別境界:ω T x + b = 0
ω:識別境界の係数ベクトル(学習データから求める)
x:d次元入力ベクトル
b:バイアス項(学習データから求める)
ω
t = +1
線形識別関数
ωTx + b = 0
t = -1
12. 最適識別超平面
識別境界:ω T x + b = 0
ω 0 T x + b 0 が何をしようとしているかというと、ωの1次元
ベクトルに写像してるだけ
ω
ωに写像
ω
t = +1
t=1
線形識別関数
ωTx + b = 0
t = -1
t = -1
13. 最適識別超平面
識別境界:ω T x + b = 0
マージンをкとすると・・・
ω
-к
ωに写像
ω
t = +1
+к
線形識別関数
ωTx + b = 0
t = -1
14. 最適識別超平面
識別境界:ω T x + b = 0
マージンをкとすると、全ての学習データx(1,,,N)で以下
が |ω T x i +b| ≧ к が成り立つ
ω
ωに写像
ω
t = +1
ωTx + b ≧к
線形識別関数
ωTx + b = 0
ωTx + b ≦-к
t = -1
15. 最適識別超平面
識別境界:ω T x + b = 0
マージンをкとすると、全ての学習データx(1,,,N)で以下
が |ω T x i +b| ≧ к が成り立つ
ω
ωに写像
ω
t = +1
ωTx + b ≧к
線形識別関数
ωTx + b = 0
ωTx + b ≦-к
t = -1
17. 最適識別超平面
さらにクラスを定義するt i ={+1, -1}を用いる
|ω T x i +b| ≧ к
↓
ti={+1, -1}でクラスの定義をする
→
|ω T x i +b| ≧ 1
ω0
t i (ω T x i +b) ≧ 1
ω0に写像
ω
t = +1
1(ωTx + b) ≧1
線形識別関数
ωTx + b = 0
-1(ωTx + b) ≧1
t = -1
19. 最適識別超平面:学習
クラス間マージンを最大化する超平面をt i (ω 0 T x i +b 0 )≧ 1と
すると
0 , b0 max , b
max
2
となる
というわけで、最適識別超平面はt i (ω T x i +b) ≧ 1という制
約のもとω 0 =min||ω||を求めればよい
ω 0 が求められれば、b 0 は t i (ω T x i +b)=0から求めれば良い
24. 最適識別超平面:学習
ラグランジュ関数から鞍点を求める
ラグランジュ関数
N
1 T
~
L p , b, i ti T xi b 1
2
i 1
KKT条件
~
L p , b,
(1)
N
0 i ti xi 0
0
i 1
極値の条件
~
L p , b, N
(2)
i ti 0
b
i 1
(3) ti T xi b 1 0
(4) i 0
←不等式制約条件
←ラグランジュ未定定数の条件
(5) i ti T xi b 1 0 ←相補性条件
この3つで相補性条件と
呼んでいる場合もあり、
どれが本当かはよく分か
らない・・・
25. 最適識別超平面:学習
相補性条件( α i (t i (ω T x i +b)-1)=0 )ってなんだ?
不等式制約が等式の時( t i (ω T x i +b)-1=0:サポートベクトルとな
るデータ)のみ、 α i >0となり制約が有効になる
まあこの時点でサポートベクトルがどのデータか決まって無い?
t i (ω T x i +b) -1> 0の時
α i =0じゃないと制約を満たせない
ω0
KKT条件の(1)(2)が効かない?
ti(ωTxi+b) -1> 0
→制約が無効
→鞍点導出に影響しない?
ti(ωTxi+b) -1= 0
→制約が有効
t i (ω T x i +b) -1= 0の時
α i >0じゃないと制約を満たせない
KKT条件の(1)(2)が有効?
t = -1
線形識別関数
ω0Tx + b0 = 0
即ちα i >0の時はサポートベクトル
要するにαiがサポートベクトルかどうかを表す条件ってことだと思ってるけど正しい?
26. 最適識別超平面:学習
話を戻して、最適解を求める
KKT条件(1)(2) を用いて、ラグランジュ関数を変換
N
1 T
T
Ld 0 0 i ti 0 xi b 1
2
i 1
N
N
N
1 T
T
0 0 0 i ti xi b i ti i
2
i 1
i 1
i 1
N
1 T
T
0 0 0 0 i
2
i 1
N
1 T
0 0 i
2
i 1
N
1 N N
i ti xi j t j x j i
2 i 1 j 1
i 1
KKT条件の(1)
N
0 i ti xi
i 1
KKT条件の(2)
N
t
i 1
i i
0
ラグランジュ関数がαの式になる!
後はLd(α)を最大化するαを求めるだけ!
27. 最適識別超平面:学習
L d (α)を最大化する問題を「双対問題」と呼ぶ
L p (ω)を最大化するωを求めるほうが主問題
双対問題で対象とするラグランジュ関数
N
1 N N
評価関数 Ld i ti xi j t j x j i
2 i 1 j 1
i 1
(最大化)
1 T
1 H
2
Tt 0
T
制約条件
H ( H ij ti t j xi x j )
T
t (t1 , , , t N )T
ωからじゃなく、
αから鞍点を探す
29. 最適識別超平面:学習
双対問題からαが求められたら
ω 0 を求めて
b 0 を求めて
N
0 i ti xi
i 1
t s 0 xs b0 1 0
T
sはサポートベクトルとなるデータのindex
識別関数の完成!
予測する時は(ω T x i +b)-1の正負で識別すればおk!
30. 最適識別超平面:学習
最適な識別関数が求められたら、最大マージンも求めら
れる
KKT条件の(5)
N
~
0T 0 i ti xi T 0
ti 0 xi b0 1 0 i 0の時
i 1
T
N
ti0 xi 1 b0
i 1
KKT条件の(2)
T
~
i 1 ti b0
N
N
N
~
~
i b0 i ti
i 1
t
i 1
i 1
i i
0
N
~
i
i 1
最大マージン Dmax
1
0
1
0T 0
1
N
~
i
i 1
33. ソフトマージン識別器
t i (ω T x i +b) ≧ 1-ξ i
⇔ ξ i ≧ 1-t i (ω T x i +b)
損失関数の話だけなので飛ばします。
後の話にあんまり関係しないし。
ξ i ≧0だから(上記の式だと、正しく識別できるデータで
サポートベクトル以外だと負になる)
ξ i =max[0,1- t i (ω T x i +b)]
=f + (1- t i (ω T x i +b))
fを損失関数と呼ぶ
34. ソフトマージン識別器:学習
N
誤識別数の上限 i i 0
i 1
誤識別数というより、誤識別の度合いという気がする
主問題(線形分離可能な場合)
評価関数(最小化):L p (ω) = ½・ω T ω
不等式制約条件:t i (ω T x i +b) ≧ 1
誤識別の分をペナルティとする
主問題(線形分離できない場合)
評価関数(最小化):L p (ω) = ½・ω T ω+CΣξ i
不等式制約条件:t i (ω T x i +b) ≧ 1-ξ i
,
ξ i ≧0
パラメータCを使うのでC-SVMと呼ぶ
libSVMとかでチューニングしたりするCですよ!!!
35. ソフトマージン識別器:学習
C-SVMのラグランジュ関数
N
N
N
1 T
~
T
L p , b, , , C i i ti xi b 1 i i i
2
i 1
i 1
i 1
対応するKKT条件
~
L p , b,
(1)
N
0 i ti xi 0
制約が2つなので、ラグランジュ
未定定数を2つ(α, μ)用いる
i 1
0
~
L p , b, N
(2)
i ti 0
b
i 1
~
L p
(3) C i i 0 i 0なので0 i C
i
(4) ti T xi b 1 i 0 ←不等式制約条件
(5) i 0, i 0, i 0
←ラグランジュ未定定数と、スラック変数の条件
(6) i ti T xi b 1 i 0 ←相補性条件
(7) i i 0 ←相補性条件
36. ソフトマージン識別器:学習
条件(6)(7)の相補性条件の確認
α i <Cの時
KKT条件(3)よりα i <C→⇔C-α i >0
KKT条件(3)よりC-α i - μ i =0 ⇔ μ i =C-α i >0
KKT条件(7)よりμ i ξ i =0 → (μ i >0なので) → ξ i =0
即ちx i がマージン内で正しく識別できる条件
この時のx i を自由サポートベクトル(free SV)
ξ i >0の時
KKT条件(7)よりμ i ξ i =0 → (ξ i >0としたら) → μ i =0
KKT条件(3)よりC-α i - μ i =0 →(μ i =0なので)→ α i = C
この時のx i を上限サポートベクトル(bounded SV)
α i が境界であるCなのでこう呼ぶ
なお、ξ i >0なのでマージン境界を超えるx i と、誤識別されるx i を含む
37. ソフトマージン識別器:学習:双対問題
最適識別超平面と同じ様に、双対問題を求める
N
N
N
1 T
T
Ld 0 0 C i i ti 0 xi b0 1 i i i
2
i 1
i 1
i 1
N
N
N
N
1 T
T
0 0 i ti 0 xi b0 1 C i i i i i
2
i 1
i 1
i 1
i 1
N
N
1 T
T
0 0 i ti 0 xi b0 1 C i i i
2
i 1
i 1
N
1 T
T
0 0 i ti 0 xi b0 1
2
i 1
N
1 T
T
Ld 0 0 i ti 0 xi b 1
2
i 1
N
1 N N
i ti xi j t j x j i
2 i 1 j 1
i 1
KKT条件の(3)
C-αi -μi =0
結局、最適識別超平面の時の
評価関数と一緒になる
38. ソフトマージン識別器:学習:双対問題
最適超平面の双対問題
N
1 N N
評価関数 Ld i ti xi j t j x j i
2 i 1 j 1
i 1
(最大化)
制約条件
1
T 1 T H
2
Tt 0
H ( H ij ti t j xi x j ), t (t1 , , , t N )T
T
ソフトマージン識別器での双対問題
N
1 N N
評価関数 Ld i ti xi j t j x j i
2 i 1 j 1
i 1
(最大化)
1 T
1 H
2
T
制約条件
αTt=0, 0≦αi≦C
実は条件が1つ増えただけ
42. 非線形写像
非線形写像ができるようになると・・・
最適識別超平面は
N
0 i ti xi
i 1
線形識別関数
ωx→非線形写像!→ h x 0T x
N
i ti T xi x
i 1
N
i ti K xi , x
i 1
核関数(もしくはカーネル関数)
→核関数さえ計算できれば、非線形写像後の計算を行わなくてもおk
ってところがメリットのようだ
(こいつがカーネルトリック)
43. 非線形写像
一応、双対問題も核関数が解ければいいのか確認する
ソフトマージン識別器の双対問題の評価関数
N
1 N N
写像なし Ld i ti xi j t j x j i
2 i 1 j 1
i 1
x x
写像後
N
1 N N
Ld i ti j t j xi x j i
2 i 1 j 1
i 1
N
1 N N
i ti j t j K xi , x j i
2 i 1 j 1
i 1
→φ(x)が消えるので、双対問題も核関数が解ければおk
46. 非線形写像:多項式カーネル
多項式カーネルを二項定理で展開すると
K p u, v u v
T
p
p p i T i
u v
i 0 i
p
【はじパタの引用】
uとvの次元をdとする。(uTv)も内積カーネルであり、展開す
ると、次数
d
j 1
ij =i(0≦ij≦d)の単項式u1i1u2i2,…,udidを全て含
み、それらが非線形特徴を構成する。
従って、Kp(u,v)の非線形特徴は、次数
d
j 1
ij ≦p (0≦ij≦d)
の単項式全てからなる
何を言っているのかよく分からねえ・・・。
多分、多項式カーネルを使った時のu,vの次元数の上限がΣで求められるって
言ってる。