FOBOS

  • 3,953 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,953
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
39
Comments
0
Likes
7

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. L1正則化を導入した Online学習手法 東京大学 中川研究室 修士一年 大岩秀和
  • 2. 目次 はじめに  紹介論文概要  問題設定:教師あり学習 Online学習/L1正則化  Online学習  L1正則化 Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析 実験 まとめ 2
  • 3. 目次 はじめに  紹介論文概要  問題設定:教師あり学習 Online学習/L1正則化  Online学習  L1正則化 Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析 実験 まとめ 3
  • 4. 紹介論文概要 Efficient Online and Batch Learning using Forward Backward Splitting (J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009] Online学習 FOBOS L1正則化 2手法を同時に組み込み、 さらに最適解への収束性の 証明を行っている Online学習を行いながら、同時に特徴選択を行う手法  L1正則化に限らず様々な正則化項を一般的に取り扱った議論をし ているが、本発表ではL1正則化に話を限定して紹介 4
  • 5. 問題設定 教師あり学習  訓練集合と呼ばれる大きな集合 {( x1 , y1 ), (x 2 , y2 )...} を用いて、 入力 x i から出力 yi を正確に予測する学習器を作成する技術 入力: x i 出力: yi 代表的な応用例  回帰問題 将来の株価  株価推定  分類問題  メールフィルタリング  画像認識 入力: x i 電子メール  評価分類 プライ 仕事 スパ 出力: yi ベート ム 5
  • 6. 応用例を題材として、問題設定を解説 評価分類(Sentiment Classification)  ある商品のレビュー文章から、その文章が商品に対して positiveな評価を与えているかnegativeな評価を与えている かを判定する このレビューはpositiveかnegativeか? 6
  • 7. 問題設定:訓練集合 レビュー文章から正解を正確に予測したい文章と正解データが ペアで与えられる 正解  1 ( positive) y  1 (negative)文章形式のままでは、 正解データは、 学習を行いにくい -1/1で取り扱う  x (1)  嫌い  ( 2)  入力ベクトルの各要素は、 入力 x  好き 対応する単語の出現頻度 x   x ( 3)  退屈      認識  (n)  文章から入力ベクトルを生成 x  入力 xから正解y を 正確に予測したい 7
  • 8. 問題設定:予測 入力 xから出力y を予測するための道具として、重みベ クトル w を導入する 重みベクトルと入力ベクトルの内積 w  (1) の値を用いて予測を行う  ( 2)  w  sign(x  w )  0 positive重みベクトル w   w ( 3)  sign(x  w )  0 negative と予測       (n)  w  y (x  w )  0 予測は正しい y (x  w )  0 予測は誤り 適切な ( x  w )の符号を返す重みベクトル w を学習することが目標 8
  • 9. 問題設定:損失関数 損失関数を、予測の正確さを図る指標として導入  今回の例では損失関数の一例として、Hinge-Lossを用いる  0 1  y  (w  x i )  0損失関数  i ( w )  1  y  ( w  x i )   1  y  (w  x i ) 1  y  (w  x i )  0  i (w ) Hinge-Loss w  x の予測が失敗しているほど、 損失関数の値が大きくなる 0 y  ( w  x) 9
  • 10. 問題設定の一般化 評価分類器の作成は、以下のように定義できる 学習器を作成する 全データの損失の合計   i (w ) が i 最小となる重みベクトル wを求める Batch学習 入力データと損失関数は以下のように一般化出来る  1つのデータ:重みベクトルを受け取り損失を返す損失関数  i () : w  n   10
  • 11. 目次 はじめに  紹介論文概要  問題設定:教師あり学習 Online学習/L1正則化  Online学習  L1正則化 Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析 実験 まとめ 11
  • 12. Online学習 Online学習  データ一つに対して、重みベクトル w を逐次的に更新する手法 1. 損失関数 t () を受け取る 2. 重みベクトル w tと  t () を用いて、重みベクトルを w t 1 に更新 3. 次の損失関数  () が存在すれば、上記の操作を繰り返す t 1  t ()  t 1 () … wt w t 1 … 12
  • 13. Online学習アルゴリズムの目標 Batch学習の目標 min   t (w ) w 全データの損失の合計   i (w) が最小 t となる重みベクトル w を求める i Online学習の目標 min w1 , w 2 ,...   (w )t t 全データの損失の合計   t (w t ) が最小 t t となる重みベクトル w t を求める 13
  • 14. Online学習アルゴリズムの目標 Online学習の目標 Online学習の目標 min w1 , w 2 ,...   (w ) t t t t min  t (w t ) wt 次にやってくる損失関数  t () の値を最小化 するように重みベクトル w t を更新する問題ただし、どのようなアルゴリズムを用いても、損失関数  t () を意地悪に設 定してやれば、 min,...   t (w t ) のworst caseの値は無限に大きくなる w ,w 1 2 t 14
  • 15. Online学習アルゴリズムの評価 Regret という概念を導入  元々は、ゲーム理論等で使用されていた枠組み  学習をする過程で蓄積した累積損失と、データを全て見た後で 重みベクトルを定めた時の最小合計損失との差   T T Regret (T )    t (w t )   t (w ) * w  arg min   t (w) * t 1 w t 1  Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た りの Regret は0に収束する→最適解に収束する   (w )   (w ) T * t t t Regret (T )  o(T )  lim t 1 0 T  T  Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ ムは、重みベクトルを高速に最適解へ収束させられる 15
  • 16. Online学習の利点 大量のメモリを必要としない  数TB程度の大規模なデータから学習を行う場合等に有効  大規模データでは、直接 arg min   t (w) を求めることは難しい w t 新たなデータを入手した時に、再学習が容易  batch学習では、新しいデータを入手するたびに、過去のデータ も含めた arg min   t (w) を計算しなければならない w t  Online学習では新しいデータのみを使って更新を行えば良い 16
  • 17. Greedy Projection Online学習での典型的な学習手法 パラメータ更新式 w t 1  wt t  t (w t )  : 更新幅(スカラー) t 損失関数が最小となる方向へ重みベクトル w を更新する Regret がo(T ) となる条件  () が凸(convex) Convex w, v  [0,1]  () が微分可能 ( v)  (1   )(w)  (v  (1   )w) Hinge-Loss等の関数では、微分不可能な点が存在  劣勾配法(Subgradient Method)を用いる Hinge-Loss 17
  • 18. 劣勾配法(Subgradient Method) 微分不可能な点では、劣勾配 (Subgradient) を用いる  劣勾配:(w)  g | v : ( v)  (w)  g, v  w  Hinge-loss () が凸であれば、 劣勾配が存在 劣勾配の集合の要素を 点線で示している パラメータ更新式 wt 1  w t t gt gt  (w t ) 18
  • 19. 目次 はじめに  紹介論文概要  問題設定:教師あり学習 Online学習/L1正則化  Online学習  L1正則化 Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析 実験 まとめ 19
  • 20. 正則化 過学習 (Over-Fitting)  訓練集合の損失関数を最小化する最適なパラメータを求める と、訓練集合に過剰適合する問題が発生することがある 正則化  パラメータが複雑になればなるほど値が大きくなるペナルティ 項を、最適化問題に導入   w  arg min   t (w)  r (w) * w  t   過学習を抑止する  L2正則化とL1正則化が代表的 20
  • 21. L1正則化(Lasso) 自然言語等を扱う場合、パラメータ次元数が膨大になる  計算量が膨大になるため、全パラメータを同時には扱いにくい  x (1)  嫌い  w(1)   ( 2)   ( 2)  x  好き w  x   x ( 3)  退屈 w   w ( 3)         認識     (n)   (n)  x  w  nが非常に大きい場合、 計算量も膨大になる L1正則化を導入する  パラメータを決める基準に L1 normを追加する   (w )   w t 1  : 正則化の比率 t 21
  • 22.    (i )  t   (w )   w 1   0 L1正則化(Lasso) w  t  w1 w( i ) w 2 2 wi w (i )  t  t (w )  w(i ) 0 t  t (w )  t  t (w ) w  t  t (w ) 2 w1  0 の時、 w(i )  0   2 かつ  w (i ) w (i ) w (i ) w (i ) w(i ) 22
  • 23. L1正則化の特徴 L1正則化では、勾配が一定  損失関数にとって重要でないパラメータは0に追いやられる L1正則化では、多くのパラメータを0にすることが出来る  このような操作:Sparse化  多くのパラメータが0になった解:Sparseな解  x (1)  嫌い  w(1)   ( 2)   ( 2)  x  好き w  x   x ( 3)  退屈 w   w ( 3)      認識に対応する    認識    パラメータは0に  (n)   (n)  x  w  23
  • 24. 目次 はじめに  紹介論文概要  問題設定:教師あり学習 Online学習/L1正則化  Online学習  L1正則化 Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析 実験 まとめ 24
  • 25. 紹介論文(再掲) Efficient Online and Batch Learning using Forward Backward Splitting (J. Duchi, Y. Singer) [Journal of Machine Learning Research, 2009] Online学習 FOBOS L1正則化 2手法を同時に組み込み、 さらに最適解への収束性の 証明を行っている  L1正則化に限らず様々な正則化項を一般的に取り扱った分析を 行っているが、本発表ではL1正則化に話を限定する 25
  • 26. 正則化項付きOnline学習 wが最も小さくなる方向へ 重みベクトル w を動かす 重みベクトルの更新基準  t (w)  r (w)  条件:それぞれの関数は凸かつ下に有界  t (w) :損失関数項 (重みベクトル wが不適である度合) 例: 最小二乗損失  t (w)  xt  w  y  2 Hinge-Loss  t (w)  xt  w  y  r (w) :正則化項 (重みベクトル wの複雑さの度合) 例: L2正則化 r (w)   w 2 2 L1正則化 r (w )   w 1 今回は、L1正則化に話を絞って紹介 26
  • 27. 劣勾配法で解くと… パラメータ更新式 w t を0においやる力が働く w t 1  w t t gt tgtr t ,t : ステップ幅 g t  w t  : の劣勾配中の任意のベクトル g tr  r w t  : rの劣勾配中の任意のベクトル L1正則化を用いても、パラメータはSparseになりにくい  t gt,( j )  tgtr ,( j )  wt( j ) が成立することは稀  L1正則化項を導入しても、Sparseな解は得られにくい 27
  • 28. Forword Backward Splitting(FOBOS) 提案手法  重みベクトル w t の更新を2ステップに分ける ステップ1 ステップ2wt 損失最小化 w t 1 2 正則化 w t 1  ステップ1 損失関数  t (w t ) が最も小さくなる方向へ重みベクトルを更新 正則化項 w 1は考えない w t 1 2  w t t g t 劣勾配法 t : ステップ幅 g t  w t  : の劣勾配中の任意のベクトル 28
  • 29. Forword Backward Splitting(FOBOS)  ステップ2 ステップ1で更新した重みパラメータをできるだけ動かさず、 L1正則化を行う パラメータをできる だけ動かさない 正則化 1 2  w t 1  arg min  w  w t 1 2  t 1 2 w 1  w 2  t 1 2 : ステップ幅 パラメータ更新を2ステップに分けることで、 L1正則化を導入した上で、 Regret上限が o(T )のアルゴリズムが導出される 29
  • 30. FOBOS更新式の導出 ステップ2をパラメータ各要素の式に分解 1 2  w t 1  arg min  w  w t 1 2  t 1 2 w 1   w 2  ( j) 1 ( j)  ( j) 2   wt 1  arg min  w  wt 1 2  t 1 2  w( j )  w( j ) 2  閉じた更新式を導出可能  wt(j1)  sign( wt(j1) 2 ) wt(j1) 2  t 1 2     sign( wt( j )  t g t ,( j ) ) wt( j )  t g t ,( j )  t 1 2   wt( j )からwt(j1) を直接導くことが出来る  wt(j1) 2  t 1 2  0 になる 30
  • 31. FOBOSによるL1正則化 ( j) w t 1 2 ( j) w t 1 t 1 2 ( j) t 1 2 w t 1 2 0 31
  • 32. FOBOSの貢献 Subgradient Method等の既存手法と比べても、実質 的に計算量を増やすことなくパラメータ更新が可能  閉じた式でパラメータ更新が可能   wt(j1)  sign wt( j ) t gt,( j ) wt( j ) t gt,( j ) t 1 2   Subgradient Methodの Regret の性質が、FOBOSで も同じく成立する  Subgradient Methodと同じ Regret を得ることが出来る 32
  • 33. 目次 はじめに  紹介論文概要  問題設定:教師あり学習 Online学習/L1正則化  Online学習  L1正則化 Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret 分析 実験 まとめ 33
  • 34. Online学習アルゴリズムの評価(再掲) Regret という概念を導入  元々は、ゲーム理論等で使用されていた枠組み  学習をする過程で蓄積した累積損失と、データを全て見た後で 重みベクトルを定めた時の最小合計損失との差   T T Regret (T )    t (w t )   t (w ) * w  arg min   t (w) * t 1 w t 1  Regret の上限が o(T ) ならば、更新を重ねるごとに1データ当た りの Regret は0に収束する→最適解に収束する   (w )   (w ) T * t t t Regret (T )  o(T )  lim t 1 0 T  T  Regret の上限を小さなオーダーで抑える事が出来るアルゴリズ ムは、重みベクトルを高速に最適解へ収束させられる 34
  • 35. Regret の上限をRegret 分析(1/2) 0に近づけたい Regret    T R  r (T )    t (w t )  r (w t )   t (w  )  r (w  ) t 1 T w   arg min   t (w )  r (w ) w t 1 FOBOSにおける Regret の上限 w t w t  w   D t 1  t 1 2  t  t , r  G t  2t 1 の条件下では、O  T  が保証される c  0 t  c t  D2 2  R  r (T )  2GD    2c  8G c  T    35
  • 36. r (w )  w 1は、Regret 分析(2/2) Strongly Convexではない  t ()  r () がStrongly Convexの場合  つまり、  t ()または r () がStrongly Convexの場合 Strongly Convex H H  0 w, w t f (w )  f (w t )  f (w t ), w  w t  w  wt 2 2 Regret は O(logT ) で上から押さえる事ができる 1 t   Ht 4G 2  G2  R  r (T )  2GD  HD  2 1  log T   O log T  H  H   36
  • 37. 目次 はじめに  紹介論文概要  問題設定:教師あり学習 Online学習/L1正則化  Online学習  L1正則化 Forward Backward Splitting(FOBOS)  FOBOS Algorithm  Regret分析 実験 まとめ 37
  • 38. 実験概要  Amazon.comのデータセットで評価分類 [ J. Blitzer+ 2007]  原論文の実験とは異なり、追実験を行った  損失関数はHinge-Loss, t  1 ,  1  t ,   1 200 t t 10回の交差検定、20回反復計算 2   FOBOSとSubgradient Methodで精度とSparseさを比較  データは、(レビュー文章, Positive/Negative)の組の集合 データ数 特徴次元数 代表的な単語books 4465 332441 book, read, like, story, good, author, pagesdvd 3586 282901 movie, film, see, best, original, characterelectronics 5681 235798 sound, product, work, quality, buy, iPod, headphoneskitchen 5945 205666 use, pan, coffee, product, machine, little 38
  • 39. 実験結果 20回反復計算を10回の交差検定した結果の平均値 FOBOS (L1) Subgradient Methodbooks 82.84 (92.87) 83.66 (50.39)dvd 82.12 (92.24) 81.37 (50.42)electronics 87.61 (92.44) 85.85 (54.43)kitchen 88.44 (92.64) 87.91 (56.53) 精度 (重みベクトル中の0要素の割合) 精度を落とすことなく、 Sparseな解を得られている 39
  • 40. 実験結果詳細(electronics)精度(%) 88 87 86 85 84 FOBOS 83 Subgradient 82 81 80 1 3 5 7 9 11 13 15 17 19 反復回数(回) 40
  • 41. 実験結果詳細(kitchen)精度(%) 89 88.5 88 87.5 87 86.5 FOBOS 86 Subgradient 85.5 85 84.5 84 1 3 5 7 9 11 13 15 17 19 反復回数(回) 41
  • 42. 実験結果まとめ FOBOSはSubgradient Method等と比べて、精度を上 回ることがある FOBOSでは、過学習を抑制する効果を持つ  Subgradient Methodでは、数回反復を行うとパラメータ更 新が殆ど行われなくなる(訓練集合に過剰適合してしまう)  一方FOBOSでは、反復試行を繰り返すことで正則化の力が 弱まるため、稀だが有用なパラメータが残る  0 t 1 2 1 2  w t 1  arg min  w  w t 1 2  t 1 2 w 1  w 2  0 0 42
  • 43. 発表のまとめ Online学習  データを一つ読み込むたびに、逐次的に学習  Regret という概念で、アルゴリズムを評価 L1正則化  重みベクトルをSparseにして、特徴選択を行う Forward Backward Splitting(FOBOS)  Online学習とL1正則化(Sparse化)を同時に実現  Regret の上限が O( T ) となることを証明  評価実験でも、既存手法を上回る精度であることを確認 43