(Modifica note: l'ho riorganizzato dopo aver perso la testa.)
La letteratura sulla discesa delle coordinate può essere un po 'difficile da rintracciare. Ecco alcuni motivi per questo.
Molte delle proprietà note dei metodi di coordinate sono catturate nei teoremi ombrello per metodi di discesa più generali. Due esempi di questo, di seguito esposti, sono la convergenza veloce sotto forte convessità (sospeso per qualsiasi ripida discesa), e la convergenza di questi metodi (solitamente attribuita a Zoutendijk).lp
La denominazione non è standard. Anche il termine "discesa più ripida" non è standard. Potresti avere successo cercando su uno qualsiasi dei termini "discesa ciclica delle coordinate", "discesa delle coordinate", "Gauss-Seidel", "Gauss-Southwell". l'utilizzo non è coerente.
nn
O(ln(1/ϵ))lp
Vincoli. Senza una forte convessità, devi iniziare a stare un po 'attento. Non hai detto nulla sui vincoli, e quindi in generale, l'infimo potrebbe non essere raggiungibile. Dirò brevemente sull'argomento dei vincoli che l'approccio standard (con i metodi di discesa) è di proiettare sul proprio vincolo impostare ogni iterazione per mantenere la fattibilità, o usare barriere per inserire i vincoli nella propria funzione oggettiva. Nel primo caso, non so come giochi con la discesa delle coordinate; nel caso di quest'ultimo, funziona bene con la discesa delle coordinate e queste barriere possono essere fortemente convesse.
Più specificamente per coordinare i metodi, piuttosto che proiettare, molte persone semplicemente fanno in modo che l'aggiornamento delle coordinate mantenga la fattibilità: questo, ad esempio, è esattamente il caso dell'algoritmo Frank-Wolfe e delle sue varianti (cioè usandolo per risolvere gli SDP).
Noterò anche brevemente che l'algoritmo SMO per SVM può essere visto come un metodo di discesa delle coordinate, in cui si aggiornano due variabili contemporaneamente e mantenendo un vincolo di fattibilità mentre lo si fa. La scelta delle variabili è euristica in questo metodo, quindi le garanzie sono proprio le garanzie cicliche. Non sono sicuro che questa connessione appaia nella letteratura standard; Ho appreso del metodo SMO dagli appunti del corso di Andrew Ng e li ho trovati abbastanza puliti.
n
O(ln(1/ϵ))
Ci sono alcuni risultati più recenti sulla discesa delle coordinate, ho visto cose su arXiv. Inoltre, luo & tseng hanno alcuni articoli più recenti. ma questa è la roba principale.
∑mi=1g(⟨ai,λ⟩)g(ai)m1λexp(1/ϵ2)O(1/ϵ)
Il problema con aggiornamenti esatti. Inoltre, molto spesso non si dispone di un aggiornamento a coordinate singole a forma chiusa. Oppure la soluzione esatta potrebbe semplicemente non esistere. Ma per fortuna, ci sono molti metodi di ricerca di linee che ottengono sostanzialmente le stesse garanzie di una soluzione esatta. Questo materiale può essere trovato in testi di programmazione non lineari standard, ad esempio nei libri di Bertsekas o Nocedal & Wright menzionati sopra.
Vis a vis il tuo secondo paragrafo: quando questi funzionano bene.
Innanzitutto, molte delle analisi sopra menzionate per il lavoro a gradiente per la discesa delle coordinate. Quindi perché non usare sempre la discesa delle coordinate? La risposta è che per molti problemi in cui è applicabile la discesa del gradiente, è anche possibile utilizzare i metodi di Newton, per i quali è possibile dimostrare una convergenza superiore. Non conosco un modo per ottenere il vantaggio di Newton con la discesa delle coordinate. Inoltre, l'alto costo dei metodi Newton può essere mitigato con gli aggiornamenti di Quasinewton (vedere ad esempio LBFGS).
l0kkkkf