Successfully reported this slideshow.                                                                                              Upcoming SlideShare
×

# coordinate descent 法について

12,327 views

Published on

Coordinate Descent 法 (座標降下法) のサーベイ

• Full Name
Comment goes here.

Are you sure you want to Yes No ### coordinate descent 法について

1. 1. Coordinate Descent 法について 京都大学大学院情報学研究科 山下 信雄 2015年３月「最適化の基盤とフロンティア」研究部会 講演資料
2. 2. 平成28年度 数理工学専攻説明会 第１回： 平成２８年５月 ７日(土) １３：３０～ 第２回： 平成２８年５月３０日(月) １７：００～ 場所、プログラムの詳細は以下の専攻ＨＰをご覧ください。 http://www.amp.i.kyoto-u.ac.jp ＊説明会は教員とのコネクションを作るチャンスです。 ＊本説明会は修士課程の説明会も兼ねています。 京都大学大学院 情報学研究科 数理工学専攻 博士後期課程の学生募集
3. 3. Coordinate Descent法について (座標降下法ともいう) • CD法は各反復で決定変数の一部を更新する手法． • すごく遅い．実用的な実装が容易ではない． ⇒ 使い物にならない．授業で教えにくい ⇒ 簡単な方法だけど，あまりよく知られていない • 数百万変数の超大規模な問題でも動く． ⇒ 機械学習，圧縮センシングなどで使われる
4. 4. 講演概要 第1部： Coordinate Descent (CD)法とその性質 – ＣＤ法の紹介 – ＣＤ法の収束性（既存の結果と我々の結果） 第2部： 特別なCD法 – 複雑な構造をもつ問題 ＥＭアルゴリズムなど – 線形制約をもつ問題 単体法，交互方向乗数法など – 均衡問題
5. 5. 第1部： ＣＤ法とその性質 1. 考える問題 2. ＣＤ法  ＣＤ法とその特徴  ＣＤ法のヴァリエーション 3. ＣＤ法の収束性 (既存の結果) 4. ＣＤ法の一般化とその性質 (我々の結果)  一般化されたＣＤ法  収束性
6. 6. 考える問題 • は微分可能な関数 • は凸関数．（多変数関数に拡張可能） • 例： 1 min ( ) s. ) ( t ( ) . n i i i F x f x Ax b x      ) |( |i i ix x  0 if ( ) otherwise i i i i i l x u x      : n f R R { }:i RR    ,m n m RA Rb  
7. 7. 応用例： データ解析 データ 機械学習： 損失関数 ，基底ベクトル ，カーネル行列 ＊ ＊ は の共役関数 圧縮センシング(L1-L2最適化): , ),( , ,1i i i T     2 1 (P) min ( ( ) ) 2 T i i i x C x    * 1 1 ( ) 2 (D) min T i i i K C       2 1 (P) min ( ( ) ) 2 T i i i x x C       1 * 1 (D) min s. t. 0 1 ( ) 2 T i i T i i i K C            K ( ) ,( )i i i i   * i 2 1 1 | 2 min | n i i Qx q x    
8. 8. ちなみに機械学習における 損失関数とその共役関数は 共役関数： - ＳＶＭ： - ＳＶＲ： ロジスティック回帰， 正則化なども同様に議論できる．  * ( ) max , ( ) n u v Rvu v   1L ( ) max{ 10, }i i v v  * if 0 ( ) otherwis 1 e i i i u u u         1L ( ) max{0 | |, }i i v v    * || | if 1 ( ) otherwis | e i i u uu u        1L
9. 9. 2. CD法 (Block) Coordinate Descent 法 ステップ０： 適当な初期点を選ぶ ステップ１： 更新する変数の集合(更新変数集合) を選ぶ． ステップ２：  1,2, ,kJ n  1 argm ( )in k kJ J k k Ax b x F x x x             は の補集合 kJ kJ   1 1 argmi ( , )n kk k k Jk k k k k kJJ J J x k k J J k J J JF x Ax x A b x x x x      
10. 10. ＣＤ法のイメージ
11. 11. CD法に適した問題 ＣＤ法に適した問題 • スパース性のない超大規模な問題 応用例： 機械学習，圧縮センシング • 各ブロックでは簡単な問題 応用例： ＥＭアルゴリズム，交互方向乗数法 ＣＤ法に適さない問題 • スパースな問題 • 分割できない微分不可能な関数 • たくさんの制約があるとき • 高精度な解がほしいとき 2 , min U V A U V
12. 12. ＣＤ法が収束しない例 制約があるとき 分離不可能かつ微分不可能な関数があるとき 1 1 2 1 2 min s.t. 1 0, 0 x x x x x     0 (1,0)x  1 {1}J  1 1( ,0)x  2 {2}J  2 (1 )0,x  第1ステップ： 第2ステップ： 等式制約の数より多く変数を選ぶ必要がある 2 2 1 2 1 2 2 min | s.t 3| . x x x Rx x    0 (1, 1)x   1 {1}J  1 ( , 11 )x   2 {2}J  2 (1, 1)x   第1ステップ： 第2ステップ： * (0,1)x 最適解　 * (0,0)x 最適解
13. 13. 超大規模な問題での 各反復の実装（計算時間） 圧縮センシング(L1-L2最適化) １回の反復時間（ ， のとき） ニュートン型の手法： 勾配型の手法： CD法: ＊ただし，すべての変数を更新すると 2 1 | 1 min | 2 n i i Qx q x     3 ( )O n ( )O mn ( )O m m n Q R   ( )O mn | | 1kJ 
14. 14. の勾配 の計算 まず， を計算． だったＣＤ法では， 前の結果 を用いて を計算． 次の反復で のとき， 必要な情報は と だけ． を保持する必要がない． k k g Qx q  (( ) )k k f x Q Qx q   ( )O mn ( )O mn 11 kk g Qx q   1 1 ( ) k k k k k j j j g Qx Qx q xx Q q        ( )O m ( )k k i i f x x Q g   ( )O m iQ jQ Q 21 ( ) 2 qf x Qx ‖ ‖ ( )k f x { }kJ j 1 { }kJ i 
15. 15. もうちょっと一般化すると 目的関数を とし， とする． 先ほどと同様， で更新できる． 1 (( ) ) m j j j f x x ba    1 1 , m m a b Q q a b                    k k g Qx q  ( )O m 1 ( ) ( ) '( ) k k j i j i m j a f x g x     
16. 16. ＣＤ法が復活した理由 数百万を超えるような大規模な問題が増えている． 機械学習，圧縮センシング，医療画像 メモリ上にすべてのデータを持つことさえ大変 ＣＤ法は，1回の反復に， • すべてのデータを必要としない • １回の反復時間が短い とりあえず動く！
17. 17. 注意すべき点 実用的な実装が難しい 前の反復の情報を利用しないと1回の反復に必要な 時間やメモリが勾配法と同じなる スパースな問題では意味がない のヘッセ行列 の非ゼロ要素数が のとき  ニュートン型手法：  勾配型手法：  ＣＤ法：（全変数を更新したとき） f 2 ( )f x ( )O n ( )O n ( )O n ( )O n ニュートン型手法がよい
18. 18. ＣＤ法のヴァリエーション ＣＤ法で重要となるのは 1. 更新する変数集合 の選び方 2. 部分問題の解き方 それらの方法の違いによって様々なＣＤ法がある kJ 1 argm ( )ink kk k kJ JJ Ax b x F x x x           
19. 19. 更新変数集合 の選び方 Cyclic ルール(Gauss-Seidel ルール) • 順番に選ぶ • 何回かに必ず選ぶという一般化もある 貪欲ルール (Gauss-Southwell ルール) • 最も効果が高そうな変数を選ぶ ランダムルール • ランダムに選ぶ • 証明が簡単 kJ 例えば ( ) argmin k i i f x j x         
20. 20. 部分問題の解き方 － 厳密に解く － • CD法，Block CD法 • Successive Over Relaxation (SOR)法： ステップ幅を導入 0 argmi 0 n ( ) kJ kk d x A d dF d           1k k k x x d   1 argm n (i ) kk k k JJ Ax b x F x x x            
21. 21. 部分問題の解き方 ― inexact に解く － • Inexact CD法 • Coordinate Gradient Descent (CGD) 法 • Coordinate Proximal Gradient (CPG) 法 1 argmin ( ) ( ) 0 , 2 0k k k k k k J F x f x Ad d d H d d d               1k k k kx dx t    ( )k k i ix   1 argmin ( ) ( 02 0 , ( )) k k k k k i i i k J F x f x d Ad d d x H d d d                 1k k k kx dx t   F の１次近似
22. 22. CD法のヴァリエーション Exact Inexact Cyclic ルール Cyclic-CD, Cyclic-BCD Cyclic-CGD, Cyclic-BCGD Cyclic-CPG, Cyclic-BPG 貪欲ルール Greedy-CD, Greedy-BCD Greedy-CGD, Greedy-BCGD Greedy-CPG, Greedy-BPG ランダムルール Random-CD, Random-BCD Random-CGD, Random-BCGD Random-CPG, Random-BPG • Cyclic ルールはわかりやすい．すべての変数が更新される • 貪欲ルールは反復回数が少ない．1回の反復に時間がかかる． • Randomルールは理論的解析が簡単．実用上は？ • Exactは ｆ が2次関数にはよい．一般のときは近接勾配がよい． 私見
23. 23. 補足：高速化版 近接勾配法には高速化法がある． [Nesterov, 2010]ではRandom-CD法の高速化法が与えられている． • 高速化法では２つのベクトル を更新する． • は１部の成分が更新されるが， は全成分が更新される． ｆ が２次関数だと使えるが，一般の関数だと意味がない． ,k k x y k x k y 1 ( )k k i i k i k x x t f x y    
24. 24. 第1部： ＣＤ法とその性質 1. ＣＤ法  ＣＤ法の紹介  ＣＤ法の変数の選び方 2. ＣＤ法の収束性 (既存の結果) 3. ＣＤ法の一般化とその性質 (我々の結果)  一般化されたＣＤ法  収束性
25. 25. ＣＤ法の性質(制約なし) 大域的収束性 次のどれかの条件を満たすとき，大域的収束する． a. 目的関数が各変数に関して(準)凸関数で，微分不 可能な関数が分離可能なとき [Tseng, 2001] b. 目的関数が微分可能で，各部分問題の解が唯一な とき．[Luenberger, 1973] 最近は，若干緩い条件で大域的収束性が示されている．
26. 26. ＣＤ法の性質(制約なし) 一次収束性 ＣＧＤ法 [Tseng and Yun, 2009] 局所的エラーバウンド性のもとで一次収束 補足： が強凸関数であれば成り立つ． 凸でなくても2次計画問題であれば成り立つ． ＣＤ法 [Luo and Tseng, 1992] が微分可能なとき，局所的エラーバウンド性のもとで一次収束F F
27. 27. 反復回数の見積もりについて 次の条件を満たす最小の ｋ を知りたい． ただし， 劣勾配法： 近接勾配法： 高速化近接勾配法： * (( ) )k FF xx    2 O   1 O  1 2 O        0  であれば2 10   2 1 1 2 10000 100 10         
28. 28. Nesterovの証明 （簡単のため ） まず， を示す． は凸関数であるから， よって， ただし 1 2 ) ( ) ( )( k k k f x f x f x   ‖ ‖ f * * * ( ) ( ), ( ) ( )k k k k k xf x x x f x x f x f x      * ( ) ( ) ( ) k k f x f x f x R   ‖ ‖  * 0 max (( ) )R xf fxx x  ‖ ‖ 0i 
29. 29. つづき とすると 両辺を で割り， に注意すると これらの式を足すと つまり， * 2 21* 2 * ( ) (( ) ( ( ) ( )) ) ( ( )) k k k k f f x fx f x x f x f x f x R        * ) ( )( k k xx ff  2 1 2k k k R       1k k  1 1k k    2 1 1 1 k k R       1 0 2 1 1 k k R       * 2 1 1) ( )( k k R f f x k x       2 R k   なるのはと
30. 30. について はリプシッツ連続とする． このとき 最急降下法： とすると CGD法（CD法も同様にできる）： 貪欲ルール： ランダムルール： 1 2 ) ( ) ( )( k k k f x f x f x   ‖ ‖ 1 1 1 2 ) ( ),( ) 2 (k k k k k k kL f x f x f x x x x        ‖x ‖ f ( ) ( )f x f y L x y    1 1 ( )k k k x f x L x   1 2 ( ( )) ( ) 2 k k kL f xx f x f   ‖ ‖ 2 21 ( ) ) 2 ( ( ) 2 ( ) k k k k i L f x L f x x n f x f x           2 21 ( ( ( ( )) ) ) 2 2 k i k k k i L f p x L E f xx f x n f x             
31. 31. CGD法の反復回数の見積もり は凸関数とする． ランダム，貪欲ルール [Nesterov, 2012 (初出2010)] 注意： 勾配法と比較するため ｎ で割ってある． ランダムでは Cyclicルールの場合はそのままでは証明できない． [Nesterov, 2012] “The simplest variant of the coordinate descent method is based on a cyclic coordinate search. However, for this strategy it is difficult to prove convergence, and almost impossible to estimate the rate of convergence.” 1 O        f * )( ( )k E f x f x     
32. 32. CGD法の反復回数の見積もり Cyclic ルール [Saha and Tewari, 2013 (初出は2010)] の非対角成分が非負で，特別な初期点から始めたら [Beck and Tetruashvili, 2013 (初出は2012)] 1 O        O n        2 ( )f x 2 2 1 t t L O n        1 ,t L      1 t L  1 t nL  O n         はステップ幅
33. 33. ＣＤ法の性質 等式制約 がある場合 同条件で，大域的収束，1次収束する． ただし，反復回数は莫大に増える．なぜ？？ の要素数は 以上． 組合せの数は ． ランダムルール： 貪欲ルール： ただし，それを選ぶのに時間がかかる．[Tseng and Yun, 2010] Ax b kJ 1m 1n mC  1n mC O n       1 O        1 ( )m O n のとき 3 2 ( ( )3 )m O m n m のとき 2 ( )lnm O nn のとき
34. 34. 第1部： ＣＤ法とその性質 1. ＣＤ法  ＣＤ法の紹介  ＣＤ法の変数の選び方 2. ＣＤ法の収束性 (既存の結果) 3. ＣＤ法の一般化とその性質 (我々の結果)  一般化されたＣＤ法  収束性
35. 35. 考える問題 • は微分可能な関数 • は凸関数．（多変数関数に拡張可能） 以下では とする． 1 min ( ) s. ) ( t ( ) . n i i n iF x f x x x R       : n f R R { }:i RR    ( ) ( )ix x  
36. 36. 一般化されたBCD法 ステップ０： 適当な初期点を選ぶ ステップ１： 更新する変数の集合 を選ぶ． ステップ２： ただし， であり， は に関して凸関数． ステップ３：アルミホのルールでステップ幅 を求め  1,2, ,kJ n  ) 0argmin ( ( ), ( ) ( , )k k k k k k k i i i J f x f x d x xd d dd xB               オリジナル ( ) ( ), () ,( )x y xB y yx y       ( , )k kk J J x x kJx kt 1k k k kx x dt  のとき既存のBCPG法 1 ( ) 2 k kx x H x 
37. 37. 一般化ＣＤ法の特別な場合(1) ＣＤ法 （ただし， は各 に対して凸） ( ) ( )k x f x  ( , ) ( ) ) ),((k k k k k k x x d f x f x dB d f x      ( argmi argmin ) ( ), ( ) ( , ) 0 ) ( ) 0n ( k k k k k k k k i i i J k i i i J d f x d B df x d x x x x d d xf dd                            オリジナル f kJx 1k k k kx dx t   ならＣＤ法！1kt 
38. 38. 一般化ＣＤ法の特別な場合(2) Inexact CGD法 (Inexact CD法も同様にできる) 正確な場合の部分問題の最適性の条件 近似条件 ( )k g x 1 ( ) ( ) ( ) 0k k k k k k k J J J J k k f x xx g        ( )k g x 1 ( )( ( ))k k k kk k k k k kk J J J J J JJ k k f x g x x       k k ‖ ‖ オリジナル 0k k J   ( , ) ( ) ( )xB x yx y    
39. 39. InexactなCGD法 行列 を以下の条件をみたすように定義する を とすると，近似条件は となる． E ( ) 1 ( ) 2 k k y y Eyy  k  1 1 1 1 0 ( ) ( ( ) ( ( ) ( ( ) ) ( ) ) ( ) ( ) ) ( ) k k k k k k k k k k k k J k k k k k J J J J k k k k k J k k J k J J k k k J J J k k f x g x f x g x xx f x E x g x x x                                オリジナル 1 ( )k k k E x x   
40. 40. InexactなCGD法 が に関して(強)凸関数であれば， 後知恵的に一般化ＣＤ法とみなせる． いま は に関して係数 の強凸とする． ( ) 1 ( ) 2 k k y y Eyy   k  オリジナル kJxk kJx  0E   であれば強凸． どのような行列 E を考え， 近似精度 を設定するか？ k k 
41. 41. InexactなCGD法：条件 オリジナル 1 ( )k k k E x x    0E   1 argmax{| |}k k j j jx xi    とすると， 1 1 1 1 1 1 1 11 1 ( ) 0 2 0 0 1 0 k k k k k j k k k k k i i nk k k k i i i i k i k n i n j j j iE x x x x xx                                                       1 2 k k k i i E x x    1 2 k k k k i ix x      E 
42. 42. 大域的収束性と一次収束性 大域的収束 が に関して（一様に）リプシッツ連続であれば大域的 収束する 一次収束 以下の条件が成り立てば1次収束する． • 局所的エラーバウンド性が成り立つとする． • が に関して(一様に)リプシッツ連続 • が に関して(一様に)強凸関数 オリジナル k kJx k k kJx kJx
43. 43. 特別な場合 ＣＤ法 が に関して強凸関数であり， が に関してリプシッツ連続であれば となり，大域的収束する． さらに局所的エラーバウンド性が成り立てば1次収束する Inexact CGD法 が に関して係数 の強凸関数であるとする． とする． ExactなCD法と同条件で，大域的収束し，一次収束する． オリジナル kJxf kJ f kJx 1kt  k kJx  1k k k k i ixx    
44. 44. Cyclic-CD法の反復回数の見積もり 反復の見積もり用の新しい仮定： 通常の仮定（リプシッツ連続）： オリジナル 1 2 3 1 2 1 1 2 31 1 2 1 2 1 1 2 1 2 1 3 1 1 2 1 3 1 2 1 ( , , , ( , , , ( , , , , ( , , , ( , , , , , ( , , , ( , , , , ( ) ) , ) ) ) ) ) ), , , n n n n n n n n n n n n f x x x x f x x x x x f x x x x f x x x x x f x x x f x x x x x f x f x x x x y y y x y y y                                                        M x y                    ‖ ‖ M nL ( ) ( )f y f x L x y    が成り立つ 凸関数だと ひょっとしたら M L
45. 45. 反復の見積もり 前頁の不等式が成り立つとする． このとき， ちなみに，既存の結果： [CGD法] [勾配法] オリジナル ( 1)t t M M O        ~ nn O O               L O        1 ,t L      はステップ幅   1 max , L t M   max , O L M        1 ~O O n             
46. 46. になるか？ • ヘッセ行列が優対角行列や三重対角のとき • で 行列 の非対角成分が負のとき ちなみにランダムな行列で調べてみると が成り立っていた．．． ( , ) オリジナル 2M L M L ( )f x x xBx c  B B U D U   ,M U L B 
47. 47. 第1部のまとめ CD法が使える問題 • 超大規模な問題 • 変数を固定すると簡単になる問題 CD法の大事なところ • 更新する変数の選び方 • 部分問題の解き方 • 前反復の情報の利用の仕方 CD法の収束性 • 部分問題が凸ならば大域的収束 • 局所的エラーバウンドが成り立つなら一次収束 • 最悪の反復回数の見積もりは，ほぼ勾配法と同じ
48. 48. 講演概要 第1部： Coordinate Descent (CD)法とその性質 – ＣＤ法 – ＣＤ法の収束性（既存の結果と我々の結果） 第2部： 特別なCD法 – 大規模な問題（SVM） – 複雑な構造をもつ問題 ＥＭアルゴリズム，均衡問題など – 線形制約をもつ問題 単体法，交互方向乗数法など 第3部： 考えていること
49. 49. 第2部： 特別なＣＤ法 1. 超大規模な問題(SVM)に対するＣＤ法 2. 複雑な構造をもつ問題に対するＣＤ法 – ＥＭアルゴリズム – 相関係数の最適化 – DSLゲームの均衡問題 3. 線形制約をもつ問題に対するＣＤ法 – 単体法 – Alternating Direction Method of Multipliers (交互方向乗数法)
50. 50. ＳＶＭに対する Sequential Minimum Optimization C-SVM データ 損失関数 双対問題 ( { 1,1, ) }i i s R     ( ( ) ) max{0, )}( )1 (i i i i x x       0 0 ( 1 min 1, ) 2 s. t. 1 , i i i i i C T K i                * if 0 ( ) otherwis 1 e i i i u u u        i i iC     1 C C 
51. 51. ＳＭＯ [Platt, 1999] 更新変数集合： １つの等式制約がある． minimum(最小)の更新変数集合 部分問題： 変数が２つ，等式制約が１つの2次計画問題 ⇒ 1変数の2次関数の最小化 効率のよい実装： データをすべて取り込まない． | 1 2|k mJ   
52. 52. 第2部： 特別なＣＤ法 1. 超大規模な問題(SVM)に対するＣＤ法 2. 複雑な構造をもつ問題に対するＣＤ法 – ＥＭアルゴリズム – 相関係数の最適化 – DSLゲームの均衡問題 3. 線形制約をもつ問題に対するＣＤ法 – 単体法 – Alternating Direction Method of Multipliers (交互方向乗数法)
53. 53. EMアルゴリズムの参考文献 と Hathaway, R.J., “Another interpretation of the EM algorithm for mixture distributions”, Statics and Probability Letters, Vol. 4. pp. 53-56, 1986.
54. 54. 潜在変数をもつ最尤推定問題 • 観測変数 ，潜在変数 • 観測データと潜在変数の同時分布の確率モデルが与えられ ている． はモデルパラメータ • 潜在変数の確率密度関数 が与えられているとき， 周辺分布 Ｎ 個の観測データ が与えられたとき パラメータ の最尤推定 ( , | )p x z  ( | ) ( , | ) ( d| )p x p x z q z z    1 min ln ( | ) N i i p x    x z q    i x
55. 55. 例：混合正規分布の最尤推定 （応用：クラスタリング） • Ｋ 個のクラスがあり，どのクラスに入っているかは潜在変数 で表す． ( ならクラス k に所属) • クラス ｋ に入っている観測変数は正規分布に従う． • クラス k に入る確率を とする． 同時分布 周辺分布(混合正規分布) {0,1}K z 1kz  1, , ) |( )| ( ,k k kNx z xp      k ( | )k kq z   1 ) ( | , , ) ( |( , | ) ,( )|k k K z z k k k p x z N xp x z q z          1 , ) ( |, )( ,| k K z k k k Np x z x      1 )( | k K z k k k q z      ) ( , | ) ( )( | ( | ),k k k z k p x N xp x z q z      
56. 56. 対数尤度の最大化は，対数の中に和（積分）があるので難しい． ＥＭアルゴリズム Ｅxpectation-Step: 対数尤度の期待値を計算. Maximization-Step: 最大化 1 1 ) ln( ( )( , | ) ln , |( ( )) d( | , ) N k i z i i k N i i i E p x p x z Q q z z z x                       1 argmax ( )k k Q   同時分布の 期待値  1 min ( , ( | )ln | ) d N i i p x z q z z     
57. 57. 対数尤度の計算 同時分布 いま， を確率密度関数の集合とし， とすると lnln ( , | ) ln ( ), )( ||z pxp x z q x    ) ( | , ) (| |( , )q z xp x z x p   ( , , ) ( , | ) ( )ln d ( ) p r r r x z zL x z z     ) ln ( )d ( )ln ( , | )d ln ( )d ( )ln ( | , )d ( , , ( ) d ( | , ) ln ln ( | ) ln ( | ( ) ( ) )d ( ) ( ) r r r r r r r r L x z z z p x z z z z z q z x z z z q z x z z z z z r p x p xr                     r 
58. 58. 「対数尤度の最大化」と等価な最大化問題 (注意： ｆ は r に関して汎関数) 停留点(や最適解)では つまり， ( | , ) ( , , ) ( )ln d ( l ) ) n ( | i i i i i i i i i r r r q z x L x z z z p x       ( | , ) ( , ) ( , , ) ( )ln ( n d ) ) l ( |i i i i i i i i i q z r r p x x f L rx z z zr        )m s ax .t ( , . f r r   ( ) ( | , )i ir z q z x  max ) l | )( n, ( i r i f pr x     Kullback-Liebler divergence
59. 59. の最大化に対するＣＤ法 ステップ１： に関する最大化 ステップ２： に関する最大化 ステップ１ Ｅ-Step ステップ２: M-Step max ) s. t. , ( , ( 1, ) k i N f r i r    ( , )f r  r 1 ) ( , )( |k i k ir z q z x    1 ax )( ,m k f r  1 1 1 1 1 , ) ) ln ( )d ( )l ( ( , , ( ) n ( , | )d k i k i i k i k k i i i i i r z z r f r L x pz zr x z r z               max ln ( , | ) ( | , )di i k i i p x z q z x z 
60. 60. 混合正規分布の推定 潜在変数は離散分布なので， と考える． 1 2, , , )(i i i iKr rr r ( , | ) ) , ) ln ) ( , ( , ( | , ( , ln ln ln ln | ) i i i i i ik k ik ik k ik ik k k i k ik i k k k ki k k k f r L p x z r r x r r r r x r N N x                                        0, 1K krr R r     1 1 ( | , ) ( | , ) k i k k k k Kik k j i j j j N x r N x         
61. 61. ＥＭアルゴリズムをＣＤ法として 解釈する利点 ＣＤ法の収束定理が利用できる ＊部分問題が凸であれば， 適当な条件で収束する． 一般化，拡張，近似などができる． ＊部分問題を近似的に解いても収束．ＢＧＣＤ法など． ⇒ 一般化ＥＭアルゴリズム ＊パラメータに正則化や制約条件をつけられる． ＊解きやすい近似モデルの性質を(たぶん)議論できる． に制限 ⇒ 変分推論
62. 62. 混合正規分布に対する L1正則化と制約つき最尤推定 • のとき偏相関行列がスパースになる． • のとき少ないデータでも安定する． • ＥＭアルゴリズム(CD法)は収束する． • 部分問題は簡単に解ける． オリジナル 1 max ln s.t. , ( | , ) 1 i i k k k k k k k k k I N x                     0  , 0  
63. 63. 第2部： 特別なＣＤ法 1. 超大規模な問題(SVM)に対するＣＤ法 2. 複雑な構造をもつ問題に対するＣＤ法 – ＥＭアルゴリズム – 相関係数の最適化 – DSLゲームの均衡問題 3. 線形制約をもつ問題に対するＣＤ法 – 単体法 – Alternating Direction Method of Multipliers (交互方向乗数法)
64. 64. 相関係数の最適化 • t 期の経済指標 j の値： • t 期の企業 i の株価： • ｔ 期から ｔ+1 期の企業 i の株価収益率： 既存の経済指標から期待収益率が予測できたらうれしい． 多くの研究では となる f を推定 相関が強い新しい経済指標とポートフォリオができるととうれしそう． ( 1, , )t jI mj  ( 1, , )t iP ni  1t t t i i i t i P P R P    1 2 1 2, , , , , ,) ( )( n mR f IIR R I  強い相関 1( , , )t t mI I I 1( , , )n t t R R R
65. 65. 相関係数の最適化 新しい経済指標： ポートフォリオの収益率： 予測ができる ⇒ 相関係数が大きい 1 ( ) m i i i I yy I    1 ( ) n i i i R x R x      2 2 ( ( ) [ ( )])( ( ) [ ( ) min s. t. , ]) [( ( ) [ ( )]) ] [( ( ) [ ( )]) ] E R x E R x I y E I y E R x U R x E I y E I y X Yx y       オリジナル
66. 66. 相関係数の最適化問題 経済指標，株価収益率の分散共分散行列を とすると， • のとき一般化固有値問題として解ける． • 通常の非線形計画の手法でも解けるが，問題の構造を利用 していないため効率が悪い． min s. t. , RR R II Ix V y x V x y X V Y y x y  ,n m X R Y R  オリジナル , ,n m n n n m RI RR IIR RV V V R     
67. 67. 相関係数最適化問題に対する Block Coordinate Descent 法 ステップ１： 次の問題の(近似)解を とする ステップ２： 次の問題の(近似)解を とする オリジナル ( min ) s. t. R k RI k k R II V y V y x x x x X V y  1 1 1 ( ( ) ) min s. t. R k RI k k R II y y x V x V y V Y x y     1k x  1k y 
68. 68. 部分問題：分数計画問題 ステップ１の部分問題は分数計画問題になる． ただし， この問題の特徴 • 目的関数の分母も分子も凸関数 • 分母は正．また一般に分子は負． ( ) k RI k k IIy c V y V y  min s. t. RR x x x x V X c 
69. 69. 分数計画問題の解法 1変数非線形方程式への変換 1 2 ( ) min ( ) s. t. g x g x x X )( 0G   1 2) min( { ( ) ( )}Xx gG x xg   * * * * 1 2 1 2 * * ) 0 such that ( ) ( ) 0 ( ) ( 0 ( ) xX x G x x x X g g g x g              実際， 1*1 2 * 2 * ( ) ( ( ) ) ( ) g g x xg x g x X x    
70. 70. 1変数非線形方程式の解法 • は単調増加凸関数 • の劣勾配： ただし， は の解 は一般化ニュートン法で簡単に解ける． 1 2 2 1 ˆ ) ( ) min { ( ) ( )} max { ( )( ( )}Xx x XG G g g gx x gx x           ˆG ˆG ˆ )( 0G   2 ˆ( ) ( )ˆxg G  ˆx 2 1max { ( ) ( )}x X x xg g  new 2 1 1 2 2 2 ˆ ( )ˆ ˆ ˆ( ) ( )( ) ( ) ( )ˆ )ˆ ( ˆ x xg g gG g g g x x x x          一般化ニュートン法の各反復で を解かなければならない！！2 1max { ( ) ( )}x X x xg g 
71. 71. の解き方 解きたい問題は以下のようになる． 一般に であるから， が凸多面体のとき 2次錐計画問題 と等価である． ただし， は となる行列． 2 1max { ( ) ( )}x X x xg g  min s.t. RRx Vc x X x x    0  X min s. t. c x x t X Vx t    RRV V VV オリジナル
72. 72. 実験結果 オリジナル
73. 73. 第2部： 特別なＣＤ法 1. 超大規模な問題(SVM)に対するＣＤ法 2. 複雑な構造をもつ問題に対するＣＤ法 – ＥＭアルゴリズム – 相関係数の最適化 – 均衡問題 3. 線形制約をもつ問題に対するＣＤ法 – 単体法 – Alternating Direction Method of Multipliers (交互方向乗数法)
74. 74. 均衡問題 • 交通流均衡問題 – ネットワーク上の交通流は，Wardropの等時間配分原理 に従うとする． – 各ODペアごとにすべてのパスを考慮したモデル． – 考慮するODペアとパスを限定して解く ⇒ ＣＤ法 • 通信の均衡問題 – 各ユーザが通信チャネルを共有 – 他ユーザの通信はノイズとなる． • etc
75. 75. DSLゲームの均衡問題 Ｎ人ユーザが，Ｋチャネルある通信路を使って通信している． ユーザ i の最適化問題 • 決定変数： ( i 以外のユーザの決定変数 ) • 目的関数（通信量）： • ユーザーの制約： 1 ( , ) ln 1i i ij k k j K k i i i k i i k xu x x x                   max 1 0, K i i k i k kx x P    Ki x R i x 分母はノイズ
76. 76. システム最適とユーザ最適 全体の最適化： ⇒ 難しい．ユーザが固定されていないことも ユーザ最適： – 各ユーザが自分だけの最適化問題を解く – 実装しやすい ⇒ 均衡問題に対するRandom-CD法 ⇒ 収束する？？ ma 1 1 x max ( , ) s. t. 0 ( 1,, , ) N i i i i K i i k k i xu x x P Nx i       
77. 77. （KKT条件） ユーザの最適化問題 max 1 max ( , ) s. t. 0, i i i i K i i k k u x x x x P      max max ( 1, 1 0 , 0, ) 0 ( 1,0, , , ) 00, i ij i k k k i i k k k i i i i k k k k k x x x k x K K P x P                          [Luo and Pang, 2006] max 0 ( 1 , ) 0, 0, , , 0 ( 1, ) i ij i i i k k k k i i k i i i i k k k k K x K x P x x k k                   
78. 78. 均衡問題 Ｎａｓｈ均衡： すべてのユーザが最適 max 0 ( 1 , ) 0, 0, , , 0 ( 1, ) i ij i i i k k k k i i k i i i i k k k k K x K x P x x k k                   
79. 79. 等価な最適化問題 対角行列 を以下のように定義する さらに行列 ，A と b を以下のように定義する． Nash均衡： ,i j K K M R   ,i j ij kk kM  NK NK M R   1,1 1, max ,1 , m 1 ax 1 1 0 0 0 1 1 , , 0 0 0 1 1 N N N N N M M P M A b M M P                             0 0, 0, 0 A A Mx q x x b x            
80. 80. DSLゲームの均衡問題とＣＤ法 が対称行列のとき ＣＤ法の1ステップ ⇔ ユーザごとの最適化 つまり，非同期でユーザが自分の最適化をしているのは， 上記の問題に対してRandom-CD法をしているとみなせる． Mが対称行列でないときは相補性問題に対するガウスザイデル 法として解析できる．しかしながら，条件が厳しくなる． M 1 min 2 s. t. 0 x xMx q Ax b x    ちなみに [Luo and Pang, 2006]では， Cyclicの場合のみを議論
81. 81. 第2部： 特別なＣＤ法 1. 超大規模な問題(SVM)に対するＣＤ法 2. 複雑な構造をもつ問題に対するＣＤ法 – ＥＭアルゴリズム – 相関係数の最適化 – DSLゲームの均衡問題 3. 線形制約をもつ問題に対するＣＤ法 – 単体法 – Alternating Direction Method of Multipliers (交互方向乗数法)
82. 82. 単体法 基底変数，行列： 非基底変数，行列： 実行可能基底解： ピボット操作： B と Ｎ から1つずつ要素を入れ替え，実行可能解を生成する． min s. t. 0 c x Ax b x   ,B Bx A ,N Nx A 1 0, 0B B Nx bA x   
83. 83. 単体法とＣＤ法 ピボット操作をする非基底変数を とする． さらに， とする．(SMO!!) このとき，ＣＤ法の部分問題は ただし， j N { }kJ B j  1 argmin{ | 0, 0} argmin{ 0, , | } k k J j jB j j c x c x Ax b x x x x xb b y          1 1 1 , ,B B j j B B j jb b y A a c A a cA       
84. 84. 単体法とＣＤ法 部分問題： 最適解： min s. t. ,( 1 ), 0 j j i i j j b n x y x i x    1 0 arg if 0 min 0 otherwise j k j i i i b y y x                  
85. 85. 単体法をCD法としてみると • 大域的収束性の証明が簡単 （でも面白くない） • 一次収束は保証できない ⇒ 各部分問題に強凸性が成り立たない • 目的関数が凸，実行可能領域が凸多面体であれば そのまま拡張できる． ⇒ Convex Simplex Method [Zangwill, 1967]
86. 86. 第2部： 特別なＣＤ法 1. 超大規模な問題(SVM)に対するＣＤ法 2. 複雑な構造をもつ問題に対するＣＤ法 – ＥＭアルゴリズム – 相関係数の最適化 – DSLゲームの均衡問題 3. 線形制約をもつ問題に対するＣＤ法 – 単体法 – Alternating Direction Method of Multipliers (交互方向乗数法)
87. 87. 制約つきの問題 ー 拡張ラグランジュ法(乗数法) － ＊簡単のため とする． ラグランジュ関数： 拡張ラグランジュ関数： min s.t. ( ) 0, ( ) 1 ,,i f x h ix m  1 (( ), ) ) ( m i i i f x hL x x      2 1 ( , ) ( , ) ( ) m i i c x L x h xL c      0 
88. 88. 拡張ラグランジュ法 拡張ラグランジュ法では点列 を以下のように生成する． 1 argmin ( , )k k x cx xL   1 1 1 ( )k k k i m i hc x         ( ),k k x  制約なしの問題  1 1 11 0 ( , ) ( () )( )k k k k x c i k k i i h xL x f x ch x         * * * 0 ( ) ( )i if x h x   
89. 89. 交互方向乗数法 (alternating direction method of multipliers) 目的関数が分離可能な問題： 例： 応用： 画像処理，信号処理 ( ) ( )min s.t. p x q y Ax By b    1min ( )f x Ax ‖ ‖ 1min s ( . ) t 0. A yf x x y    ‖‖
90. 90. 交互方向乗数法 拡張ラグランジュ関数の最小化を正確にするかわりに， ブロックCD法の反復を１回する． 2 (( , , ( )) ) ( ) T cL Ax Byx y p x q y b c Ax By b        ‖ ‖ 1 1 argmin ( , , ) n k k k c x R xx yL    2 1 1 argmin ( , , )n kk k cy R xy yL    1 1 1 ( )k k k k c Ax By b       
91. 91. 交互方向乗数法が有効な例 Total variation minimization (画像処理) ｚ：ノイズがある元画像． : total variation 2 1min s.t. n x z Ax x R   ‖ ‖ ‖ ‖ 1Ax‖ ‖ 2 1min s.t. 0 x z y Ax y     ‖ ‖ ‖‖ 2 2 1( , , ) ( )cL Ax y cx y x z y Ax y     ‖ ‖ ‖‖ ‖ ‖
92. 92. Total variation minimization 交互方向乗数法 あらかじめ を計算しておけば， 各反復の計算は でできる   1 2 2 arg min ( , , ) argmin )( n n k k k cx R k x R x x y x z A x c A y L x           ‖ ‖ ‖ ‖ 1 ( ) ( )k I cA A z A y    1 1 1 )max 0,| ( | sgn(( ),) ,1,k k k i i iy m c iAx Ax           1 ( )I cA A   2 ( )O n 1 1 1 ( )k k k k c Ax y      
93. 93. 本講演のまとめ • Ｃoordinate Ｄescent (CD) 法は簡単な手法． ただし，実装には専門的な知識が必要． • ＣＤ法には向き不向きがある • 収束性は勾配型手法とほぼ同等 • 古典的な手法だが，いろいろと研究・開発す ることがある
94. 94. ご清聴ありがとうございました 参考文献 S. J. Wright, “Coordinate Descent Algorithm,” Optimization Online, 2014. http://www.optimization-online.org/DB_FILE/2014/12/4679.pdf