乗数の交互方向法の背後にある直観


8

私は最近ADMMに関する多くの論文を読んでおり、それを使用していくつかの問題を解決しようとしましたが、そのすべてが非常に効果的でした。他の最適化手法とは対照的に、この手法がどのように、そしてなぜ効果的であるかについては、直感がわかりません(もちろん、いくつかのケースで収束分析を見てきましたが、あまり洞察力がありませんでした)。ADMMの背後にある直感はありますか?それを最初に使用した科学者はどのようにしてこのアイデアを思い付きましたか?いくつかの幾何学的な直感が最善ですが、だれでも持っている洞察は役に立ちます。


ADMMとは何かを詳しく説明できますか?
— Bill Barth

@BillBarth-確かに:)乗算器の交互方向法(たとえば、stanford.edu/
— boyd/admm.htmlを

1
少なくとも、元の論文があまり明確でないとはどういうことですか。
— Kirill、2014年

3
@Kirill Just a nit:ボイドの論文は元のADMM論文ではありません。これは適切なリファレンスですが、アルゴリズムはDouglas and Rachford(1956)に戻り、1970年代から1990年代にかけてさらに開発および分析されました。近年では、主に正則化の話題による復活が見られます。ℓ1
— Jed Brown

2
ADMMは正則化の問題を解決するのに非常に効果的であるため、多くの注目を集めていますが、すべての最適化問題に一般的に役立つ方法ではありません。より良い質問は、なぜADMMがこのコンテキストで非常に効果的であるかです。分割ブレグマン法に関するOsherとYinの作業(基本的にADMMと同等)は、これを説明するのに役立ちます。caam.rice.edu/~optimization/L1/bregmanのページを参照してくださいL1
— ブライアン

回答:


10

分バツ、y F(バツ)+G(y)、stあバツ+By=c
FGあB

次の、、特殊なケースがわかります。この場合、制約は。つまり、問題置き換えることができ の形式の問題を解決するのはですが、これを解決するのは困難です 。(この例は自分で作成できますが、一般的なものはおよび)。ADMMでは、「分割フォーム」 から開始して、「拡張ラグラジアン」を構築します あ=私B=−私c=0バツ−y=0

分バツF(バツ)+G(バツ)。
F(X)=λ‖X‖1G(X)=1
分バツρF(バツ)+12‖バツ−z‖2
F(バツ)=λ‖バツ‖1分のX、YF(X)+G(Y)、G(バツ)=12‖あバツ−b‖2のL ρ(X 、Y 、Z )= F (X )+ G (Y )+ Z T(X - Y )+ ρ
分バツ、y F(バツ)+G(y)、stバツ−y=0
Lρ(バツ、y、z)=F(バツ)+G(y)+zT(バツ−y)+ρ2‖バツ−y‖2
ラグランジュ乗数 。これで、と異なる方向で増加したラグラジアンを交互に最小化します。つまり、反復します およびに従って乗数を更新します これは、乗数の名前の交互方向の方法を説明する必要があります。z バツy
バツk+1=argメートル私んバツ Lρ(バツ、yk、zk)
yk+1=argメートル私んy Lρ(バツk+1、y、z)
zk+1=zk+ρ(バツk+1−yk+1)。

とこれらの最小化問題を分析すると、更新ごとに「単純な形式」の問題を解決するだけでよいことがたとえば、更新の場合 (依存しない項を無視)。バツyバツ

バツk+1=argメートル私んバツ F(バツ)+ρ2‖バツ−yk+ρzk‖2
バツ

問題 ADMM は同様に導出されますが、更新の中間問題は依然として少し難しいですが、元のものと比較して比較的簡単かもしれません。特におよび(または同等に、および制約)更新は、実装するのがほぼ簡単です。

分バツ、y F(バツ)+G(y)、stあバツ+By=c
F(バツ)=λ‖バツ‖1G(バツ)=12‖あバツ−b‖2F(バツ)=λ‖バツ‖1G(y)=12‖y‖2あバツ−y=b

いいね!また、3つのブロックで何が起こるかを示すことも役立ちます(たとえば、無相関行列で機能する場合があります)。
— Royi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.