a forward-backward splitting method with component-wise lazy evaluation for online structured convex...
Post on 16-Apr-2017
327 views
TRANSCRIPT
A Forward-Backward Splitting Methodwith Component-wise Lazy Evaluation
for Online Structured Convex Optimization
最適化数理分野���������������������������������� �
1
鋒幸洋�
数理工学専攻 修士論文発表会 2016年2月18日 鋒 幸洋 プレゼン資料
平成28年度数理工学専攻説明会
第1回: 平成28年5月 7日(土) 13:30~第2回: 平成28年5月30日(月) 17:00~
場所、プログラムの詳細は以下の専攻HPをご覧ください。http://www.amp.i.kyoto-u.ac.jp
*説明会は教員とのコネクションを作るチャンスです。*本説明会は修士課程の説明会も兼ねています。
京都大学大学院 情報学研究科 数理工学専攻
博士後期課程の学生募集
問題設定�
2
例2:統計・確率計画�
�� . ただし は確率変数 のサンプル.�
‣ は微分可能な凸関数 , も凸関数�
例1:機械学習�
��はデータのサンプル数を表す. は 番目のデータによる�損失関数, はL1正則化項などの正則化項とする. �
は正則化項や制約集合の標示関数とする.�
問題設定�
3
‣ さらに以下の性質を持つ問題を考える. �
(i) は非常に大きい正の数.�→サンプル数に対応し, ビッグデータを扱う問題などが該当する. �
�
問題設定�
4
‣ さらに以下の性質を持つ問題を考える. �
(i) は非常に大きい正の数.�→サンプル数に対応し, ビッグデータを扱う問題などが該当する. �
�(ii) は の各成分に対して分解可能. i.e. �
→機械学習などの分野で一般的に用いられる正則化項が該当. �
問題設定�
5
‣ さらに以下の性質を持つ問題を考える. �
(i) は非常に大きい正の数.�→サンプル数に対応し, ビッグデータを扱う問題などが該当する. �
�(ii) は の各成分に対して分解可能. i.e. �
→機械学習などの分野で一般的に用いられる正則化項が該当. ��(iii) の多くの成分が0である.�
→応用先でのデータに依存する.�
6
‣ データを分類する機械学習の問題において, ロジスティック損失 � を用いることが多い.��
�
ここで, は サンプル目の特徴ベクトル, はクラスを表す. �
��
問題設定( がスパースとなる問題)�
問題設定( がスパースとなる問題)�
7
‣ データを分類する機械学習の問題において, ロジスティック損失 � を用いることが多い.��
�
★ すなわち, 特徴 がスパースであれば, 勾配もスパースとなる.�
ここで, は サンプル目の特徴ベクトル, はクラスを表す. �
��
8
‣ データを分類する機械学習の問題において, ロジスティック損失 � を用いることが多い.��
�
★ すなわち, 特徴 がスパースであれば, 勾配もスパースとなる.�
✦ の次元 は数十万と非常に大きい.� �✦ 一方で, ひとつのテキストには数百程度の単語しか登場しないため,��� はスパースなベクトルとなる. (非ゼロ成分は0.1%程度) � �
✦ は 番目のテキストデータに単語 が登場する回数を表す. �
例:テキストデータの特徴�
ここで, は サンプル目の特徴ベクトル, はクラスを表す. �
��
問題設定( がスパースとなる問題)�
Forward-Backward Splitting Method
9
Forward-Backward Splitting Method (FOBOS)
‣ が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �
‣ に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �
Forward-Backward Splitting Method
10
Forward-Backward Splitting Method (FOBOS)
‣ が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �
‣ に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �
FOBOSによる更新�
(勾配法)�
(近接点法)�
Forward-Backward Splitting Method
11
Forward-Backward Splitting Method (FOBOS)
‣ が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �
‣ に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �
FOBOSによる更新�
(勾配法)�
(近接点法)�
Forward-Backward Splitting Method
12
‣ 勾配法と近接点法では同じステップサイズ が用いられる. �
Forward-Backward Splitting Method (FOBOS)
FOBOSによる更新�
(勾配法)�
(近接点法)�
‣ が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �
‣ に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �
Forward-Backward Splitting Method
13
Forward-Backward Splitting Method (FOBOS)
FOBOSによる更新�
(勾配法)�
(近接点法)�
‣ 勾配の成分が0であれば, 勾配法は となり, 計算の必要がない. �
‣ が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �
‣ に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �
‣ とすると, 勾配法は , 近接点法は . �
Forward-Backward Splitting Method
14
FOBOSによる更新�
Forward-Backward Splitting Method (FOBOS)
(勾配法)�
(近接点法)�
‣ が大きな問題に対し, 目的関数の一部 のみを用いて更新する. �
‣ に対する勾配法と に対する近接点法を組み合わせた FOBOS�が一般的に用いられる. �
‣ 勾配の成分が0であれば, 勾配法は となり, 計算の必要がない. �
Forward-Backward Splittingと遅延評価�
15
‣ FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �
勾配法の更新�
近接点法の更新�
勾配法の更新�
近接点法の更新�
…�
通常のFOBOS �
1回の�反復�
Forward-Backward Splittingと遅延評価�
16
‣ FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �
勾配法の更新�
近接点法の更新�
勾配法の更新�
近接点法の更新�
…�
近接点法の更新�
近接点法の更新�
勾配法の更新�
勾配法の更新�…
�…
�
通常のFOBOS � 遅延評価するFOBOS �
‣ 遅延評価を行うFOBOSをL-FOBOSと呼ぶ. �
1回の�反復�
反復�続けて更新�
反復�続けて更新�
Forward-Backward Splittingと遅延評価�
17
‣ FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �
勾配法の更新�
近接点法の更新�
勾配法の更新�
近接点法の更新�
…�
近接点法の更新�
近接点法の更新�
勾配法の更新�
勾配法の更新�…
�…
�
‣ 近接点法を遅延評価する場合, 勾配法と同じステップサイズを用いる.�
通常のFOBOS � 遅延評価するFOBOS �
1回の�反復�
反復�続けて更新�
反復�続けて更新�
Forward-Backward Splittingと遅延評価�
18
‣ FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �
勾配法の更新�
近接点法の更新�
勾配法の更新�
近接点法の更新�
…�
近接点法の更新�
近接点法の更新�
勾配法の更新�
勾配法の更新�…
�…
�
通常のFOBOS � 遅延評価するFOBOS �
1回の�反復�
反復�続けて更新�
�
反復�続けて更新�
�
Forward-Backward Splittingと遅延評価�
19
‣ FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �
勾配法の更新�
近接点法の更新�
勾配法の更新�
近接点法の更新�
…�
近接点法の更新�
近接点法の更新�
勾配法の更新�
勾配法の更新�…
�…
�
通常のFOBOS � 遅延評価するFOBOS �
1回の�反復�
1反復に�まとめて更新�
�
反復�続けて更新�
�
‣ が に依らないため, 近接点法の遅延評価の更新は で�計算できることが知られている[Duchi,09]. �
Forward-Backward Splittingと遅延評価�
20
‣ FOBOSの更新の一部を遅延評価する手法も知られている[Langford, 09]. �
勾配法の更新�
近接点法の更新�
勾配法の更新�
近接点法の更新�
…�
近接点法の更新�
近接点法の更新�
勾配法の更新�
勾配法の更新�…
�…
�
通常のFOBOS � 遅延評価するFOBOS �
1回の�反復�
‣ L-FOBOSは の情報を無視した, 性質の悪い点列を生成してしまう. �
1反復に�まとめて更新�
�
反復�続けて更新�
�
成分ごとに遅延評価するFOBOS(提案手法)�
21
‣ 具体的に, の更新を後の反復に遅らせ, 各反復で � に対する勾配法と遅延評価を行う. ��
‣ が分解可能であることを利用して, 成分ごとに� を遅延評価する.��
成分ごとに遅延評価するFOBOS(提案手法)�
22
‣ このアルゴリズムをCL-FOBOSと呼ぶ.�
成分ごとに遅延評価するFOBOS (CL-FOBOS)
(勾配法)�
(遅延評価)�
‣ ここで, は前回 が更新された反復以降のステップサイズの和. �
‣ 具体的に, の更新を後の反復に遅らせ, 各反復で � に対する勾配法と遅延評価を行う. ��
‣ が分解可能であることを利用して, 成分ごとに� を遅延評価する.��
成分ごとに遅延評価するFOBOS(提案手法)�
23
‣ CL-FOBOSは各反復で を考慮することができ, 反復あたりの�計算量も で行うことができる. ��
成分ごとに遅延評価するFOBOS (CL-FOBOS)
(勾配法)�
(遅延評価)�
‣ 具体的に, の更新を後の反復に遅らせ, 各反復で � に対する勾配法と遅延評価を行う. ��
‣ が分解可能であることを利用して, 成分ごとに� を遅延評価する.��
成分ごとに遅延評価するFOBOS(提案手法)�
24
仮定2:� のすべての成分は少なくとも 回に一度の反復で�遅延評価される.�
とする. 仮定1, 2が満たされるとき,�
ただし, であり, � はその最適値である. �
仮定1: FOBOSの解析で用いられる仮定が成り立つ.�
CL-FOBOSによる最適値についての定理�
数値実験�
25
Amazonレビューの2クラス分類を行い, L-FOBOSとCL-FOBOSを比較. �
‣ ロジステック損失とL1正則化項を使用したモデル.�
‣ によって のスパース性を制御する. �
l 学習モデル�
数値実験�
26
Amazonレビューの2クラス分類を行い, L-FOBOSとCL-FOBOSを比較. �
l 学習モデル�
サンプル数( )� 特徴数( ) � 非ゼロ成分の割合�
4,465� 332,440� 0.06%�
‣ 100,000サンプルをランダムに抽出して学習に使用.�
‣ ロジステック損失とL1正則化項を使用したモデル.�
‣ によって のスパース性を制御する. �
l データセットの概要�
数値実験�
27
• のとき�(L-FOBOS) を変えたときにトレードオフの関係が成立.�(CL-FOBOS) 同じ実行時間の既存手法より関数値が小さい.�
実行時間(秒)�
点�列�に�よ�る�関�数�値�
数値実験�
28
• のとき�正則化項の影響が小さく, トレードオフの関係は不成立.�
実行時間(秒)�
点�列�に�よ�る�関�数�値�
数値実験�
29
• のとき�(L-FOBOS) の遅延評価を行うときだけ点列がスパースになる.�(CL-FOBOS) 常にスパースな点列を生成する.�
非�ゼ�ロ�成�分�の�割�合�
反復数�
まとめ�
30
• 成分ごとに遅延評価を行うFOBOSを提案した.�
• 提案手法に対する収束性の解析を行った.�
• 数値実験を行い, がある程度大きいモデルに対して�提案手法の優位性を確認した. �