大規模データの線形識別
-
Upload
jessica-ashley -
Category
Documents
-
view
38 -
download
3
description
Transcript of 大規模データの線形識別
大規模データの線形識別
Recent Advances of Large-scale LinearClassification
Guo-Xun Yuan, Chia-Hua Ho, and Chih-Jen Linを中心にまとめた
データの性質
入力データの次元と入力データ数入力データの各次元を素性とも言う次元の高い場合は sparse (有効な素性が少な
い)次元が低い場合は dense (多数の素性が有
効)入力データの次元 小103以下
入力データの次元 大104以上
入力データ数 小Mega
新規理論をとりあえず試す toy data
正解タグ付きテキストコーパスなど(場合によっては画像も)
入力データ数 大Giga-Tera
計測される数値データ(センサーデータ、市場データ、など)
正解タグなしの生テキストコーパス
ストリーム時系列到着
センサーデータ Twitter 、ソーシャルメディアなど
データの性質
次元が大きい(10の 4 乗以上)の場合は線形識別も非線形識別の精度に大きな差はない。
次元が低いと非線形識別のほうが精度がかなりよい。非線形化すなわち高次元化による特徴抽出能力の改善のため
教師データ(タグ付けデータ)と生データ 教師データが大きければ、それを相手に学習 教師データがなければクラスタリングなど 小さな教師データと多数の生データ(実際は多い)
Semi-supervised learning, Active learning などチャレンジング
記法
:損失 正則化項
含むは以下の最適化問題を 線形識別
は陽には書かない とし、 以下では
なら
ii
l
iii
Ti
Ti
TT
i
l
i i
T
nii
yr
yCrf
bb
linearbd
liy
,;:
,;min
tion classificalinear
1
:functiondecision
,..,1,R1,1,
1
1
xww
xwww
xxww
xw
xxxwx
x
w
正則化項 :r+損失 :ξ の最小化各種の損失関数(右図)
各種の正則化項ywTx
ξL2
ξL1
ξLR
ξ(y,w,x)
)exp(1log,;
1,0max,;
1,0max,;2
2
1
xwxw
xwxw
xwxw
TLR
TL
TL
yy
yy
yy
n
iiL
n
iiL
wr
wr
1
0
11
1
22
22 2
1
ww
ww
学習アルゴリズム• 以下では種々の学習アルゴリズムについ
て述べる
双対化双対問題を解くほうが良いこともある。
双対化とは以下の通り:
ni
q
xgxfxLxLq
nixg
xf
i
n
i ii
i
,..,10subject to
maximize
)(,where,inf
:problem Dual
,..,10subject to
)( minimize:problem Primal
1
双対化
照) トベクターマシン 参 カーネル法 サポー数理手法るい場合の定式化から出という線形分離できな
この制約は
:
IV
Cy
CQ
yy
y
yxLSVM
ygfSVM
iiiT
i
iTT
n
i i
n
i
n
j jjjTiii
n
i iii
n
i iT
ii
iT
ii
(
2
1min and1,0max
0subject to2
1min
2
1max
1,0max2
1inf,inf :dual
01,0max2
1)(primal
2
2
11 1
1
1
2
2
2
2
wxw
1
xx
xw
xww
xwwww
比較 Gradient Descent のような低次の手法は update は簡
単でメモリも少ない。収束が遅く、解は精密ではないが、実は性能に大差ない
ニュートン法のような高次の手法は、収束は早いが、update のコストは高い(例えば、 Hessian-1 の計算とか LBFGS とか)。また、解空間がスムーズ( 2 階微分可能)でないといけない。精密な最適化には有効。
exp/log の計算はコストが高いことを忘れないように 並列化する場合はコア間、ノード間の通信のコストも大
きいことに注意
Pegasos : Shalev-Schwalz et al. ICML 2007
L2 正則化+ L1 損失の SVM
Pegasos の更新は次式の劣微分による
更新の後、 wを半径 (Cl)-1/2 の球にproject
以上を収束するまで繰り返す。
Bi
Ti ByCBf は全学習データxwww
w1,0max
2
1;min
2
2
は繰り返し回数の次元、,はベクトル klkCl
yBiiByCBfwhere
Bf
i
iT
iBi
ii
xw
xwxww
www
,/
,01,|;
;
www2
,1min Cl
データの次元 :n が大きいと▽ 2f(w) は n×n なのでメモリに置くのも逆行列の計算も大変。逆行列計算は BFGS などによる
まず logistic regression について
すると Newton 法は以下のようになる。
11
1
2
1
1
1
exp11exp1
1exp1
exp1log2
1min
iT
iiT
iii
TTl
T
T
ii
l
ii
Ti
l
ii
Ti
T
yyDX
DDXCXIf
yyCf
yCf
xwxwxx
w
xxwww
xwwwww
は対角行列
kTkkk
kkk
sDXCXIsff
s
ww
ww2
1
Trust Region Newton Method(TRON): 導入
[Dij] が対角行列であることの直観的説明
2221
1211
22
11
2212
2111
2221
1211
22221112
22211111
222
22112
12222221111211
222221111211222
21112
112
1
2
1
2
2221
1211
2
1
2212
211121
2
12
11
1
2
1
1
1
0
0
exp1log
exp1
exp
1exp1exp1log
22
exp11exp1
1exp1
exp1log2
1min
xx
xx
D
D
xx
xx
xx
xx
DxDx
DxDx
DxDxDxxDxx
DxxDxxDxDxDy
xx
xxX
xx
xxX
Dy
yyy
yyy
yyDX
DDXCXIfyyCf
yCf
iiii
Ti
ii
Ti
T
TT
iiii
Ti
i iT
i
iiT
iiiT
i
iiii
Ti
ii
Ti
iT
iiT
iii
TTl
T
Tii
l
ii
Ti
l
ii
Ti
T
xxxw
x
xxx
xxxw
xxxw
xxwxw
xwxwxx
wxxwww
xwwwww
で具体例
は対角行列
Dは対角行列
xi が sparse
(I+ε)-1 は ε が小さいと近似計算もできそう。 1次近似なら (I+ε)-1= I - ε
したがって、データが高次元 Sparse なら logistic regression は Hessian の計算を避けられて、効率よく計算できる。
00
00
...00.
.00...0
0...00..0
0
0
11
11
x
x
x
D
D
DX
DXCXIf
f
ssDXCXIsff
s
Tkkk
kkk
kkTkkk
kkk
www
www
ww
ww
1
1
2
1
以下の問題を f の 2 次の展開 q を用いて解く
最適化問題
Trust Region Newton Method(TRON):C.-J Lin et.al. SIAM J. Optimization 9 (1999)
dwddwdwdw
xwwww
ffqff
LryCrf
TT
l
iii
2
1
2
1
,2,;min
は微分可能は
toaccording Adjust 3 step
then if 2 step
subject tomin 1 step
0
2
dwwd
wdw
ddd
q
ff
q
予め決めた閾値
Trust Region bound Δk の変え方
231
21311
12211
32121
1
if,
,if,
if,,min
1 1
kkkk
kkkk
kkkkk
kk
d
の規則
d
d
dwddwd
wdw
ffq
ff
TT 2
2
1
小さく小大きく大
d
wdw
q
ffまだ最適値からは遠いので
もう最適値に近いので
このアイデアは目的関数が凸で微分可能なあ
たりにポイントがある!
Coordinate DescentC.-J. Hsieh, et.al. ICML2008
Target: L1 損失 - L2 正則化の SVM 双対化して解く。下に定義
where
,...,1 0 subject to2
1min
jTijiij
i
TTD
yyQ
liC
Qf
xx
αeαααα
Coordinate Descent
Coordinate Descent は順番に 1 変数づつ選び、他の変数は固定して最適化。
10,0,maxmin
0,...0,1,0,..0 where0 subject to
2
1min
1
2
CDCQ
f
d
eCd
ffdfdQfdef
ii
Di
ii
i
T
i
ii
DDiii
Di
D
d
α
ααα
の更新式は下式を計算することによる
の双対は
Coordinate Descent つづき
(CD10) の Qii は αi の最適化の中で 1 回計算すればよいが
(CD10) (CD10)
CD30
(CD20) 1 1
,..,1 11
1
1
の更新後の更新前、
+
でうれしい。以下の計算のためのとなり計算コストは
を保持しておけば
ででうれしくない。そこの計算コストが
は
ii
iiii
iT
iiD
i
l
tttt
tTit
l
tt
Titii
Di
y
nO
yQf
y
nlO
ltyyQf
xuu
xuαα
xu
xxxxαα
L1 損失 -L2 正則化の SVM のCoordinate Descent アルゴリズム
iiii
iiii
ii
iT
i
ii
l
iiii
y
CQ
G
yG
li
liQ
y
xuu
xu
α
xuα
,0,maxmin
1(CD20)
,..1For
optimalnot is while
,...,1 1
の計算により
の計算
の初期化、および
Newton+ Coordinate Descent
J. H. Friedman, T. Hastie, and R. Tibshirani, “Regularization paths for
generalized linear models via coordinate descent,” Journal of Statistical
Software, vol. 33, no. 1, pp. 1–22, 2010.
最小化する目的関数 f は以下
ただし、 L1 正則化項( 1-norm) のために全体を一度に解けないので、 coordinate descent を導入
ILH
HLq
yCLLf
TT
l
iii
w
dddwwdwd
xwwwww
d
2
11
11
where
(NCD10) 2
1min
2
,; where
次近似した以下の問題は繰り返しごとに解くの
小さな v は H を positive 保つため導入
L1 正則化項
(NCD10) を1変数化してみると以下のようになる
)20(
otherwise
1 if 1
1 if 1
L1
where2
1
2
1
2
1
2
11
11
NCD
dw
dwHGH
G
dwHGH
G
z
HLGzHzGdwzdw
HL
zeHzezeLze
qzeq
jj
jjjjjjj
j
jjjjjjj
j
jjjjjjj
TT
jT
jjT
j
j
用するととの最適化の手法を利正則化における次元ご
dw
dddwwdw
dddwwdw
dd
(NCD20) の直観的説明
dwH
Gz
dwHGdwH
Gz
z
zg
dwzg
dwH
Gz
dwHGdwH
Gz
z
zg
dwzg
HzGzzdwzgHzGzzdwzg
dwzzg
dwzzgHzGzzdw
dwHzGzdwzdwz
z otherwise1
then
11
02
22
z otherwise1
then
11
01
212
1 2 ,
2
11
if 2
if 1
2
1
2
1 min
22
2
2
すなわち
より小さいのはが次関数としての最小値の
すなわち
より大きいのはが次関数としての最小値の
は定数なので無視。 を求める。
-(w+d)
g2(z) g1(z)
z
(NCD20) を各次元に対して行うと最適化問題 (NCD10) の 1 回の繰り返しができる。
さて、 (NCD10) を直線探索で繰り返して近似精度を上げる
直線探索による近似アルゴリズム
dww
dwwdwwdw
d
w
を見つけるような
を満たす
で得る法をの近似解
が与えられた
,...,,1max
)20(descent coordinate)10(
1,2,...kfor
0,0,
2
11
TLff
NCDNCD
メモリに乗り切らないビッグデータの処理に関して
ディスクとメモリのデータ転送学習中にディスクとメモリのデータ転送回数が増える
のはもちろん問題だがビッグデータを(分割するにしても)メモリに 1 回転送する時間も膨大
分散環境(地理的な場合も含む)にデータがある場合分散環境での学習はもっと厄介あまり公表された成果がない。 Google がちらっとブロ
グで言った程度
オンライン学習による方法元来が 1 データ毎の学習なので自然な方
法L1- 正則化 &L2- 損失の SVM は以下の更新
式
Coordinate Descent のように双対化して解く
iii
Ti
Si
Ti
S
xCyxy
xyC
www
wwww
1 then 01 if
gradient-sub 1,0max2
1 2
2は
理論的決め方なし収束速度が遅い
CD30 iiiiy xuu +
η を決める必要なし
収束の遅さを改善するために高次情報を使う
の計算が重くない
多い対角行列になることが
1
2
2
2
2
2
1
1,0max2
1
1,0max2
1
H
xyCH
xyCH
iT
i
iT
iS
ww
wwww
バッチ学習による方法 ディスクアクセスを減らすために一度のあるま
とまりのデータ(=ブロック)を読み込み学習ブロック B だけではなく、メモリに cache デー
タも残す
に関する部分行列のうちは
条件:個づつ選んで最適化からは全データブロック
を解くために
BQQ
yxdyQ
QQff
BidBiCd
BBB
yyQ
liCQf
BB
l
iiiiB
TB
Bii
TiiBBB
TB
BTBBBB
TB
DD
iii
m
jTijiij
iTTD
1
1
where2
1
2
1min
for 0 and for 0
1,
where
,...,1 0 subject to 2
1min
xuedudd
eαdddαdα
xx
αeααα
d
α