Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k...

42
Metodi di Quasi Newton Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: [email protected] twitter: @famo2spaghi blog: http://stegua.github.com

Transcript of Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k...

Page 1: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Quasi Newton

Stefano GualandiUniversità di Pavia, Dipartimento di Matematica

email: [email protected]: @famo2spaghiblog: http://stegua.github.com

Page 2: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Newton

Data la generica direzione di discesa

dk = −B−1k ∇f (xk), (1)

diverse scelte della matrice Bk portano a diversi metodi:

1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.

2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.

3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.

Page 3: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Newton

Data la generica direzione di discesa

dk = −B−1k ∇f (xk), (1)

diverse scelte della matrice Bk portano a diversi metodi:

1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.

2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.

3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.

Page 4: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Newton

Data la generica direzione di discesa

dk = −B−1k ∇f (xk), (1)

diverse scelte della matrice Bk portano a diversi metodi:

1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.

2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.

3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.

Page 5: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Newton

Data la generica direzione di discesa

dk = −B−1k ∇f (xk), (1)

diverse scelte della matrice Bk portano a diversi metodi:

1 Bk = I: se Bk è la matrice identità, otteniamo il metodo dimassima discesa, chiamato anche metodo del (anti) gradiente.

2 Bk = ∇2f (xk): se Bk è pari alla matrice Hessiana valutataall’iterata corrente, otteniamo il metodo di Newton.

3 Bk ≈ ∇2f (xk): se Bk è solo un’approssimazione della matriceHessiana all’iterata corrente, allora abbiamo un metodo diquasi-Newton.

Page 6: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Ottimizzazione

Metodi di OttimizzazioneI metodi numerici per il calcolo di minimi di una funzione obiettivosono di tipo iterativo: a partire da un dato punto iniziale x0 ∈ Rn

generano una successione di punti xk convergente ad un puntostazionario.

SCHEMA GENERICO DI ALGORITMO ITERATIVO1 Sia dato x0 e un valore di tolleranza numerica toll2 while(||∇f (xk)||∞ > 10−13) (Verifica C.N. I ordine)3 il metodo genera un vettore hk

4 xk+1 = xk + hk (aggiornamento dell’iterata)5 end

La scelta fatta del vettore hk differenzia il metodo usato.

Page 7: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Ottimizzazione

Metodi di OttimizzazioneI metodi numerici per il calcolo di minimi di una funzione obiettivosono di tipo iterativo: a partire da un dato punto iniziale x0 ∈ Rn

generano una successione di punti xk convergente ad un puntostazionario.

SCHEMA GENERICO DI ALGORITMO ITERATIVO1 Sia dato x0 e un valore di tolleranza numerica toll2 while(||∇f (xk)||∞ > 10−13) (Verifica C.N. I ordine)3 il metodo genera un vettore hk

4 xk+1 = xk + hk (aggiornamento dell’iterata)5 end

La scelta fatta del vettore hk differenzia il metodo usato.

Page 8: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Metodi di Quasi-Newton

Page 9: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Punti principali

I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.

Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.

Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno

Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.

Page 10: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Punti principali

I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.

Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.

Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno

Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.

Page 11: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Punti principali

I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.

Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.

Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno

Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.

Page 12: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Punti principali

I metodi di quasi Newton sono stati introdotti per ovviareall’eccessivo carico computazionale dei metodi di Newton puri.

Le direzioni di ricerca di quasi Newton non richiedono ilcalcolo della matrice Hessiana e hanno una velocità diconvergenza superlineare.

Al posto della vera matrice Hessiana ∇2f (xk) si usa una suaapprossimazione data da una matrice Bk definita in modoopportuno

Gli update della matrice Bk si basano sull’idea che ledifferenze del gradiente ∇f (xk) tra due iterate successivefornisce delle informazioni sulla derivata seconda di f () lungala direzione di ricerca.

Page 13: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Partiamo dal teorema di Taylor nella forma

∇f (x + p) = ∇f (x) +∫ 1

0∇2f (x + tp)p dt

aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo

∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1

0[∇2f (x + tp)−∇2f (x)] p dt

Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo

∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)

Page 14: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Partiamo dal teorema di Taylor nella forma

∇f (x + p) = ∇f (x) +∫ 1

0∇2f (x + tp)p dt

aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo

∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1

0[∇2f (x + tp)−∇2f (x)] p dt

Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||).

Ponendo x = xk e p = xk+1 − xk , otteniamo

∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)

Page 15: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Partiamo dal teorema di Taylor nella forma

∇f (x + p) = ∇f (x) +∫ 1

0∇2f (x + tp)p dt

aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo

∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1

0[∇2f (x + tp)−∇2f (x)] p dt

Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo

∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).

Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)

Page 16: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Partiamo dal teorema di Taylor nella forma

∇f (x + p) = ∇f (x) +∫ 1

0∇2f (x + tp)p dt

aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo

∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1

0[∇2f (x + tp)−∇2f (x)] p dt

Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo

∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗,

intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)

Page 17: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Partiamo dal teorema di Taylor nella forma

∇f (x + p) = ∇f (x) +∫ 1

0∇2f (x + tp)p dt

aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo

∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1

0[∇2f (x + tp)−∇2f (x)] p dt

Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo

∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo,

il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)

Page 18: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Partiamo dal teorema di Taylor nella forma

∇f (x + p) = ∇f (x) +∫ 1

0∇2f (x + tp)p dt

aggiungiamo e sottraiamo il termine ∇2f (x) p ottenendo

∇f (x + p) = ∇f (x) +∇2f (x) p +∫ 1

0[∇2f (x + tp)−∇2f (x)] p dt

Poiché ∇f è continuo, la dimensione dell’ultimo termine dell’integrale èo(||p||). Ponendo x = xk e p = xk+1 − xk , otteniamo

∇f (xk+1) = ∇f (xk) +∇2f (xk)(xk+1 − xk) + o(||xk+1 − xk ||).Quando xk e xk+1 si trovano in un intorno della soluzione ottima x∗, intorno nelquale ∇2f (x) è definito positivo, il termine finale viene in pratica dominato daltermine ∇2f (xk)(xk+1 − xk), e possiamo scrivere

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (2)

Page 19: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Equazione di Quasi Newton diretta

Sfruttando la

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (3)

l’approssimazione successiva Bk+1 della matrice Hessiana vienescelta in modo che venga soddisfatta l’equazione di quasiNewton diretta

Bk+1hk = pk (4)

in cui hk = (xk+1 − xk) e pk = ∇f (xk+1)−∇f (xk).

Tipicamente, si richiede inoltre che Bk+1 sia simmetrica,poiché la vera matrice Hessiana è simmetricaL’approssimazione iniziale B0 viene definita dall’utente, e puòsempre essere posta uguale alla matrice identità.

Page 20: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Equazione di Quasi Newton diretta

Sfruttando la

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (3)

l’approssimazione successiva Bk+1 della matrice Hessiana vienescelta in modo che venga soddisfatta l’equazione di quasiNewton diretta

Bk+1hk = pk (4)

in cui hk = (xk+1 − xk) e pk = ∇f (xk+1)−∇f (xk).

Tipicamente, si richiede inoltre che Bk+1 sia simmetrica,poiché la vera matrice Hessiana è simmetrica

L’approssimazione iniziale B0 viene definita dall’utente, e puòsempre essere posta uguale alla matrice identità.

Page 21: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Equazione di Quasi Newton diretta

Sfruttando la

∇2f (xk)(xk+1 − xk) ≈ ∇f (xk+1)−∇f (xk) (3)

l’approssimazione successiva Bk+1 della matrice Hessiana vienescelta in modo che venga soddisfatta l’equazione di quasiNewton diretta

Bk+1hk = pk (4)

in cui hk = (xk+1 − xk) e pk = ∇f (xk+1)−∇f (xk).

Tipicamente, si richiede inoltre che Bk+1 sia simmetrica,poiché la vera matrice Hessiana è simmetricaL’approssimazione iniziale B0 viene definita dall’utente, e puòsempre essere posta uguale alla matrice identità.

Page 22: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Equazione di Quasi Newton inversa

Per semplicità di notazione, spesso si scrivono le formule diaggiornamento usando la matrice Gk = B−1

k , ovvero Gk è l’inversadella matrice Bk che approssima la matrice HessianaHk = ∇2f (xk).

Ovvero si usa l’equazione di quasi Newton inversa:

Gk+1pk = hk (5)

invece di usare l’equazione di Newton diretta:

dk = −∇2f (xk)−1∇f (xk)

Page 23: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Equazione di Quasi Newton inversa

Per semplicità di notazione, spesso si scrivono le formule diaggiornamento usando la matrice Gk = B−1

k , ovvero Gk è l’inversadella matrice Bk che approssima la matrice HessianaHk = ∇2f (xk).

Ovvero si usa l’equazione di quasi Newton inversa:

Gk+1pk = hk (5)

invece di usare l’equazione di Newton diretta:

dk = −∇2f (xk)−1∇f (xk)

Page 24: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 1/2

Partendo da

Gk+1pk = hk

con la formula di aggiornamento di rango uno si impone

Gk+1pk = Gkpk + cuuTpk = hk

ovvero

Gk+1 = Gk + cuuT

Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero

c = 1uTpk

e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa

Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T

(hk − Gkpk)Tpk

Page 25: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 1/2

Partendo da

Gk+1pk = hk

con la formula di aggiornamento di rango uno si impone

Gk+1pk = Gkpk + cuuTpk = hk

ovvero

Gk+1 = Gk + cuuT

Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero

c = 1uTpk

e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa

Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T

(hk − Gkpk)Tpk

Page 26: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 1/2

Partendo da

Gk+1pk = hk

con la formula di aggiornamento di rango uno si impone

Gk+1pk = Gkpk + cuuTpk = hk

ovvero

Gk+1 = Gk + cuuT

Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero

c = 1uTpk

e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa

Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T

(hk − Gkpk)Tpk

Page 27: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 1/2

Partendo da

Gk+1pk = hk

con la formula di aggiornamento di rango uno si impone

Gk+1pk = Gkpk + cuuTpk = hk

ovvero

Gk+1 = Gk + cuuT

Se si sceglie il coefficiente c in modo che valga la relazione cuTpk = 1, ovvero

c = 1uTpk

e si impone u = hk − Gkpk , la formula di aggiornamento di Gk+1 a partire daGk diventa

Gk+1 = Gk + (hk − Gkpk)(hk − Gkpk)T

(hk − Gkpk)Tpk

Page 28: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 2/2

Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.

Permangono però due problemi:1 Gk non rimane definita positiva ad ogni iterazione e quindi

non abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.

2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.

Page 29: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 2/2

Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.

Permangono però due problemi:

1 Gk non rimane definita positiva ad ogni iterazione e quindinon abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.

2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.

Page 30: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 2/2

Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.

Permangono però due problemi:1 Gk non rimane definita positiva ad ogni iterazione e quindi

non abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.

2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.

Page 31: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango uno 2/2

Proprietà 1Gk converge a ∇2f (xk)−1 per funzioni quadratiche anche se αknon viene calcolato in modo ottimo.

Permangono però due problemi:1 Gk non rimane definita positiva ad ogni iterazione e quindi

non abbiamo garanzia che la direzione scelta sia sempre unadirezione di discesa.

2 Il valore uTpk può diventare molto piccolo introducendo cosìdei problemi di stabilità numerica.

Page 32: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Davidon, Fletcher, Powell: Metodo DFP

Page 33: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: DFP

Con la formula di aggiornamento di rango due si impone

Gk+1 = Gk + cuuT + dvvT

In questo caso, se si sceglie di imporre le relazioni

u = hk , cuTpk = 1, v = Gkpk , dvTpk = −1

si ottiene la formula di aggiornamento seguente:

(DFP) Gk+1 = Gk + hkhTk

hTk pk

− GkpkpTk Gk

pTk Gkpk

Page 34: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: DFP

Proprietà 2Se f (x) è una funzione qualsiasi il metodo DFP

1 Se G0 è definita positiva (e.g., G0 = I), il metodo genera matrici Gkdefinite positive, quindi ad ogni passo le direzioni dk sono di discesa

2 Ha una rapidità di convergenza superlineare3 Ha un costo computazionale dell’ordine O(n2) per iterazione

Proprietà 3Se f (x) è una funzione convessa il metodo DFP con ricerca esatta del passo αkconverge.

Questo significa che la convergenza è garantita anche quando la matrice G0non è inizializzata con la matrice identità

Page 35: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: DFP

Proprietà 2Se f (x) è una funzione qualsiasi il metodo DFP

1 Se G0 è definita positiva (e.g., G0 = I), il metodo genera matrici Gkdefinite positive, quindi ad ogni passo le direzioni dk sono di discesa

2 Ha una rapidità di convergenza superlineare3 Ha un costo computazionale dell’ordine O(n2) per iterazione

Proprietà 3Se f (x) è una funzione convessa il metodo DFP con ricerca esatta del passo αkconverge.

Questo significa che la convergenza è garantita anche quando la matrice G0non è inizializzata con la matrice identità

Page 36: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: DFP

Proprietà 2Se f (x) è una funzione qualsiasi il metodo DFP

1 Se G0 è definita positiva (e.g., G0 = I), il metodo genera matrici Gkdefinite positive, quindi ad ogni passo le direzioni dk sono di discesa

2 Ha una rapidità di convergenza superlineare3 Ha un costo computazionale dell’ordine O(n2) per iterazione

Proprietà 3Se f (x) è una funzione convessa il metodo DFP con ricerca esatta del passo αkconverge.

Questo significa che la convergenza è garantita anche quando la matrice G0non è inizializzata con la matrice identità

Page 37: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: DFP

Proprietà 4Se f (x) è una funzione quadratica il metodo DFP con ricerca esatta del passoαk

1 Termina in n iterazioni con Gn+1 = ∇2f (xn)−1

2 Genera direzioni che soddisfano la seguente condizione:

dTi ∇2f (x)dj = 0, per ogni i 6= j

In pratica le direzioni generate sono coniugate;3 Quando G0 = I, genera gradienti coniugati4 Gk+1pi = hi , con i = 1, . . . , k, ovvero, la relazione (??) viene soddisfatta

in maniera retroattiva.

La proprietà precedente ci dice che, in pratica, quando questo metodo vieneapplicato alle funzioni quadratiche, esso converge in un numero di iterazioni alpiù pari alla dimensione dello spazio di ricerca, cioè in n passi

Page 38: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: DFP

Proprietà 4Se f (x) è una funzione quadratica il metodo DFP con ricerca esatta del passoαk

1 Termina in n iterazioni con Gn+1 = ∇2f (xn)−1

2 Genera direzioni che soddisfano la seguente condizione:

dTi ∇2f (x)dj = 0, per ogni i 6= j

In pratica le direzioni generate sono coniugate;3 Quando G0 = I, genera gradienti coniugati4 Gk+1pi = hi , con i = 1, . . . , k, ovvero, la relazione (??) viene soddisfatta

in maniera retroattiva.

La proprietà precedente ci dice che, in pratica, quando questo metodo vieneapplicato alle funzioni quadratiche, esso converge in un numero di iterazioni alpiù pari alla dimensione dello spazio di ricerca, cioè in n passi

Page 39: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: BFGS

Page 40: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: BFGS

In questo caso partiamo dall’equazione di quasi Newton diretta

H(xk)hk ≈ pk

e imponiamo alla matrice Bk di soddisfarla come uguaglianza.

Cerchiamo quindi direttamente una formula di aggiornamento di rango due siimpone

Bk+1 = Bk + cuuT + dvvT

e con passaggi analoghi a quelli visti nella sezione precedente si arrivaall’espressione

(BFGS) Bk = Bk + pkpTk

pTk hk− BkhkhT

k Bk

hTk Bkhk

dove sono stati invertiti i ruoli di h e p.

Page 41: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: BFGS

In questo caso partiamo dall’equazione di quasi Newton diretta

H(xk)hk ≈ pk

e imponiamo alla matrice Bk di soddisfarla come uguaglianza.Cerchiamo quindi direttamente una formula di aggiornamento di rango due siimpone

Bk+1 = Bk + cuuT + dvvT

e con passaggi analoghi a quelli visti nella sezione precedente si arrivaall’espressione

(BFGS) Bk = Bk + pkpTk

pTk hk− BkhkhT

k Bk

hTk Bkhk

dove sono stati invertiti i ruoli di h e p.

Page 42: Metodi di Quasi Newton -  · Metodi di Newton Datalagenericadirezionedidiscesa d k = −B−1 k ∇f(x k), (1) diversesceltedellamatriceB k portanoadiversimetodi: 1 B k = I: seB k

Formula di aggiornamento di rango due: BFGS

Il metodo BFGS è più robusto del metodo DFP rispetto agli erroridi arrotondamento ed in particolare vale la seguente

Proprietà 5Data una funzione f (x) il metodo BFGS converge globalmentepurché la ricerca monodimensionale di αk soddisfi la condizione disufficiente riduzione della f (x) data dalla Condizione di Armijo,delle Condizione di curvatura e della Condizione d’angolo.