Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
5. サポートベクターマシン
SVMの概念
双対化によるSVMの定式化:線形分離可能な場合
KKT条件とサポートベクトル
双対化の御利益
ソフトマージンSVM:線形分離できない場合
SVM実装のためのアルゴリズム(ワーキング集合、SMO)
SV...
再掲:2乗誤差最小化の線形識別の問題点
この領域の判断が
困難
この領域に青の
境界線が引っ張
られることあり。
そもそも、Yの値は正規分布を想定した理論なのに、{0、1}
の2値しかとらないとして2乗誤差最小化を当てはめたところ
に無理がある。
学習データ:
N個の入力ベクトルx1,…,xNと
各々に対応するクラス分け結果 y1,….,yN
ただし、 yi は+1(正例)かー1(負例)をとる。
新規のデータxに対して、yが y(x)>0なら正、y(x)<0な
ら負になるようにし...
y(x)=+1
y(x)=0
y(x)=ー1
Support vector
正例
負例
||||
|)(|
w
xy
margin
この図から分かるよ
うに対象は線形分離
可能な場合
この長さを最
大化したい:
(SVM10)の
max
境界...
マージン最大化
 SVMの狙いは識別境界面:y(x)=0から一番近いデ
ータ点までの距離(マージン:margin)を最大化する
こと。以下でその考えを定式化する。
 識別境界面:y(x)=0からあるxまでの距離は、線形
識別の幾何学的解釈で...
したがって、最適なw,w0を求めることは、境界面までの距離が
最小の点の距離(margin)を最大化するという問題に定式化でき、
以下の式となる。
この最適化はそのままでは複雑なので、等価な問題に変換す
る。
  )10(),(min
...
双対問題化
Nnwy nn ,,11),( 0 xw
元の問題では、argmax{ min }という一般的な枠組みの問題な
ので、内点法などの効率の良い最適化アルゴリズムが良く研究さ
れている「線形制約凸2次計画問題」に変換する方向に...
)30(,,11),(subject to
2
1
||||
2
1
minarg
0
2
,
SVMNnwy nn
T
b


xw
www
w
ここで、等号が成り立つデータをactive、そうでないデータを
inactiveと...
(SVM30)のような不等式制約を持つ最適化問題は、Lagrange未
定乗数ベクトルaを導入したLagrange関数: L(w, w0,a)を
w,w0(最小化)a(最大化) という最適化問題に双対化する
まず、w, w0について、 L(...
SVMの双対問題ー境界面で完全に分離できる場合
SVM100))()(
)(
,)(
)90(0
)80(,..,10subject to
)70()(
2
1
max)(
~
max
0
1
1
1 1 1
(
で行う対する予測は次式のまた、...
双対化を最適化の観点から見なおそう
 
  mixg
xf
i ,..,10subject to
min

最適化問題 P
ラグランジュ関数
双対問題 Q
     
    はベクトルで書く    
...
双対定理
弱双対定理
最適化問題Pにおけるfの最適値=f*
双対問題Qにおけるqの最適値=q*
q* ≤ f*
強双対定理
目的関数fが凸で、制約条件が線形の場合は q*
= f*であり、対応するラグランジュ乗数λ*が存在
する。
P...
双対化を最適化の観点から見なおそう
 元の問題(再掲)
この問題では目的関数は2乗ノルムなので凸
であり、制約条件が線形な式なので、強双対
定理が成立し、双対問題を解けば、この問題
(主問題)の解が得られる。
)30(,,11),(subj...
鞍点定理からみると
 元の問題(再掲)
上記のLagrange関数L(w,w0,a)の最小化の
意味は次のページの図
)30(,,11),(subject to
||||
2
1
minarg
0
2
,
SVMNnwy nn
b
...
 Lagrange関数L(w, w0,a)の最小化の意味は下の図で
鞍点にかかる曲線に上から近づく処理であり、
となるw, w0を代入して のように動く。
 この曲線に沿って最適点 に a を動かす処理が双対
問題であり、図から分かるように...
鞍点定理
前のページとの対応はww0=x, a=λ
     
は双対問題の解は主問題
  
**
0
**
0
**
,
,minmax,,maxmin,



x
xLxLxLx
xx




スパースなデータに対する識別器
 ;カーネル関数を利用して、回帰や
識別を行うことは k(x,y)において、 {x,y} のペアの観測デー
タ(=教師データ)が膨大だと、正規方程式に現れた XTX
 (XTXがちょうどk(xn,xm)を(n...
KKT条件
 
を有効な制約と呼ぶ。このような
なので、なら条件と呼ぶ。なおこれを
は
i
ii
ii
i
i
m
i
ii
m
i
ii
i
g
gKKT
KKTg
KKT
KKTg
KKTgf
gfLLagrangian
mig
f
0...
  の解釈0)()(
1
 
m
i
ii gf xx 
g2(x)=0
g1(x)=0
 )(22 xg
 )(11 xg
)(xf
)(xf
許容領域
許容領域の内部でf(x)が大き
くなるということは、その外側...
である。この点たちが 
の点だけ。寄与するのは
に寄与しない。の点は
となる。 かは、よって、全てのデータ
る。条件は以下のようになるなお、この問題におけ
ctorsupport ve
1)(
)100()(0
1)(0
4)-(KKT0))(...
w0の求め方
 
















 


Sm Sn
nmnnm
Sm
mm
N
n
nmnnm
mm
yay
S
w
m
w
yy
wyay
yy
x,x
x,x
x
||
...
双対化の御利益:
教師データアクセスの観点から
主問題と双対問題は最適化するパラメタ-数
が違う。
主問題パラメタ-数 >>双対問題パラメタ-数 な
ら双対問題を解くほうが楽 教科書的
SVMの場合:
主問題のパラメタ-は重みベクトル...
双対化の御利益
SVMの場合:
主問題のパラメタ-は重みベクトル:w
下の定式化なので、全教師データ{yn,xn}が同時
に必要
データ量が大きくメモリにロード仕切れない場
合に困ったことになる。
データ量は最近、増加傾向
)30(,...
双対化の御利益
必ずしも教科書的なお得感ではない。
 一方、双対問題では入力データxiyiのと最適化するaiが対応
する形で最適化式に現れるので、どのデータを学習で使うか
制御しやすい。(下の式参照)
 例えば、 ai(i≠j)を固定し...
双対化の御利益
入力データ、あるいはカーネル行列
全体がメモリに乗り切らないビッグデ
ータを扱うために、入力(すなわちカ
ーネルk(xn, xm)の一部を取捨選択し
てメモリにロードして使う方法が、こ
の双対化で可能になっている。
ビッグ...
SVMの定式化 境界面で完全に分離できない場合
少々は間違った側に入り
込んでもよいが、ゆるい
境界面の内側には入るよ
うに調整soft margin
y=ー1
y=0
y=+1
ξ>1
ξ<1
ξ=0
正例側
負例側
無理やり分離する複雑な...
スラック変数ξ≥0を導入
正しいsoft marginの境界面の上ないし内側の点ではξ=0
 その他の点xnでは ξn=|yn-y(xn)|
中央の識別境界面 y(xn)=0 では、 ξn=1
間違って識別された点はξn>1
まとめ...




















 
2
1
2
1
||||
2
1
min||||
2
1
))(1(min
0)(1if
0)(1if0
))(1(
wwx
x
x...
この最適化問題を解くためのLagrangianは以下のようになる。
最後の項はξ≧0 を表す項。
 
)30...()(00
)(1||||
2
1
),,(
0
111
2
0
SFwyawhere
yyaCwL
nnnn
N
n
n...
w、b、ξを最適化するためにLagrangianを各々で微分すると右下
の結果が得られる。
右をLagrangianに代入す
ると下の双対問題が得られ
線形制約凸2次計画問題
となる。 nn
n
n
N
n
n
nn
N
n
n
Ca
L
...
SVM実装上のアルゴリズムの
工夫
さて、いよいよ ai を求める段階になった。
SVMは「線形制約を持つ凸2次計画問題」な
ので、標準的な実装方法が使える。
ただし、次元が高い場合には、カーネルの行
列をメモリに乗せるだけで大変。
独...
ワーキング集合法
 教師データSを分割して部分的に解くことを繰り返す。
教師データSに対して
ai0
Sの適当な部分集合S’を選ぶ
repeat
S’に対する最適化問題を解く
KKT条件を満たさないデータから新たなS’を選択
until 停...
分解アルゴリズム
変数{ai}の集合全体ではなく、ある大きさの部
分集合のみを更新する。
この更新の後、ワーキング集合に新たな点を
加え、他の点は捨てる。
上記の{ai}の選択における極端な方法として、
2個のaiだけを使って更新する方法...
 なぜ2点か?
 復習:右の
ような最適化
だった。
 (SMO-2)より、最適化の各ステップで更新され
るaiの個数の最小値は2。なぜなら、1個のaiを更
新したときは、(SMO-2)を満たすために、最低
でもう1個のaiを調整のために...
S‘の2点を最適化する更新式
   
    
)9()(
)8(
2
)()(
2'
222111
122211
22112
22
,
11
21
SMOaayyaa
SMO
KKK
yfyfy
aa
fKaykay
S
...
2点の更新式の導出
 対象とする2点をa1 、 a2とする。
 動かすのが2点をa1 、 a2だけなので次式が成立
 まず、 a2をa2
oldからa2
newに変えることにする。
 a2の取る範囲の制約 0≤a2≤Cから当然 0≤a2...
)5(
),min(),,0max(
0
)3(
)4(
),min(),,0max(
0
)3(
2
1221
1221
21212
1122
21
2
2121
2121
21212
1212
21




...
a2
newの更新式の導出
     
 
 
    )6(
2
1
2
1
)(
1
2
1
2
1
),(
),(,)70(
2,1
,
)70()(
2
1
max)(
~
max
2221211222
2
...
   
 
  
が更新式となる。 上記
は古い値なので、 に入っているここで
であるからが更新されたまたこの式の
に注意。  
とおく。で微分しての最大化のために
)7(
,)(
)7(
)(1)2(
1
01
0
)(
...
 
  
 
 
    
)9()(
)5)(4(
)8(
2
)()(
2
2)()(
)()(
)()(
)2(
)7(
222111
21221122111
2
2
122211
22112
22
221...
SVMによる回帰
 SVMは本来、2クラス分類器であり、識別モデルで
ある。
 しかし、回帰すなわち生成モデルにも使える。
 線形回帰では次の式を最小化した。
 この考え方を拡張する。
   2
1
2
|||| wyy
N
n...














2
1
||||
2
1
))((min
otherwise|)(|
|)(|if0
))((
wx
x
N
n
nn yyEC
yxy
yxy
yyE




る。関数...
y+ε
y
y-ε
)101(ˆ)(
)100()(
0)()(
ˆ
SVMyy
SVMyy
yyy
nnn
nnn
nnn









x
x
xx
  
  
という条件は下記。  で0、その...
 
   
      )110(ˆˆ
ˆˆ||||
2
1ˆ
Lagrangian
)103(0ˆ
)102(0
)101(ˆ)(
)100()(subject to
||||
2
1ˆmin
11
1
2
1
2...
   
     
   
   
で微分その上で
を代入すると
nn
N
n
nnnn
N
n
nnnn
N
n
nnnn
N
n
nn
N
n
nnnn
N
n
nnnn
N
n
nnnn
N
n
n...
 
 
  
   
ージ以降に記述この式の導出は次々ペ
た。を求める問題に帰着しを最適化するこの
とも書く
を求めるとに代入し最大化すべきこの結果を
の最小化のために微分
nn
mnmn
N
n
nnn
N
n
nn
...
 
  mn
N
m
mmn
nn
N
n
nnn
nn
aay
yw
SVMwaay
CaCa
xx
xw
xxx
,ˆ
,
)120(,ˆ)(
ˆ00
1
0
0
1











...
  
  
    
   
   
   
   














...
   
   
   
      
      




 
 








...
    
   
   
   
   
   
   
       
       
   
   
    内積なら 成分...
 正定値カーネル: 対称行列k(xi,xj)が半正定値:グラム行列:
既存のカーネル関数から別のカーネル関数を構成する方法
)10()()()(
)9()()()(
()()(
)8()(
)7())()(()(
)6()()()(
)5()...
カーネルの例
 問題の非線形性あるいは高次性を非線形な
カーネルで表すことになる
 線形カーネル
 多項式カーネル
 Gaussianカーネル:RBF
以下の分解によりGaussianカーネルがカーネル関数
だといえる
by (k-1...
表現定理
 SVMなどの最適化は下のような形
 このとき上の最適化問題の解fは下記の形
 よって、一般的なカーネルであっても(SVM100)の
形の解を想定できる。
 
    flossf
wywhereyta
nnt
...
Upcoming SlideShare
Loading in …5
×

クラシックな機械学習の入門  5. サポートベクターマシン

11,504 views

Published on

2乗誤差最小化を基礎におく線形識別器の欠点を克服する識別器の学習として有名なサポートベクターマシンについて、原理、学習アルゴリズムについて説明する。さらに回帰の応用したサポートベクター回帰についても説明する。

Published in: Engineering

クラシックな機械学習の入門  5. サポートベクターマシン

  1. 1. 5. サポートベクターマシン SVMの概念 双対化によるSVMの定式化:線形分離可能な場合 KKT条件とサポートベクトル 双対化の御利益 ソフトマージンSVM:線形分離できない場合 SVM実装のためのアルゴリズム(ワーキング集合、SMO) SVMによる回帰 カーネル関数 クラシックな機械学習の入門 by 中川裕志(東京大学)
  2. 2. 再掲:2乗誤差最小化の線形識別の問題点 この領域の判断が 困難 この領域に青の 境界線が引っ張 られることあり。 そもそも、Yの値は正規分布を想定した理論なのに、{0、1} の2値しかとらないとして2乗誤差最小化を当てはめたところ に無理がある。
  3. 3. 学習データ: N個の入力ベクトルx1,…,xNと 各々に対応するクラス分け結果 y1,….,yN ただし、 yi は+1(正例)かー1(負例)をとる。 新規のデータxに対して、yが y(x)>0なら正、y(x)<0な ら負になるようにしたい 0)( 0)( 10)(10)( ,)( 0     yy yy yyyy wy x x xx xwx た場合は、当然ながら正しく分類できなかっ すなわち、 かつあるいはかつ 合は、正しい分類ができた場 SVMの定式化
  4. 4. y(x)=+1 y(x)=0 y(x)=ー1 Support vector 正例 負例 |||| |)(| w xy margin この図から分かるよ うに対象は線形分離 可能な場合 この長さを最 大化したい: (SVM10)の max 境界面との距離が小 さいデータを選びた い(SVM10)のmin
  5. 5. マージン最大化  SVMの狙いは識別境界面:y(x)=0から一番近いデ ータ点までの距離(マージン:margin)を最大化する こと。以下でその考えを定式化する。  識別境界面:y(x)=0からあるxまでの距離は、線形 識別の幾何学的解釈で述べたようにy(x)/||w||  我々は正しく識別されたデータ、すなわち yny(xn)>0 のデータにだけ焦点を当てる。  すると、点xnから境界面までの距離は次式。 |||| ),( |||| )( 0 w xw w x wyyy nnnn  
  6. 6. したがって、最適なw,w0を求めることは、境界面までの距離が 最小の点の距離(margin)を最大化するという問題に定式化でき、 以下の式となる。 この最適化はそのままでは複雑なので、等価な問題に変換す る。   )10(),(min |||| 1 maxarg 0 , 0 SVMwy nn nw        xw ww wを定数倍してcwと変換しても、境界面までの距離 yny(xn)/||w||の値は分母子でcが相殺するので不変。  よって、境界面に一番近い点で次式が成立している とする。 1),( 0  wy nn xw
  7. 7. 双対問題化 Nnwy nn ,,11),( 0 xw 元の問題では、argmax{ min }という一般的な枠組みの問題な ので、内点法などの効率の良い最適化アルゴリズムが良く研究さ れている「線形制約凸2次計画問題」に変換する方向に進める。 参考文献:工系数学講座17「最適化法」(共立出版) 境界面に一番近いデータでは したがって、正しく識別された全てのデータは次式の制約を満た す。 ここで、等号が成り立つデータをactive、そうでないデータを inactiveと呼ぶ。 1),( 0  wy nn xw
  8. 8. )30(,,11),(subject to 2 1 |||| 2 1 minarg 0 2 , SVMNnwy nn T b   xw www w ここで、等号が成り立つデータをactive、そうでないデータを inactiveと呼ぶ。 定義より、activeなデータは境界面に一番近いデータであり、こ れがsupport vectorとなる。 このとき、marginを最大化する式(SVM10)から、||w||-1を最大 化するのだが、これは等価的に||w||2を最小化する問題となる。す なわち、以下の定式化。 制約条件: )20(,,11),( 0 SVMNnwy nn xw
  9. 9. (SVM30)のような不等式制約を持つ最適化問題は、Lagrange未 定乗数ベクトルaを導入したLagrange関数: L(w, w0,a)を w,w0(最小化)a(最大化) という最適化問題に双対化する まず、w, w0について、 L(w, w0,a)の最適化を行う。   )60(0 )50( , )40(),(1|||| 2 1 )),,( 1 1 0 0 1 2 0 SVMya SVMya w SVMwyawL n N n n nn N n n nn N n n             xw w xwwaw 下の条件が出る。に関して微分すると以 (SVM50)(SVM60)を(SVM40)に代入して、wとw0を消すと、 次のように双対問題としての定式化が得られる
  10. 10. SVMの双対問題ー境界面で完全に分離できる場合 SVM100))()( )( ,)( )90(0 )80(,..,10subject to )70()( 2 1 max)( ~ max 0 1 1 1 1 1 ( で行う対する予測は次式のまた、新規のデータに     wkyay y kwhere SVMya SVMNna SVMkyyaaaL N n nnn mnmn N n nn n N n N n N m mnmnmnn                     xx,x x xxx,x x,xa 上記(SVM70,80,90)を解くアルゴリズムは後に説明する。また、(SVM100)で良い 理由はカーネルの関する記述で述べる(表現定理) これがカーネル関数(データ xn,xmの対だけによる) 後で説明する
  11. 11. 双対化を最適化の観点から見なおそう     mixg xf i ,..,10subject to min  最適化問題 P ラグランジュ関数 双対問題 Q           はベクトルで書く        gxgxf xgxfxL T ii m i , , 1            0subject to max ,min      q xLq x
  12. 12. 双対定理 弱双対定理 最適化問題Pにおけるfの最適値=f* 双対問題Qにおけるqの最適値=q* q* ≤ f* 強双対定理 目的関数fが凸で、制約条件が線形の場合は q* = f*であり、対応するラグランジュ乗数λ*が存在 する。 Pは制約条件が線形なので、 fが凸なら強双対 定理が成立
  13. 13. 双対化を最適化の観点から見なおそう  元の問題(再掲) この問題では目的関数は2乗ノルムなので凸 であり、制約条件が線形な式なので、強双対 定理が成立し、双対問題を解けば、この問題 (主問題)の解が得られる。 )30(,,11),(subject to |||| 2 1 minarg 0 2 , 0 SVMNnwy nn w xw w w
  14. 14. 鞍点定理からみると  元の問題(再掲) 上記のLagrange関数L(w,w0,a)の最小化の 意味は次のページの図 )30(,,11),(subject to |||| 2 1 minarg 0 2 , SVMNnwy nn b xw w w    )60(0 )50( , )40(,1|||| 2 1 ),,( 1 1 0 0 1 2 0 SVMya SVMya w SVMwyawL n N n n nn N n n nn N n n             xw w xwwaw 下の条件が出る。に関して微分すると以
  15. 15.  Lagrange関数L(w, w0,a)の最小化の意味は下の図で 鞍点にかかる曲線に上から近づく処理であり、 となるw, w0を代入して のように動く。  この曲線に沿って最適点 に a を動かす処理が双対 問題であり、図から分かるように最大化となる  つまり という問題 0,0 0       w LL w  awL wa ,,minmax 0 , 0 w w
  16. 16. 鞍点定理 前のページとの対応はww0=x, a=λ       は双対問題の解は主問題    ** 0 ** 0 ** , ,minmax,,maxmin,    x xLxLxLx xx    
  17. 17. スパースなデータに対する識別器  ;カーネル関数を利用して、回帰や 識別を行うことは k(x,y)において、 {x,y} のペアの観測デー タ(=教師データ)が膨大だと、正規方程式に現れた XTX  (XTXがちょうどk(xn,xm)を(n,m)成分とする行列)  の逆行列の計算が計算量的に困難!  すべての観測データを使うと、重要な境界線が観測データの 集中的に集まっている部分に強い影響を受けてしまう。  限定された観測データを使って効率よく計算できないものだ ろうか。  正例データと負例データのうち、両者の境界にあるもの(これ をSupport Vectorという)だけを使えば、つまりスパースな データによるカーネルならずいぶん楽になる。   Support Vector Machine mnmnk xxx,x ,)( 
  18. 18. KKT条件   を有効な制約と呼ぶ。このような なので、なら条件と呼ぶ。なおこれを は i ii ii i i m i ii m i ii i g gKKT KKTg KKT KKTg KKTgf gfLLagrangian mig f 0)(0 )4(0)( )3(0 )2(0)( )1(0)()( )()(),( ,..,10)(subject to )(minimize 1 1            x x x xx xxx x x      を最適化する以下の条件で得られる
  19. 19.   の解釈0)()( 1   m i ii gf xx  g2(x)=0 g1(x)=0  )(22 xg  )(11 xg )(xf )(xf 許容領域 許容領域の内部でf(x)が大き くなるということは、その外側 へ向う有効なgi(x)たちが作る 凸錐の逆方向にf(x)の勾配が 向いている は許容領域の端で最小 り込むほど大きいのでなので、許容領域に入 勾配 ほど大きいならが許容領域から離れる )( )()()( )( 1 x xxx x f fgg g m i iii i    f(x)は許容領 域の中に入る ほど大きくなる gi(x)は許容領 域から離れる ほど大きくなる
  20. 20. である。この点たちが  の点だけ。寄与するのは に寄与しない。の点は となる。 かは、よって、全てのデータ る。条件は以下のようになるなお、この問題におけ ctorsupport ve 1)( )100()(0 1)(0 4)-(KKT0))(1( 3)-(KKT0 2)-(KKT0)(1       nn n nnn nnn n nn yy SVMya yya yya a yy KKT x x x x x    0 1 2 0 1 ,1|||| 2 1 ),,( 0)()()(),( wtawL ggfL nn N n n i m i ii       xwwaw xxxx 式化では、だったが、ここでの定 
  21. 21. w0の求め方                       Sm Sn nmnnm Sm mm N n nmnnm mm yay S w m w yy wyay yy x,x x,x x || 1 1 1 1)(nSctorsupport ve 0 0 2 0 1 性のためしているのは解の安定だけではなく、なお、1個の る。は以下の式で与えられ に注意すると、を掛け、両辺に よって、 においては に含まれるデータ 
  22. 22. 双対化の御利益: 教師データアクセスの観点から 主問題と双対問題は最適化するパラメタ-数 が違う。 主問題パラメタ-数 >>双対問題パラメタ-数 な ら双対問題を解くほうが楽 教科書的 SVMの場合: 主問題のパラメタ-は重みベクトル:w 双対問題にパラメタ-は個別データ:xi 必ずしも教科書的なお得感ではない。
  23. 23. 双対化の御利益 SVMの場合: 主問題のパラメタ-は重みベクトル:w 下の定式化なので、全教師データ{yn,xn}が同時 に必要 データ量が大きくメモリにロード仕切れない場 合に困ったことになる。 データ量は最近、増加傾向 )30(,,11),(subject to |||| 2 1 minarg 0 2 , 0 SVMNnwy nn w xw w w 高次元ベクトル
  24. 24. 双対化の御利益 必ずしも教科書的なお得感ではない。  一方、双対問題では入力データxiyiのと最適化するaiが対応 する形で最適化式に現れるので、どのデータを学習で使うか 制御しやすい。(下の式参照)  例えば、 ai(i≠j)を固定して、ajを最適化する操作をjを動かして繰り返 すなど。そのときには だけしか使わない。 とも書く  mnmn N n nn n N n N n N m mnmnmnn kwhereSVMya SVMNna SVMyyaaaL x,xx,x x,xa                 )()90(0 )80(,..,10subject to )70( 2 1 max)( ~ max 1 1 1 1      Njk ji ,...,1, xx スカラー
  25. 25. 双対化の御利益 入力データ、あるいはカーネル行列 全体がメモリに乗り切らないビッグデ ータを扱うために、入力(すなわちカ ーネルk(xn, xm)の一部を取捨選択し てメモリにロードして使う方法が、こ の双対化で可能になっている。 ビッグデータ時代における御利益 cf. 台湾大学のLIBSVM (SVMの有名な実 装) 全データからどのようにメモリにロードする部 分を切り出すかが重要な研究課題 k(xn, xm) M N この部分だけ 使って最適化: 次に使う部分 ロードし直して最 適化:繰り返す
  26. 26. SVMの定式化 境界面で完全に分離できない場合 少々は間違った側に入り 込んでもよいが、ゆるい 境界面の内側には入るよ うに調整soft margin y=ー1 y=0 y=+1 ξ>1 ξ<1 ξ=0 正例側 負例側 無理やり分離する複雑な 境界面(over fitting) ξ=1
  27. 27. スラック変数ξ≥0を導入 正しいsoft marginの境界面の上ないし内側の点ではξ=0  その他の点xnでは ξn=|yn-y(xn)| 中央の識別境界面 y(xn)=0 では、 ξn=1 間違って識別された点はξn>1 まとめると線形分離できない場合の制約条件のξによる緩和: ξn>1 が許容されるが、できるだけ小さく押さえたい! )10...(00)(1 )(10)(1)(1 SFwhereyy yyyyyy nnnn nnnnnnn     x xxx 最適化は以下のように形式化される。ただし、Cはスラック変 数ξのペナルティとmargin wの按配を制御するパラメター )20...(0|||| 2 1 1 2 SFCwhereCminmize N n n           w
  28. 28.                       2 1 2 1 |||| 2 1 min|||| 2 1 ))(1(min 0)(1if 0)(1if0 ))(1( wwx x x x N n n N n nn CyyLossC yy yy yyLoss n     る。関数の最小化問題とな のこの関数を用いると次                     0 1 ))(1( nn yyLoss n x )( nn yy x n 2 |||| 2 1 w
  29. 29. この最適化問題を解くためのLagrangianは以下のようになる。 最後の項はξ≧0 を表す項。   )30...()(00 )(1|||| 2 1 ),,( 0 111 2 0 SFwyawhere yyaCwL nnnn N n nn N n nnnn N n n     xw,x xwaw   KKT条件は以下の通り。   Nnwhere yya yy a nn n n nnnn nnn n ,...,1 0 0 0 0)(1 0)(1 0             x x
  30. 30. w、b、ξを最適化するためにLagrangianを各々で微分すると右下 の結果が得られる。 右をLagrangianに代入す ると下の双対問題が得られ 線形制約凸2次計画問題 となる。 nn n n N n n nn N n n Ca L ya w L ya L                0 00 0 10 1 xw w             N n nn n nnn mnmn N n N m mnmnmn N n n ya Ca Caa k yyaaaL 1 1 11 0 0 00 ,, , 2 1 )( ~ うになる条件は全体で以下のよ以上をまとめると制約 制約条件は  xxxx xxa
  31. 31. SVM実装上のアルゴリズムの 工夫 さて、いよいよ ai を求める段階になった。 SVMは「線形制約を持つ凸2次計画問題」な ので、標準的な実装方法が使える。 ただし、次元が高い場合には、カーネルの行 列をメモリに乗せるだけで大変。 独自の工夫がなされているので、ポイントを 紹介 最適解の探索は、素朴なgradient ascent法 でも解けるが、効率は良くない。
  32. 32. ワーキング集合法  教師データSを分割して部分的に解くことを繰り返す。 教師データSに対して ai0 Sの適当な部分集合S’を選ぶ repeat S’に対する最適化問題を解く KKT条件を満たさないデータから新たなS’を選択 until 停止条件を満たす return {ai}
  33. 33. 分解アルゴリズム 変数{ai}の集合全体ではなく、ある大きさの部 分集合のみを更新する。 この更新の後、ワーキング集合に新たな点を 加え、他の点は捨てる。 上記の{ai}の選択における極端な方法として、 2個のaiだけを使って更新する方法を 逐次最小最適化アルゴリズム (Sequential Minimal Optimization algorithm:SMO algorithm)と言う。
  34. 34.  なぜ2点か?  復習:右の ような最適化 だった。  (SMO-2)より、最適化の各ステップで更新され るaiの個数の最小値は2。なぜなら、1個のaiを更 新したときは、(SMO-2)を満たすために、最低 でもう1個のaiを調整のために更新する必要がある から。   )2(0 )1(0 00 ,, , 2 1 )( ~ 1 1 11           SMOya SMOCa Caa k yyaaaL N n nn n nnn mnmn N n N m mnmnmn N n n 条件は全体で次式以上をまとめると制約 制約条件は  xxxx xxa
  35. 35. S‘の2点を最適化する更新式          )9()( )8( 2 )()( 2' 222111 122211 22112 22 , 11 21 SMOaayyaa SMO KKK yfyfy aa fKaykay S newoldoldnew oldnew ijij N j jjij N j j         xx xx,x x,x   とする。点=更新の対象となる
  36. 36. 2点の更新式の導出  対象とする2点をa1 、 a2とする。  動かすのが2点をa1 、 a2だけなので次式が成立  まず、 a2をa2 oldからa2 newに変えることにする。  a2の取る範囲の制約 0≤a2≤Cから当然 0≤a2 new≤C  ただし、(SMO-3)から次の制約が加わる。 )2,1(11 )3(22112211   iy SMOyayayaya i oldoldnewnew かただし  定数
  37. 37. )5( ),min(),,0max( 0 )3( )4( ),min(),,0max( 0 )3( 2 1221 1221 21212 1122 21 2 2121 2121 21212 1212 21             SMOVaU aaCVaaCU aaaa aaCaCaa aaaaSMO yy SMOVaU aaCVCaaU CaaaCa aaaaa aaaaSMO yy new oldoldoldold oldoldnewnew oldoldnewnewnew newoldoldnew new oldoldoldold oldoldnewnew oldoldnewnewnew newoldoldnew       とおくと よって、 だから、が最小値は最小になっても だから、が最大値は最大になっても より の場合       とおくと よって、 だから、が最小値は最小になっても だから、が最大値は最大になっても より の場合
  38. 38. a2 newの更新式の導出               )6( 2 1 2 1 )( 1 2 1 2 1 ),( ),(,)70( 2,1 , )70()( 2 1 max)( ~ max 2221211222 2 222 2 211222 2121 21 2 1 1221122112211 222111122121 2 222 2 1112121 2121 2 13 21 1 1 1 SMOvayvsayKasas aKsaKasaaW saasaa yysy yyayayayayaya vayvayKaayyaKaKaaaaW kK aaWaaSVM iforkayfkayv aa SVMkyyaaaL newnew oldoldnewnew jiij jij j jijij N j ji N n N n N m mnmnmnn 定数 とおくと上の式は  に注意し、 を掛け、の両辺にここで 定数 と略記する。ただし、 は次のように書ける。に関連する部分のすると  と定義する。 とにする。注目して最適化するこに関連する部分だけにを、                          x,x x,xxx,x x,xa 
  39. 39.          が更新式となる。 上記 は古い値なので、 に入っているここで であるからが更新されたまたこの式の に注意。   とおく。で微分しての最大化のために )7( ,)( )7( )(1)2( 1 01 0 )( 0)( 21 2 1 2112111122 21212111222112 22 22 2 11211 2 2212212212222211 2 2 22 SMO aaKayfv SMOvvKKyyyy vvyKKssKKKa aa yyyyyysys vyvysasKaKaKsasKs a aW aaW ijj j jii new new           x   
  40. 40.               )9()( )5)(4( )8( 2 )()( 2 2)()( )()( )()( )2( )7( 222111 21221122111 2 2 122211 22112 22 2212221122 2112122211222112 2222211112221111121122112112 22112111121 2 2 1 21 2 1 11211112 12221122 2 SMOaayyaa ayyayayayaa a SMOSMOa SMO KKK yfyfy aa aaKKKya KKKKKayffyy KayKayKayKayKKayayffyy ayayasyayysaa KayfKayfKKyyy KKKya ySMO newoldoldnew newoldoldnewnewnew new new oldnew oldnew jj j jjj j j new              によってを掛け、今更新したの両辺には の更新値とする。ものを  の条件で制約した の値に対して  この結果の としてで割れば、を掛け、の更新式は、両辺に に注意し書き直すと および   。直して整理してみようを掛け、もう少し書きの両辺に xx xx xx xx   
  41. 41. SVMによる回帰  SVMは本来、2クラス分類器であり、識別モデルで ある。  しかし、回帰すなわち生成モデルにも使える。  線形回帰では次の式を最小化した。  この考え方を拡張する。    2 1 2 |||| wyy N n nn  x
  42. 42.               2 1 |||| 2 1 ))((min otherwise|)(| |)(|if0 ))(( wx x N n nn yyEC yxy yxy yyE     る。関数の最小化問題とな 帰は、次のこの関数を用いると回 図参照         下           -ε 0 +ε   yyE x   yy x    yy x   xyy 赤、青の2個のヒン ジ損失の組み合わ せであることに注意
  43. 43. y+ε y y-ε )101(ˆ)( )100()( 0)()( ˆ SVMyy SVMyy yyy nnn nnn nnn          x x xx       という条件は下記。  で0、その外側で すなわち を導入する。なるスラック変数と、青い線の下で正とスラック変数 の上で正となるここで、上図の赤い線 ξ>0 0ˆ   )( nn yy x  nn yy )(x
  44. 44.             )110(ˆˆ ˆˆ|||| 2 1ˆ Lagrangian )103(0ˆ )102(0 )101(ˆ)( )100()(subject to |||| 2 1ˆmin 11 1 2 1 2 1 ˆ,, SVMyyayya CL SVM SVM SVMyy SVMyy C N n nnnn N n nnnn N n nnnn N n nn n n nnn nnn N n nn nn                   xx w x x w w         は はこうすると最適化問題
  45. 45.                   で微分その上で を代入すると nn N n nnnn N n nnnn N n nnnn N n nn N n nnnn N n nnnn N n nnnn N n nn w wyawya CL wy SVMyyayya CL      ˆ,,, ,ˆˆ, ˆˆ|||| 2 1ˆ ,)( )110(ˆˆ ˆˆ|||| 2 1ˆ 0 1 0 1 0 1 2 1 0 11 1 2 1 w xwxw w xwx xx w              
  46. 46.            ージ以降に記述この式の導出は次々ペ た。を求める問題に帰着しを最適化するこの とも書く を求めるとに代入し最大化すべきこの結果を の最小化のために微分 nn mnmn N n nnn N n nn N n N m mnmmnn nn n nn n N n nn n N n nn aaL k SVMyaaaa aaaa,L LL Ca L Ca L aa w L aa L L ˆ, ~ ,),( )120(ˆˆ ,ˆˆ 2 1 )ˆ( ~ ~ ˆˆ0 ˆ 0 0ˆ0 ˆ0 11 1 1 10 1 xxxx xxaa xw w                             
  47. 47.     mn N m mmn nn N n nnn nn aay yw SVMwaay CaCa xx xw xxx ,ˆ , )120(,ˆ)( ˆ00 1 0 0 1            下のようになる。また、回帰モデルは以 制約が得られる。上の導出過程から次の
  48. 48.                                                N n nnn N n nnn N n nnnn N n nnnn nn nnnn N n nnnn N n nnnn N n nnnn N n nn nnnnnnnn nnnnnnnn nnnn nnnn wxyawxya aCaCaCaC LL aCaC wxyawxya CL aayyyynot aCaC ayya ayya KKT 1 0 1 0 2 11 1 0 1 0 1 2 1 ,ˆ,|||| 2 1 ˆ)ˆ()(ˆ)ˆ()( 0 ˆ ˆˆ ,ˆˆ, ˆˆ|||| 2 1ˆ 0ˆ0)ˆ(0)( 0ˆ)ˆ(ˆˆ0)( )2(0ˆˆ )1(0 www ww w xx x x            かつ 制約条件を消せる。り、導入された変数と条件は以下のようにな (SVM120)の導出 ε+ξ>0, ε+ξ^>0
  49. 49.                                              N n nnn N n nn N n N m mnmmnn n N n nn N n nn N n N m mnmmnn N n nn N n nnn N n nnn N n nnn N n nnnn N n nnnn yaaaaaaaa yaaaaaaaa aa w L aa wyawya aCaCaCaC 111 1 111 1 101 1 0 1 0 2 11 ˆˆ,ˆˆ 2 1 ˆˆ,ˆˆ 2 1 0ˆ0ˆ ,ˆ,|||| 2 1 ˆ)ˆ()(ˆ)ˆ()(     xx xx xw xwxww によりと
  50. 50.                                                          内積なら 成分の第   は教師データ数は教師データの次元数 :,,: ,, ,, ,..., ),( 1 1 111 1 1 1 1 11 1 1 1 111 1 111 1 111 1 lk M i likilkkikki NNN N Ni M i Nii M i Ni Ni M i ii M i i NMM N NMN M T NMN M T N xxkxi kk kk NM xxxxxx xxxx xxxx xxxx xxxx xx xx xx xx ΦΦK xx xx xxΦ                                                                                           計画行列 Design Matrix カーネル関数:k(xi,yj)を要 素とするグラム行列 カーネル
  51. 51.  正定値カーネル: 対称行列k(xi,xj)が半正定値:グラム行列: 既存のカーネル関数から別のカーネル関数を構成する方法 )10()()()( )9()()()( ()()( )8()( )7())()(()( )6()()()( )5()()()( )4())(exp()( )3())(()( )2()()()()( )1()()( 21 21 1 21 21 1 1 1 1            kkkk kkkk kk kkk kkkk kkkk kkk kqkqk kffkfk kckk bbaa bbaa baba T           y,xy,xyx, y,xy,xyx, yx,y,yyx,xx AAyxyx, y,xyx, yx,yx,yx, yx,yx,yx, yx,yx, yx,yx, yyx,xyx, yx,yx, のときとも同じ次元に分割) は対称半正定値行列 は係数正の多項式 は任意の関数 
  52. 52. カーネルの例  問題の非線形性あるいは高次性を非線形な カーネルで表すことになる  線形カーネル  多項式カーネル  Gaussianカーネル:RBF 以下の分解によりGaussianカーネルがカーネル関数 だといえる by (k-1)(k-2)(k-4)           2 2 2 |||| exp)( ,...2,1)1()( )(  yx k Mk k MT T yx, yxyx, yxyx, )exp() 2 exp() 2 exp()( 2|||| 222 2  yxyyxx yx, yxyyxxyx TTT TTT k  
  53. 53. 表現定理  SVMなどの最適化は下のような形  このとき上の最適化問題の解fは下記の形  よって、一般的なカーネルであっても(SVM100)の 形の解を想定できる。       flossf wywhereyta nnt f nn N n nnn x xwxxw , 0 1 2 min ,)()(1|||| 2 1 min      H 正の単調増加関数 である正則化項 教師データに対す る損失      N i nikf 1 ,xxx 

×