icml2013読み会 local deep kernel learning for efficient non-linear svm prediction
DESCRIPTION
2013/7/9に東大で行われたICML2013読み会の発表資料です。TRANSCRIPT
Local Deep Kernel Learningfor Efficient Non-linear SVM Prediction
読み人: 得居 誠也 @beam2d(Preferred Infrastructure)
2013-07-09
ICML’13読み会
Cijo Jose*, Prasoon Goyal*, Parv Aggrwal*, Manik Varma*** Indian Institute of Technology Dehli** Microsoft Research India
目的: 予測がそこそこ速い非線形分類器
線形分類器 欲しい! カーネルSVM
分類速度 速い そこそこ速い 遅い
低次元で複雑な分類 不可能 そこそこ
できる可能
(カーネルによる)
•線形分類器より速く!という話ではない• anytimeとかではない
既存手法
局所的な分類器: 既存研究あり• Locally Linear SVM [Ladicky+, ICML’11]•複数の線形分類器を, 場所ごとに異なる重み付けで足し合わせる•重み付けはLocal Coordinate Codingなど(unsupervised)
非線形SVMの分類を速くする話は他にもいろいろ•サポートベクトルを少なくする•ランダム埋め込み
Locally Linear SVM [Ladicky+, ICML’11]
min
W
�
2
kW k2+ 1
|S|X
k2S
⇠k
s.t. 8k 2 S, ⇠k � max(0, 1� yk�(xk)tWxk).
LDKLのアプローチ局所線形な分類器+二分木による空間分割
•局所線形な分類器, 目的関数はSVMと同じ•各点でどの分類器を使うかは二分木を探索して得る•空間分割も一緒に学習する(LLSVMでは事前に教師なし学習だった)•主空間で最適化•最適化はSGD
•特徴写像が高速なカーネルを一緒に学習するSVM, と思うこともできる
LDKLのカーネル=局所カーネル×大域カーネル
K(xi,xj) = KL(xi,xj)KG(xi,xj)
Local Kernel(特徴写像 )�L
Global Kernel(特徴写像 )�G
• の特徴写像は (クロネッカー積)•今回は とする(線形カーネル)- 特徴写像を陽に書ければなんでも良い- e.g.)
K �L ⌦ �G
�G(x) = x
�G(x) = x⌦ x
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x sign(✓t
1x)
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x sign(✓t
1x)
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x sign(✓t
2x)
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x sign(✓t
2x)
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x sign(✓t
5x)
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x sign(✓t
5x)
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
分岐パラメータとの内積の正負で左右に下っていく
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x
Local Kernel: 木構造の特徴写像
+ -
+ +
+ + + +
- -
- - - -
通過した頂点ごとに重みの係数 を計算する
✓1
✓2 ✓3
✓4 ✓5 ✓6 ✓7
入力x ✓0
1
✓02 ✓0
3
✓04 ✓0
5 ✓06 ✓0
7
✓08 ✓0
9 ✓010 ✓0
11 ✓012 ✓0
13 ✓014 ✓0
15
�Lk(x) = tanh(�✓0tkx)Ik(x)
ノードkを通過したら1
�Lk
LDKLの目的関数パラメータの種類ごとに正則化するSVM
minW,⇥,⇥0
P (W,⇥,⇥0) =
�W
2Tr(W tW ) +
�⇥
2Tr(⇥t⇥) +
�⇥0
2Tr(⇥0t⇥0)
+NX
i=1
L(yi,�tL(xi)W
txi).
•損失関数はヒンジ損失•大文字のパラメータは, 小文字のパラメータを並べた行列
L(y, y) = max(0, 1� yy)
LDKLの最適化は主空間でのSGD
rwkP (xi) = �Wwk � �iyi�Lk(xi)xi,
r✓kP (xi) = �⇥✓k � �iyiX
l
tanh(�✓0tl xi)r✓kIl(xi)w
tlxi
r✓0kP (xi) = �⇥0
✓
0k � �iyi�(1� tanh2(�✓0t
kxi))Ik(xi)wtkxixi.
• = のマージンが1未満なら1, そうでなければ0•下線部以外は簡単に計算できる�i xi
勾配は次式
空間分割の最適化sign関数を緩和
Ik(x) =Y
l2Ancestors(k)
1
2(sign(✓t
lx) + (�1)C(l)).
を陽に書き下すとIk 右に行くか左に行くか (1 or 0)
signの部分を最適化できるように緩和:
Ik(x) =Y
l2Ancestors(k)
1
2(tanh(sI✓
tlx) + (�1)C(l)).
r✓lIk(x) = Ik(x)(tanh(sI✓tlx) + (�1)C(l))�l2Ancestors(k)
sIx.
緩和パラメータを変えながら最適化(焼きなまし?)
Ik(x) =Y
l2Ancestors(k)
1
2(tanh(sI✓
tlx) + (�1)C(l)).
• が小さいと の値は 0 から遠くなる- 木の全体を探索しないといけない- 最初はそうしないと空間分割を最適化できない•そこで最適化が進むにつれ を大きくしていく
sI Ik
sI
実験
実験
実験
まとめ
• LDKLは, 分類がそこそこ速い非線形分類器• LLSVMに似ている- LDKLでは重み付けも一緒に最適化- 二分木を使ったモデルで, ノード数Mに対して分類速度がO(log M)
•主空間のSGD, オンラインで動く•精度はRBF-SVMよりちょい悪い•同じ分類速度では他の高速化手法よりも高い精度
その他
• Fastfood [Le+, ICML’13]とは(当然)比較なし- 乱択埋め込みによるカーネル近似の新しいやつ- アダマール行列をうまく使う