大規模データの線形識別

28
大大大大大大大大大大大 Recent Advances of Large-scale Linear Classification Guo-Xun Yuan, Chia-Hua Ho, and Chih-Jen Lin 大大大大大大大大

description

大規模データの線形識別. Recent Advances of Large-scale Linear Classification Guo-Xun Yuan, Chia- Hua Ho, and Chih -Jen Lin を中心にまとめた. データの性質. 入力データの次元と入力データ数 入力データの各次元を素性とも言う 次元の高い場合は s parse (有効な素性が少ない) 次元が低い場合は dense (多数の素性が有効). データの性質. 次元が大きい(10の 4 乗以上)の場合は線形識別も非線形識別の精度に大きな差はない。 - PowerPoint PPT Presentation

Transcript of 大規模データの線形識別

Page 1: 大規模データの線形識別

大規模データの線形識別

Recent Advances of Large-scale LinearClassification

Guo-Xun Yuan, Chia-Hua Ho, and Chih-Jen Linを中心にまとめた

Page 2: 大規模データの線形識別

データの性質

入力データの次元と入力データ数入力データの各次元を素性とも言う次元の高い場合は sparse (有効な素性が少な

い)次元が低い場合は dense (多数の素性が有

効)入力データの次元 小103以下

入力データの次元 大104以上

入力データ数 小Mega

新規理論をとりあえず試す toy   data

正解タグ付きテキストコーパスなど(場合によっては画像も)

入力データ数 大Giga-Tera

計測される数値データ(センサーデータ、市場データ、など)

正解タグなしの生テキストコーパス

ストリーム時系列到着

センサーデータ Twitter 、ソーシャルメディアなど

Page 3: 大規模データの線形識別

データの性質

次元が大きい(10の 4 乗以上)の場合は線形識別も非線形識別の精度に大きな差はない。

次元が低いと非線形識別のほうが精度がかなりよい。非線形化すなわち高次元化による特徴抽出能力の改善のため

教師データ(タグ付けデータ)と生データ 教師データが大きければ、それを相手に学習 教師データがなければクラスタリングなど 小さな教師データと多数の生データ(実際は多い)

Semi-supervised learning, Active learning などチャレンジング

Page 4: 大規模データの線形識別

記法

:損失     正則化項           

含むは以下の最適化問題を   線形識別

は陽には書かない    とし、        以下では

なら

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

Page 5: 大規模データの線形識別

正則化項 :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

Page 6: 大規模データの線形識別

学習アルゴリズム• 以下では種々の学習アルゴリズムについ

て述べる

Page 7: 大規模データの線形識別

双対化双対問題を解くほうが良いこともある。

双対化とは以下の通り:

ni

q

xgxfxLxLq

nixg

xf

i

n

i ii

i

,..,10subject to

maximize

)(,where,inf

:problem Dual

,..,10subject to

)( minimize:problem Primal

1

          

         

     

Page 8: 大規模データの線形識別

双対化

照) トベクターマシン 参   カーネル法 サポー数理手法るい場合の定式化から出という線形分離できな

    この制約は

           

           

              

    :

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

Page 9: 大規模データの線形識別

比較 Gradient Descent のような低次の手法は update は簡

単でメモリも少ない。収束が遅く、解は精密ではないが、実は性能に大差ない

ニュートン法のような高次の手法は、収束は早いが、update のコストは高い(例えば、 Hessian-1 の計算とか LBFGS とか)。また、解空間がスムーズ( 2 階微分可能)でないといけない。精密な最適化には有効。

exp/log の計算はコストが高いことを忘れないように 並列化する場合はコア間、ノード間の通信のコストも大

きいことに注意

Page 10: 大規模データの線形識別

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

Page 11: 大規模データの線形識別

データの次元 :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): 導入

Page 12: 大規模データの線形識別

[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は対角行列

Page 13: 大規模データの線形識別

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

Page 14: 大規模データの線形識別

以下の問題を 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

予め決めた閾値

Page 15: 大規模データの線形識別

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まだ最適値からは遠いので

もう最適値に近いので

このアイデアは目的関数が凸で微分可能なあ

たりにポイントがある!

Page 16: 大規模データの線形識別

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αααα

Page 17: 大規模データの線形識別

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

α

ααα

の更新式は下式を計算することによる

の双対は

Page 18: 大規模データの線形識別

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αα

Page 19: 大規模データの線形識別

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

     

     

の計算により

の計算

の初期化、および

Page 20: 大規模データの線形識別

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.

Page 21: 大規模データの線形識別

最小化する目的関数 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 正則化項

Page 22: 大規模データの線形識別

(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

Page 23: 大規模データの線形識別

(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

Page 24: 大規模データの線形識別

(NCD20) を各次元に対して行うと最適化問題 (NCD10) の 1 回の繰り返しができる。

さて、 (NCD10) を直線探索で繰り返して近似精度を上げる

直線探索による近似アルゴリズム

dww

dwwdwwdw

d

w

を見つけるような

を満たす

で得る法をの近似解

が与えられた

,...,,1max

)20(descent coordinate)10(

1,2,...kfor

0,0,

2

11

TLff

NCDNCD

Page 25: 大規模データの線形識別

メモリに乗り切らないビッグデータの処理に関して

ディスクとメモリのデータ転送学習中にディスクとメモリのデータ転送回数が増える

のはもちろん問題だがビッグデータを(分割するにしても)メモリに 1 回転送する時間も膨大

分散環境(地理的な場合も含む)にデータがある場合分散環境での学習はもっと厄介あまり公表された成果がない。 Google がちらっとブロ

グで言った程度

Page 26: 大規模データの線形識別

オンライン学習による方法元来が 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 +

η を決める必要なし

Page 27: 大規模データの線形識別

収束の遅さを改善するために高次情報を使う

の計算が重くない

多い対角行列になることが

1

2

2

2

2

2

1

1,0max2

1

1,0max2

1

H

xyCH

xyCH

iT

i

iT

iS

ww

wwww

Page 28: 大規模データの線形識別

バッチ学習による方法 ディスクアクセスを減らすために一度のあるま

とまりのデータ(=ブロック)を読み込み学習ブロック 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

α