Motivazione intuitiva per l'aggiornamento di BFGS


15

Sto insegnando un corso di indagine di analisi numerica e sto cercando la motivazione per il metodo BFGS per gli studenti con background / intuizione limitati nell'ottimizzazione!

Anche se non ho il tempo di dimostrare rigorosamente che tutto converge, sto cercando di dare una motivazione ragionevole per cui potrebbe apparire l'aggiornamento di BFGS Hessian. Come analogia, il metodo di ricerca della radice di Broyden (il mio articolo è qui ) può essere motivato chiedendo che la tua attuale approssimazione del giacobino minimizzi la differenza con il vecchio giacobino soggetto al vincolo che tiene conto dell'ultima secante: J_k (\ vec x_k- \ vec x_ {k-1}) = f (\ vec x_k) -f (\ vec x_ {k-1 }) . J k ( x k - x k - 1 ) = f ( x k ) - f ( x k - 1 )JkJk1Fro2Jk(xkxk1)=f(xk)f(xk1)

Le derivazioni degli aggiornamenti di BFGS sembrano molto più coinvolte e oscure! In particolare, mi piacerebbe non assumere a priori che l'aggiornamento dovrebbe essere di livello 2 o assumere una forma particolare. Esiste una breve motivazione dall'aspetto variazionale per l'aggiornamento BFGS Hessian come quello per Broyden?


4
Se consentirai un aggiornamento arbitrario, potresti semplicemente utilizzare l'intera Hessian nel metodo di Newton. Un importante vantaggio computazionale di un aggiornamento di basso rango è che consente di aggiornare molto rapidamente la fattorizzazione dell'Assia approssimativa.
Brian Borchers,

Risposte:


12

La derivazione del BFGS è più intuitiva se si considerano i funzionali di costo (rigorosamente) convessi:

Tuttavia, alcune di fondo informazioni sono necessarie: Si supponga, si vuole ridurre al minimo un convesso funzionale

f(x)minxRn.
Supponiamo che esista una soluzione approssimativa xk . Quindi, si approssima il minimo di f con il minimo dell'espansione di Taylor troncata
f(xk+p)f(xk)+f(xk)Tp+12pTH(xk)p.()
Cioè, si cerca p tale che () sia minimo e xk+1:=xk+p . Calcolare il gradiente di () - "rispetto a p " - e impostarlo su zero fornisce la relazione
H(xk)[xk+1xk]=f(xk+1)f(xk),
dove H è il "giacobino del gradiente" o la matrice hessiana.

Poiché il calcolo e l'inversione dell'Assia sono costosi ...


... una risposta breve

(cfr. aggiornamento di Broyden) potrebbe essere che l'aggiornamento BFGS Hk+11 minimizza

Hk1H1W
in una norma di Frobenius ponderata in modo intelligente, soggetto a
  1. H[xk+1xk]=f(xk+1)f(xk) - questo è ciò che si cerca - e
  2. HT=H , perché l'Assia è simmetrica.

Quindi la scelta del peso in come l'inverso della media dell'Assia , cfr. qui per l'affermazione ma senza prove, fornisce la formula di aggiornamento di BFGS (con ).WHW:=W1/2HW1/2F G:=01H(xk+τp)dταk=1

I punti principali sono:

  • Si cerca di approssimare la soluzione per i costi effettivi con la soluzione per un'approssimazione quadratica
  • Il calcolo dell'Assia, e il suo contrario, è costoso. Uno preferisce semplici aggiornamenti.
  • L'aggiornamento è scelto in modo ottimale per l' inverso piuttosto che per l'attuale Assia.
  • Che si tratti di un aggiornamento di grado 2 è una conseguenza della particolare scelta dei pesi nella norma Frobenius.

Una risposta più lunga , dovrebbe includere come scegliere i pesi, come far funzionare questo per problemi non convessi (dove appare una condizione di curvatura che richiede un ridimensionamento della direzione di ricerca ) e come derivare la formula effettiva per l'aggiornamento. Un riferimento è qui (in tedesco).p


Grazie mille, è fantastico (e più o meno quello che mi aspettavo sulla base della discussione su Nocedal & Wright). L'unica domanda che mi resta è: perché scegliamo e la norma come facciamo? Capisco che abbia a che fare con le unità, ma ci sono molte potenziali scelte di e norme che lo fanno. WW
Justin Solomon,

Sì vero. Beh, non lo so. Una risposta è che fornisce la formula di aggiornamento semplice da calcolare e ben funzionante. Storicamente, questo approccio all'aggiornamento - minimizzando la differenza nell'aggiornamento - è stato quello di Shanno. Fu un arbitro (Goldfarb) a scoprire che una particolare scelta dei pesi porta alla formula di Broyden e Fletcher. Vedi questa tesi di dottorato Sviluppo storico del metodo secante BFGS ... per le intuizioni degli sviluppatori del BFGS. Tuttavia, tutti e 3 gli approcci sono piuttosto astratti.
Jan

1
Interessante, grazie per la guida! Il mio attuale commento (con alcuni errori matematici che hanno bisogno di aiuto) è qui: graphics.stanford.edu/courses/cs205a-13-fall/assets/notes/… (se desideri credito per il tuo aiuto, sono felice di fornirlo - per favore inviatemi un'e-mail con le informazioni di contatto adatte)
Justin Solomon,

@jan Why is your equation e non La condizione secante non è data da , dove . Grazie!
H(xk)[xk+1xk]=f(xk+1)f(xk)
H(xk+1)[xk+1xk]=f(xk+1)f(xk)?
Hk+1sk=yksk=xk+1xk,yk=fk+1fk
Jeff Faraci,
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.