a forward-backward splitting method with component-wise lazy evaluation for online structured convex...

31
A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization 最適化数理分野 1 鋒幸洋 数理工学専攻 修士論文発表会 2016年2月18日 鋒 幸洋 プレゼン資料

Post on 16-Apr-2017

327 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

Page 1: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

A Forward-Backward Splitting Methodwith Component-wise Lazy Evaluation

for Online Structured Convex Optimization

最適化数理分野���������������������������������� �

1

鋒幸洋�

数理工学専攻 修士論文発表会 2016年2月18日 鋒 幸洋 プレゼン資料 

Page 2: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

平成28年度数理工学専攻説明会

第1回: 平成28年5月 7日(土) 13:30~第2回: 平成28年5月30日(月) 17:00~

場所、プログラムの詳細は以下の専攻HPをご覧ください。http://www.amp.i.kyoto-u.ac.jp

*説明会は教員とのコネクションを作るチャンスです。*本説明会は修士課程の説明会も兼ねています。

京都大学大学院 情報学研究科 数理工学専攻

博士後期課程の学生募集

Page 3: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

問題設定�

2

例2:統計・確率計画�

�� . ただし は確率変数 のサンプル.�

‣  は微分可能な凸関数 , も凸関数�

例1:機械学習�

��はデータのサンプル数を表す. は 番目のデータによる�損失関数, はL1正則化項などの正則化項とする. �

は正則化項や制約集合の標示関数とする.�

Page 4: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

問題設定�

3

‣  さらに以下の性質を持つ問題を考える. �

(i)  は非常に大きい正の数.�→サンプル数に対応し, ビッグデータを扱う問題などが該当する. �

Page 5: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

問題設定�

4

‣  さらに以下の性質を持つ問題を考える. �

(i)  は非常に大きい正の数.�→サンプル数に対応し, ビッグデータを扱う問題などが該当する. �

�(ii)  は の各成分に対して分解可能. i.e. �

→機械学習などの分野で一般的に用いられる正則化項が該当. �

Page 6: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

問題設定�

5

‣  さらに以下の性質を持つ問題を考える. �

(i)  は非常に大きい正の数.�→サンプル数に対応し, ビッグデータを扱う問題などが該当する. �

�(ii)  は の各成分に対して分解可能. i.e. �

→機械学習などの分野で一般的に用いられる正則化項が該当. ��(iii)  の多くの成分が0である.�

→応用先でのデータに依存する.�

Page 7: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

6

‣  データを分類する機械学習の問題において, ロジスティック損失 � を用いることが多い.��

ここで, は サンプル目の特徴ベクトル, はクラスを表す. �

��

問題設定( がスパースとなる問題)�

Page 8: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

問題設定( がスパースとなる問題)�

7

‣  データを分類する機械学習の問題において, ロジスティック損失 � を用いることが多い.��

★  すなわち, 特徴 がスパースであれば, 勾配もスパースとなる.�

ここで, は サンプル目の特徴ベクトル, はクラスを表す. �

��

Page 9: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

8

‣  データを分類する機械学習の問題において, ロジスティック損失 � を用いることが多い.��

★  すなわち, 特徴 がスパースであれば, 勾配もスパースとなる.�

✦  の次元 は数十万と非常に大きい.� �✦  一方で, ひとつのテキストには数百程度の単語しか登場しないため,��� はスパースなベクトルとなる. (非ゼロ成分は0.1%程度) � �

✦  は 番目のテキストデータに単語 が登場する回数を表す. �

例:テキストデータの特徴�

ここで, は サンプル目の特徴ベクトル, はクラスを表す. �

��

問題設定( がスパースとなる問題)�

Page 10: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splitting Method

9

Forward-Backward Splitting Method (FOBOS)

‣  が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �

‣  に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �

Page 11: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splitting Method

10

Forward-Backward Splitting Method (FOBOS)

‣  が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �

‣  に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �

FOBOSによる更新�

(勾配法)�

(近接点法)�

Page 12: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splitting Method

11

Forward-Backward Splitting Method (FOBOS)

‣  が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �

‣  に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �

FOBOSによる更新�

(勾配法)�

(近接点法)�

Page 13: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splitting Method

12

‣  勾配法と近接点法では同じステップサイズ が用いられる. �

Forward-Backward Splitting Method (FOBOS)

FOBOSによる更新�

(勾配法)�

(近接点法)�

‣  が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �

‣  に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �

Page 14: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splitting Method

13

Forward-Backward Splitting Method (FOBOS)

FOBOSによる更新�

(勾配法)�

(近接点法)�

‣  勾配の成分が0であれば, 勾配法は となり, 計算の必要がない. �

‣  が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �

‣  に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �

Page 15: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

‣  とすると, 勾配法は , 近接点法は . �

Forward-Backward Splitting Method

14

FOBOSによる更新�

Forward-Backward Splitting Method (FOBOS)

(勾配法)�

(近接点法)�

‣  が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �

‣  に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �

‣  勾配の成分が0であれば, 勾配法は となり, 計算の必要がない. �

Page 16: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splittingと遅延評価�

15

‣  FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �

勾配法の更新�

近接点法の更新�

勾配法の更新�

近接点法の更新�

…�

通常のFOBOS �

1回の�反復�

Page 17: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splittingと遅延評価�

16

‣  FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �

勾配法の更新�

近接点法の更新�

勾配法の更新�

近接点法の更新�

…�

近接点法の更新�

近接点法の更新�

勾配法の更新�

勾配法の更新�…

�…

通常のFOBOS � 遅延評価するFOBOS �

‣  遅延評価を行うFOBOSをL-FOBOSと呼ぶ. �

1回の�反復�

反復�続けて更新�

反復�続けて更新�

Page 18: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splittingと遅延評価�

17

‣  FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �

勾配法の更新�

近接点法の更新�

勾配法の更新�

近接点法の更新�

…�

近接点法の更新�

近接点法の更新�

勾配法の更新�

勾配法の更新�…

�…

‣  近接点法を遅延評価する場合, 勾配法と同じステップサイズを用いる.�

通常のFOBOS � 遅延評価するFOBOS �

1回の�反復�

反復�続けて更新�

反復�続けて更新�

Page 19: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splittingと遅延評価�

18

‣  FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �

勾配法の更新�

近接点法の更新�

勾配法の更新�

近接点法の更新�

…�

近接点法の更新�

近接点法の更新�

勾配法の更新�

勾配法の更新�…

�…

通常のFOBOS � 遅延評価するFOBOS �

1回の�反復�

反復�続けて更新�

反復�続けて更新�

Page 20: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splittingと遅延評価�

19

‣  FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �

勾配法の更新�

近接点法の更新�

勾配法の更新�

近接点法の更新�

…�

近接点法の更新�

近接点法の更新�

勾配法の更新�

勾配法の更新�…

�…

通常のFOBOS � 遅延評価するFOBOS �

1回の�反復�

1反復に�まとめて更新�

反復�続けて更新�

‣  が に依らないため, 近接点法の遅延評価の更新は で�計算できることが知られている[Duchi,09]. �

Page 21: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

Forward-Backward Splittingと遅延評価�

20

‣  FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �

勾配法の更新�

近接点法の更新�

勾配法の更新�

近接点法の更新�

…�

近接点法の更新�

近接点法の更新�

勾配法の更新�

勾配法の更新�…

�…

通常のFOBOS � 遅延評価するFOBOS �

1回の�反復�

‣  L-FOBOSは の情報を無視した, 性質の悪い点列を生成してしまう. �

1反復に�まとめて更新�

反復�続けて更新�

Page 22: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

成分ごとに遅延評価するFOBOS(提案手法)�

21

‣  具体的に, の更新を後の反復に遅らせ, 各反復で � に対する勾配法と遅延評価を行う. ��

‣  が分解可能であることを利用して, 成分ごとに� を遅延評価する.��

Page 23: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

成分ごとに遅延評価するFOBOS(提案手法)�

22

‣  このアルゴリズムをCL-FOBOSと呼ぶ.�

成分ごとに遅延評価するFOBOS (CL-FOBOS)

(勾配法)�

(遅延評価)�

‣  ここで, は前回 が更新された反復以降のステップサイズの和. �

‣  具体的に, の更新を後の反復に遅らせ, 各反復で � に対する勾配法と遅延評価を行う. ��

‣  が分解可能であることを利用して, 成分ごとに� を遅延評価する.��

Page 24: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

成分ごとに遅延評価するFOBOS(提案手法)�

23

‣  CL-FOBOSは各反復で を考慮することができ, 反復あたりの�計算量も で行うことができる. ��

成分ごとに遅延評価するFOBOS (CL-FOBOS)

(勾配法)�

(遅延評価)�

‣  具体的に, の更新を後の反復に遅らせ, 各反復で � に対する勾配法と遅延評価を行う. ��

‣  が分解可能であることを利用して, 成分ごとに� を遅延評価する.��

Page 25: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

成分ごとに遅延評価するFOBOS(提案手法)�

24

仮定2:� のすべての成分は少なくとも 回に一度の反復で�遅延評価される.�

とする. 仮定1, 2が満たされるとき,�

ただし, であり, � はその最適値である. �

仮定1: FOBOSの解析で用いられる仮定が成り立つ.�

CL-FOBOSによる最適値についての定理�

Page 26: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

数値実験�

25

Amazonレビューの2クラス分類を行い, L-FOBOSとCL-FOBOSを比較. �

‣  ロジステック損失とL1正則化項を使用したモデル.�

‣  によって のスパース性を制御する. �

l 学習モデル�

Page 27: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

数値実験�

26

Amazonレビューの2クラス分類を行い, L-FOBOSとCL-FOBOSを比較. �

l 学習モデル�

サンプル数( )� 特徴数( ) � 非ゼロ成分の割合�

4,465� 332,440� 0.06%�

‣  100,000サンプルをランダムに抽出して学習に使用.�

‣  ロジステック損失とL1正則化項を使用したモデル.�

‣  によって のスパース性を制御する. �

l データセットの概要�

Page 28: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

数値実験�

27

•  のとき�(L-FOBOS) を変えたときにトレードオフの関係が成立.�(CL-FOBOS) 同じ実行時間の既存手法より関数値が小さい.�

実行時間(秒)�

点�列�に�よ�る�関�数�値�

Page 29: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

数値実験�

28

•  のとき�正則化項の影響が小さく, トレードオフの関係は不成立.�

実行時間(秒)�

点�列�に�よ�る�関�数�値�

Page 30: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

数値実験�

29

•  のとき�(L-FOBOS) の遅延評価を行うときだけ点列がスパースになる.�(CL-FOBOS) 常にスパースな点列を生成する.�

非�ゼ�ロ�成�分�の�割�合�

反復数�

Page 31: A Forward-Backward Splitting Method with Component-wise Lazy Evaluation for Online Structured Convex Optimization

まとめ�

30

• 成分ごとに遅延評価を行うFOBOSを提案した.�

• 提案手法に対する収束性の解析を行った.�

• 数値実験を行い, がある程度大きいモデルに対して�提案手法の優位性を確認した. �