Transcript Document

オンライン学習
定式化
評価法:Regretなど
パーセプトロン
Passive Aggressive Algorithm
(アルゴリズムと損失の限界の評価)
Confidence Weighted Algorithm
Pegasos
Coordinate Descent
バッチ、オンライン、ストリームの比較
ビッグデータへの対応
オンライン(あるいは逐次)学習とは
 データを1つづつ読み込んで、それまでの学習結果
を更新する。
 2つの利用局面
1. データ全体は保持しているが、学習を1データ毎に行う
2. データが1こずつ時系列としてやってくる
 この場合はストリームという。
 データ全体をメモリの乗せなくてよいのでマシンに必
要なメモリ少、あるいはメモリに乗りきらないほど大
きなデータから学習可能
 1個のデータからの学習(これを1roundという)だけ
なら高速
オンライン学習の概観
以下1,2,3を時刻 t=1,2,…,Tで繰り返す
1. 時刻tにおいて、仮説ht、入力データxt 、正しい結果データ
yt∈Yが与えられる。
2. 仮説ht による結果h (t) (xt)を計算し、その後でytとの比較を
損失関数lによって行う。 つまりl(h (t) ,(xt , yt ))を計算

lとしては2乗損失やヒンジ損失など
3. 損失関数lの値に応じてh (t) を更新し、新しい仮説 h (t+1)を
求める
T
 最終的な目的の累積損失  l h(t ) , xt , yt  などを最小化す
t 1
ること
 簡単(線形)な仮説として重みベクトルwとxの内積 𝐰, 𝑥 を
使う場合はhを𝐰と書き、 ft w   l w, xt , yt  と定義


オンライン学習のイメージ
予測
データ
xt
識別関数h(t)
正解(実測
あるいは人
手による)
(t)
h (xt)
yt
If 予測≠正解
then 更新:h(t)→h(t+1)
オンライン学習の評価法
仮説hのなす空間をH, tラウンドの予測値をh
T
累積損失 t 1 l h(t ) xt , xt , yt (最小化したい):
(t)
 
(xt)
 x , x , y    l h , x , y : h  H
Regret H   max Regret h 
  l h x , x , y   min  l h , x , y 
Regret T h  t 1 l h
*
T
T
(t )
t
t
t
*
t 1
*
t
t
*
T
T
h*H
T
t 1
T
(t )
t
t
t
h*H
t 1
*
t
t
Mistake(失敗回数)のupper bound
以後は識別に失敗しなくなるまでの学習回数=学習
データ数
オンライン学習をオンライン凸最適化の観点から定式化
By Shai Shalev-Shwartz
 以下では L(w ,(xi , yi )) をfi (w)と略記することに留意。
 最も簡単なオンライン学習は、過去の全roundの損失を最小
化するようなwを選ぶ方法:Follow-The-Leader(FTL)
Follow  The  Leader (FTL)
t 1
t w t  arg min  f i w 
wS
Sは wの取り得る範囲で凸
i 1
Lemma 10 w1 , w 2 を FTLで生成された重みベク トル
u  S
T
T
t 1
t 1
RegretT u     f t w t   f t u     f t w t   f t w t 1 
Proof
 f w を Lemma 10の不等式の両辺から引 き移項すると
t
t
t
T
T
 f w    f u  そこのこの不等式
t
t 1
t 1
t
t 1
を帰納法で導く。
base case : T  1の場合は w t 1の定義 w 2  arg min f1 w より、式の成立する
w
induction step : t  T  1で不等式が成立すると 仮定する。つまり
u  S
T 1
T 1
 f w    f u 
t 1
t 1
t
t 1
t
両辺に fT w T 1 を加えると
T 1
T
 f w   f w    f u 
t 1
t
t 1
T 1
T
t 1
t
この式は u  Sで成立し、 u  w T 1でも成り立つ
T
T
t 1
t 1
T
  f t w t 1    f t w T 1   min  f t u 
uS
t 1
T
最後の等式は w T 1の定義 w T 1  arg min  f t w より。 □
wS
t 1
uを選べる。
Follow-The-Regularized-Leader (FoReL)
 FTLではwに制約がないので、過学習が危ぶまれる
。そこで、正則化項(Regularizer)を加えたものを最
適化(FoReL)
FoReL
t 1
t w t  arg min  f w i  Rw 
wS
Sは wの取り得る範囲で凸
i 1
Lemma 20 w1 , w 2 を FoReLで生成された重みベク トル
u  S
T
T
  f w   f u   Ru   Rw     f w   f w 
t 1
t
t
t
1
Proof Lemma10で t  0..Tとし、 f 0  R
とおけばよい □ t 1
t
t
t
t 1
Example of FoReL:
1
Rw   w
2
1
ft w   w, z t かつ S  R で正則化項 Rw  
w
2
d
t
この場合は FoReLは w t 1  arg min 
i 1
2
2
2
2
where   0
1
w, z i 
w
2
2
2
t
 t
1
w
2
より、 0 
w, z i 
w 2   z i  を使えば

w i 1
2

i 1
t
 w t 1    z i  w t  z t
i 1
つまり w t 1  w t  ft w t 
Online Gradient
Descent: OGD
30
FoReLのRegretのUpper Bound
Theorem 30
ft w   w, z t , S  R d , Rw  
T
1
2
u RegretT u  
u 2    zt
2
t 1
1 T
if U  u : u  B and  z t
T t 1
B
then  
とおくと L 2T
Proof Lemma 20と式 (30)より
2
2
1
2
w 2 とする
2
2
2
 L2
RegretT U   inf RegretT u   BL 2T
uU
T
RegretT u   Ru   Rw1     ft w t   ft w t 1 
t 1
T
1
2

u 2   w t  w t 1 , z t
2
t 1
T
1
2

u 2    zt
2
t 1
2
2
Regretの上限が
𝑇に比例してい
ることに注目!
損失fが連続でない場合
Sub-gradient(劣勾配)のFoReL
fの凸性が重要
Lemma 50 Sが凸集合、 fが S上の凸関数 iff w  S , zu  S , f u   f w   u  w, z
(50)
(50)を満たす zの集合を fの sub - gradient と呼び f w  と書く。
連続なら f w と同じ。
これを使った Online Gradient Descent が以下。
  0, w1  0 ,
w t 1  w t  z t where z t  ft w t 
Sub-gradient の場合のFoReLのRegret Bound
再掲: Lemma 20 and Theorem30 : w1 , w 2 を FoReLで生成された重みベク トル
u  S
T
T
  f w   f u   Regret u   Ru   Rw     f w   f w 
t 1
t
t
t
T
1
T
1
2

u 2   w t  w t 1 , z t
2
t 1
t
t 1
t
t
t 1
T
1
2
2

u 2    z t 2 (60)
2
t 1
Lemma 50 を少し変形して再掲: Sが凸集合、 fが S上の凸関数 iff w t  S , z t w t 1  S , f w t 1   f w t   w t 1  w t , z t
(50)
凸だと各 round tに対して ft w t 1   ft w t   w t 1  w t , z t だから
ft w t   ft w t 1   w t  w t 1 , z t    ft w t   ft w t 1     w t , z t  w t 1 , z t
T
T
t 1
t 1
これを Lemma 20 and Theorem30に plug inすると sub - gradient OGDでも
T
RegretT u   Ru   Rw1     ft w t   ft w t 1 
問題はこの部分
t 1
T
1
2

u 2   w t  w t 1 , z t
2
t 1
T
1
2

u 2    zt
2
t 1
2
2

T
1
2
Regret T u  
u 2    zt
2
t 1
2
2

1
2
u 2  TL2 にしたいが
2
そのためには z t が上から押さえられる
ことを示す必要がある

sub - gradientの定義から f w t   f w t 1   z t , w t  w t 1 where z t  f w t 
fが L  Lipfshitzだとすると
上の2式を合わせると
L w t  w t 1  f w t   f w t 1  where L  
L w t  w t 1  z t , w t  w t 1
z t  w t  w t 1だったので L z t   z t 2    L  z t
2
1
2
 Regret T u  
u 2  TL2  BL 2T same as Theorem 30
2
このboundは
1
2
にできる。
付録参照
FoReLの上界を厳しくする
• まず、FoReLの別形式を導入する
t
w t 1  arg min Rw    w, z i
i 1
w
t
 arg max w, z i  Rw 
w
ここで i 1
g θ   arg max w, θ  Rw  とおくと
FoReLは次式で書ける
w
initialize θ1  0
for t  1,.., T
w t  g θt ;
θt 1  θt  z t ; (z t  ft w t )
Online Mirror Descent
(OMD)という
数学的ツールの準備
• Fenchel-Young 不等式
f  θ   max u, θ  f u とすると
u
u, f  θ   u, θ  f u 
u  f  θ  あるいは
θで微分可能なら u  f  θ 
 f  θ   u, θ  f u 
w
Rw  
2
2
2
2


w  θ
*

 R θ   max w, θ 

w 

2

2


数学的ツールの準備
• Bregman Divergence: DR
DR w u   Rw   Ru   Ru , w  u
R z  
*
z
2
DR* z1 z 2  


2
z1  z 2
2
だと R* z    z

2
2

z1 
2

2
( DR1)
z 2   z 2 , z1  z 2
2
DR w u 
Online Mirror Descent で g  Rであるなら
補題 OML1 :
t 1
 t





w

u
,
z

R
u

R
w

D

z
||

z






t
t
1
i
i
R
t 1
t 1
i 1
 i 1

Proof
T
T
Fenchel - Young 不等式から
T
T
Ru    u, z t  Ru   u, z t
t 1
t 1
 T 
  R    zt 
 t 1 

(1)
 t 1 
w t  g θt   R    z i  (2)
 i 1 
Bregman Divergenceの定義より

T
t 1
  t 
 T 



 R    z t    R 0     R    z i   R    z i  
t 1 
 t 1 
 i 1 
 i 1  

t 1

 t

  R 0     w t , z t  DR    z i ||  z i   (3)
t 1 
i 1
 i 1

なお、 R 0   max w 0, w  Rw    min w Rw    Rw1 

T

t 1
T
(4) これらを合わせると
T
t 1

 T 
 t


u, z t  Ru   R    z t   Ru   R 0     w t , z t  DR    z i ||  z i  
t 1 
i 1
 t 1 
 i 1


t 1

 t

 Ru   Rw1      w t , z t  DR    z i ||  z i  
t 1 
i 1
 i 1

T
定理 OMD2
Online Mirror Descent において
2

w 
θ
*
Rw  
, つまり Rθ  
である

2 
2
2
T

t 1
2
u
 T
w t  u, z t 
  zt
2 2 t 1
2

とする。


OMD10
Proof 補題OMD1 と DR1より明らか ■ T
1
2
L2   z t かつ T t 1
T

t 1
w t  u, z t  BL T

B
ただし u  B とすると
L T
OMD20
パーセプトロン(Perceptron)
 FoReLから導出されたOnline Gradient Descent
の例としてパーセプトロンを紹介する。
 パーセプトロンはF. Rosenblattが1956年に提案し
た線形識別の繰り返しアルゴリズム
 効率がよく、現在でもその価値が高い
 入力xtが目的のクラスに
 属する場合にyt=1, 属さない場合にyt= −1


f t w    yt w, x t


右図
f t 0  0 これより失敗側では
正
 yt w, xt
𝑓𝑡 𝑤 のsub-gradientを計算すると
z t  ft w t   if yt w t , xt  0 then ft w t   z t  0
otherwise ft w t   z t   yt xt  ft w t 
Online Gradient Descentの形式: w t 1  w t  z t に当てはめると
wt
w t 1  
w t  yt xt
if yt w t , xt  0
otherwise
ηは正
次にPerceptronのアルゴリズムが得られる。
FoReLの別形式として導入したOnline Mirror
Descentとみれば、(OMD20)の上界が使え
る
Perceptron アルゴリズム
初期化: w1  0
for t  1,2 ,...,T
入力 xt
if yt w t , xt  0
then w t 1  w t  yt xt
else w t 1  w t
分類に失敗し
たときだけ
そのデータを分類器Wに足し
込むという至って単純な更新
線形分離可能性
線形分離可能:クラスを識別するする超平面
が存在する場合
そうでない場合を線形分離不可能という。
下図参照
線形分離可能
線形分離不可能
γ:マージン
Perceptronアルゴリズムの分析
FoReLの別形式として導入したOnline Mirror
Descentとみれば、(OMD20)の上界が使える
T
T
RegretT u    ft w t   
t 1
t 1
1
 T
2
ft u  
u 2   zt
2
2 t 1
2
2
(60)
ここで解析の容易さの ため ft  [1  yt w t , xt ] で近似する。
(もとの
ftより必ず大きいので上 界は甘くなる。)
sub - gradientは z t  1 yt
y xt
w t ,xt 0  t
Wt,Xtをスケール変換し
て、最も0に近い正例で
𝑤𝑡 , 𝑥𝑡 =1となったと見
なしたと考えてもよい
Perceptronアルゴリズムの分析
判定の失敗 : mistakeを起こした xtの集合を M、 mistake回数  M
 ftの形より明らかに
T
 f w   M
t
t 1
u
(60)の右辺の最小値は =
T
M   ft u  
MRu 
t 1
t
MR
R  max xt とおくと
t
のときなので
1

2
u  M R2
2
2
(70)
T
if u yt u, xt  1 then  ft u   0 : データが線形分離可能
t 1
M
MRu  M R u 
2
2
R2
2
1
 線形分離できる場合
は境界面に最も近いデ ータと境界面の距離 
u
Passive Aggressive Algorithm
 K.Crammer et.al. Online Passive-Aggressive Algorithms
Journal of Machine Learning Research 7 (2006) 551–585
識別(あるいは分類)の問題設定
n
round t でn次元データ xt  R が到着
 x t の正負は yt   1 : 正,  1 : 負のように与えられる
n
w

R
 sign w, x : 正負を表すので
重みベクトル:
正しい(誤った)判定: yt wt , xt  0 、  0
wtはデータが到着するたびに更新されている
損失関数による定式化
境界面そのもので判定はきわどいのでマー
ジンを持たせる。マージンを1とした場合の損
失関数(hinge-loss function)は以下の通り

0
y w, x  1
w; x, y   
1  y w, x otherwise
以下では  t  w t ; xt , yt  と書く
1
y w, x
y w, x
0
1
この設定で、round tの更新は次の条件付き
最適化問題となる。
1
w t 1  arg min || w  w t ||2
2
wR n
s.t. w; xt , yt   0
PA  1
FoReLとして見ると
FoReL
t 1
t w t  arg min  f w i  Rw 
wS
Sは wの取り得る範囲で凸
i 1
t 1
 arg min  w i ; xi , yi  
1
2
w  wt 2
2
wS
i 1
次ページのように FoReLの定式化では に相当する は
個別の yt , xt , w tに依存するため
(60)のような簡単な解析が
できない。
最適化問題(PA-1)を解く
If lt=0 then wt minimizes
1
|| w  w t ||2
2
Passive
wt+1 =wt
If lt≠0 then Lagrange 未定乗数法で解く。
1
2
Lw,   w  w t   1  yt w, xt
2
Lw, 
 w  w t  yt xt  0
w
 w  w t  yt xt

1 2 2
 L     xt   1  yt w t , xt
2
L 
2

  xt  1  yt w t , xt   0

1  yt w t , xt
 t 
w t 1  w t   t yt xt
2
xt

Aggressive
Passive Aggressive
xt
xt
w t 1  w t
w t 1  w t   t yt xt
Passive
Aggressive
t 
t
xt
2
soft marginの学習法 PA-I, PA-II
w t 1  arg min
wR
n
1
2
w  w t  C
2
1
2
w t 1  arg min w  w t  C 2
2
wR n

s.t. w; xt , yt    ,   0
s.t. w; xt , yt   
PA  II 
w t 1  w t   t yt xt

 t 
 t  min C , 2  PA  I 
 xt 
t
t 
xt
2
1

2C
PA  I 
PA  II 
Passive Aggressive Algorithm
INPUT: aggressiveness parameter C > 0
INITIALIZE: w1 = (0, . . . ,0)
For t = 1,2, . . .
• receive instance: xt ∈ Rn
• predict: ˆ yt = sign wt ,xt
• receive correct label: yt ∈ {−1,+1}
• suffer loss: lt = max{0 , 1−yt wt ,xt }
• update:
t


1. set: t x 2
(PA)
t

 t 
 t  min C , 2 
 xt 
t
t 
1
2
xt 
2C
(PA-I)
(PA-II)
2. update: wt+1 = wt +τt wt ,xt
付録:PA-Iの導出
PA  Iの Lagrangianは以下の通り
1
2
w  wt  C   1    y w  xt   
2
1
2
 w  wt   C        1  y w  xt    0,
2
L( w,  , ,  ) 
  0 ( pa1  1)
L
 0  w  wt  yt xt
w
 C     の最小値は 0で C      0 ( pa1  2)のとき。
C      0である。そうでないと
すると、  C     はいくらでも小さくな
れる
ので、 Lの最小化ができない。
KKT条件より   0なので、( pa1  2)より C    0  C   ( pa1  3)
以下では C   t xt (case 1)と C   t xt (case 2)に分けて考える。
2
2
case 1
( pa1 - 2)を ( pa1  1)に代入し
L( w,  , ,  ) 
1
2
w  wt   1  y w  xt となるので、これを
2
元々の PAと同じく  t   t xt ( pa1  4)
2
wについて最適化すると
case 2
 t / xt
2
C
 C xt
元々の optimazation
1
2
wt 1  arg min w  wt  C
2
w
2
 1  yt wt , xt ( pa1  6)
s.t 1  yt w , xt   ( pa1  7) and   0
と w  wt  yt xt により 1  yt wt , xt   xt
( pa1  8)と ( pa1  6)を組み合わせると 2
  ( pa1  8)
C xt   xt
2
2

( pa1  3)で C  だったから、 0  
KKT条件から   0なので、   0
 ( pa1  2)より   C

 t 
(case 1) (case 2)を合せると  t  min C ,
2
 xt 
付録:PA-IIの導出
 t  0   t  0   t  0の場合について考えれ ばよい
1
2
L( w,  , )  w  wt  C 2   1    y w  xt    0 ( pa 2  1)
2
L
 0  w  wt  yt xt
w
L
 2C    0     2C  この と wを Lに代入すると

2 
1 
Lw,     xt 
   1  yt wt  xt 
2
2C 
L
1  yt wt  xt 
t
 0  

■
1
1
2
2

xt 
xt 
2C
2C
2
損失の限界の評価
任意の固定された重み ベクトル uに対する損失を lt*とする。
lt  l wt ;  xt , yt  lt*  l u;  xt , yt 
Lemma 1
x1, y1 , . . . ,xT
, yT  はデータ列。ただし
xt  R n , yt  +1,  1
τ tは PA, PA - I, PA - IIの Algorithm における更新式
の parameter
上記の u  R nに対して
 τ 2
T
t 1
t
t
 τ t xt
2

 2*t  u
2
Proof
def
 t  wt  u  wt 1  u
2
   w u
T
t 1
T
t
t
t 1
w1  0
T
 t  u
2
2
 wt 1  u
2
 w  u
1
wT 1  u  0
2
2
 wT 1  u
2
なので
2
t 1
minimum marginを violateしない場合は、  t  0, t  0
よって、  t  0の場合にだけ注目: wt 1  wt  yt t xt
 t  wt  u  wt 1  u  wt  u  wt  u  yt t xt
2
2

2
 wt  u  wt  u  2 t yt wt  u , xt   t2 xt
2
2
 2 t yt wt  u , xt  xt   t2 xt
2
2
2

 t  0
 t  0の場合  t  1  yt wt , xt

yt wt , xt  1   t
同じく yt u , xt  1  *t

 t  2 t yt wt  u , xt   t2 xt

 

 2 t 1    1   t   xt

*
t
 t 2 t   t xt  2*t
2

2
t
2
2
■
2
Theorem

T


, max xt  R
u s.t. t *t  0 Lemma 1 と同じ設定。
t
2
2
R
u


 t
2
t 1
Proof


t *t  0 and Lemma 1
PAでは τt   t xt

t xt
2
R
2


2
T

 τt 2 t  τt xt

t 1
T
 2t xt

2
 u
2
 u
2
2
t 1
T
 R  u
t 1
2
t
2
2

T
2
2


u
R
 t
t 1
2
■
Theorem 2では次の制約が厳しい。 u この制約は、uで完全な識別ができること。
この制約を外す定理を考える

Theorem 3
Lemma 1 と同じ設定。
t xt
2
*t  u;  xt , yt であるような
 1 このとき
 u 2





t 1
T
2
t
  
T
t 1
* 2
t



2
Proofは次ページ

s.t. t lt*  0 u  R nに対して
Proof
2
xt
T
1

  t  lt
  τt 2lt  τt xt
t 1

 2l  u
2
*
t
l l 
t 1
T
l
t 1
2
t
2
T
l
2
t
t 1

 l 
T
t 1
 l 
T
LT  2 LT 
2
t 1
* 2
t
* 2
t
*
t t
T
l 
2
t
t 1
T
 l  2 ltlt*  u
t 1
T
Cauchy - Schwartzより
T

2
2
t
2
t 1
 l 
T
* 2
t
t 1
だから
T
l
 u ここで
2
t 1
2
t
 LTとおくと
 u 0
2
LTの最大値 max LTは上式で  を  とした2次式の大きな
max LT 
  
T
t 1
* 2
t

  
T
t 1
* 2
t
 u
2
a  b  a  bを使うと max LT  max
T
  2
t 1


2
max   t   2

t 1

T
  
T
t 1
* 2
t
ほうの解。

 u 


2
t
  
T
t 1
* 2
t
 u
2
■
PA-Iにおける入力データ識別の失敗回数の上限
 

t
xt  R  t  min  2 , C 
 xt

T
 2
2
*
# mistakes  max R ,1 C  u  2C   t 
t 1


2
2


Proofは次のページ
t回目の繰り返しで mistakeが起きたとすると
xt
2



 R と  t  min  t xt , C より
2
2
t  1

min 1 R 2 , C   t  t
M を繰り返し全体におけ る mistake回数とする。


T
0   t  t なので min 1 R , C M   t  t pa1 - 10 
2
t 1
*t  u;  xt , yt    t  t  C t かつ  t xt
*
T
*

2
 t

これを Lemma 1  τt 2 t  τt xt  2*t  u に代入すると
t 1
T
2
2
T
*



u

2
C

tt
 t pa1 - 20
2
t 1
t 1
pa1 - 10pa1 - 20 より 

pa1 - 30の両辺に maxR 2 ,1 Cを掛けると
T
 2
*
M  max R ,1 C  u  2C   t  ■
t 1



2

T
min 1 R , C M  u  2C   t
2
2
t 1
*
pa1 - 30
PA-IIにおける累積損失の上限
xt

2
 R 2 t 
t
xt 
2
1
2C
T
1

2


2
2
*


R

u

2
C






t
t
2C 

t 1
t 1

T
Proofは次のページ

T



Lemma 1 : u   τt 2 t  τt xt  2*t で右辺の 内で τt  *t  を差し引く
2
t 1
  1 2C
ただし u   τ 2  τ
  2 τ   τ x
  2 τ   τ  x
T
2
t
t 1
t
T
t 1
t
T
t
t 1
t
2
t
2
t t
xt  2
2
2
t t
2
t
2
*
t
 τ
t

*
t
 
2
 2 τt *t   2 τt2  2 τt *t  *t 2  2

  2  *t 2  2


  1 2C を代入すると

1 
2
2
*2 
u    2 τt  t  τt  xt 
  2C t 
2C 

t 1 

T
2
τt   t
xt
2



2


t
2
2
*2
xt  1 2C  を代入すると u   
 2C t 
1
2

t 1  x
 t 
2C



T
T
 2 1  2
*
 R を使えば、    R 
u

2
C




t ■
2C 

t 1
t 1

T
2
2
t
2
Confidence Weighted
Algorithm
Crammer et al. 2008
学習する重みベクトルWを点ではなく分布(正規分布)にする
 Wの期待値と分散を更新する
Pegasos:
Primal Estimated sub-GrAdientSOlver for SVM
 L2正則化+L1損失のSVM

1
2
min f w; B   w 2   max 0,1  yi w T x 
w
2
k
Aは学習に使うデータ、
k A
iB
 Pegasosの更新は次式による
w t 1 / 2  w t  f w t ; A
where f w; A  w t 
f w t ; Aは fの劣微分 f w t ; Aの要素
1
A
 yi xi
iA

1
  , lはベクトル w, xiの次元、 tは繰り返し回数
t
 更新の後、wを半径 min 1, 1 /  の球にproject




A  i | i  A,1  yi wT xi  0 ,

w  min 1, 1 /  w 2 w
 以上を収束するまで繰り返す。データ集合Aごとな
ので、onlineというよりはmini-batch
Pegasos:Primal Estimated sub-GrAdient
SOlver for SVM のアルゴリズム
初期化 : w1  0
For t  1,2,......, T
全データ Dから Atを選ぶ。 At  k


At  i  At | 1  yi w t , xi  0
 t  
1
t


w t 1 / 2  1   t  w t 
 1 
w t 1  min 1,
 w t 1 / 2
Output : wT 1
 t 
At
yx
iAt

w t 1 / 2

i i
f(w)の評価
まず w*  arg min f w  とする。
f w 
また、関数 fは、 f w  

2
w が凸のとき、   strongly convex という。
2
Lemma1. f1 ,..., fTを  - strongly convexとし、 Bを閉凸集合とする。
w1 ,..., wT 1を以下のようなベクト
ルの列とする:
tは ftの劣微分の要素

w1  B, t  1 w t 1  arg min w t  t  t w t   w ただし t  1 t 
wB
t w t   Gのとき、 u  Bに対して次式が成り立 つ
1 T
1 T
G 2 1  ln T 
ft w t    ft u  

T t 1
T t 1
2T
Proof : ft は strongly - convexで、 tは劣微分の要素なので
内積w t  u  t   ft w t   ft u  

wt  u
2
(10)
2
w t 1は wtの Bへの projectionであり
wt  w t  t t とおき、
u  B なので wt  u  w t 1  u である。よって
2
2
w t  u  w t 1  u  w t  u  wt  u  2t w t  u  t   t2 t
2
2
2
2
2
(15)
t  Gかつ t  1 t なので (15)により
w t  u  w t 1  u

w t  u,  t 
 t G2
2t
2
2
(10)と 20 を組み合わせると
30を t  1, Tまで総和をとると
2
20
w  u  w t 1  u


ft w t   ft u   t
 t G 2  wt  u
2t
2
2
2
2
 w t  u 2  w t 1  u 2 
 T  2
2

 ft w t   ft u    
 wt  u    t G

 t 1 2
2t
2
t 1
t 1


T 
 w t  u 2  w t 1  u 2  
 w u
t  1 t を代入すると 40    t 
 
 2 t
2
t 1

 
T
T
T

   t  1 w t  u  t w t 1  u
t 1
2
2

2
40
 G2 T 1

 2 
t 1 t

G2 T 1
T
G2 T 1 G2
2
1  lnT 


w t 1  u 



2 t 1 t
2
2 t 1 t 2
2
30
Lemma1を拡張するとさらに強力な次の定理が得られる。
詳細は:Mathematical Programming 127(1), 2011, pp.3-30
Pegasos:primal estimated sub-gradient solver for SVM. Shai
Shalev-Schwarts, et.al.
Theorem 1 : x(入力データ ) : x  R, w*  arg min f w  f w 
かつ projectionしたときは c
projectionしないときは 
 R
c  4 R 2 とすると
T  3に対して
1 T
1 T
c1  ln T 
*




f
w
;
A

f
w
;
A

 t t T
t
T t 1
2 T
t 1

2
Atは全データ Dから選ばれた部分集合 。
Proof :
if projectionが起こらない
then Bは半径  1

 の球で、 w t 1  arg min w t  t f w t ; At   w
wB
 Theorem1を証明するには Lemma1の前提条件が成立する ことを証明する。
1 f w, At は、  - strongly convex : 
 - strongly convex
2
2
w と Atのヒンジ損失の平均値 の和なので
Proof : cont' d
2 次に t の上界を求める。
if projection stepが実行された
then w t  1
 かつ x  R  f w t ; At   w t  
1
yi x i    R

A iA
if projection stepが実行されなかった
then w t 1  1  t  w t 
t
1
 1
y
x

1

w

 i i  t  t t A
At iAt 
t
where At  i  At | 1  yi w t   x i   0
ここで w1  0  w 2 
1
 A1
1
y
x

 i i  A
2
iA1
1 t 1
 wt  
t j 1 Aj
i
 w t 1 
R

iA j 
i
iAt
1 1
y
x

w

 
 i i
3
 2   A1
iA1
 2  1  1
 w 4    
 3  2   A1
yx
yx

1

y
x

 i i  3 A
3
iA2


i
i
 yi x i 
iA1
yx
iA3

i
1
2 A2
i
ここの導出は初等的が
だちょっとした計算
yx
iA2 
i
i
Proof : cont' d
3最後に w*  Bを示す。

projectionしない場合は、 w t 1  arg min w t  t  t w t   w により
wB
w*  Bと言える。
projectionした場合は、 w*  1
ここで対象にしている
 を示す。
SVMの主問題は以下の形式
m
1
2
min w  C  i s.t. i  1, m : i  0, i  1  yi w  xi 
2
i 1
ここで双対問題を思い
C  1 m とおき、以下の双対問 題を導く。
つくところがいかにも
m
min   i 
i 1
1
2
m
 y x
i 1

i i i

2
s.t. i  1, m : 0   i  C
主問題の解を w* ,  * 、双対問題の解を  *とすると
SVM的
(50)
Proof : cont' d


主問題の解を w* ,  * 、双対問題の解を  *とすると
m
1 *
w    y x であり 50 は次のように書き直せ る。   w
1
2
i 1
*
*
i i i
*
SVMの問題では強双対定理 が成り立つので
1 *2
1 *
*
*
w C     w
1
1
2
2

*



2
 max  i    C  1 m   
*
2
強双対定理の実に
賢い使い方だ
m
*
1
   i  Cm  1 
i 1
1 *2 1 *2
1 *2 1 1 *
*
*
 w  w C     w   w
1
1
2
2
2
 2
 w*  1 
2
 以上の結果 12 3を Lemma1に適用すれば定理が得 られる。 □ Coordinate Descent
C.-J. Hsieh, et.al. ICML2008
Target: L1損失- L2正則化のSVM 双対化し
て解く。下に定義
1 T
min f α   α Q α  eT α
α
2
subject to 0   i  C i  1,..., l
D
where Qij  yi y j xi , x j
Coordinate Descent
Coordinate Descentは順番に1変数づつ選
び、他の変数は固定して最適化。
1
min f D α  dei   f D α   Qii d 2  i f D α d
d
2
f Dは fの双対


subject to 0   i  d  C where ei  0
,..0,1,0,...0
 i 1

dを計算することによる  iの更新式は下式
D




f
α   
i

 i  min max  i 
,0 , C 
Qii

 

CD10
T
Coordinate Descent つづき
(CD10)のQiiはαiの最適化の中で1回計算すれ
ばよいが
 f α   Qα   1   y y x , x   1 は x , x t  1,.., l

l
D
i
i
t 1
i t
i
t
t
の計算コストが Onl  でうれしくない。そこ


u
i
t
で
l
 y x
t 1
t
t
t
を保持しておけば
i f D α   Qα i  1  yi u, xi  1 (CD20)
となり計算コストは


u  u+ yi  i   i xi
以下の計算のための On  でうれしい。
CD30
 i (CD10)の更新前、 i (CD10)の更新後
L1損失-L2正則化のSVMの
Coordinate Descent アルゴリズム
l
αの初期化、および u   yi i xi
i 1
Qii i  1,..., lの計算
while α is not optimal
For i  1,..l
(CD20)により G  yi u, xi  1の計算
i  i


 
G
 i  min max  i 
,0 , C 
Qii  


u  u  yi  i   i xi
オンライン学習とストリーム学習
オンライン学習
1データづつ
学習
モデル
正解との比較
ストリーム学習
データ
発生
1データづつ
到着データのモデ
ル学習
と分類などの結果
学習結果
モデル
バッチ、オンライン、ストリームの比較
バッチ学習
オンライン学習
ストリーム学習
メモリに乗せるデータ
同時に全部
同時には1データ
同時には1データ
メモリ量
大
小でも可能
小
データの到来
全データが揃ってか
ら処理
全データが揃って 1データ到着ごとに処
から処理
理
データの消去
消去せず
消去せず
同一データの処理
回数
収束するまで繰り返
し
収束するまで繰り 1回
返し
メモリに保持するモ
ノ
全データと途中に内
部状態
内部状態のみで
も可能
内部状態のみ
性能
精度高
バッチより劣る。
ただし、最近は
バッチに肉迫
劣る
可能な処理
何でもあり
やや制限あり
限定的
データは処理後に消去
捕捉:世の中、ビッグデータがホットだと言うけれど
?
?
?
?
?
?
?
異なる分類のデータ
?
?
?
分類されていない生のデータ
パーセプトロンの別のアルゴリズム
データ xiは N個ある。
w0   0; k  0; R  max1i N xi ;
repeat
この部分が線形識別
for i  1 to N
{if yi w(k ), xi  0 then
{w(k  1)  w(k )  yi xi ;
k  k  1 ;}
}
forループ内で失敗しない
until ように w(k )を最適化の結果とする 。
(すなわち yi w(k ), xi  0 の場合なし)
yi w(k ), xi  0 という識別に失敗したデータに、その値を
重み(学習率と呼ぶ)ηでwに足しこんで是正を図るアルゴリズム
パーセプトロンは有限回で収束
 mistakeのupper bound
Novikoffの定理(バイアスのない場合)
R  max1i N xi
0
yi wopt , xi   : マージン
(1)
である woptが存在するなら、パー セプトロン
アルゴリズムが失敗す る回数はたかだか
2
2
R
  wopt 回である
 
証明
t回目の失敗 に先立つ 重みを wt 1
更新は、 yi wt 1 , xi  0 のとき起こる。
wt , wopt  wt 1 , wopt  yi xi , wopt  wt 1 , wopt  
(1)より
w0  0とすれば 3を繰り返し用いて
2より
このとき wt  wt 1  yi xi (2)
wt , wopt  t
4
|| wt ||2 || wt 1 ||2 2yi wt 1 , xi   2 || xi ||2
 xiは負例なので第 2項は負
 || wt 1 ||2  2 || xi ||2 || wˆ t 1 ||2  2 R 2

|| wt ||2  t  2 R 2
45より
 || wt ||  tR
5
|| wopt || tR  || wopt |||| wt ||  wt , wopt  t
2
R
 t    || wopt ||2
 
■
3
メモリ容量より大きなデータのSVM
Hsiang-Fu Yu et.al KDD2010
主問題の場合はPegasos, 双対問題の場合は
Coordinate Descent(CD)をブロックごとに適用
1. 全データインデクス{1,..,l}をmブロック B1,…Bmに分割
2. 主問題ならw, 双対問題ならαを初期化
3. For k=1,2,… (外側の繰り返し)
4. For j=1,…,m (内側の繰り返し)
ここが重要
5.
read xr ∀r∈Bj from Disk
6.
{xr| r∈Bj}に関して最適化(PegasosかCD)を行う
7.
wあるいはαを更新
主問題をPegasosで解く場合の6.の部分
Pegasosでは次の最適化をする
1
1 l
2
min
w   max1  yi w, xi ,0 
w 2lC
l i 1
B jを B1j ,...., B rjに分割
For r  1,..., r
w  w   t t
lC
where  
t
t
1
1
 
w
lC
B
t

lC 

w  min1,
w

 w 
t  t 1
end For
l
yx ,
iB 
i i
B   i  B | 1  yi w, xi  0
双対問題でCoordinate Descent(CD)を使う場合
min f α  d  f は主問題 fの双対問題 CD10
D
D
Bj
dBj
subject to d Bj  0 and 0   i  di  C i  B j
where Qij  yi y j xi , x j B j  {1,..., l} \ Bj
ここで、 Qのうちメモリにいるブ
ロック Bjに関する部分だけを
使い、下の最適化を行 う( i  1,.., lに注意)
1 T
T
min f D α  d Bj   d Bj QBjBjd Bj  αT QBj,id Bj  eBj d Bj  f D α  CD20
d Bj
2
 6.の α更新部分: α Bj  α Bj  arg min f D α  d Bj 
d Bj
l
さて、 w    i yi xi をメモリ中に保持し
ておけば
i 1
αT Qr ,id r  yr w, x r , r  Bj  最適化に必要なのはブ ロック Bjだけ。
なお、 w  w  rBj d r yr x r CD30
という更新で 6.の更新部分で wは更新すればよい。
双対化の御利益:
教師データアクセスの観点から
主問題と双対問題は最適化するパラメタ-数
が違う。
主問題パラメタ-数 >>双対問題パラメタ-数 な
ら双対問題を解くほうが楽 教科書的
SVMの場合:
主問題のパラメタ-は重みベクトル:w
双対問題にパラメタ-は個別データ:xi
必ずしも教科書的なお得感ではない。
双対化の御利益
SVMの場合:
主問題のパラメタ-は重みベクトル:w
下の定式化なので、全教師データ{tn,xn}が同時
に必要
1
arg min || w ||2
2
w ,b
subject to
tn ( w T  ( x n )  b)  1
n  1,, N
 ( SVM 30)
データ量が大きくメモリにロード仕切れない場
合に困ったことになる。
データ量は最近、増加傾向
双対化の御利益
 必ずしも教科書的なお得感ではない。
 一方、双対問題では入力データxitiのと最適化するaiが対応
する形で最適化式に現れるので、どのデータを学習で使うか
制御しやすい。(下の式参照)
 例えば、 ai(i≠j)を固定して、ajを最適化する操作をjを動かして繰り返
すなど。そのときには k x i , x j  j  1,..., N だけしか使わない。
N
1 N N

~
max L (a)  max an   an amtntm k (x n , x m )
2 n1 m1
 n1

subject to an  0
n  1,.., N
 ( SVM 80)
N
 antn  0
n 1
 ( SVM 70)
 ( SVM 90) where k (x n , x m )   (x n )T  (x m )
双対化の御利益
入力データ、あるいはカーネル行列
全体がメモリに乗り切らないビッグデ
ータを扱うために、入力(すなわちカ
ーネルk(xn, xm)の一部を取捨選択し
てメモリにロードして使う方法が、こ
N
の双対化で可能になっている。
ビッグデータ時代における御利益
 cf. 台湾大学のLIBSVM (SVMの実装)
 全データからどのようにメモリにロードする部
分を切り出すかについてはここで紹介した通
り。
M
k(xn, xm)
この部分だけ
使って最適化:
次に使う部分
ロードし直して最
適化:繰り返す
内外のバランス など
内側の繰り返しで最適化でCDにおいてαの
更新を1回にし、looseな解を求めると、外側
の繰り返しが多数回必要
内側の繰り返しで精密な最適化を行えば、外
側の繰り返しは少なくてよい。
Bj{j=1,..,m}内の要素の最適化処理における
順番は外側の繰り返し毎にランダムに変更し
た方が収束が早い
小さなブロックに分けてデータマイニング、機械学習
?
?
?
?
?
?
ブロックをメモリに順次ロードして学習し、その結果を活
用して次のブロックへ と繰り返す:
例えば Stream SVM
転移学習
?
?
?
この分類での学習の
?
結果を別のグループ
に転移して有効利用
?
?
?
?
異なる分類のデータ
?
?
分類されていない生のデータ
人間に正解をつけてもらうデータを絞り込む:Active学習
?
分類しにくい部
分のデータ
?
?
?
?
?
?
異なる分類のデータ
?
?
?
分類されていない生のデータ
付録: DualityによるFoReLの定式化
Fenchel 双対 : f * θ   max u, θ  f u 
u
明らかに次式が成立 : Fenchel - Young Equality :
u, f * θ   u, θ  f u 
w t  arg max u, z t  f u だとすると
u
w t , z t  f w t   u, z t  f u 
 f u   f w t   u  w t , z t
z tは fの w tにおける sub - gradient
fが微分可能なら、等式 が成立するときは f *の定義より z t  f w t 
Online Mirror Descent:OMD
FoReLで ft w   w, z t  Rw  なお、
Rw は正則化関数とする
w  Sだと Rw   とする
z1:t  i 1 z iと略記すると FoReLは
t
w t 1  arg min Rw   i 1 w, z t  arg min Rw   w, z1:t
t
w
 arg max w,z1:t  Rw 
w
w
g θ   arg max w, θ  Rw とおくと FoReLは
w
1. θt 1  θt  z t
2. w t 1  g θt 1 
Online Mirror Descent (OMD)
g:R d  S
θ1  0
for t  1,2,...
w t  g θt  ( arg max w, θ  Rw )
w
θt 1  θt  z t
where z t  ft w t 
ここで以下が言える
T
T
RegretT u     ft w t   ft u   Ru   min Rv     z t
vS
t 1
1
1 2
2
*
Rw   w  R  θ
2
2
t 1
2
*
(OMD100)
パーセプトロンの別のアルゴリズム
データ xiはN個ある。
w0  0; b0  0; k  0; R  max1i  N xi ;
repeat
for i  1 to N


この部分が線形識別
{if yi w(k )T xi  bk   0 then
{w(k  1)  w(k )  yi xi ;
bk  1  bk   yi R 2 ; k  k  1 ;}
}
forループ内で失敗しない


until (すなわち yi w(k )T xi  bk   0 の場合なし)
ように w(k ), bk を最適化の結果とする 。
yi w(k )T xi  bk   0 という識別に失敗したデータに、その値を
重み(学習率と呼ぶ)ηでwに足しこんで是正を図るアルゴリズム
更新後の判定式を見て みる


x  bk   y y x  y R 
x  bk   y x  R 
x  bk   y x  max x
yi w(k  1) xi  bk  1
T

 y w(k )
 y w(k )
 yi w(k )
T
T
i
T
i
2
i
i
2
i
i
2
i
i

i
2
i
2
第2項は必ず正
よって、 i i
2
i
i

2



yi w(k  1) xi  bk  1  yi w(k ) xi  bk 
したがって、失敗しな
T
T
い方向に wは改善していく。
w(k+1)
w(k)
パーセプトロンは有限回で収束
 mistakeのupper bound
Novikoffの定理(バイアスのある場合)
R  max1i  N xi
wopt  1 かつ 0


yi wopt xi  bopt   : マージン
T
である woptが存在するなら、パー セプトロン
アルゴリズムが失敗す る回数はたかだか
2
 2R 

 回である
  
(1)
証明
入力ベクトルに値 Rとなる 1次元加え、 xˆi  xiT , R  とする。
T
T

T bi 
wˆ i   wi ,  とする。
R

t回目の失敗 に先立つ 重みを wˆ t 1
更新は、 yi wˆ t 1  xˆi   yi wt 1  xi  bt 1   0
のとき起こ
T
る。 x  yは内積
T
T
b
b 


このとき wˆ t   wtT , t    wtT1 , t 1   yi xiT , R   wˆ t 1  yi xˆi
R
R 


bt bt 1
2
なぜなら 、 bt  bt 1  yi R


 yi R
R
R
( 2)
証明 つづき
T
T
T
 T bt   T bt 1 
T
wˆ t   wt ,    wt 1 ,
( 2)
  yi xi , R   wˆ t 1  yi xˆi
R 
R 

3
(1)より
wˆ t  wˆ opt  wˆ t 1  wˆ opt  yi xˆi  wˆ opt   wˆ t 1  wˆ opt  
wˆ 0  0とすれば 3を繰り返し用いて wˆ t  wˆ opt  t
2より
4
|| wˆ t ||2 || wˆ t 1 ||2 2yi wˆ t 1  xˆi    2 || xˆi ||2
 xˆiは負例なので第 2項は負
 || wˆ t 1 ||2  2 || xˆi ||2 || wˆ t 1 ||2  2 || xi ||2  R 2  || wˆ t 1 ||2 2 2 R 2

|| wˆ t ||2  2t  2 R 2
45より
 || wˆ t ||  2tR
5
|| wˆ opt || 2tR  || wˆ opt |||| wˆ t ||  wˆ t  wˆ opt  t
2
2
R
R
 2R 
2
2
ˆ
ˆ

 t  2  || wopt ||  2  || wopt || 1  
 
 
  
2
■