SlideShare a Scribd company logo
2011/11/11 IBIS 2011:オンライン予測セッション




        オンライン凸最適化と
      線形識識別モデル学習の最前線


         株式会社Preferred Infrastructure
              岡野原  ⼤大輔
背景:⼤大規模、リアルタイムな分析の需要の⾼高まり

l  ⾼高次元で疎な⼊入⼒力力を扱う
     l  例例:⾔言語処理理の例例では、全単語の3つまでの組み合わせ〜~数百億次元、	
  

         ⾮非零零要素数は平均数百〜~数万	
  
l  ⾼高スループット、低レイテンシな分析が求められる	
  
     l  SNS分析、アルゴリズムトレード、広告配信など	
  

     l  例例:	
  ⽂文書分類の場合、秒間1万⽂文書程度度が⽬目標(SNSなど)	
  



l    データは⼤大量量、モデルの種類数も膨⼤大
      l  全て集めてから処理理というのは困難	
  

      l  ユーザー毎に異異なるモデルを利利⽤用⇒分類器が数百万	
  
背景:⼿手法の発展

l  線形識識別モデルとオンライン凸最適化による学習により、⼤大量量のデータを
    利利⽤用した⾼高速な学習と識識別が可能となっている
     l  マシン1台でも秒間数万〜~数百万サンプルを処理理可能	
  

     l  サンプル数に対してlinear、全特徴発⽕火数に対しsublinear時間での学習	
  

     l  ⾃自然⾔言語処理理、画像解析、⾏行行動分析など様々な分野で利利⽤用	
  

l  モデル、学習アルゴリズムは毎年年進化している
     l  ⾼高精度度、⾼高い学習効率率率、コンパクトなモデル、⾼高ノイズ耐性	
  

l  アルゴリズムの性能解析も進化
     l  i.i.dを仮定しないRegret解析	
  
宣伝:Jubatus
l  NTT  PF研とPreferred  Infrastructureによる共同開発
    OSSで公開  http://jubat.us/
l  今回解説するオンライン学習モデルの多くがは分散並列列化された上で
    サポートされている




      リアルタイム  
       ストリーム      分散並列列           深い解析
                       4
今⽇日の話

l  導⼊入:線形識識別モデル
l  学習⼿手法
     l  Perceptron,	
  PA,	
  CW,	
  AROW,	
  NHERD	
  

l  凸コスト関数に対するオンライン学習のRegret解析
l  SIMBA : sublinear learningでのSVMの学習
線形識識別モデル
線形識識別器(⼆二値分類)

f(x;	
  w)	
  :=	
  sign(wTx)	
  

l    ⼊入⼒力力  x	
  ∈	
  Rm	
  から  出⼒力力  y	
  =	
  {-­‐1,	
  +1}	
  を予測する識識別関数  f(x; w)
       l  w∈Rm	
  が各特徴の重みであり、重み付き多数決で出⼒力力を推定	
  



l    単純ベイズ法、SVMs、ロジスティック回帰など多くの分類器が	
  
      線形識識別器に属する	
  
                                                                                  x1   x2     x3   …. xm
l    分類の計算量量は⾮非零零の特徴数に⽐比例例	
                                                     *    *     *        *
       	
                                                                         w1   w2    w3    …. wm


                                                                                            sum

      sign(z)	
  :=	
  +1	
  if	
  z	
  >=	
  0	
  and	
  -­‐1	
  otherwise	
  
線形識識別器の多値分類への拡張

f(x;	
  w)	
  :=	
  arg	
  maxy	
  wTyx

l    ⼊入⼒力力  x	
  ∈	
  Rm	
  から  出⼒力力  y	
  =	
  {1,	
  2,	
  …,	
  k}	
  を予測する識識別関数  f(x)
       l  重みは出⼒力力候補毎に用意	
  



l    以降降紹介する⼆二値分類の学習式はy(i)wTx(i)の部分をΔ:=	
  wy(i)Tx(i)	
  –	
  wy’Tx(i)	
  
      に置き換えることで多クラス分類に拡張できる.	
  
      l  但しy’は最もスコアが⾼高かった不不正解ラベル  y’	
  :=	
  argmax	
  y≠y(i)	
  wyTx(i)	
  



l    クラスラベル数が⾮非常に⼤大きくても、argmax	
  y≠y(i)	
  wyTx(i)	
  さえ⾼高速に	
  
      求まれば動く	
  
      l  c.f.	
  CRFs,	
  構造学習	
  
学習 = 重みベクトルwの推定 = 凸最適化問題

訓練例例{(x(i),	
  y(i))}	
  (i=1…n) を利利⽤用してwを推定する

w*	
  :=	
  argminw	
  Σi	
  L(x(i),	
  y(i),	
  w)	
  +	
  C	
  R(w)	
  

l  L(x, y, w) : 損失関数
     l  訓練例例を正しく識識別できているか	
  

     l  hinge-­‐loss	
  (SVM):	
  L(x,	
  y,	
  w)	
  =	
  [1	
  –	
  ywTx]	
  

     l  log-­‐loss	
  (logistic回帰):	
  log(1	
  +	
  exp(-­‐ywTx))	
  	
  

l  R(w) : 正則化項
    wに対する事前知識識.wがどのような形をとるかを決める
      l    C	
  >	
  0	
  	
  損失関数と正則化項の間のトレードオフパラメータ	
  


L, Rが共に凸関数ならば、この問題は凸最適化問題で効率率率的に解ける
線形識識別モデルの
 オンライン学習
オンライン学習

l  各訓練例例(x(i),y(i))に対して予測を⾏行行い、その結果に基づき、
    パラメータを即時更更新する
    	
  
l  オンライン学習の特徴
    l  学習例例が冗⻑⾧長な場合に収束が速い.	
  

    l  訓練例例を保存する必要は無く、その場で捨てられる	
  

    l  実装は簡単な場合が多い	
  

    l  凸最適化によるバッチ学習は確率率率的最急降降下法(SGD)でオンライン化可能	
  

      l    その場合のアルゴリズムの性能はRegretで評価できる(後述)
学習アルゴリズムの基本形

l    これから紹介する学習アルゴリズムは全て次の繰り返しで表現できる


1.  訓練例例  (x, y) を受け取る
2.  現在の識識別器で正しく分類できるかを調べる  ywiTx > E ?
3.  正しく分類できないのであればwiを次のように更更新
    wi+1	
  :=	
  wi	
  +	
  yαAx	
  
    但し、α>0∈R,	
  	
  A∈Rmxm	
  は半正定値⾏行行列列(対⾓角⾏行行列列の場合が多い)	
  


l    E, α, Aをいかに適切切に設定するかで、学習性能が変わってくる
       l  E:	
  	
  更更新条件	
  

      l    α	
  :	
  ステップ幅	
  
      l    A	
  :	
  各特徴毎の更更新幅.c.f.	
  マハラノビス距離離	
  
更更新の意味

l       α>	
  0、Aが半正定値⾏行行列列の時	
  
	
  	
  	
  ywi+1Tx	
  =	
  y(wi+yαAx)Tx	
                                                               y>0            wt
                                                                                                               y=-­‐1
                                                                                                                   x         -αAx
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  =	
  ywiTx	
  +	
  y2α(Ax)Tx	
     y<0
                                                                                                                              wt+1
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  =	
  ywiTx	
  +	
  αxTAx	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≧	
  ywiTx	
  	
  
	
                                                                                  常に正



l       今の訓練例例は少なくとも正しく分類されるように更更新	
  
線形識識別器のオンライン学習アルゴリズム

                                               登場した年年
次の⽅方法を紹介
l  Perceptron                                 1958	
  
l  Passive-Aggressive                         2002	
  
l  Confidence Weighted Learning               2006	
  
l  Adaptive Regularization of Weight Vector   2009	
  
l  Normal HERD                                2010	
  
                                               下に⾏行行くほど
                                               より⾼高精度度、速く収束
Perceptron             [Rosenblatt Psy. Rev. 58], [Collins EMNLP 02]



l  訓練例例(x,	
  y)に対し、現在の線形識識別器wiで分類できるかを調べ、誤って
    分類した場合は  wi+1	
  :=	
  wi	
  +	
  yx	
  と更更新	
  
    l  E	
  =	
  0,	
  α	
  =	
  1,	
  A	
  =	
  I	
  に対応	
  	
  

    	
  
l  単純な更更新式だが、⾃自然⾔言語処理理など多くのタスクで強⼒力力である
    l  最終的に得られたwではなく全ステップの平均wa	
  :=	
  ∑wiを利利⽤用する

         Averaged	
  Perceptronが良良く使われる	
  


l    Perceptronは訓練例例が線形分離離可能な場合、有限回の更更新で全ての訓練
      例例を分類できるパラメータを⾒見見つけられる(次項)の
      l    線形分離離可能で無い場合でも、多くの訓練例例を正しく分類できるwを⾒見見つ
            けられる	
  [Collins	
  02]	
  
定理理:訓練例例  {(x(i),	
  y(i))}Ni=1…N, |x(i)|2<R,	
  がある重みuでマージンγで分類可能
(y(i)uTx(i)≧γ)ならば、Perceptronの更更新回数は⾼高々 (R/γ)2回	
  
	
  
証明:	
                                                                                                                                 訓練例例数や特徴次元数に
                                                                                                                                         依存しない !
wkをk回⽬目の更更新直前の重みとする.	
  
wTk+1u	
  =	
  wTku	
  +	
  y(i)x(i)Tu	
    	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≧	
  wTku	
  +	
  γ	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≧	
  kγ	
  	
  (w0	
  =	
  0)	
  
また、	
  
|wk+1|2=|wk|2	
  +	
  2y(i)wkTx(i)	
  +	
  |x(i)|2	
  	
  	
  	
  	
  	
  	
  	
  (wkで間違えた訓練例例なので、y(i)wkTx(i)<0)	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≦|wk|2+R2	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≦kR2	
  	
  

上記2つより	
  
kR2≧|wk+1|2	
  ≧	
  |wTk+1u|2	
  ≧	
  k2γ2	
  ⇒	
  (R/γ)2	
  ≧	
  k	
  
Passive Aggressive
[Crammer, JMLR 06]
l    SVMのオンライン版	
  
       l    Gmailの優先トレイの学習でも利利⽤用	
  [Aberdeen	
  LCCC	
  2010]	
  
l  次の2つの条件を満たす重みwを探す	
  
     l  現在の訓練例例(x,	
  y)を正しく分類	
  

     l  今までの重みベクトルwiに近い	
  (=	
  これまでの訓練例例を正しく分類)	
  

l  wi+1	
  =	
  argminw	
  |w-­‐wi|2/2	
  +	
  C	
  L(x,	
  y,	
  w)2	
  
      l     但し、L(x, y, w) = [1 – ywTx]    (hinge–loss)


l    この問題は閉じた式で得られる	
  
Passive Aggressive (続)

wi+1	
  :=	
  wi	
  +	
  y	
  l(x,	
  y,	
  w)/(|x|2	
  +	
  1/C)	
  	
  x	
  
                                                                                    更更新式
l  PAの最適化問題は閉じた解を持ち、次のように更更新可能	
  
                                                                               wi+1 := wi + αAx
     l  E	
  =	
  1	
  
     l  α=	
  L(x,	
  y,	
  w)	
  /	
  (|x|2	
  +	
  1/C)	
  	
  
     l  A	
  =	
  I	
  
l  α∝L(x,	
  y,	
  w)であり、誤った割合に⽐比例例した更更新幅を使う
Confidence Weighted Algorithm (CW)
[K. Crammer, et. al, EMNLP 09]


l    重みwがガウス分布N(μ,	
  Σ)に従って分布しているとする
      l  μ∈Rmは現時点で最良良の重みベクトル	
  

      l  Σ∈Rmxmは各重みの確信度度を表す共分散⾏行行列列	
  




                         従来の更更新例例
                                             単⼀一のパラメータ
      wi                                     に⾜足し引きするだけ
             1.7                      0.6
                         CWの更更新例例
                                             パラメータ⾃自体が分布を
      wi                                     持っている
           N(1.7, 0.5)         N(0.6, 0.4)   (パラメータ間も)
CW(続)

l  PAと同じように次の2つを満たす分布(μ, Σ)を探す
     l  現在の訓練例例を正しく分類	
  

     l  今までの分布に近い(KL-­‐Divergenceの条件で)	
  

l  arg	
  minμ,	
  Σ	
  DKL(N(μ,	
  Σ)	
  ||	
  N(μi,	
  Σi))	
  	
  	
  s.t.	
  Prw〜~N(μ,Σ)[ywiTx	
  ≧	
  0]	
  ≧	
  η	
  


l    この最適化問題は閉じた解を持つ	
  
      l  E,	
  α,	
  Aをx,	
  y,	
  μ,	
  Σに関して閉じた式で与えることができる	
  

      l  PerceptronやPAと⽐比べると複雑な式	
  



l    ⾼高い学習効率率率
       l  ⾃自然⾔言語処理理の多くのタスクでは1回データを回すだけで収束
[K. Crammer, et. al, EMNLP 09]   殆んどのタスクで既存のオンライ
                                 ン学習のみでなく通常の学習器よ
                                       り⾼高精度度

                                 News Groupsのトピック
                                 Amazonレビューの上位7タイプ
                                 Amazonレビューの上位タイプ
                                 EnronのUser Aの上位10フォルダ
                                 EnronのUser Bの上位10フォルダ
                                 NewYork Times
Adaptive Regularization of
Weight Vectors (AROW) [Crammer NIPS+ 09]
l  CWは訓練例例にノイズがある場合に急激に性能が劣劣化
     l  更更新式では今の訓練例例を必ず分類するようにしているため	
  

l  学習時に三つの条件を同時に考慮し最適化
       条件1:	
  現在の訓練例例を正しく分類	
  
                                                                                                               CWでは1が常
       条件2:	
  今までの分布に近い(KL-­‐Divergenceにおいて)	
                                                                 に最優先
       条件3:	
  各特徴のConfidenceを更更新毎に上げる	
  
arg	
  minμ,	
  Σ	
  	
  DKL(N(μ,	
  Σ)	
  ||	
  N(μi,	
  Σi))	
  +	
  λ1L(x,	
  y,	
  μ)	
  +	
  λ2	
  xTΣx



                                     条件2                                   条件1                   条件3

l    E, α, Aは閉じた式で求めることができる
AROWの実験結果




      ノイズ  0%       ノイズ  10%   ノイズ  30%

l  左上にあるほどAROW > CW
l  ノイズ⼤大⇒AROWの精度度>CWの精度度
NHERD
[Crammer+ NIPS 10]
l  重みベクトルwがガウス分布N(μ, Σ)に従って分布しているとする
l  各重みベクトルをそれぞれPAの条件に従って更更新した後にこれをガウス
    分布で近似する
    l  CWの場合は、現在の分布にKL-­‐divergenceで近い分布で正しく分類できる

        ものを探していたがNHERDはマハラノビス距離離上でのユークリッド距離離	
  
    l  NHERDは重みベクトルの群れ(HERD)を正規化しながら更更新	
  



l    α, E, Aは閉じた式で求めることができる
       l  AROWと⽐比べると積極的な更更新を⾏行行う	
  
NHERDの更更新例例



 μ	
  =	
  (0,	
  0)	
  ,	
  Σ	
  = I

 に訓練例例
 x = (1, 2), y = 1
 を与えた時の更更新の様⼦子

 ⻘青は|w|=1, 緑は|w|=2の
 重みベクトルの集合

 真ん中の線は正しく分類、
 上側のdash線はマージン1で
 正しく分類



                                        [Crammer+ NIPS 10]
線形学習のまとめ
Given (x,	
  y)	
                                   v	
  =	
  xTΣx	
  
If ywTx	
  <	
  E	
  then                           b	
  =	
  1.f	
  +	
  2ywTxC	
  	
  
                                                    γ	
  =	
  	
  (-­‐b	
  +	
  (b2-­‐8C(ywTx	
  –	
  Cv))1/2)	
  /	
  4vC	
  
    w := w + αAx                                    β	
  =	
  (v	
  +	
  r)-­‐1
    Update(A)
                      E     α                                                   Update(A) (arr :=)
Perceptron            0     1                                                   1
PA (PA-II)            1     [1-­‐ywTx]	
  /	
  (|x|2	
  +	
  1/C)	
             1
CW                    γ     γ                                                   (arr-­‐1	
  +	
  2γ	
  xr)-­‐1
AROW                  1     [1-­‐ywTx]β                                         arr	
  –	
  β(arrxr)2
NHERD                 1     [1-­‐ywTx]/(v	
  +	
  1/C)                          (arr-­‐1	
  +	
  (2C	
  +	
  C2v)xr2)-­‐1
いずれのアルゴリズムも更更新時間はO(|x|0)	
  
オンライン凸最適化の
  Regret解析
⼀一般の損失関数の場合

l  先ほど紹介したのは分類専⾨門のモデル
    l  分類さえできれば良良い.特にモデルは仮定していない	
  

l  損失関数を利利⽤用した学習については確率率率的勾配降降下法(SGD)を利利⽤用して
    オンライン化可能
    w	
  :=	
  w	
  –	
  τ	
  ∂L(x,	
  y,	
  w)	
  
    l  正則化項がある場合でもFOBOS	
  (FOrward	
  Backward	
  Splitting)	
  [Duchi+	
  09]	
  

       などを利利⽤用して更更新式を少し変更更して組み込むことが可能(付録資料料)	
  


l    損失関数の性能はRegret解析で統⼀一的に調べられる
Regret解析

l  アルゴリズムAがxtを選択した後、ftが明かされコストft(xt)が発⽣生
l  RegretT(A)	
  :=	
  ∑i=1…T	
  ft(xt)	
  -­‐	
  minx∑i=1…T	
  ft(x)	
  	
  
     l  最適点(全tで同じ)を常に選んでいた場合と⽐比べて、アルゴリズムAが選

         んだ点によるコストはどれだけ多く発⽣生したか?	
  
     l  RegretT(A)	
  =	
  o(T)であるならば、Tを増やすほど最適点との1回あたりの差は

         ⼩小さくなっていき、最適点に近づく	
  (RegretT(A)	
  /	
  T	
  →	
  0)	
  


l    オンラインアルゴリズムの性能解析⼿手法としてRegret解析は強⼒力力
      l  fについてi.i.dなどの仮定はいらない	
  

            l    Aの挙動を⾒見見てから、コストが⼤大きくなるようにfiを選んでも良良い
      l    今回紹介する解析は確率率率的な議論論ではなく常に成り⽴立立つ	
  
教師有学習におけるRegret解析

l  アルゴリズムが選ぶパラメータはモデルパラメータwに対応
l  訓練例例  (x, y)に対する損失をコスト関数とするft(w) := L(x(t), y(t), w)
l  正則化はパラメータの値域Kで表現
     l  	
  |w|1<	
  C,	
  |w|2	
  <	
  C	
  	
  

l  Regretが⼩小さい = テストデータを正しく予測できている
     ∑i=1…T	
  L(x(t),	
  y(t),	
  wt)	
  -­‐	
  minw∑i=1…T	
  L(x(t),	
  y(t),	
  w)	
  	
  	
  	
  s.t.	
  	
  	
  w	
  ∈	
  K	
  
     	
  
     	
  
     *	
  Regret解析の場合のパラメータはxであることに注意	
  
     	
  
       	
  
⼀一般の線形コスト関数の場合
Regularized Follow The Leader (RTFL) :
xt+1	
  =	
  argminx∈K(η∑i=1…t	
  fiTx	
  +	
  R(x))	
   RTFL

l  但し、R(x)は強凸、η>0, Kは凸な集合であるとする
l  今までのコスト  + 正則化項が最⼩小である点を次の予想に使う
     l  次のコスト関数はこれまでのコスト関数とは関係無いことに注意	
  

     l  正則化項が無いとRegret=O(T)となる	
  

l  この時、RegretT(RTFL)	
  =	
  O(T1/2)
l  RTFLは様々なアルゴリズムの⼀一般化 [Hazan 11]
     l  Kがsimplex上の点、R(x)	
  =	
  xlogx	
  の時	
  multiplicative	
  updateに対応	
  

     l  Kが単位円、R(x)	
  =	
  |x|22の時、RTFLは最急降降下法に対応	
  

      l    過去のコスト関数を覚えておく必要はない	
  
コスト関数が強凸である場合
OGD : Online Gradient Descent
yt	
  =	
  xt-­‐1	
  –	
  ηt-­‐1∇ft-­‐1(xt-­‐1)	
  
xt	
  =	
  argminx∈K|x	
  –	
  yt|2
                                                      OGD

l  コスト関数ft(x)が強凸である場合は更更にRegret boundを強くできる
    l  f(x)がα強凸	
  ⇔	
  f’’(x)≧α	
  for	
  all	
  x	
  	
  

l  この時、RegretT(OGD)=O(logT)	
  [Hazan+ ML 07]	
  
    l  線形コスト関数に対するRTFLのO(T1/2)に⽐比べてO(logT)は遙かに⼩小さい	
  

    l  証明は初等的でシンプル(次項)	
  
OGDのRegretがO(logT)であることの証明 (1/2)
∇t	
  :=	
  ∇ft-­‐(xt)	
  	
  
x*	
  :=	
  argminx∑i=1…T	
  ft(x)	
  
dt	
  :=	
  xt	
  –	
  x*	
  


l                       fがα強凸であることをふまえて、xtの周りでfオイラー展開	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ft(x*)	
  	
  ≧	
  ft(xt)	
  	
  +	
  ∇tTdt	
  	
  +	
  (α/2)	
  dt	
  2	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  2(ft(xt)	
  -­‐	
  ft(x*))	
  ≦	
  -­‐	
  2∇tT	
  dt	
  –	
  α	
  dt2	
  	
  
	
  

l                                   ∇tT	
  dt	
  を上から抑えるために、|dt+1|2=|xt+1-­‐x*|2について調べる	
  
	
                      |dt+1|2	
  =	
  |proj(xt-­‐	
  –	
  ηt∇t)-­‐x*|2	
                                                                                                                                                                               proj(y)	
  :=	
  arg	
  minx∈K,	
  |x	
  -­‐	
  y|2	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≦	
  |x 	
  –	
  η ∇ -­‐x*|2	
       x*∈Kなので	
  
                                                                                                                                                                                                                            t-­‐      t t
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  =	
  	
  d 2	
  -­‐	
  2η ∇ Td 	
  +	
  η 2|∇ |2	
                           |proj(y)	
  –	
  x*|	
  ≦	
  |y	
  –	
  x*|	
  
                                                                                                                                                                                                                           t	
         t t t	
       t t
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  2∇tTdt	
  	
  =	
  	
  (dt2	
  -­‐	
  	
  dt+12)/ηt	
  	
  +	
  ηt|∇t|2	
                                                                  K
                                                                                                                                                                                                                    x*                                    proj(y)
	
  
                                                                                                                                                                                                                                                            y
OGDのRegretがO(logT)であることの証明 (2/2)

l                                   ∇tT	
  dt	
  	
  を代⼊入して、t=1…nについて両辺和をとり、ηt = 1/αt とおく.
                                     また、G	
  =	
  maxt|∇t|2	
  とおく	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  2∑t=1n	
  ft(xt)	
  -­‐	
  ft(x*)	
  ≦	
  ∑t=1n	
  dt	
  2	
  (1/ηt+1	
  –	
  1/ηt	
  –	
  α)	
  +	
  |∇t|2∑t=1n	
  ηt	
  	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≦	
  	
  G ∑t=1 	
  (1/αt)	
  	
  
                                                                                                                                                                                                                                                                                                      2    n

	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  ≦	
  G2/α	
  (1	
  +	
  logT)	
  
	
  
凸最適化の解析について

l  コスト関数については強凸以外に仮定はおいていないことに注意
    l  途中で変えても良良い。毎回ランダムな凸関数を使っても良良い	
  

l  確率率率的な解析ではなく常に成り⽴立立つ
    l  質問:悪意があるクエリに対してもなぜ成り⽴立立つか

        ⇒悪意があるクエリはこれまでのコスト関数の傾向とは離離れている.
              最適値x*のコスト和もどんどん悪くなる⇒差は離離れない
線形より⾼高速な学習
線形時間より⾼高速な学習は可能?

l    学習は、⼊入⼒力力に必要なO(nm)時間より速くすることは困難なように思える
      l  n	
  :	
  学習サンプル数	
  

      l  m	
  :	
  1サンプルあたりの平均⾮非零零特徴数	
  



l    任意のサンプル、特徴を⾃自由にアクセスできる環境では線形時間より計算
      量量を改善できるか?
      ⇒できる
SIMBA [Hazan+ NIPS 11]
(Sublinear IMportance-sampling Bi-stochastic Algorithm)

l  SVMをsub-linear時間で学習する
     l  訓練例例数をn,	
  特徴種類数をmとした時、ε近似の学習時間はO((n+m)/ε2)	
  

     l  実⽤用的にも、⾼高速なSVM学習器であるPegasos	
  [S.	
  Shwartz+	
  ICML	
  2007]	
  と

         ⽐比べて特徴アクセス数にして100倍近く⾼高速に求めることができる	
  
     l  オンラインではない(データを重み付きサンプリング)	
  

l  primal-dual法を利利⽤用
     l  importance-­‐weighted	
  samplingを利利⽤用し、怪しそうなサンプルを優先的に

         学習する.	
  
     l  どのサンプルが怪しいかどうかは、特徴側を利利⽤用してサンプル	
  

     l  主変数側、双対変数側の両⽅方で確率率率的勾配法で最適化を⾏行行う	
  
SIMBA(概要)

l            次の鞍点問題に対するprimal-dual法を利利⽤用 [Clarkson+ FOCS 10]
  	
  	
  	
  maxz∈K	
  mini∈[1,n]	
  ci(z)	
  
               l  SVMの場合、K	
  =	
  z∈	
  ci(z)	
  =	
  yi	
  (wTxi+	
  b)	
  +	
  ξi	
  

l  この問題を次のように変形
              maxz∈K	
  minp∈Δn	
  pici(z)	
  
               l  主変数	
  z、双対変数  p	
  これらを確率率率的に更更新	
  

l  主変数を更更新
               l  i	
  ∈[1,	
  n]をpに従って選び、ci(z)を⽤用いて勾配を求めzを更更新	
  O(d)	
  time	
  

l  双対変数を更更新
               l  ci(z)が⼩小さいpiが⼤大きくなるようにpを更更新	
  O(n)	
  time	
  



l    上記問題のε近似は確率率率1/2以上でO(ε-2(n + m))時間で得られる
PegasosとSIMBAの⽐比較

                                            Pegasos:
                                         代表的なSVMの
                                          ⾼高速学習⼿手法




News20の分類問題:  特徴発⽕火数1,355,191、訓練例例8000
特徴へのアクセス回数で⽐比較(注:横軸は対数)
最適値へPegasosの1/10で収束
まとめ

l  線形識識別器の学習アルゴリズムは毎年年着実に進展している
    l  同じ計算量量で、より⾼高精度度な分類、データの変化に追従.	
  

l  性能解析としてRegret解析が有効
    l  問題設定に仮定は少ない	
  

    l  悪意のある問題設定、データの変化に対しても追従可能	
  



l    今回扱えなかったオンライン最適化のトピック
      l  並列列分散環境の場合	
  

      l  線形識識別器以外の場合(⾏行行列列分解)	
  

      l  正則化付の場合(特にnon-­‐smoothなL1,	
  L0,	
  L∞)
付録資料料
正則化
正則化

l  正則化の⽅方法で、重みベクトルがどのような形をとるかが変わる
l  L2-norm |w|22 = ∑i wi2
     l  ⼤大きすぎる重みにペナルティがかかり、⼩小さくなるとペナルティは無視で

         きるほど⼩小さくなる	
  
l  L1-norm |w|1= ∑I |wi|
     l  多くの重みが0になるようにペナルティがかかる。	
  

l  L∞-norm |w|∞= maxi {|wi|}
     l  全ての重みが等しくなるようなペナルティがかかる	
  



l    これらの重みをグループ毎にかけることで、グループ毎に異異なる性質をも
      たせることができる
      l  Group	
  Lassoなど	
  
FOBOS (1/4)
(FOrward Backward Splitting) [Duchi+ 09]

l  f(w) + r(w)を最⼩小にするwをSGDで求める
     l  f(w)は微分可能  (例例:損失関数の和)	
  

     l  r(w)は微分不不可能(例例:	
  |w|1)	
  

l  最初にf(w)のみを最⼩小化し、その結果に近いものでr(w)を最⼩小化するwを
    求める




                             f(w)のみでの勾配降降下法  (gtf = ∂f(wt))
FOBOS (2/4)

l  先ほどの⼆二番⽬目のステップは
    単純な閉じた解が得られる場合が多い
l  例例1. r(w)	
  =	
  |w|1の場合
     	
  



l    例例2. r(w)	
  =	
  |w|22の場合


      wt +1 = wt +1 2 /(1 + λ )

           wt+1/2	
  =	
  (0.5,	
  -­‐1.0,	
  2.0,	
  -­‐0.7,	
  1.4)、λ=1 の時
           wt+1	
  	
  	
  =	
  (	
  	
  	
  0,	
  	
  	
  	
  	
  0,	
  1.0,	
  	
  	
  	
  	
  0,	
  	
  0.4)	
  
FOBOS (3/4)

l    例例3. Berhu正則化(0からγまでL1, γからL2)




l    複雑な正則化も混ぜたり⾃自由にできる
      l    L1とL2とL∞を同時に与える	
  
FOBOS (4/4)

l  バッチ学習と殆ど同じ結果が得られる
    l  同時期に提案された似た⼿手法も同様の結果	
  

    l  理理論論的にも近い結果が得られることが保障	
  

l  実装は⾮非常に簡単
    l  既存のオンライン学習に1⾏行行加えるだけ	
  

    l  「L1は引く、L2は割る」	
  
Efficient Sparse Modeling with Automatic Feature
Grouping [Zhong+ ICML 2011]
l  L1正則化は、全ての特汎化性能を失う場合が多い
     l  冗⻑⾧長な特徴f1とf2がある場合、L1正則化はf1側にのみ重みを与えて、f2側に0

         を与えてしまう。f1とf2に等しく重みを与えたい	
  
l  特徴のグループを⾒見見つけること⾃自体が⼤大変
     l  特徴にあらかじめ構造があるのであればGroup	
  Lassoなどで、正則化する

         ことができる	
  
l  全ての特徴ペアに対してL∞正則化を適⽤用する c.f. OSCAR
     l  |w|1+	
  λ	
  ∑i<j	
  max(|wi|,	
  |wj|)	
  

     l  徴ペアは重みが等しくなろうとする	
  



l    ペア数は特徴数がmの時O(m2)であり、計算量量がそのままだと⼤大きいが、
      O(m log m)時間で求められるアルゴリズムを提案
出典

l  [Collins EMNLP 02] “Discriminative Training Methods for Hidden
    Markov Models: Theory and Experiments with Perceptron Algorithms. 
    Michael Collins, EMNLP 2002,
l  [Crammer, JMLR 06] “Online Passive-Aggressive Algorithms”, Koby
    Crammer, Ofer Dekel, Joseph Keshet, Shai Shalev-Shwartz, Yoram
    Singer, Journal of Machine Learning, 2006
l  [Dredze+, ICML 08] “Confidence-Weighted Linear Classification”,
    Mark Dredze, Koby Crammer and Fernando Pereira , ICML 2008
l  [Crammer+ NIPS 08] “Exact Convex Confidence-Weighted Learning”,
    Koby Crammer, Mark Dredze and Fernando Pereira, NIPS 2008
l  [Duchi+ 09] “Online and Batch Learning using Forward Backward
    Splitting”, John Duchi and Yoram Singer, JMLR
l  [S. S.-Shwartz 07] “Online Learning: Theory, Algorithms, and
    Applications”, S. Shalev-Shwartz, Ph. D thesis 2007
l  [Hazan+ ML 07] “Logarithmic regret algorithms for online convex
    optimization”, E. Hazan, A. Agarwal and S. Kale. Machine Learning
    2007
l  [Hazan+ 11] “The convex optimization approach to regret
    minimization”,
    http://ie.technion.ac.il/~ehazan/papers/opt_book.pdf
l  [Clarkson, FOCS 10] “Sublinear optimization for machine learning”,
    K. L. Clarkson, E. Hazan and D. P Woodruff, FOCS 2010
                                     .
l  [Shalev+ ICML 07] “Pegasos: Primal estimated sub-gradient solver
    for SVM”,S. Shalev-Shwartz and N. Srebro, ICML 2007
l  [Hazan+ NIPS 11] “Beating SGD: Learning SVMs in Sublinear Time”,
    E. Hazan, T. Koren, and N. Srebro, NIPS 2011

More Related Content

オンライン凸最適化と線形識別モデル学習の最前線_IBIS2011

  • 1. 2011/11/11 IBIS 2011:オンライン予測セッション オンライン凸最適化と 線形識識別モデル学習の最前線 株式会社Preferred Infrastructure 岡野原  ⼤大輔
  • 2. 背景:⼤大規模、リアルタイムな分析の需要の⾼高まり l  ⾼高次元で疎な⼊入⼒力力を扱う l  例例:⾔言語処理理の例例では、全単語の3つまでの組み合わせ〜~数百億次元、   ⾮非零零要素数は平均数百〜~数万   l  ⾼高スループット、低レイテンシな分析が求められる   l  SNS分析、アルゴリズムトレード、広告配信など   l  例例:  ⽂文書分類の場合、秒間1万⽂文書程度度が⽬目標(SNSなど)   l  データは⼤大量量、モデルの種類数も膨⼤大 l  全て集めてから処理理というのは困難   l  ユーザー毎に異異なるモデルを利利⽤用⇒分類器が数百万  
  • 3. 背景:⼿手法の発展 l  線形識識別モデルとオンライン凸最適化による学習により、⼤大量量のデータを 利利⽤用した⾼高速な学習と識識別が可能となっている l  マシン1台でも秒間数万〜~数百万サンプルを処理理可能   l  サンプル数に対してlinear、全特徴発⽕火数に対しsublinear時間での学習   l  ⾃自然⾔言語処理理、画像解析、⾏行行動分析など様々な分野で利利⽤用   l  モデル、学習アルゴリズムは毎年年進化している l  ⾼高精度度、⾼高い学習効率率率、コンパクトなモデル、⾼高ノイズ耐性   l  アルゴリズムの性能解析も進化 l  i.i.dを仮定しないRegret解析  
  • 4. 宣伝:Jubatus l  NTT  PF研とPreferred  Infrastructureによる共同開発 OSSで公開  http://jubat.us/ l  今回解説するオンライン学習モデルの多くがは分散並列列化された上で サポートされている リアルタイム   ストリーム 分散並列列 深い解析 4
  • 5. 今⽇日の話 l  導⼊入:線形識識別モデル l  学習⼿手法 l  Perceptron,  PA,  CW,  AROW,  NHERD   l  凸コスト関数に対するオンライン学習のRegret解析 l  SIMBA : sublinear learningでのSVMの学習
  • 7. 線形識識別器(⼆二値分類) f(x;  w)  :=  sign(wTx)   l  ⼊入⼒力力  x  ∈  Rm  から  出⼒力力  y  =  {-­‐1,  +1}  を予測する識識別関数  f(x; w) l  w∈Rm  が各特徴の重みであり、重み付き多数決で出⼒力力を推定   l  単純ベイズ法、SVMs、ロジスティック回帰など多くの分類器が   線形識識別器に属する   x1 x2 x3 …. xm l  分類の計算量量は⾮非零零の特徴数に⽐比例例   * * * *   w1 w2 w3 …. wm sum sign(z)  :=  +1  if  z  >=  0  and  -­‐1  otherwise  
  • 8. 線形識識別器の多値分類への拡張 f(x;  w)  :=  arg  maxy  wTyx l  ⼊入⼒力力  x  ∈  Rm  から  出⼒力力  y  =  {1,  2,  …,  k}  を予測する識識別関数  f(x) l  重みは出⼒力力候補毎に用意   l  以降降紹介する⼆二値分類の学習式はy(i)wTx(i)の部分をΔ:=  wy(i)Tx(i)  –  wy’Tx(i)   に置き換えることで多クラス分類に拡張できる.   l  但しy’は最もスコアが⾼高かった不不正解ラベル  y’  :=  argmax  y≠y(i)  wyTx(i)   l  クラスラベル数が⾮非常に⼤大きくても、argmax  y≠y(i)  wyTx(i)  さえ⾼高速に   求まれば動く   l  c.f.  CRFs,  構造学習  
  • 9. 学習 = 重みベクトルwの推定 = 凸最適化問題 訓練例例{(x(i),  y(i))}  (i=1…n) を利利⽤用してwを推定する w*  :=  argminw  Σi  L(x(i),  y(i),  w)  +  C  R(w)   l  L(x, y, w) : 損失関数 l  訓練例例を正しく識識別できているか   l  hinge-­‐loss  (SVM):  L(x,  y,  w)  =  [1  –  ywTx]   l  log-­‐loss  (logistic回帰):  log(1  +  exp(-­‐ywTx))     l  R(w) : 正則化項 wに対する事前知識識.wがどのような形をとるかを決める l  C  >  0    損失関数と正則化項の間のトレードオフパラメータ   L, Rが共に凸関数ならば、この問題は凸最適化問題で効率率率的に解ける
  • 11. オンライン学習 l  各訓練例例(x(i),y(i))に対して予測を⾏行行い、その結果に基づき、 パラメータを即時更更新する   l  オンライン学習の特徴 l  学習例例が冗⻑⾧長な場合に収束が速い.   l  訓練例例を保存する必要は無く、その場で捨てられる   l  実装は簡単な場合が多い   l  凸最適化によるバッチ学習は確率率率的最急降降下法(SGD)でオンライン化可能   l  その場合のアルゴリズムの性能はRegretで評価できる(後述)
  • 12. 学習アルゴリズムの基本形 l  これから紹介する学習アルゴリズムは全て次の繰り返しで表現できる 1.  訓練例例  (x, y) を受け取る 2.  現在の識識別器で正しく分類できるかを調べる  ywiTx > E ? 3.  正しく分類できないのであればwiを次のように更更新 wi+1  :=  wi  +  yαAx   但し、α>0∈R,    A∈Rmxm  は半正定値⾏行行列列(対⾓角⾏行行列列の場合が多い)   l  E, α, Aをいかに適切切に設定するかで、学習性能が変わってくる l  E:    更更新条件   l  α  :  ステップ幅   l  A  :  各特徴毎の更更新幅.c.f.  マハラノビス距離離  
  • 13. 更更新の意味 l  α>  0、Aが半正定値⾏行行列列の時        ywi+1Tx  =  y(wi+yαAx)Tx   y>0 wt y=-­‐1 x -αAx                                =  ywiTx  +  y2α(Ax)Tx   y<0 wt+1                                =  ywiTx  +  αxTAx                                  ≧  ywiTx       常に正 l  今の訓練例例は少なくとも正しく分類されるように更更新  
  • 14. 線形識識別器のオンライン学習アルゴリズム 登場した年年 次の⽅方法を紹介 l  Perceptron 1958   l  Passive-Aggressive 2002   l  Confidence Weighted Learning 2006   l  Adaptive Regularization of Weight Vector 2009   l  Normal HERD 2010   下に⾏行行くほど より⾼高精度度、速く収束
  • 15. Perceptron [Rosenblatt Psy. Rev. 58], [Collins EMNLP 02] l  訓練例例(x,  y)に対し、現在の線形識識別器wiで分類できるかを調べ、誤って 分類した場合は  wi+1  :=  wi  +  yx  と更更新   l  E  =  0,  α  =  1,  A  =  I  に対応       l  単純な更更新式だが、⾃自然⾔言語処理理など多くのタスクで強⼒力力である l  最終的に得られたwではなく全ステップの平均wa  :=  ∑wiを利利⽤用する Averaged  Perceptronが良良く使われる   l  Perceptronは訓練例例が線形分離離可能な場合、有限回の更更新で全ての訓練 例例を分類できるパラメータを⾒見見つけられる(次項)の l  線形分離離可能で無い場合でも、多くの訓練例例を正しく分類できるwを⾒見見つ けられる  [Collins  02]  
  • 16. 定理理:訓練例例  {(x(i),  y(i))}Ni=1…N, |x(i)|2<R,  がある重みuでマージンγで分類可能 (y(i)uTx(i)≧γ)ならば、Perceptronの更更新回数は⾼高々 (R/γ)2回     証明:   訓練例例数や特徴次元数に 依存しない ! wkをk回⽬目の更更新直前の重みとする.   wTk+1u  =  wTku  +  y(i)x(i)Tu                                        ≧  wTku  +  γ                                ≧  kγ    (w0  =  0)   また、   |wk+1|2=|wk|2  +  2y(i)wkTx(i)  +  |x(i)|2                (wkで間違えた訓練例例なので、y(i)wkTx(i)<0)                      ≦|wk|2+R2                                                                        ≦kR2     上記2つより   kR2≧|wk+1|2  ≧  |wTk+1u|2  ≧  k2γ2  ⇒  (R/γ)2  ≧  k  
  • 17. Passive Aggressive [Crammer, JMLR 06] l  SVMのオンライン版   l  Gmailの優先トレイの学習でも利利⽤用  [Aberdeen  LCCC  2010]   l  次の2つの条件を満たす重みwを探す   l  現在の訓練例例(x,  y)を正しく分類   l  今までの重みベクトルwiに近い  (=  これまでの訓練例例を正しく分類)   l  wi+1  =  argminw  |w-­‐wi|2/2  +  C  L(x,  y,  w)2   l  但し、L(x, y, w) = [1 – ywTx] (hinge–loss) l  この問題は閉じた式で得られる  
  • 18. Passive Aggressive (続) wi+1  :=  wi  +  y  l(x,  y,  w)/(|x|2  +  1/C)    x   更更新式 l  PAの最適化問題は閉じた解を持ち、次のように更更新可能   wi+1 := wi + αAx l  E  =  1   l  α=  L(x,  y,  w)  /  (|x|2  +  1/C)     l  A  =  I   l  α∝L(x,  y,  w)であり、誤った割合に⽐比例例した更更新幅を使う
  • 19. Confidence Weighted Algorithm (CW) [K. Crammer, et. al, EMNLP 09] l  重みwがガウス分布N(μ,  Σ)に従って分布しているとする l  μ∈Rmは現時点で最良良の重みベクトル   l  Σ∈Rmxmは各重みの確信度度を表す共分散⾏行行列列   従来の更更新例例 単⼀一のパラメータ wi に⾜足し引きするだけ 1.7 0.6 CWの更更新例例 パラメータ⾃自体が分布を wi 持っている N(1.7, 0.5) N(0.6, 0.4) (パラメータ間も)
  • 20. CW(続) l  PAと同じように次の2つを満たす分布(μ, Σ)を探す l  現在の訓練例例を正しく分類   l  今までの分布に近い(KL-­‐Divergenceの条件で)   l  arg  minμ,  Σ  DKL(N(μ,  Σ)  ||  N(μi,  Σi))      s.t.  Prw〜~N(μ,Σ)[ywiTx  ≧  0]  ≧  η   l  この最適化問題は閉じた解を持つ   l  E,  α,  Aをx,  y,  μ,  Σに関して閉じた式で与えることができる   l  PerceptronやPAと⽐比べると複雑な式   l  ⾼高い学習効率率率 l  ⾃自然⾔言語処理理の多くのタスクでは1回データを回すだけで収束
  • 21. [K. Crammer, et. al, EMNLP 09] 殆んどのタスクで既存のオンライ ン学習のみでなく通常の学習器よ り⾼高精度度 News Groupsのトピック Amazonレビューの上位7タイプ Amazonレビューの上位タイプ EnronのUser Aの上位10フォルダ EnronのUser Bの上位10フォルダ NewYork Times
  • 22. Adaptive Regularization of Weight Vectors (AROW) [Crammer NIPS+ 09] l  CWは訓練例例にノイズがある場合に急激に性能が劣劣化 l  更更新式では今の訓練例例を必ず分類するようにしているため   l  学習時に三つの条件を同時に考慮し最適化 条件1:  現在の訓練例例を正しく分類   CWでは1が常 条件2:  今までの分布に近い(KL-­‐Divergenceにおいて)   に最優先 条件3:  各特徴のConfidenceを更更新毎に上げる   arg  minμ,  Σ    DKL(N(μ,  Σ)  ||  N(μi,  Σi))  +  λ1L(x,  y,  μ)  +  λ2  xTΣx 条件2 条件1 条件3 l  E, α, Aは閉じた式で求めることができる
  • 23. AROWの実験結果 ノイズ  0% ノイズ  10% ノイズ  30% l  左上にあるほどAROW > CW l  ノイズ⼤大⇒AROWの精度度>CWの精度度
  • 24. NHERD [Crammer+ NIPS 10] l  重みベクトルwがガウス分布N(μ, Σ)に従って分布しているとする l  各重みベクトルをそれぞれPAの条件に従って更更新した後にこれをガウス 分布で近似する l  CWの場合は、現在の分布にKL-­‐divergenceで近い分布で正しく分類できる ものを探していたがNHERDはマハラノビス距離離上でのユークリッド距離離   l  NHERDは重みベクトルの群れ(HERD)を正規化しながら更更新   l  α, E, Aは閉じた式で求めることができる l  AROWと⽐比べると積極的な更更新を⾏行行う  
  • 25. NHERDの更更新例例 μ  =  (0,  0)  ,  Σ  = I に訓練例例 x = (1, 2), y = 1 を与えた時の更更新の様⼦子 ⻘青は|w|=1, 緑は|w|=2の 重みベクトルの集合 真ん中の線は正しく分類、 上側のdash線はマージン1で 正しく分類 [Crammer+ NIPS 10]
  • 26. 線形学習のまとめ Given (x,  y)   v  =  xTΣx   If ywTx  <  E  then b  =  1.f  +  2ywTxC     γ  =    (-­‐b  +  (b2-­‐8C(ywTx  –  Cv))1/2)  /  4vC   w := w + αAx β  =  (v  +  r)-­‐1 Update(A) E α Update(A) (arr :=) Perceptron 0 1 1 PA (PA-II) 1 [1-­‐ywTx]  /  (|x|2  +  1/C)   1 CW γ γ (arr-­‐1  +  2γ  xr)-­‐1 AROW 1 [1-­‐ywTx]β arr  –  β(arrxr)2 NHERD 1 [1-­‐ywTx]/(v  +  1/C) (arr-­‐1  +  (2C  +  C2v)xr2)-­‐1 いずれのアルゴリズムも更更新時間はO(|x|0)  
  • 28. ⼀一般の損失関数の場合 l  先ほど紹介したのは分類専⾨門のモデル l  分類さえできれば良良い.特にモデルは仮定していない   l  損失関数を利利⽤用した学習については確率率率的勾配降降下法(SGD)を利利⽤用して オンライン化可能 w  :=  w  –  τ  ∂L(x,  y,  w)   l  正則化項がある場合でもFOBOS  (FOrward  Backward  Splitting)  [Duchi+  09]   などを利利⽤用して更更新式を少し変更更して組み込むことが可能(付録資料料)   l  損失関数の性能はRegret解析で統⼀一的に調べられる
  • 29. Regret解析 l  アルゴリズムAがxtを選択した後、ftが明かされコストft(xt)が発⽣生 l  RegretT(A)  :=  ∑i=1…T  ft(xt)  -­‐  minx∑i=1…T  ft(x)     l  最適点(全tで同じ)を常に選んでいた場合と⽐比べて、アルゴリズムAが選 んだ点によるコストはどれだけ多く発⽣生したか?   l  RegretT(A)  =  o(T)であるならば、Tを増やすほど最適点との1回あたりの差は ⼩小さくなっていき、最適点に近づく  (RegretT(A)  /  T  →  0)   l  オンラインアルゴリズムの性能解析⼿手法としてRegret解析は強⼒力力 l  fについてi.i.dなどの仮定はいらない   l  Aの挙動を⾒見見てから、コストが⼤大きくなるようにfiを選んでも良良い l  今回紹介する解析は確率率率的な議論論ではなく常に成り⽴立立つ  
  • 30. 教師有学習におけるRegret解析 l  アルゴリズムが選ぶパラメータはモデルパラメータwに対応 l  訓練例例  (x, y)に対する損失をコスト関数とするft(w) := L(x(t), y(t), w) l  正則化はパラメータの値域Kで表現 l   |w|1<  C,  |w|2  <  C     l  Regretが⼩小さい = テストデータを正しく予測できている ∑i=1…T  L(x(t),  y(t),  wt)  -­‐  minw∑i=1…T  L(x(t),  y(t),  w)        s.t.      w  ∈  K       *  Regret解析の場合のパラメータはxであることに注意      
  • 31. ⼀一般の線形コスト関数の場合 Regularized Follow The Leader (RTFL) : xt+1  =  argminx∈K(η∑i=1…t  fiTx  +  R(x))   RTFL l  但し、R(x)は強凸、η>0, Kは凸な集合であるとする l  今までのコスト  + 正則化項が最⼩小である点を次の予想に使う l  次のコスト関数はこれまでのコスト関数とは関係無いことに注意   l  正則化項が無いとRegret=O(T)となる   l  この時、RegretT(RTFL)  =  O(T1/2) l  RTFLは様々なアルゴリズムの⼀一般化 [Hazan 11] l  Kがsimplex上の点、R(x)  =  xlogx  の時  multiplicative  updateに対応   l  Kが単位円、R(x)  =  |x|22の時、RTFLは最急降降下法に対応   l  過去のコスト関数を覚えておく必要はない  
  • 32. コスト関数が強凸である場合 OGD : Online Gradient Descent yt  =  xt-­‐1  –  ηt-­‐1∇ft-­‐1(xt-­‐1)   xt  =  argminx∈K|x  –  yt|2 OGD l  コスト関数ft(x)が強凸である場合は更更にRegret boundを強くできる l  f(x)がα強凸  ⇔  f’’(x)≧α  for  all  x     l  この時、RegretT(OGD)=O(logT)  [Hazan+ ML 07]   l  線形コスト関数に対するRTFLのO(T1/2)に⽐比べてO(logT)は遙かに⼩小さい   l  証明は初等的でシンプル(次項)  
  • 33. OGDのRegretがO(logT)であることの証明 (1/2) ∇t  :=  ∇ft-­‐(xt)     x*  :=  argminx∑i=1…T  ft(x)   dt  :=  xt  –  x*   l  fがα強凸であることをふまえて、xtの周りでfオイラー展開                                                                        ft(x*)    ≧  ft(xt)    +  ∇tTdt    +  (α/2)  dt  2                                        2(ft(xt)  -­‐  ft(x*))  ≦  -­‐  2∇tT  dt  –  α  dt2       l  ∇tT  dt  を上から抑えるために、|dt+1|2=|xt+1-­‐x*|2について調べる                        |dt+1|2  =  |proj(xt-­‐  –  ηt∇t)-­‐x*|2   proj(y)  :=  arg  minx∈K,  |x  -­‐  y|2                                                                                                            ≦  |x  –  η ∇ -­‐x*|2   x*∈Kなので   t-­‐ t t                                                                                      =    d 2  -­‐  2η ∇ Td  +  η 2|∇ |2   |proj(y)  –  x*|  ≦  |y  –  x*|   t   t t t   t t                                            2∇tTdt    =    (dt2  -­‐    dt+12)/ηt    +  ηt|∇t|2   K x* proj(y)   y
  • 34. OGDのRegretがO(logT)であることの証明 (2/2) l  ∇tT  dt    を代⼊入して、t=1…nについて両辺和をとり、ηt = 1/αt とおく. また、G  =  maxt|∇t|2  とおく                          2∑t=1n  ft(xt)  -­‐  ft(x*)  ≦  ∑t=1n  dt  2  (1/ηt+1  –  1/ηt  –  α)  +  |∇t|2∑t=1n  ηt                                                                                                                                                  ≦    G ∑t=1  (1/αt)     2 n                                                                                                ≦  G2/α  (1  +  logT)    
  • 35. 凸最適化の解析について l  コスト関数については強凸以外に仮定はおいていないことに注意 l  途中で変えても良良い。毎回ランダムな凸関数を使っても良良い   l  確率率率的な解析ではなく常に成り⽴立立つ l  質問:悪意があるクエリに対してもなぜ成り⽴立立つか ⇒悪意があるクエリはこれまでのコスト関数の傾向とは離離れている.      最適値x*のコスト和もどんどん悪くなる⇒差は離離れない
  • 37. 線形時間より⾼高速な学習は可能? l  学習は、⼊入⼒力力に必要なO(nm)時間より速くすることは困難なように思える l  n  :  学習サンプル数   l  m  :  1サンプルあたりの平均⾮非零零特徴数   l  任意のサンプル、特徴を⾃自由にアクセスできる環境では線形時間より計算 量量を改善できるか? ⇒できる
  • 38. SIMBA [Hazan+ NIPS 11] (Sublinear IMportance-sampling Bi-stochastic Algorithm) l  SVMをsub-linear時間で学習する l  訓練例例数をn,  特徴種類数をmとした時、ε近似の学習時間はO((n+m)/ε2)   l  実⽤用的にも、⾼高速なSVM学習器であるPegasos  [S.  Shwartz+  ICML  2007]  と ⽐比べて特徴アクセス数にして100倍近く⾼高速に求めることができる   l  オンラインではない(データを重み付きサンプリング)   l  primal-dual法を利利⽤用 l  importance-­‐weighted  samplingを利利⽤用し、怪しそうなサンプルを優先的に 学習する.   l  どのサンプルが怪しいかどうかは、特徴側を利利⽤用してサンプル   l  主変数側、双対変数側の両⽅方で確率率率的勾配法で最適化を⾏行行う  
  • 39. SIMBA(概要) l  次の鞍点問題に対するprimal-dual法を利利⽤用 [Clarkson+ FOCS 10]      maxz∈K  mini∈[1,n]  ci(z)   l  SVMの場合、K  =  z∈  ci(z)  =  yi  (wTxi+  b)  +  ξi   l  この問題を次のように変形 maxz∈K  minp∈Δn  pici(z)   l  主変数  z、双対変数  p  これらを確率率率的に更更新   l  主変数を更更新 l  i  ∈[1,  n]をpに従って選び、ci(z)を⽤用いて勾配を求めzを更更新  O(d)  time   l  双対変数を更更新 l  ci(z)が⼩小さいpiが⼤大きくなるようにpを更更新  O(n)  time   l  上記問題のε近似は確率率率1/2以上でO(ε-2(n + m))時間で得られる
  • 40. PegasosとSIMBAの⽐比較 Pegasos: 代表的なSVMの ⾼高速学習⼿手法 News20の分類問題:  特徴発⽕火数1,355,191、訓練例例8000 特徴へのアクセス回数で⽐比較(注:横軸は対数) 最適値へPegasosの1/10で収束
  • 41. まとめ l  線形識識別器の学習アルゴリズムは毎年年着実に進展している l  同じ計算量量で、より⾼高精度度な分類、データの変化に追従.   l  性能解析としてRegret解析が有効 l  問題設定に仮定は少ない   l  悪意のある問題設定、データの変化に対しても追従可能   l  今回扱えなかったオンライン最適化のトピック l  並列列分散環境の場合   l  線形識識別器以外の場合(⾏行行列列分解)   l  正則化付の場合(特にnon-­‐smoothなL1,  L0,  L∞)
  • 44. 正則化 l  正則化の⽅方法で、重みベクトルがどのような形をとるかが変わる l  L2-norm |w|22 = ∑i wi2 l  ⼤大きすぎる重みにペナルティがかかり、⼩小さくなるとペナルティは無視で きるほど⼩小さくなる   l  L1-norm |w|1= ∑I |wi| l  多くの重みが0になるようにペナルティがかかる。   l  L∞-norm |w|∞= maxi {|wi|} l  全ての重みが等しくなるようなペナルティがかかる   l  これらの重みをグループ毎にかけることで、グループ毎に異異なる性質をも たせることができる l  Group  Lassoなど  
  • 45. FOBOS (1/4) (FOrward Backward Splitting) [Duchi+ 09] l  f(w) + r(w)を最⼩小にするwをSGDで求める l  f(w)は微分可能  (例例:損失関数の和)   l  r(w)は微分不不可能(例例:  |w|1)   l  最初にf(w)のみを最⼩小化し、その結果に近いものでr(w)を最⼩小化するwを 求める f(w)のみでの勾配降降下法  (gtf = ∂f(wt))
  • 46. FOBOS (2/4) l  先ほどの⼆二番⽬目のステップは 単純な閉じた解が得られる場合が多い l  例例1. r(w)  =  |w|1の場合   l  例例2. r(w)  =  |w|22の場合 wt +1 = wt +1 2 /(1 + λ ) wt+1/2  =  (0.5,  -­‐1.0,  2.0,  -­‐0.7,  1.4)、λ=1 の時 wt+1      =  (      0,          0,  1.0,          0,    0.4)  
  • 47. FOBOS (3/4) l  例例3. Berhu正則化(0からγまでL1, γからL2) l  複雑な正則化も混ぜたり⾃自由にできる l  L1とL2とL∞を同時に与える  
  • 48. FOBOS (4/4) l  バッチ学習と殆ど同じ結果が得られる l  同時期に提案された似た⼿手法も同様の結果   l  理理論論的にも近い結果が得られることが保障   l  実装は⾮非常に簡単 l  既存のオンライン学習に1⾏行行加えるだけ   l  「L1は引く、L2は割る」  
  • 49. Efficient Sparse Modeling with Automatic Feature Grouping [Zhong+ ICML 2011] l  L1正則化は、全ての特汎化性能を失う場合が多い l  冗⻑⾧長な特徴f1とf2がある場合、L1正則化はf1側にのみ重みを与えて、f2側に0 を与えてしまう。f1とf2に等しく重みを与えたい   l  特徴のグループを⾒見見つけること⾃自体が⼤大変 l  特徴にあらかじめ構造があるのであればGroup  Lassoなどで、正則化する ことができる   l  全ての特徴ペアに対してL∞正則化を適⽤用する c.f. OSCAR l  |w|1+  λ  ∑i<j  max(|wi|,  |wj|)   l  徴ペアは重みが等しくなろうとする   l  ペア数は特徴数がmの時O(m2)であり、計算量量がそのままだと⼤大きいが、 O(m log m)時間で求められるアルゴリズムを提案
  • 50. 出典 l  [Collins EMNLP 02] “Discriminative Training Methods for Hidden Markov Models: Theory and Experiments with Perceptron Algorithms.  Michael Collins, EMNLP 2002, l  [Crammer, JMLR 06] “Online Passive-Aggressive Algorithms”, Koby Crammer, Ofer Dekel, Joseph Keshet, Shai Shalev-Shwartz, Yoram Singer, Journal of Machine Learning, 2006 l  [Dredze+, ICML 08] “Confidence-Weighted Linear Classification”, Mark Dredze, Koby Crammer and Fernando Pereira , ICML 2008 l  [Crammer+ NIPS 08] “Exact Convex Confidence-Weighted Learning”, Koby Crammer, Mark Dredze and Fernando Pereira, NIPS 2008
  • 51. l  [Duchi+ 09] “Online and Batch Learning using Forward Backward Splitting”, John Duchi and Yoram Singer, JMLR l  [S. S.-Shwartz 07] “Online Learning: Theory, Algorithms, and Applications”, S. Shalev-Shwartz, Ph. D thesis 2007 l  [Hazan+ ML 07] “Logarithmic regret algorithms for online convex optimization”, E. Hazan, A. Agarwal and S. Kale. Machine Learning 2007 l  [Hazan+ 11] “The convex optimization approach to regret minimization”, http://ie.technion.ac.il/~ehazan/papers/opt_book.pdf
  • 52. l  [Clarkson, FOCS 10] “Sublinear optimization for machine learning”, K. L. Clarkson, E. Hazan and D. P Woodruff, FOCS 2010 . l  [Shalev+ ICML 07] “Pegasos: Primal estimated sub-gradient solver for SVM”,S. Shalev-Shwartz and N. Srebro, ICML 2007 l  [Hazan+ NIPS 11] “Beating SGD: Learning SVMs in Sublinear Time”, E. Hazan, T. Koren, and N. Srebro, NIPS 2011