Confusione sulla regola dell'Armijo


13

Ho questa confusione sulla regola di Armijo usata nella ricerca di linee. Stavo leggendo indietro la ricerca della linea di tracciamento ma non ho capito di cosa tratta questa regola di Armijo. Qualcuno può elaborare quale sia la regola dell'Armijo? La Wikipedia non sembra spiegare bene. Grazie


E se nell'equazione la variabile x non è un vettore ma una matrice? Come dovrebbe essere aggiornata la regola Armijo?
Frank Puk,

niente cambia. dovresti semplicemente rimodellare la tua matrice in un vettore (colonna) x k . XKXK
GoHokies,

È lì che mi sono bloccato. Quando diventa una matrice, il valore sul lato sinistro ( f ( x k + α p k ) ) è ancora uno scalare. Ma il valore sul lato destro non è - invece, è una matrice ( f ( x k ) è uno scalare e β α f ( x k ) T p k è una matrice.)XKf(XK+αpK)f(XK)βαf(XK)TpK
Frank Puk

dovrai lavorare con un vettore, non con una matrice. quindi rimodelli la tua matrice di variabili di controllo (l'ho indicata con X k ) in un vettore x k con N 2 elementi. La direzione della ricerca e il gradiente saranno anche vettori con N 2 elementi. in questo modo sia l'RHS che l'LHS della condizione di Armijo sono scalari e possono essere confrontati. N×NXKXKN2N2
GoHokies,

Risposte:


19

Una volta ottenuta la direzione di discesa per la funzione obiettivo f ( x ) , è necessario selezionare una lunghezza del passo "buona". Non vuoi fare un passo troppo grande in modo tale che la funzione nel tuo nuovo punto sia più grande di quella attuale. Allo stesso tempo, non vuoi rendere il tuo passo troppo piccolo in modo tale che ci vuole un'eternità per convergere.pf(X)

Le condizioni di Armijo suggeriscono fondamentalmente che una "buona" lunghezza del passo è tale da avere una "diminuzione sufficiente" in nel nuovo punto. La condizione è matematicamente definita come f ( x k + α p k ) f ( x k ) + β α f ( x k ) T p k dove p k è una direzione di discesa in x k e β ( 0 , 1 ) . f

f(XK+αpK)f(XK)+βαf(XK)TpK
pKXKβ(0,1)

L'intuizione alla base di ciò è che il valore della funzione nel nuovo punto dovrebbe essere sotto la "linea tangente" ridotta a x k nella direzione di p k . Vedi il libro di Nocedal & Wright "Ottimizzazione numerica". Nel capitolo 3, c'è un'eccellente descrizione grafica della condizione di riduzione sufficiente di armijo.f(xk+αpk)xKpK


1
Invece di pensarla come una linea tangente, puoi anche pensarla come l'espansione di Taylor del primo ordine. In questo caso, il garantisce semplicemente l' esistenza di tale dimensione α del gradino . βα
cjordan1,

La ragione per cui questo è importante, cioè perché è necessario un "buon" passo, è che molti schemi di ottimizzazione convergeranno più lentamente, come dice Paul, o potrebbero non convergere affatto. Quindi le ricerche di linea - disponibili in diverse varietà, Armijo è solo la più popolare - possono essere utilizzate per dare agli algoritmi proprietà di convergenza più robuste.
cjordan1,

1
Paolo: la tua spiegazione è incompleta. Questa disuguaglianza da sola non garantisce la diminuzione "sufficiente". In effetti, puoi avere alpha = 0 e soddisfa ancora la disuguaglianza che hai scritto. Una caratteristica importante è che la regola di Armijo è quella di limitare la dimensione del passo a partire da zero, il che è fatto da un'altra disuguaglianza: f (gamma * x_new) -f (x_old)> beta * (gamma * x_new-x_old) ^ T * grad (f (x_old))

f(X)=X2XK=-1pK=-2αf(XK+αpK)α=1/2β>1/2f(XK+1/2pK)=0>1-2β=f(XK)+βαf'(XK)pKβ

β>1/2β=10-4β

0

Cinque anni dopo, questa domanda è ancora valida.

Qui (pagine 16 e 17) puoi trovare un'ottima spiegazione, incluso un algoritmo.

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.