Intuição por trás do método de direção alternada dos multiplicadores

8

Ultimamente, tenho lido muitos artigos sobre o ADMM e também tentei resolver vários problemas usando-o, nos quais foi muito eficaz. Ao contrário de outros métodos de otimização, não consigo ter uma boa intuição de como e por que esse método é tão eficaz (é claro, já vi análises de convergência em alguns casos, mas nada que me desse muita informação). Existe alguma intuição por trás do ADMM? Como os primeiros cientistas a usá-lo tiveram essa ideia? Alguma intuição geométrica seria melhor, mas qualquer insight que alguém tenha ajudará.

olamundo
fonte
Você pode explicar o que é o ADMM?
Bill Barth
@BillBarth - Claro :) alternada direcção método dos multiplicadores (ver, por exemplo stanford.edu/~boyd/admm.html )
olamundo
1
Você pode pelo menos dizer o que é sobre o artigo original que você acha tão incerto?
Kirill
3
@ Kirill Apenas um detalhe: o papel de Boyd dificilmente é o original da ADMM. É uma boa referência, mas o algoritmo remonta a Douglas e Rachford (1956) e foi posteriormente desenvolvido e analisado das décadas de 1970 a 1990. Nos últimos anos, houve um reavivamento em grande parte devido à agitação em torno de 1 regularização.
Jed Brown
2
L1

Respostas:

10

minx,y F(x)+G(y),s.tAx+By=c
FGAB

Eu encontrar o seguinte caso especial de , e ilustrativos. Nesse caso, a restrição diz , ou seja, podemos substituir para obter o problema Agora, resolver isso pode ser difícil, enquanto a solução de problemas da forma pode ser fácil. (Você mesmo pode criar exemplos disso, um popular é e ). No ADMM, você começa a partir da "forma " e cria o Lagragian aumentado " A=IB=Ic=0xy=0

minxF(x)+G(x).
minxρF(x)+12xz2
F(x)=λx1G(x)=12Axb2
minx,y F(x)+G(y),s.txy=0
Lρ(x,y,z)=F(x)+G(y)+zT(xy)+ρ2xy2
com o multiplicador de Lagrange . Agora você minimiza alternadamente o Lagragian aumentado nas diferentes direções e , ou seja, itera e atualize o multiplicador de acordo com Isso deve explicar o nome do método de direções alternadas dos multiplicadores .z xy
xk+1=argminx Lρ(x,yk,zk)
yk+1=argminy Lρ(xk+1,y,z)
zk+1=zk+ρ(xk+1yk+1).

Analisando estes problemas de minimização para e mais perto, você observar que para cada atualização só precisa resolver um problema da "forma mais simples", por exemplo, para o atualização (negligenciando termos que não dependem de ).xyx

xk+1=argminx F(x)+ρ2xyk+ρzk2
x

O ADMM para o problema é derivado de maneira semelhante, mas os problemas intermediários das atualizações ainda são um um pouco difícil, mas pode ser comparativamente simples em comparação com o original. Especialmente no caso de e (ou equivalente , e a restrição ) as atualizações são mais ou menos simples de implementar.

minx,y F(x)+G(y),s.tAx+By=c
F(x)=λx1G(x)=12Axb2F(x)=λx1G(y)=12y2Axy=b
Dirk
fonte
Agradável! Também é útil mostrar o que acontece em 3 blocos (há casos em que ele funcionará, por exemplo, matrizes correlacionadas).
Royi 09/12/19