Coordinate Descent 法について
京都大学大学院情報学研究科
山下 信雄
2015年3月「最適化の基盤とフロンティア」研究部会 講演資料
平成28年度 数理工学専攻説明会
第1回: 平成28年5月 7日(土) 13:30~
第2回: 平成28年5月30日(月) 17:00~
場所、プログラムの詳細は以下の専攻HPをご覧ください。
http://www.amp.i.kyoto-u.ac.jp
*説明会は教員とのコネクションを作るチャンスです。
*本説明会は修士課程の説明会も兼ねています。
京都大学大学院 情報学研究科 数理工学専攻
博士後期課程の学生募集
Coordinate Descent法について
(座標降下法ともいう)
• CD法は各反復で決定変数の一部を更新する手法.
• すごく遅い.実用的な実装が容易ではない.
⇒ 使い物にならない.授業で教えにくい
⇒ 簡単な方法だけど,あまりよく知られていない
• 数百万変数の超大規模な問題でも動く.
⇒ 機械学習,圧縮センシングなどで使われる
講演概要
第1部: Coordinate Descent (CD)法とその性質
– CD法の紹介
– CD法の収束性(既存の結果と我々の結果)
第2部: 特別なCD法
– 複雑な構造をもつ問題
EMアルゴリズムなど
– 線形制約をもつ問題
単体法,交互方向乗数法など
– 均衡問題
第1部: CD法とその性質
1. 考える問題
2. CD法
 CD法とその特徴
 CD法のヴァリエーション
3. CD法の収束性 (既存の結果)
4. CD法の一般化とその性質 (我々の結果)
 一般化されたCD法
 収束性
考える問題
• は微分可能な関数
• は凸関数.(多変数関数に拡張可能)
•
例:
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
 
応用例: データ解析
データ
機械学習: 損失関数 ,基底ベクトル ,カーネル行列
*
* は の共役関数
圧縮センシング(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

  
ちなみに機械学習における
損失関数とその共役関数は
共役関数:
- SVM:
- SVR:
ロジスティック回帰, 正則化なども同様に議論できる.
 *
( ) 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
2. CD法
(Block) Coordinate Descent 法
ステップ0: 適当な初期点を選ぶ
ステップ1: 更新する変数の集合(更新変数集合)
を選ぶ.
ステップ2:
 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


  

CD法のイメージ
CD法に適した問題
CD法に適した問題
• スパース性のない超大規模な問題
応用例: 機械学習,圧縮センシング
• 各ブロックでは簡単な問題
応用例: EMアルゴリズム,交互方向乗数法
CD法に適さない問題
• スパースな問題
• 分割できない微分不可能な関数
• たくさんの制約があるとき
• 高精度な解がほしいとき
2
,
min
U V
A U V
CD法が収束しない例
制約があるとき
分離不可能かつ微分不可能な関数があるとき
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 最適解 
超大規模な問題での
各反復の実装(計算時間)
圧縮センシング(L1-L2最適化)
1回の反復時間( , のとき)
ニュートン型の手法:
勾配型の手法:
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 
の勾配 の計算
まず, を計算.
だったCD法では, 前の結果 を用いて
を計算.
次の反復で のとき,
必要な情報は と だけ. を保持する必要がない.
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 
もうちょっと一般化すると
目的関数を とし,
とする.
先ほどと同様, で更新できる.
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 


 
CD法が復活した理由
数百万を超えるような大規模な問題が増えている.
機械学習,圧縮センシング,医療画像
メモリ上にすべてのデータを持つことさえ大変
CD法は,1回の反復に,
• すべてのデータを必要としない
• 1回の反復時間が短い
とりあえず動く!
注意すべき点
実用的な実装が難しい
前の反復の情報を利用しないと1回の反復に必要な
時間やメモリが勾配法と同じなる
スパースな問題では意味がない
のヘッセ行列 の非ゼロ要素数が のとき
 ニュートン型手法:
 勾配型手法:
 CD法:(全変数を更新したとき)
f
2
( )f x ( )O n
( )O n
( )O n
( )O n
ニュートン型手法がよい
CD法のヴァリエーション
CD法で重要となるのは
1. 更新する変数集合 の選び方
2. 部分問題の解き方
それらの方法の違いによって様々なCD法がある
kJ
1
argm ( )ink
kk
k
kJ
JJ
Ax b
x F x
x x

  
 
 



更新変数集合 の選び方
Cyclic ルール(Gauss-Seidel ルール)
• 順番に選ぶ
• 何回かに必ず選ぶという一般化もある
貪欲ルール (Gauss-Southwell ルール)
• 最も効果が高そうな変数を選ぶ
ランダムルール
• ランダムに選ぶ
• 証明が簡単
kJ
例えば
( )
argmin
k
i
i
f x
j
x
  
  
  
部分問題の解き方
- 厳密に解く -
• 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

  
 




 
部分問題の解き方
― 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 の1次近似
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は f が2次関数にはよい.一般のときは近接勾配がよい.
私見
補足:高速化版
近接勾配法には高速化法がある.
[Nesterov, 2010]ではRandom-CD法の高速化法が与えられている.
• 高速化法では2つのベクトル を更新する.
• は1部の成分が更新されるが, は全成分が更新される.
f が2次関数だと使えるが,一般の関数だと意味がない.
,k k
x y
k
x
k
y
1 ( )k k
i i k
i
k
x x t
f
x
y 
 

第1部: CD法とその性質
1. CD法
 CD法の紹介
 CD法の変数の選び方
2. CD法の収束性 (既存の結果)
3. CD法の一般化とその性質 (我々の結果)
 一般化されたCD法
 収束性
CD法の性質(制約なし)
大域的収束性
次のどれかの条件を満たすとき,大域的収束する.
a. 目的関数が各変数に関して(準)凸関数で,微分不
可能な関数が分離可能なとき [Tseng, 2001]
b. 目的関数が微分可能で,各部分問題の解が唯一な
とき.[Luenberger, 1973]
最近は,若干緩い条件で大域的収束性が示されている.
CD法の性質(制約なし)
一次収束性
CGD法 [Tseng and Yun, 2009]
局所的エラーバウンド性のもとで一次収束
補足: が強凸関数であれば成り立つ.
凸でなくても2次計画問題であれば成り立つ.
CD法 [Luo and Tseng, 1992]
が微分可能なとき,局所的エラーバウンド性のもとで一次収束F
F
反復回数の見積もりについて
次の条件を満たす最小の k を知りたい.
ただし,
劣勾配法:
近接勾配法:
高速化近接勾配法:
*
(( ) )k
FF xx  
 2
O 
 1
O 
1
2
O 
 
 
 
0  であれば2
10 

2
1
1
2
10000
100
10









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 
つづき
とすると
両辺を で割り, に注意すると
これらの式を足すと
つまり,
* 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

 なるのはと 
について
はリプシッツ連続とする.
このとき
最急降下法: とすると
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   
        

CGD法の反復回数の見積もり
は凸関数とする.
ランダム,貪欲ルール [Nesterov, 2012 (初出2010)]
注意: 勾配法と比較するため n で割ってある.
ランダムでは
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     
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

 
  
 
はステップ幅
CD法の性質
等式制約 がある場合
同条件で,大域的収束,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 のとき
第1部: CD法とその性質
1. CD法
 CD法の紹介
 CD法の変数の選び方
2. CD法の収束性 (既存の結果)
3. CD法の一般化とその性質 (我々の結果)
 一般化されたCD法
 収束性
考える問題
• は微分可能な関数
• は凸関数.(多変数関数に拡張可能)
以下では とする.
1
min ( )
s.
) (
t
( )
.
n
i
i
n
iF x f x
x
x
R




 
: n
f R R
{ }:i RR   
( ) ( )ix x  
一般化されたBCD法
ステップ0: 適当な初期点を選ぶ
ステップ1: 更新する変数の集合 を選ぶ.
ステップ2:
ただし,
であり, は に関して凸関数.
ステップ3:アルミホのルールでステップ幅 を求め
 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 
一般化CD法の特別な場合(1)
CD法 (ただし, は各 に対して凸)
( ) ( )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
  ならCD法!1kt 
一般化CD法の特別な場合(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    
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 
 
InexactなCGD法
が に関して(強)凸関数であれば,
後知恵的に一般化CD法とみなせる.
いま は に関して係数 の強凸とする.
( )
1
( )
2
k k
y y Eyy  
k

オリジナル
kJxk
kJx

0E   であれば強凸.
どのような行列 E を考え,
近似精度 を設定するか?
k
k 
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 
大域的収束性と一次収束性
大域的収束
が に関して(一様に)リプシッツ連続であれば大域的
収束する
一次収束
以下の条件が成り立てば1次収束する.
• 局所的エラーバウンド性が成り立つとする.
• が に関して(一様に)リプシッツ連続
• が に関して(一様に)強凸関数
オリジナル
k kJx
k
k
kJx
kJx
特別な場合
CD法
が に関して強凸関数であり,
が に関してリプシッツ連続であれば
となり,大域的収束する.
さらに局所的エラーバウンド性が成り立てば1次収束する
Inexact CGD法
が に関して係数 の強凸関数であるとする.
とする.
ExactなCD法と同条件で,大域的収束し,一次収束する.
オリジナル
kJxf
kJ f kJx
1kt 
k kJx 
1k k k
k i ixx  
 
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
反復の見積もり
前頁の不等式が成り立つとする.
このとき,
ちなみに,既存の結果: [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
 
  
       
になるか?
• ヘッセ行列が優対角行列や三重対角のとき
• で 行列 の非対角成分が負のとき
ちなみにランダムな行列で調べてみると
が成り立っていた...
( , )
オリジナル
2M L
M L
( )f x x xBx c  B
B U D U   ,M U L B 
第1部のまとめ
CD法が使える問題
• 超大規模な問題
• 変数を固定すると簡単になる問題
CD法の大事なところ
• 更新する変数の選び方
• 部分問題の解き方
• 前反復の情報の利用の仕方
CD法の収束性
• 部分問題が凸ならば大域的収束
• 局所的エラーバウンドが成り立つなら一次収束
• 最悪の反復回数の見積もりは,ほぼ勾配法と同じ
講演概要
第1部: Coordinate Descent (CD)法とその性質
– CD法
– CD法の収束性(既存の結果と我々の結果)
第2部: 特別なCD法
– 大規模な問題(SVM)
– 複雑な構造をもつ問題
EMアルゴリズム,均衡問題など
– 線形制約をもつ問題
単体法,交互方向乗数法など
第3部: 考えていること
第2部: 特別なCD法
1. 超大規模な問題(SVM)に対するCD法
2. 複雑な構造をもつ問題に対するCD法
– EMアルゴリズム
– 相関係数の最適化
– DSLゲームの均衡問題
3. 線形制約をもつ問題に対するCD法
– 単体法
– Alternating Direction Method of Multipliers
(交互方向乗数法)
SVMに対する
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

SMO
[Platt, 1999]
更新変数集合:
1つの等式制約がある.
minimum(最小)の更新変数集合
部分問題:
変数が2つ,等式制約が1つの2次計画問題
⇒ 1変数の2次関数の最小化
効率のよい実装: データをすべて取り込まない.
| 1 2|k mJ   
第2部: 特別なCD法
1. 超大規模な問題(SVM)に対するCD法
2. 複雑な構造をもつ問題に対するCD法
– EMアルゴリズム
– 相関係数の最適化
– DSLゲームの均衡問題
3. 線形制約をもつ問題に対するCD法
– 単体法
– Alternating Direction Method of Multipliers
(交互方向乗数法)
EMアルゴリズムの参考文献
と
Hathaway, R.J.,
“Another interpretation of the EM algorithm
for mixture distributions”,
Statics and Probability Letters, Vol. 4.
pp. 53-56, 1986.
潜在変数をもつ最尤推定問題
• 観測変数 ,潜在変数
• 観測データと潜在変数の同時分布の確率モデルが与えられ
ている. はモデルパラメータ
• 潜在変数の確率密度関数 が与えられているとき,
周辺分布
N 個の観測データ が与えられたとき
パラメータ の最尤推定
( , | )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
例:混合正規分布の最尤推定
(応用:クラスタリング)
• K 個のクラスがあり,どのクラスに入っているかは潜在変数
で表す. ( ならクラス k に所属)
• クラス 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      
対数尤度の最大化は,対数の中に和(積分)があるので難しい.
EMアルゴリズム
Expectation-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  

 
対数尤度の計算
同時分布
いま, を確率密度関数の集合とし,
とすると
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 
「対数尤度の最大化」と等価な最大化問題
(注意: f は 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
の最大化に対するCD法
ステップ1: に関する最大化
ステップ2: に関する最大化
ステップ1 E-Step
ステップ2:
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 
混合正規分布の推定
潜在変数は離散分布なので,
と考える.
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
 
 





EMアルゴリズムをCD法として
解釈する利点
CD法の収束定理が利用できる
*部分問題が凸であれば,
適当な条件で収束する.
一般化,拡張,近似などができる.
*部分問題を近似的に解いても収束.BGCD法など.
⇒ 一般化EMアルゴリズム
*パラメータに正則化や制約条件をつけられる.
*解きやすい近似モデルの性質を(たぶん)議論できる.
に制限 ⇒ 変分推論
混合正規分布に対する
L1正則化と制約つき最尤推定
• のとき偏相関行列がスパースになる.
• のとき少ないデータでも安定する.
• EMアルゴリズム(CD法)は収束する.
• 部分問題は簡単に解ける.
オリジナル
1
max ln
s.t. ,
( | , )
1
i
i
k k k k
k
k k
k
k
I
N x  
  

 
 
 




 


0 
, 0  
第2部: 特別なCD法
1. 超大規模な問題(SVM)に対するCD法
2. 複雑な構造をもつ問題に対するCD法
– EMアルゴリズム
– 相関係数の最適化
– DSLゲームの均衡問題
3. 線形制約をもつ問題に対するCD法
– 単体法
– Alternating Direction Method of Multipliers
(交互方向乗数法)
相関係数の最適化
• t 期の経済指標 j の値:
• t 期の企業 i の株価:
• t 期から t+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
相関係数の最適化
新しい経済指標:
ポートフォリオの収益率:
予測ができる ⇒ 相関係数が大きい
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
 

 

オリジナル
相関係数の最適化問題
経済指標,株価収益率の分散共分散行列を
とすると,
• のとき一般化固有値問題として解ける.
• 通常の非線形計画の手法でも解けるが,問題の構造を利用
していないため効率が悪い.
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  
  
相関係数最適化問題に対する
Block Coordinate Descent 法
ステップ1: 次の問題の(近似)解を とする
ステップ2: 次の問題の(近似)解を とする
オリジナル
(
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 
部分問題:分数計画問題
ステップ1の部分問題は分数計画問題になる.
ただし,
この問題の特徴
• 目的関数の分母も分子も凸関数
• 分母は正.また一般に分子は負.
( )
k
RI
k k
IIy
c
V y
V y

min
s. t.
RR
x
x x
x
V
X
c

分数計画問題の解法
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
   
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 
の解き方
解きたい問題は以下のようになる.
一般に であるから, が凸多面体のとき
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
オリジナル
実験結果
オリジナル
第2部: 特別なCD法
1. 超大規模な問題(SVM)に対するCD法
2. 複雑な構造をもつ問題に対するCD法
– EMアルゴリズム
– 相関係数の最適化
– 均衡問題
3. 線形制約をもつ問題に対するCD法
– 単体法
– Alternating Direction Method of Multipliers
(交互方向乗数法)
均衡問題
• 交通流均衡問題
– ネットワーク上の交通流は,Wardropの等時間配分原理
に従うとする.
– 各ODペアごとにすべてのパスを考慮したモデル.
– 考慮するODペアとパスを限定して解く ⇒ CD法
• 通信の均衡問題
– 各ユーザが通信チャネルを共有
– 他ユーザの通信はノイズとなる.
• etc
DSLゲームの均衡問題
N人ユーザが,Kチャネルある通信路を使って通信している.
ユーザ 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
分母はノイズ
システム最適とユーザ最適
全体の最適化:
⇒ 難しい.ユーザが固定されていないことも
ユーザ最適:
– 各ユーザが自分だけの最適化問題を解く
– 実装しやすい
⇒ 均衡問題に対する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



 


(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
   
 
    
 


 


均衡問題
Nash均衡: すべてのユーザが最適
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
   
 
    
 


 


等価な最適化問題
対角行列 を以下のように定義する
さらに行列 ,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
 
 
 

  
 
DSLゲームの均衡問題とCD法
が対称行列のとき
CD法の1ステップ ⇔ ユーザごとの最適化
つまり,非同期でユーザが自分の最適化をしているのは,
上記の問題に対してRandom-CD法をしているとみなせる.
Mが対称行列でないときは相補性問題に対するガウスザイデル
法として解析できる.しかしながら,条件が厳しくなる.
M
1
min
2
s. t.
0
x xMx q
Ax b
x



ちなみに
[Luo and Pang, 2006]では,
Cyclicの場合のみを議論
第2部: 特別なCD法
1. 超大規模な問題(SVM)に対するCD法
2. 複雑な構造をもつ問題に対するCD法
– EMアルゴリズム
– 相関係数の最適化
– DSLゲームの均衡問題
3. 線形制約をもつ問題に対するCD法
– 単体法
– Alternating Direction Method of Multipliers
(交互方向乗数法)
単体法
基底変数,行列:
非基底変数,行列:
実行可能基底解:
ピボット操作:
B と N から1つずつ要素を入れ替え,実行可能解を生成する.
min
s. t.
0
c x
Ax b
x


,B Bx A
,N Nx A
1
0, 0B B Nx bA x
  
単体法とCD法
ピボット操作をする非基底変数を とする.
さらに, とする.(SMO!!)
このとき,CD法の部分問題は
ただし,
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   
   
単体法とCD法
部分問題:
最適解:
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



  




 
 




単体法をCD法としてみると
• 大域的収束性の証明が簡単
(でも面白くない)
• 一次収束は保証できない
⇒ 各部分問題に強凸性が成り立たない
• 目的関数が凸,実行可能領域が凸多面体であれば
そのまま拡張できる.
⇒ Convex Simplex Method [Zangwill, 1967]
第2部: 特別なCD法
1. 超大規模な問題(SVM)に対するCD法
2. 複雑な構造をもつ問題に対するCD法
– EMアルゴリズム
– 相関係数の最適化
– DSLゲームの均衡問題
3. 線形制約をもつ問題に対するCD法
– 単体法
– Alternating Direction Method of Multipliers
(交互方向乗数法)
制約つきの問題
ー 拡張ラグランジュ法(乗数法) -
*簡単のため とする.
ラグランジュ関数:
拡張ラグランジュ関数:
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 
拡張ラグランジュ法
拡張ラグランジュ法では点列 を以下のように生成する.
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   
交互方向乗数法
(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

 
‖‖
交互方向乗数法
拡張ラグランジュ関数の最小化を正確にするかわりに,
ブロックCD法の反復を1回する.
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   
   
交互方向乗数法が有効な例
Total variation minimization (画像処理)
z:ノイズがある元画像. : 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     ‖ ‖ ‖‖ ‖ ‖
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   
  
本講演のまとめ
• Coordinate Descent (CD) 法は簡単な手法.
ただし,実装には専門的な知識が必要.
• CD法には向き不向きがある
• 収束性は勾配型手法とほぼ同等
• 古典的な手法だが,いろいろと研究・開発す
ることがある
ご清聴ありがとうございました
参考文献
S. J. Wright, “Coordinate Descent Algorithm,” Optimization Online, 2014.
http://www.optimization-online.org/DB_FILE/2014/12/4679.pdf

coordinate descent 法について