Sensibilità di BFGS alle approssimazioni iniziali dell'Assia


9

Sto cercando di implementare il metodo Broyden-Fletcher-Goldfarb-Shanno per trovare il minimo di una funzione. Ho bisogno di due ipotesi iniziali x1 & x0 e un'approssimazione iniziale della matrice hessiana B0 . L'unico requisito che trovo per B0 è che se l'Assia è definita simmetrica positiva, lo dovrebbe anche B0 . Guardando a Wikipedia, vedo che una tipica approssimazione iniziale è B0=I (la matrice dell'identità). È sempre un buon iniziale B0? C'è qualche motivo per cui potrei voler scegliere qualcosa di diverso da I? Altre scelte di B, soddisfacendo le stesse proprietà della matrice, influenzerebbero notevolmente la convergenza del metodo?

Risposte:


6

Se si dispone di un'approssimazione dell'Assia giustificata, è meglio usarlo, piuttosto che l'arbitraria B0=I .

xr>0r+1r+1q=B01f(x)G<1rGdella matrice identità. Quindi cercare di rendere questo piccolo è molto prezioso. (Ciò equivale a precondizionare il sistema.) Il fattore di convergenza migliora con il tempo e alla fine si avvicina allo zero (convergenza superlineare), ma in molti problemi reali (specialmente quelli ad alta dimensione), non si fanno mai iterazioni sufficienti per raggiungere il regime superlineare. Quindi la velocità iniziale è abbastanza importante.

Un caso importante è quando si risolvono i problemi dei minimi quadrati non lineari (minimizzare ), dove l'approssimazione di Gauss-Newton dell'Assia iniziale può essere calcolato senza la necessità di derivati ​​secondari. Usarlo rende invariante il metodo BFGS invariante, cioè invariante sotto trasformazioni lineari di come il metodo di Newton, che di solito è molto vantaggioso.F(x)22B0=F(x0)TF(x0)x

Un altro caso importante è quando si risolve una sequenza di problemi correlati. Spesso, il riavvio del solutore con l'approssimazione finale dell'Assia del problema precedente riduce significativamente il numero di iterazioni necessarie.


Se ci si aspetta che l'assia sia definita simmetrica positiva, qualsiasi matrice definita simmetrica positiva porterà comunque alla convergenza, ma il tasso di convergenza si basa su quanto assomigli all'assia? B0B0
Paolo

No, alla fine, BFGS dimentica la matrice iniziale, quindi la convergenza di ha sempre lo stesso ordine. Ma questo ovviamente non è interessante perché non fai mai infinitamente molti passaggi. k
Wolfgang Bangerth,

@Paul: vedi la mia modifica.
Arnold Neumaier il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.