Metodi Ottimizzazione
Metodi Ottimizzazione
Metodi Ottimizzazione
Marco Sciandrone
Autore
Lorenzo Cioni
2 Luglio 2015
Indice
1 Parte prima 4
1.1 Insiemi convessi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Esistenza di soluzione al problema di ottimizzazione . . . . . . . . . . . . 8
1.2.1 Funzioni continuamente differenziabili . . . . . . . . . . . . . . . 9
1.2.2 Trucchi per il calcolo di ∇f (x) e ∇2 f (x) . . . . . . . . . . . . . . 10
1.2.3 Funzione convessa a una variabile . . . . . . . . . . . . . . . . . . 10
1.3 Problema di regressione . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.4 Condizioni di ottimalità per ottimizzazione non vincolata . . . . . . . . . 12
1.4.1 Concetto di derivata direzionale . . . . . . . . . . . . . . . . . . . 13
1.4.2 Condizioni di discesa . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.3 Condizioni di ottimalità del I ◦ ordine . . . . . . . . . . . . . . . . 14
1.4.4 Condizioni di ottimalità del II ◦ ordine . . . . . . . . . . . . . . . 14
Determinare una direzione di discesa . . . . . . . . . . . . . . . . 15
1.4.5 Condizioni di ottimalità nel caso quadratico . . . . . . . . . . . . 16
Problema dei minimi quadrati lineari . . . . . . . . . . . . . . . . 17
1.4.6 Determinare una direzione di discesa in Rn . . . . . . . . . . . . . 17
1.5 Algoritmi di ottimizzazione non vincolata . . . . . . . . . . . . . . . . . . 18
Schema generale . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Obiettivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5.1 Convergenza degli algoritmi . . . . . . . . . . . . . . . . . . . . . 19
1.5.2 Rapidità di convergenza degli algoritmi . . . . . . . . . . . . . . . 20
1.5.3 Classificazione degli algoritmi . . . . . . . . . . . . . . . . . . . . 20
1.5.4 Convergenza globale e locale degli algoritmi . . . . . . . . . . . . . 21
1.6 Metodi basati su ricerche unidimensionali . . . . . . . . . . . . . . . . . . 21
Analisi delle condizioni . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.1 Ricerca del passo αk . . . . . . . . . . . . . . . . . . . . . . . . . 24
Il metodo di Armijo . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.7 Metodo del gradiente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.7.1 Metodo del gradiente con passo costante . . . . . . . . . . . . . . 29
1.7.2 Metodo del gradiente nel caso di funzione quadratica strettamente
convessa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.7.3 Ruolo del metodo del gradiente nelle reti neurali . . . . . . . . . . 31
1.8 Metodo di Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.8.1 Il metodo di Newton . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.8.2 Modifiche globalmente convergenti del metodo di Newton . . . . . 36
1
2 Parte seconda 38
2.1 Metodi delle direzioni coniugate . . . . . . . . . . . . . . . . . . . . . . . 38
2.1.1 Metodo delle direzioni coniugate . . . . . . . . . . . . . . . . . . . 39
2.1.2 Metodo del gradiente coniugato (funzione quadratica) . . . . . . . 41
Relazioni utili per determinare forme equivalenti di βk+1 . . . . . 41
Formalizzazione del metodo . . . . . . . . . . . . . . . . . . . . . 42
2.1.3 Metodo del gradiente coniugato (minimi quadrati lineari) . . . . . 43
2.1.4 Metodo del gradiente coniugato (caso generale) . . . . . . . . . . . 43
Schema generale . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.1.5 Condizioni di Wolfe . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.2 Condizioni di ottimalità per problemi di ottimizzazione vincolata . . . . . 44
2.2.1 Condizioni di ottimalità di Fritz-John . . . . . . . . . . . . . . . . 45
2.2.2 Condizioni di qualificazione dei vincoli . . . . . . . . . . . . . . . 45
2.2.3 Condizioni di Karush-Kuhn-Tucker (KKT) . . . . . . . . . . . . . 47
2.2.4 Esempi di applicazione delle condizioni di ottimalità per problemi
di ottimizzazione vincolata . . . . . . . . . . . . . . . . . . . . . . 47
Problemi con vincoli di box . . . . . . . . . . . . . . . . . . . . . 47
Problemi con vincolo di simplesso . . . . . . . . . . . . . . . . . . 49
2.3 Metodi di Trust Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.3.1 Introduzione ai metodi Trust Region . . . . . . . . . . . . . . . . 49
2.3.2 Schema generale dei metodi Trust Region . . . . . . . . . . . . . . 50
2.3.3 Punti cruciali dello schema generale dei metodi Trust Region . . . 51
Definizione di sufficiente decremento del modello quadratico . . . 51
Calcolo della soluzione del sottoproblema in modo da ottenere suf-
ficiente decremento . . . . . . . . . . . . . . . . . . . . . 52
2.4 Metodi Quasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.4.1 Interpretazione geometrica in una variabile . . . . . . . . . . . . . 57
2.4.2 I metodi Quasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . 57
2.4.3 Conclusioni su BFGS . . . . . . . . . . . . . . . . . . . . . . . . 58
2.5 Metodo del gradiente di Barzilai-Borwein . . . . . . . . . . . . . . . . . . 58
2.5.1 Caso quadratico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Interpretazione del metodo BB: metodo spettrale del gradiente . . 59
Interpretazione del metodo BB: metodo del gradiente con ritardo 60
2.5.2 Caso non quadratico . . . . . . . . . . . . . . . . . . . . . . . . . 61
Cenni sui metodi non monotoni . . . . . . . . . . . . . . . . . . . 61
2.6 Metodi per problemi di minimi quadrati . . . . . . . . . . . . . . . . . . 62
2.6.1 Problemi di minimi quadrati lineari . . . . . . . . . . . . . . . . . 62
Metodo incrementale (filtro di Kalman) . . . . . . . . . . . . . . . 63
2.6.2 Problemi di minimi quadrati non lineari . . . . . . . . . . . . . . 63
Metodo di Gauss-Newton . . . . . . . . . . . . . . . . . . . . . . 64
Metodo di Levenberg-Marquardt . . . . . . . . . . . . . . . . . . 65
2.7 Metodi per problemi a larga scala . . . . . . . . . . . . . . . . . . . . . . 65
2.8 Metodi senza derivate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.8.1 Metodi basati sulle approssimazioni alle differenze finite . . . . . . 66
2.8.2 Metodi di ricerca diretta . . . . . . . . . . . . . . . . . . . . . . . 67
Metodo di Nelder-Mead . . . . . . . . . . . . . . . . . . . . . . . 67
Metodi delle coordinate . . . . . . . . . . . . . . . . . . . . . . . 68
Metodo di Hook-Jeeves . . . . . . . . . . . . . . . . . . . . . . . . 70
2
2.9 Problemi di ottimizzazione vincolata . . . . . . . . . . . . . . . . . . . . 70
2.9.1 Insieme S definito mediante vincoli lineari . . . . . . . . . . . . . 72
2.9.2 Condizioni di ottimalità per problemi di vincoli di box . . . . . . . 73
2.9.3 Condizioni di ottimalità per problemi con vincolo di simplesso . . 74
2.10 Proiezione di punti su un insieme convesso . . . . . . . . . . . . . . . . . 75
2.10.1 Problemi con vincoli di box trattati mediante proiezioni . . . . . . 77
2.11 Metodo del gradiente proiettato . . . . . . . . . . . . . . . . . . . . . . . 77
2.11.1 Formalizzazione del metodo . . . . . . . . . . . . . . . . . . . . . 78
2.11.2 Criticità del metodo del gradiente proiettato . . . . . . . . . . . . 79
2.12 Metodo di Frank-Wolfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.12.1 Formalizzazione del metodo . . . . . . . . . . . . . . . . . . . . . 79
3
Capitolo 1
Parte prima
min f (x)
x∈S
• Se S ⊂ Zn → ottimizzazione intera.
• Se le variabili possono assumere sia valori interi che continui → ottimizzazione mista
min f (x)
x∈S⊆Rn
• Se S ⊂ Rn ottimizzazione vincolata.
gj (x) ≤ 0 j = 1, . . . , n
hi (x) = 0 i = 1, . . . , p
x∗ ∈ S : f (x∗ ) ≤ f (x) ∀x ∈ S
4
Figura 1.1: Punti di minimo di una funzione
1) kxk ≥ 0
2) kxk = 0 ⇒ x = 0
3) kxxk = kxkkxk
4) kx + yk ≤ kxk + kyk
n
X
• Norma 1 : kxk1 = |xi |
i=1
d(x, y) = kx − yk
Con il concetto di distanza si può indicare una sfera di centro x e raggio l l’insieme
B(x, l) = {x ∈ Rn : kx − xk < l}
5
1.1 Insiemi convessi
Definizione 3 (Insieme convesso) S è un insieme convesso se ∀x, y ∈ S il segmento
(1 − λ)x + λy ∈S ∀λ ∈ [0, 1]
6
Proposizione 2 (Coincidenza tra minimi locali e globali nel caso di convessità)
Sia S ⊆ Rn un insieme convesso e f : Rn → R funzione convessa su S. Allora:
Dimostrazione
per la convessità.
se λ sufficientemente piccolo.
7
1.2 Esistenza di soluzione al problema di ottimizzazio-
ne
I seguenti teoremi e le seguenti proposizioni trattano l’esistenza di soluzione a problemi
di ottimizzazione non vincolata del tipo
min f (x)
x∈S
Dimostrazione
Per assurdo considero l’esistenza di due soluzioni al problema. Siano x∗ , y ∗ ∈ X ∗ ⇒
f (x∗ ) = f (y ∗ ). Allora:
Dimostrazione
Poichè S è non vuoto ⇒ ∃ inf x∈S f (x) = f ∗ ≥ −∞.
Per definizione di estremo inferiore, ∃ una successione di punti {xk } ⊂ S tale che:
Poichè S compatto:
∃{xk }k : lim xk = x ∈ S
k∈K,k→∞
8
Richiamo 2 (Insieme di livello di funzione) Dato un numero α, definisco l’insieme
di livello della funzione f :
L(α) = {x ∈ Rn : f (x) ≤ α}
Dimostrazione
Il problema minx∈L(α) f (x) ammette soluzione per il teorema di Weiestrass. Allora:
Si definisce poi la matrice delle derivate seconde, o matrice Hessiana, ∇2 f (x) ∈ Rn∗n ,
come:
2
δ 2 f (x)
δ f (x)
2 · · · δx1 xn
2
δx. 1 . ..
∇ f (x) = ..
.. .
δ 2 f (x) δ 2 f (x)
δxn x1
··· δx2
n
9
1.2.2 Trucchi per il calcolo di ∇f (x) e ∇2 f (x)
In alcune condizioni il calcolo del vettore grandiente e della matrice Hessiana è quasi
immediato. Gli esempi che vengono riportati in seguito sono casi d’uso classici per la
semplificazione del calcolo.
1
• Funzione quadratica: f (x) = xT Qx + cT x Q(n ∗ n) matrice simmetrica
2
∇f (x) = Qx + c ∇2 f (x) = Q
1 1
• Minimi quadrati lineari: f (x) = kAx − bk22 → (ax − b)2 f 0 = a(ax − b)
2 2
∇f (x) = AT (Ax − b) ∇2 f (x) = AT A
• A è semidefinita positiva se xT Ax ≥ 0 ∀x ∈ Rn
Se A è matrice simmetrica:
• A è definita positiva se gli autovalori sono > 0
• xT Ax ≤ λ max(A)kxk2
10
Proposizione 9 (Condizione sufficiente di f strettamente convessa) Sia ∇2 f con-
tinua. Se ∇2 f (x) è definita positiva ∀x ∈ Rn ⇒ f strettamente convessa.
Dimostrazione
11
1.3 Problema di regressione
u ∈ Rn → Modello matematico con un vettore di parametri x ∈ Rn → y(u, x)
Ad esempio un polinomio di 3◦ grado, con x i coefficienti
a0
a1
x = ..
.
an
Sono quindi disponibili n osservazioni del fenomeno
(ui , xi ) i = 1, . . . , n
Definiamo dunque una funzione errore di valutazione
Ei (x) = y(ui , xi ) − y i i = 1, . . . , n
E1 (x) y(ui , x) − y 1
E(x) = .. ..
=
. .
n n
En (x) y(u , x) − y
Il problema di ottimizzazione diventa
min kE(x)k
x∈Rn
min f (x)
x∈Rn
si introducono motivazioni teoriche e motivazioni algoritmiche per individuare condi-
zioni di ottimalità del problema stesso.
• Motivazioni teoriche
– Condizioni necessarie: individuano i candidati ad essere soluzione al problema.
– Condizioni sufficienti: costituiscono un certificato di ottimalità.
• Motivazioni algoritmiche: dallo studio delle condizioni di ottimalità spesso se
ne deducono idee algoritmiche per la risoluzione del problema (soprattutto nel caso
particolare).
12
1.4.1 Concetto di derivata direzionale
Siano x, d ∈ Rn . Il limite:
f (x + td) − f (x)
lim+
t→0 t
se esiste è detto derivata direzionale. Supponiamo che ∇f (x) esista e sia continuo, allora:
f (x + td) − f (x)
lim+ = ∇f (x)T d
t→0 t
In sintesi:
• Se ∇f (x)T d < 0 ⇒ d è di discesa.
• Se ∇f (x)T d = 0 non possiamo dire nulla.
• Se ∇f (x)T d > 0 ⇒ d è di salita.
13
1.4.3 Condizioni di ottimalità del I ◦ ordine
Proposizione 13 (Condizione necessaria di ottimalità del I ◦ ordine)
Dimostrazione
Supponiamo per assurdo che ∇f (x∗ ) 6= 0. Prendo come d ∈ Rn d = −∇f (x∗ ) (direzione
antigradiente). Allora:
Dimostrazione
Condizione necessaria già dimostrata. Dimostriamo la condizione sufficiente, ovvero che:
α(x, d)
lim =0
kdk→0 kdk
dT ∇2 f (x)d < 0
14
Proposizione 15 (Condizione sufficiente di discesa del II ◦ ordine) Supponiamo
che ∇2 f esista e sia continua. Se d ∈ Rn è una direzione a curvatura negativa tale che
Dimostrazione
Poichè f è differenziabile 2 volte
1
f (x∗ + td) = f (x∗ ) + t∇f (x∗ )T d + t2 dT ∇2 f (x∗ )d + β(x∗ , td)
2
f (x∗ + td) − f (x∗ ) 1 T 2 ∗ β(x∗ , td)
= d ∇ f (x )d + <0
t2 2 t2
i) ∇f (x∗ ) = 0
Dimostrazione
i) Già dimostrata.
∇f (x∗ ) = 0 ⇒ ∇f (x∗ )T d = 0
∇2 f (x∗ )ui = λi ui
per la definizione di autovettore. Allora
15
Proposizione 17 (Condizione sufficiente di ottimalità del II ◦ ordine) Sia x∗ :
∇f (x∗ ) = 0. Supponiamo che ∇2 f (x∗ ) sia definita positiva (quindi è localmente stretta-
mente convessa) allora x∗ è un minimo locale.
∇f (x) = Qx − c ∇2 f (x) = Q
Dimostrazione
16
iii) Supponiamo che la soluzione al problema sia unica ⇒ Q definita positiva.
Il sistema Qx − c = 0 deve ammettere un’unica soluzione.
1
f (x) = (Ax − b)T (Ax − b)
2
1 T T
= x A Ax − (AT b)T x
2
1 T
= x Qx − cT x
2
con Q = AT A e c = (AT b). Allora:
• AT Ax = AT b ammette soluzione?
AT (Ax − bR − bN ) = 0 AT (Ax − bR ) = 0
ammette soluzione.
17
n
X X X
−∇f (x) = βi di = βi di + kβi k(−di )
i=1 i∈I + i∈I −
min f (x)
x∈Rn
Λ = {x ∈ Rn : ∇f (x) = 0}
Schema generale
Dati: x0 ∈ Rn , k = 0 (k è il contatore delle iterazioni).
Obiettivi
Gli obiettivi nella valutazione degli algoritmi sono:
• {f (xk )} → convergenza
18
Proposizione 20 Supponiamo L0 compatto (chiuso e limitato), f (xk+1 ) ≤ f (xk ). Allora:
Dimostrazione
Questo vuol dire che {xk } ⊂ L0 , che è compatto per ipotesi. Poichè L0 è limitato,
{xk } è una sequenza limitata, e quindi ammette punti di accumulazione.
Inoltre, poichè L0 è chiuso, ciascun punto di accumulazione appartiene ad L0 .
∃ k : ∇f (xk ) = 0
19
1.5.2 Rapidità di convergenza degli algoritmi
Supponiamo che {xk } → x∗ , con x∗ punto stazionario (∇f (x∗ ) = 0).
kxk+1 − x∗ k
lim =0
k→∞ kxk − x∗ k
Per la classe specifica di problemi di minimi quadrati non lineari, quindi del tipo
m
X
minn Zi2 (x)
x∈R
i=1
• Metodo di Gauss-Newton
• Metodo di Lelemberg-Mardvart
20
1.5.4 Convergenza globale e locale degli algoritmi
• Algoritmi localmente convergenti
Si parla di algoritmi localmente convergenti se:
∀ x0 ⇒ {xk } → x∗ : ∇f (x∗ )
Il requisito minimo è che dk sia una direzione di discesa, quindi che ∇f (xk )T dk < 0.
σ(t) = ct c>0
• f (xk+1 ) ≤ f (xk )
21
|∇f (xk )T dk |
• ∃ σ funzione forzamento tale che ≥ σ(k∇f (xk )k) valga cioè la condi-
kdk k
zione d’angolo su dk
∇f (xk )T dk
• lim =0
k→∞ kdk k
Allora:
Dimostrazione
i) Già dimostrata
iii)
|∇f (xk )T dk |
≥ σ(k∇f (xk )k) ≥ 0 (1.1)
kdk k
|∇f (xk )T dk |
lim =0 (1.2)
k→∞ kdk k
Per (1.1) e (1.2) si ha che
lim σ(k∇f (xk )k) = 0
k→∞
⇓
lim k∇f (xk )k = 0
k→∞
∃ K ⊆ {0, 1, . . . , ∞} : lim xk = x
k∈K,k→∞
22
Analisi delle condizioni
a) f (xk+1 ) ≤ f (xk ) la soddisfo con dk e αk .
|∇f (xk )T dk |
b) ≥ σ(k∇f (xk )k) la soddisfo con dk .
kdk k
∇f (xk )T dk
c) lim = 0 la soddisfo mediante la ricerca unidimensionale di αk ,
k→∞ kdk k
supponendo dk direzione di discesa.
Ponendo y = x + d:
f (y) = f (x) + ∇f (ξ)T (y − x)
con ξ = x + θ(y − x) e θ ∈ (0, 1).
23
1.6.1 Ricerca del passo αk
• Ricerca di linea esatta
Il metodo di ricerca di linea esatta determina un passo αk tale che Φ̇(αk ) = 0.
Se Φ(α) è convessa ⇒ αk : Φ̇(αk ) = 0 è un punto di minimo globale di Φ(α),
quindi il metodo è fattibile se la funzione f (x) è quadratica, ovvero del tipo f (x) =
1 T
2
x Qx − cT x e Q è una matrice n x n simmetrica e definita positiva.
Nel caso in cui f sia strettamente convessa anche Φ(α) = f (xk +αdk ) è strettamente
convessa. Quindi:
1 T
Φ(α) = f (xk ) + α∇f (xk )T dk + α2 dk Qdk
2
applicando il teorema di Taylor.
T
Φ̇(α) = ∇f (xk )T dk + αdk Qdk = 0
−∇f (xk )T dk
αk =
dk T Qdk
che rappresenta la formula analitica per il calcolo di αk .
Il metodo di Armijo
La ricerca di linea esatta, ossia la determinazione di un αk che risolva il problema di
ottimizzazione è notevolmente dispendiosa, soprattutto per problemi in cui f è non
convessa.
D’altra parte, non esistono particolari vantaggi, dal punto di vista del funzionamento
complessivo dei metodi di minimizzazione, nel determinare il punto di minimo lungo dk .
Si preferisce quindi adottare criteri approssimati che siano più facilmente utilizzabili dal
punto di vista computazionale e garantiscano al tempo stesso opportune proprietà di
convergenza.
Viene tracciata una retta a partire dal punto Φ(xk ) con pendenza verso il basso.
24
Formalizzazione Sia xk il punto corrente e dk la direzione corrente di discesa, quindi
tale che ∇f (xk )T dk < 0.
Siano ∆k > 0 il passo iniziale, δ ∈ (0, 1) il fattore di contrazione e γ ∈ (0, 1) l’inclinazione
della retta.
Pongo α = ∆k , j = 0 (j contatore di iterazioni).
f (xk + δ j δ k dk ) − f (xk )
> γ∇f (xk )T dk
δ j ∆k
La prima parte della disequazione al limite tende a ∇f (xk )T dk . Quindi:
25
Condizione di Armijo e funzione quadratica Consideriamo ora il caso di
funzione quadratica. Quindi, per il risultato calcolato il precedenza, il passo ottimo
αk è calcolato con
−∇f (xk )T dk
αk =
dk T Qdk
Dimostrazione
1 T
f (xk + αk dk ) = f (xk ) + αk ∇f (xk )T dk + (αk )2 dk Qdk
2
1 T
= f (xk ) + αk [∇f (xk )T dk + αk dk Qdk ]
2
1
= f (xk ) + αk ∇f (xk )T dk
2
valido se e solo se γ ≤ 21 .
Allora:
b) Da (a) segue che {xk } ⊂ L0 , con L0 compatto per ipotesi. Da Armijo segue
che
∇f (xk )T dk
f (xk ) − f (xk+1 ) ≥ −γαk ∇f (xk )T dk = −γαk kdk k ≥0
kdk k
26
quindi
k k+1 k ∇f (xk )T dk
k
lim [f (x ) − f (x )] = 0 ⇒ lim γα kd k =0
k→∞ k→∞ kdk k
∇f (xk )T dk
lim αk kdk k =0 (1.3)
k→∞ kdk k
Supponiamo ora per assurdo che
∇f (xk )T dk
lim 6= 0
k→∞ kdk k
Allora:
– {xk } limitata perchè L0 compatto
k
– { kddk k } limitata perchè la norma vale 1
– k∇f (xk )k limitata
∇f (xk )T dk
Quindi { } è una sequenza limitata e dunque ammette punti di
kdk k
accumulazione, quindi:
∇f (xk )T dk
∃ K ⊆ {0, 1, . . .} : lim = −µ < 0 con µ > 0 (1.4)
k∈K,k→∞ kdk k
Mettendo insieme 1.3 e 1.4 si ottiene
k dk
Ma {x } è limitata e { k } è limitata e ciò implica che
kd k
(
limk∈K1 ,k→∞ xk = x
∃ K1 ⊆ K : k
limk∈K1 ,k→∞ kddk k = d
∇f (xk )T dk
lim = ∇f (x)d = −µ < 0
k∈K1 ,k→∞ kdk k
- Caso αk = δk .
Supponiamo che ∃ K2 ⊆ K1 : αk = ∆k , ∀ k ∈ K2 . Dalle ipotesi ho che
1 |∇f (xk )T dk |
∆k ≥ σ( )
kdk k kdk k
da cui segue
k |∇f (xk )T dk |
k
∆ kd k ≥ σ( )
kdk k
|∇f (xk )T dk |
∀ k ∈ K2 αk kdk k ≥ σ( )≥0
kdk k
27
Dalla espressione precedente e dalla 1.5 si ottiene che
|∇f (xk )T dk |
lim =0
k∈K1,k→∞ kdk k
Assurdo, perchè quel limite vale −µ < 0.
- Caso αk ≤ δk .
28
1) f (xk+1 ) ≤ f (xk )
|∇f (xk )T dk |
2) ≥ σ(k∇f (xk )k)
kdk k
∇f (xk )T dk
3) lim =0
k→∞ kdk k
La numero (2) è verificata se prendo σ(t) = t, poichè:
dk = −∇f (xK ) k∇f (xk )k ≥ k∇f (xk )k
La (1) e la (3) sono soddisfatte da Armijo, quindi il metodo converge globalmente (è
il primo algoritmo a farlo).
Si introduce poi una nuova ipotesi sul gradiente, ovvero che questo sia Lipschitz
continuo su Rn .
Proposizione 24
1
∀ d ∈ Rn f (x + d) ≤ f (x) + ∇f (x)T d + Lkdk2
2
con L costante di Lipschitz.
xk+1 = xk − µk ∇f (xk )
Il passo µk è tale che
2−ε
ε ≤ µk ≤
L
29
⇓
{xk } ammette punti di accumulazione ed ogni punto di accumulazione è un punto stazio-
nario.
→ in pratica però non è utilizzato perchè non si conosce L.
Dimostrazione
Dalla proposizione precedente, ponendo d = −µk ∇f (xk ) abbiamo che
1
f (xk − µk ∇f (xk )) ≤ f (xk ) − µk k∇f (xk )k2 + (µk )2 Lk∇f (xk )k2
2
k
Lµ
≤ f (xk ) − µk (1 − )k∇f (xk )k2
2
⇓
Lµk
f (xk ) − f (xk+1 ) ≥ µk (1 − )k∇f (xk )k2 ≥ 0
2
Lµk
se µk > 0 e 1 − > 0 (*). Quindi:
2
f (xk+1 ) ≤ f (xk ) poiché lim f (xk ) = f > −∞
k→∞
⇓
{xk } ⊂ L0 compatto ⇒ {xk } ammette punti di accumulazione.
2−ε
Se µk ≥ ε e µk ≤ L
le condizioni (*) sono verificate. (i)
Lµk
lim f (xk ) − f (xk+1 ) = 0 ⇒ lim µk (1 − )k∇f (xk )k2 = 0 (ii)
k→∞ k→∞ 2
Per (i) e (ii) abbiamo che
30
Dimostrazione
1
xk+1 = xk − k
∇f (xk )
λ
Moltiplico per Q:
1
Qxk+1 = Qxk − Q∇f (xk )
λk
Sottraggo ora c:
1
Qxk+1 − c = Qxk − c − Q∇f (xk )
λk
1
∇f (xk+1 ) = ∇f (xk ) − Q∇f (xk )
λk
Q
)∇f (xk )
= (I −
λk
Ripetendo all’indietro il ragionamento ottengo:
k
k+1
Y Q
∇f (x )= (I − i )∇f (x1 )
i=1
λ
Siano u1 , . . . , un gli autovettori associati agli autovalori λ1 , . . . , λn .
n
X
1
∇f (x ) = βj uj
j=1
n k
k+1
X Y Q
∇f (x )= βj [ (I − )]uj
j=1 i=1
λi
n n
n+1
X Y λj uj
∇f (x )= βj [ (uj − )] = 0
j=1 i=1
λi
x0 w0
x1 w1 θ
x2 w2 y(x, ω, θ)
P
.. ..
. .
xn wn
Ingressi Pesi
31
L’uscita y ha valore binario:
0 se ω T x − θ ≥ 0
y(x, ω, θ) =
1 se ω T x − θ < 0
Se y = 1 il neurone è ON, se è 0 il neurone è OFF. Il neurone è quindi un separatore
lineare.
Sia dato dunque un training set:
T S = {(xp , dp ) : xp ∈ Rn , dp ∈ R, p = 1, . . . , P }
Algoritmo Perceptron: se i due insiemi sono linearmente separabili determina un
iperpiano di separazione in un numero finito di iterazioni.
Dato il training set si parla di:
• Classificazione se dp ∈ {0, 1}
• Approssimazione se dp ∈ R
L’incognita del problema è il vettore dei pesi sinaptici. Definisco così una funzione
errore:
P
X
E(ω) = Ep (ω) con Ep (ω) = (dp − y(xp , ω))2
p=1
min E(ω)
ω
Al posto delle funzione gradino dei neuroni metto una sua approssimazione iperbolica
(funzione logistica). Il problema di ottimizzazione è non vincolato con funzione obiettivo
continuamente differenziabile.
ω k+1 = ω k − µ∇E(ω k )
con µ learning rate. Il metodo è il metodo del gradiente con passo costante.
F (x) = 0
con F : Rn → Rn , F continuamente differenziabile. Poichè F è differenziabile esiste
la matrice Jacobiana di F ed è continua:
∇F1T (x)
J(x) =
..
.
T
∇Fn (x)
32
F (xk + s) = F (xk ) + J(xk )s + γ(xk , s)
γ(xk , s)
lim =0
ksk→0 ksk
Se xk è il punto corrente:
- Caso n = 1
F (x) = 0 F :R→R
Vogliamo trovare uno zero della F :
F (xk )
F (xk ) + Ḟ (xk )s = 0 s=−
Ḟ (xk )
• F continuamente differenziabile su Rn
• ∃ x∗ : F (x∗ ) = 0
kxk+1 − x∗ k
lim =0
k→∞ kxk − x∗ k
33
allora la rapidità di convergenza è quadratica, cioè tale che
Dimostrazione
J(x∗ ) non singolare e continua per ipotesi allora
E’ ben definita? Si, perchè xk ∈ B(x∗ , ε). Ricrodando che, per il richiamo precedente
Z 1
∗
k
F (x ) − F (x ) = J(x∗ + λ(xk − x∗ ))(xk − x∗ )dλ
0
Z 1
∗ −
kx k+1
− x k ≤ kJ 1(x )kk k
J(x∗ + λ(xk − x∗ )) − J(xk ))(xk − x∗ )dλk
0
Z 1
≤ µ kJ(x∗ + λ(xk − x∗ )) − J(xk )kkxk − x∗ kdλ
0
σ
≤ µ kxk − x∗ k
µ
per 1.9. Quindi:
kxk+1 − x∗ k ≤ σkxk − x∗ k (1.10)
con σ ∈ (0, 1) e xk+1 ∈ B(x∗ , ε).
Per induzione, se x0 ∈ B(x∗ , ε) ⇒ {xk } ⊂ B(x∗ , ε). Applicando ripetutamente 1.10:
kxk − x∗ k ≤ σkx0 − x∗ k
34
Devo ora dimostrare che la convergenza abbia rapidità superlineare.
Z 1
∗
kx k+1
−x k≤µ kJ(x∗ + λ(xk − x∗ )) − J(xk )kkxk − x∗ kdλ
0
Se xk 6= x∗ :
1
kxk+1 − x∗ k
Z
≤µ kJ(x∗ + λ(xk − x∗ )) − J(xk )kkxk − x∗ kdλ
kxk − x∗ k 0
⇓
kxk+1 − x∗ k
lim =0
k→∞ kxk − x∗ k
Z 1
k+1 ∗ k ∗ 2
kx − x k ≤ µLkx − x k (1 − λ)dλ
0
µL k
≤ kx − x∗ k2
2
cioè ha rapidità di convergenza quadratica
min f (x)
x∈Rn
con f : Rn → R e sia
Λ = {x ∈ Rn : ∇f (x) = 0}
l’insieme dei punti stazionari, il metodo di Newton per la minimizzazione di una funzione
f in n variabili diventa
xk+1 = xk − [∇2 f (xk )]−1 ∇f (xk )
quindi:
xk → x∗ con rapidità superlineare
Se ∇2 è Lipschitz continua allora la rapidità di convergenza è quadratica.
35
1.8.2 Modifiche globalmente convergenti del metodo di Newton
Dato un problema di ottimizzazione non vincolata
min f (x)
x∈Rn
2) Supponiamo che la direzione esista, non è detto che ∇f (xk )T d < 0 (la direzione
potrebbe quindi non essere di discesa).
3) Supponiamo che la direzione esista e che sia di discesa, non è detto che dk soddisfi
la condizione d’angolo.
• Metodi ibridi
xk+1 = xk + αk dk
Supponiamo di aver trovato quindi una direzione di Newton dk , calcolo αk con il metodo
di Armijo, ponendo ∆k = 1 il passo iniziale. Il passo ∆k deve soddisfare la condizione
1 |∇f (xk )T dk |
∆k > σ( )
kdk k kdk k
Quindi
|∇f (xk )T dk |
kdk k ≥ σ( )
kdk k
Condizioni su dk
|∇f (xk )T dk |
1) ≥ σ(k∇f (xk )k) condizione d’angolo
kdk k
k T dk |
2) kdk k ≥ σ( |∇f (x )
kdk k
)
36
Vengono soddisfatte se
∇f (xk )T dk ≤ −c1 k∇f (xk )k2 con c1 > 0
kdk k ≤ c2 k∇f (xk )k con c2 > 0
37
Capitolo 2
Parte seconda
dTi Qdj = 0 ∀ i, j = 1, . . . , m i 6= j
Dimostrazione
Dobbiamo far vedere che
m−1
X
α j dj = 0 ⇒ αj = 0 j = 0, . . . , m − 1
j=0
Per la mutua coniugatezza dTj Qdj = 0 per ogni i 6= j, quindi possiamo semplificare la
sommatoria in
αi dTi Qdi = 0 ⇒ αi = 0
38
poichè dTi Qdi > 0 perchè Q è definita positiva. Quindi la mutua coniugatezza implica
l’indipendenza lineare.
∃! x∗ soluzione al problema
⇓
∗
Qx = c ⇒ x∗ = Q−1 c
Sia d0 , . . . , dn−1 ∈ Rn una base di Rn (siano quindi linearmente indipendenti), allora
n−1
X
∗
x = α i di
i=0
x∗ = x0 + α0 d0 + α1 d1 + . . . + αn−1 dn−1
Definisco ora il processo fino all’iterazione k:
xk = x0 + α0 d0 + α1 d1 + . . . + αk−1 dk−1
39
dTk Q(xk − x0 ) = 0
Quindi:
dTk Q(x∗ − x0 ) = αk dTk Qdk
⇓
dTk Q(x∗ − x0 ) dTk Q(x∗ − xk + xk − x0 ) dTk Q(x∗ − xk )
αk = = =
dTk Qdk dTk Qdk dTk Qdk
dT [Qx∗ − Qxk ] dT (c − Qxk ) −dT gk
= k T = k T = Tk
dk Qdk dk Qdk dk Qdk
poichè c − Qxk è l’antigradiente calcolato in xk . Dunque:
−gk dk
αk = (2.1)
dTk Qdk
è il passo ottimo lungo dk .
k+1
X
Qxk − c = Qxi − c + αj Qdj
j=i
k+1
X
gk = gi + αj Qdj
j=i
40
ii) Supponiamo di aver effettuato n iterazioni. Per la (i) abbiamo che
gnT di = 0 i = 0, . . . , n − 1
41
Utilizzando la 2.3:
T
gk+1 (gk+1 − gk )
βk+1 =
−dTk gk
dk = −gk + βk dk−1
Utilizzando la 2.3:
dTk gk = −kgk k2 + βk gkT dk−1
dTk gk = −kgk k2 (2.4)
Utilizzando la 2.4:
T
gk+1 (gk+1 − gk )
βk+1 =
kgk k2
Si può infine dimostrare che
T
gk+1 gk = 0 (2.5)
Utilizzando quindi la 2.5:
kgk+1 k2
βk+1 =
kgk k2
Il metodo del gradiente coniugato per la forma quadratica è un algoritmo che termina
in al massimo n iterazioni, è quindi a convergenza finita.
E’ un algoritmo iterativo per la risoluzione del sistema lineare Qx = c, con Q matrice
nxn simmetrica e definita positiva. Gli algoritmi di calcolo diretto della soluzione hanno
un costo computazionale elevato, o(n2 ). Il metodo del gradiente coniugato ha, nel caso
peggiore, costo o(n). Quindi la scelta del metodo migliore da implementare dipende dalla
dimensione del problema considerato.
Se Q è semidefinita positiva, il problema non è detto che ammetta soluzione. Se
ammette soluzione allora ammette infinite soluzioni. Nel caso in cui ammetta infinite so-
luzioni allora il metodo del gradiente coniugato determina una delle soluzioni al problema
in un numero finito di iterazioni.
42
2.1.3 Metodo del gradiente coniugato (minimi quadrati lineari)
Il problema di ottimizzazione
1
min kAx − bk2
2
è un problema quadratico convesso (in generale non strettamente convesso) che ammette
soluzione.
1
min xT AT Ax − (AT b)T x
2
Il problema ammette soluzione, quindi posso applicare il metodo del gradiente coniuga-
to. Prendendo come punto iniziale x0 = 0 il metodo determina la soluzione a minima
norma.
min f (x)
x∈Rn
Schema generale
Dati x0 ∈ Rn , k = 0, d0 = −g0 .
Nel caso quadratico la scelta delle formule per il calcolo di βk+1 era indifferente, poichè
le formule erano del tutto equivalenti.
Nel caso non quadratico le formule di βk+1 non sono equivalenti e la diversa scelta di
una di queste nell’esecuzione dell’algoritmo dà origine a metodi con diverse denominazio-
ni.
T
gk+1 (gk+1 − gk )
• Metodo di Poliak-Ribiele: βk+1 =
kgk k2
kgk+1 k2
• Metodo di Fletcher-Reeved : βk+1 =
kgk k2
43
T
gk+1 dk+1 = −kgk+1 k2 + βk+1 gk+1
T
dk < 0
Poichè −kgk+1 k2 è sicuramente negativo, per far verificare la disequazione ho bisogno di
T
controllare βk+1 gk+1 dk . Il termine βk+1 nelle varie formule dipende da xk , αk e dk :
gk+1 = g(xk + αk dk )
T
gk+1 dk = g(xk + αk dk )T dk = Φ̇(αk )
con Φ(α) = f (xk + αdk ) e Φ̇(α) = ∇f (xk + αdk )T dk . La condizione di Armijo afferma
che
f (xk + αk dk ) ≤ f (xk ) + γαk ∇f (xk )T dk
ovvero di sufficiente decremento della funzione.
Si rende più forte la condizione su αk utilizzando metodi di ricerca unidimensionale
basati sulle condizioni di Wolfe.
• Wolfe forte
f (xk + αk dk ) ≤ f (xk ) + γαk ∇f (xk )T dk
|∇f (xk + αk dk )T dk | ≤ σ|∇f (xk )T dk |
min f (x)
gi (x) ≤ 0 i = 1, . . . , m
hj (x) = 0 j = 1, . . . , p
con gi (x) ≤ 0 e hj (x) = 0 detti vincoli di disuguaglianza e vincoli di uguaglianza.
Associamo ora ai vincoli i moltiplicatori di Lagrange:
λ0 → f (x) λi → gi (x) µj → hj (x)
possiamo così definire la funzione lagrangiana.
44
2.2.1 Condizioni di ottimalità di Fritz-John
Le condizioni di ottimalità di Fritz-John per problemi di ottimizzazione vincolata sono
condizioni necessarie di ottimalità.
Sia x∗ minimo locale. Allora ∃ λ∗0 , λ∗ ≥ 0; µ∗ :
1) (λ∗0 , λ∗ , µ∗ ) 6= (0, 0, 0)
m p
X X
2) λ∗0 ∇f (x∗ ) + λ∗i ∇gi (x∗ ) + µ∗i ∇hj (x∗ ) = 0
i=1 j=1
Le condizioni di complementarietà ci indicano che uno dei due fattori (λ∗i o gi (x∗ ) deve
essere nullo, mentre quelle di ammissibilità che la soluzione sia ammissibile per il problema
di ottimizzazione.
Posso riscrivere le condizioni in forma vettoriale tramite l’utilizzo della funzione la-
grangiana.
L(x, λ0 , λ, µ) = λ0 f (x) + λT g(x) + µT h(x)
Indico con
∇g = ∇g1 · · · ∇gm
∇h = ∇h1 · · · ∇hm
Allora, derivando la lagrangiana rispetto alla variabile x:
∇x L(x∗ , λ∗0 , λ∗ , µ∗ ) = 0
λ∗ T g(x∗ ) = 0
perchè λi gi (x) sono tutti non positivi. Possiamo quindi esprimere queste condizioni sotto
forma di prodotto scalare.
45
Definizione 11 (Vincoli attivi) Un vincolo di un problema di ottimizzazione non vin-
colata si dice attivo se
gi (x∗ ) = 0
Definiamo ora l’ insieme dei vincoli attivi come
linearmente indipendenti.
Dimostrazione
Dalle condizioni di Fritz-John
m p
X X
λ∗0 ∇f (x∗ ) + λ∗i ∇gi (x∗ ) + µ∗j ∇hj (x∗ ) = 0
i=1 j=1
p
X X
λ∗0 ∇f (x∗ ) + λ∗i ∇gi (x∗ ) + µ∗j ∇hj (x∗ ) = 0
i∈I(x∗ ) j=1
(λ∗ , µ∗ ) 6= (0, 0)
p
X X
λ∗i ∇gi (x∗ ) + µ∗j ∇hj (x∗ ) = 0
i∈I(x∗ ) j=1
46
2.2.3 Condizioni di Karush-Kuhn-Tucker (KKT)
Dalle condizioni di Fritz-John, unite alle condizioni di qualificazione dei vincoli (basta
che una di esse sia verificata) si arriva alla definizione delle condizioni di ottimalità di
Karush-Kuhn-Tucker o KKT.
Poichè almeno una condizione di qualificazione è verificata abbiamo che
λ∗0 > 0
2) λ∗i gi (x∗ ) = 0 i = 1, . . . , m
3) g(x∗ ) ≤ 0 h(x∗ ) = 0
1) ∇x L(x∗ , λ∗ , µ∗ ) = 0
2) λ∗ T g(x∗ ) = 0
3) λ∗ ≥ 0
4) h(x∗ ) ≤ 0 h(x∗ ) = 0
min f (x)
l≤x≤u
min f (x)
47
xi − ui ≤ 0 i = 1, . . . , n
li − xi ≤ 0 i = 1, . . . , n
−
Associamo i moltiplicatori λ+
i e λi alle due disuguaglianze
n
X n
X
+ −
L(x, λ , λ ) = f (x) + λ+
i (xi − ui ) + λ−
j (lj − xj )
i=1 j=1
−
Per le condizioni di KKT, λ+
i , λi ≥ 0 i = 1, . . . , n.
δL δf (x) −
= + λ+
i − λi = 0 i = 1, . . . , n
δxi δxi
Per la complementarietà abbiamo che
−
λ+
i (xi − ui ) = 0 λi (li − xi ) = 0 i = 1, . . . , n
li ≤ xi ≤ ui i = 1, . . . , n
a) Supponiamo che x∗i = li ⇒ x∗i < ui . Unendo questo risultato alle condizioni di
complementarietà otteniamo che
δf (x∗ )
λ+
i = 0 ⇒ = λ−
i ≥ 0
δxi
b) Supponiamo che x∗i = ui ⇒ x∗i > li . Unendo questo risultato alle condizioni di
complementarietà otteniamo che
δf (x∗ )
λ−
i = 0 ⇒ = −λ+
i ≤ 0
δxi
c) Supponiamo li ≤ xi ≤ ui :
x∗i < ui ⇒ λ+
i = 0
li < x∗i ⇒ λ−
i = 0
δf (x∗i
Quindi = 0.
δxi
1) l ≤ x∗ ≤ u
∗ ≥ 0 se x∗i = li
δf (x )
2) =0 se li < xi < ui
δxi
≤0 se x∗i = ui
48
Problemi con vincolo di simplesso
Dato un problema di ottimizzazione vincolata
Pnmin f (x)
i=1 xi =1
min f (x)
x∈Rn
min m(s)
s
min m(s)
s
49
Consideriamo ora il sottoproblema
f (xk ) − f (xk+1 ) Q 0
Non abbiamo garanzie che, ottenuta una variazione nel modello quadratico, otterrem-
mo necessariamente anche una variazione nella funzione obiettivo.
Chiamiamo ora
f (xk ) − f (xk + sk )
ρk =
mk (0) − mk (xk )
ovvero il rapporto tra le variazioni della funzione obiettivo ed il modello quadratico.
Allora:
• Se ρk sufficientemente positivo (quindi sia il modello che la funzione sono diminuiti)
allora xk+1 = xk + sk .
Se molto positivo allora ∆k+1 ≥ ∆k , allargo cioè la regione di confidenza. Altrimenti
∆k+1 ≤ ∆k , la riduco.
50
• Passo 3: Accettazione del nuovo punto. Calcolo
f (xk ) − f (xk+1 + sk )
ρk =
mk (0) − mk (xk )
Studio ora ρk :
– Se ρk ≥ µ1 ⇒ xk+1 = xk + sk
– Altrimenti ⇒ xk+1 = xk
2.3.3 Punti cruciali dello schema generale dei metodi Trust Re-
gion
Definizione di sufficiente decremento del modello quadratico
1
min f (xk ) + ∇f (xk )T s + sT Bk s ksk ≤ ∆k
s 2
Per s = 0 ⇒ mk (0) = f (xk ). Per ottenere un sufficiente decremento calcolo il gradiente
∆k
τ∗ =
k∇f (xk )k
Definiamo dunque
sk = −τ ∗ ∇f (xk )
chiamato passo di Cauchy, che fornisce un sufficiente decremento del modello quadra-
tico. Il passo di Cauchy prende il ruolo che l’antigradiente aveva nel caso dei metodi di
ricerca lineare.
51
Calcolo della soluzione del sottoproblema in modo da ottenere sufficiente
decremento
Sia (*) il sottoproblema
1
min fk + gkT s + sT Bk s ksk ≤ ∆k
s 2
Il calcolo della soluzione può essere:
• Approssimata: ad esempio tramite il passo di Cauchy
ii) ks∗ k ≤ ∆k
iii) λ∗ (ks∗ k − ∆k ) = 0
iv) λ∗ ≥ 0
Dimostrazione
La funzione obiettivo è lineare. Trasformo i vincoli
1
min fk + gkT s + sT Bk s ksk2 − ∆2k ≤ 0
s 2
In questo modo anche i vincoli sono lineari, quindi ∈ C 1 .
Per applicare le condizioni di KKT dobbiamo verificare che sia soddisfatta almeno
una condizione di qualificazione dei vincoli. Verifichiamo se vale l’indipendenza lineare
dei gradienti dei vincoli attivi.
Supponiamo che in s∗ sia attivo il vincolo:
ksk2 − ∆2k = 0
ii) ks∗ k ≤ ∆k
iv) λ∗ ≥ 0
52
Proposizione 33 (Condizione necessaria e sufficiente di minimo globale) Un
punto s∗ è un punto di minimo globale se e solo se ∃ λ∗ :
i) Bk s∗ + gk + λ∗ s∗ = 0
ii) ks∗ k ≤ ∆k
iii) λ∗ (ks∗ k − ∆k ) = 0
iv) λ∗ ≥ 0
v) Bk + λ∗ I è semidefinita positiva
Dimostrazione
- Condizione necessaria
∃ ẑ : ẑ T (Bk + λ∗ I) < 0
z T s∗ 6= 0 (2.8)
se ẑ : ẑ T s 6= 0 ⇒ z = ẑ altrimenti z = ẑ + αs∗ . Quindi
z T s∗ = ẑ T s∗ + αks∗ k = αks∗ k2 6= 0
kz − ẑk = |α|ks∗ k
53
che sarebbe assurdo poichè avrei trovato un punto ammissibile strettamente minore.
ksk2 = sT s
= ksk2 + 2µs∗ T z + kzk2 µ2
= µ(2s∗ T z + µkzk2 + ksk2 )
−2s∗ T z
Prendo ora µ = . Quindi
kzk2
- Condizione sufficiente
Valgono (i) - (v) ⇒ s∗ è punto di minimo globale del problema non vincolato
1
min sT (Bk + λ∗ I)s) + gkT s
s 2
Quindi
1 1
∀ s ∈ Rn ⇒ sT Bk s + gkT s ≥ s∗ T Bk s∗ + gkT s∗ + λ∗ [ks∗ k2 − ksk] (2.9)
2 2
54
– Supponiamo che s∗ < ∆k . Allora:
λ∗ per la complementarietà ⇒ λ∗ = 0
Quindi
1 T 1
∀ s ∈ Rn s Bk s + gkT ≥ s∗ T Bk s∗ + gkT s∗
2 2
∗
da cui ricaviamo che s è minimo globale di mk (s) su tutto Rn , quindi anche
all’interno della regione di confidenza.
– Supponiamo che s∗ = ∆k . Allora:
∇f (x) = Qx − c ∇2 f (x) = Q
Caso generale
xk+1 = xk − αk Bk−1 ∇f (xk )
sk = xk+1 − xk
yk = ∇f (xk+1 ) − ∇f (xk )
Voglio determinare Bk in modo tale che:
1) Bk+1 sk = yk
55
2) Bk+1 = Bk + ∆Bk con ∆Bk detta matrice delle correzioni.
2) dT Bk d = 1 ⇒ µ1 g T Bk−1 g = ±1
q
µ= g T Bk−1
Si hanno quindi 2 soluzioni, quella che ci interessa è la positiva. La soluzione è dunque
Bk−1 gk
d=−
gkT Bk gk
56
2.4.1 Interpretazione geometrica in una variabile
Data una funzione in una variabile g : R → R un metodo Quasi-Newton è detto metodo
della secante. Ricaviamo l’equazione della retta secante
gk − gk+1
y = gk+1 + (x − xk+1 )
xk − xk+1
gk − gk+1
o = gk+1 + (xk+2 − xk+1 )
xk − xk+1
xk − xk+1
xk+2 = xk+1 − gk+1 = xk+1 − hk+1 gk+1
gk − gk+2
chiamando
xk − xk+1
hk+1 =
gk − gk+2
ho dunque
hk+1 (gk − gk+1 ) = xk − xk+1
e cioè della forma
Hk+1 (∇f (xk ) − ∇f (xk+1 )) = xk − xk+1
quindi si può dire che con n = 1 il metodo Quasi-Newton è detto metodo della secante.
Bk+1 = Bk + ϕk µk vkT
xk+1 = xk − αk Hk gk
Hk+1 yk = sk
57
per l’equazione di QN.
ykT Hk+1 yk = ykT sk > 0
(gk+1 − gk )T > 0
con αk che scompare poiché > 0.
Sia Φ(α) = f (xk + αdk ), la sua derivata è Φ̇(α) = g(xk + αdk )T dk . Si ha dunque che
con Q matrice simmetrica e definita positiva. Ricordiamo il metodo della discesa più
ripida
xk+1 = xk − αk ∇f (xk )
con αk passo ottimo lungo la direzione −∇f (xk )
k∇f (xk )k
αk =
∇f (xk )T Q∇f (xk )
Questo metodo converge globalmente all’unica soluzione del problema, ma è poco efficien-
te.
Consideriamo ora
1
xk+1 = xk − ∇f (xk )
µk
= xk − Bk−1 ∇f (xk )
= xk − Hk ∇f (xk )
1
con Bk = µk I e Hk = µk
I.
58
• Bk la posso considerare un’approssimazione della matrice Hessiana, Q.
• Hk la posso considerare un’approssimazione dell’inversa della matrice Hessiana,
Q−1 .
Dobbiamo ora formalizzare cosa intendiamo per approssimazione. Indichhiamo con
s = xk − xk−1
y = ∇f (xk ) − ∇f (xk−1 )
Qs = y Q−1 y = s
soddisfano cioè le equazioni Quasi-Newton.
Scelgo ora µk in modo tale da minimizzare l’errore nell’equazione Quasi-Newton
min kµIs − yk2 = min µ2 sT s − 2µsT y
µ µ
sT y
β=
yT y
La soluzione costituisce la II a formula di Barzilai-Borwein:
(b) yT y
µk = (2.12)
sT y
Il metodo di BB converge globalmente per qualsiasi dimensione del problema in caso
di funzione obiettivo quadratica e strettamente convessa (risultato del 1992).
xT Qx
λmin (Q) ≤≤ λmax (Q)
kxk2
Possiamo far vedere che le due formule, 2.11 e 2.12, sono due quozienti di Raileigh.
• La 2.11 è un quoziente di Raileigh
(a) sT y
µk = y = ∇f (xk ) − ∇f (xk−1 ) = Qs
sT s
(a) sT Qs sT Qs
µk = = ⇒ è un quoziente di Raileigh
sT s ksk2
59
• La 2.12 è un quoziente di Raileigh
(b) yT y (b) yT y
µk = s = Q−1 y µk =
sT y y T Q−1 y
1 y T Q−1 y 1
≤ T
≤
λmax (Q) y y λmin (Q)
(b)
λmax (Q) ≤ µk ≤ λmin (Q)
sTk−1 yk−1
µk =
sTk−1 sk−1
Ricordando che sk−1 = xk − xk−1 e yk−1 = ∇f (xk ) − ∇f (xk−1 ). Moltiplico ora l’equazione
del gradiente per Q e sottraggo c da ambo le parti, ottenendo:
1
yk−1 = ∇f (xk ) − ∇f (xk−1 ) = − Q∇f (xk−1 )
µk−1
1
sTk−1 yk−1 = −( )2 ∇f (xk−1 )T Q∇f (xk−1 )
µk−1
1
sTk−1 sk−1 = ( )2 k∇f (xk−1 )k2
µk−1
1
xk+1 = xk − ∇f (xk )
µk
k∇f (xk−1 )k2
= xk − ∇f (xk )
∇f (xk−1 )T Q∇f (xk−1 )
con µ1k che rappresenta il passo ottimo relativo all’iterazione precedente. Questo dà luogo
ad un metodo del gradiente con ritardo.
60
2.5.2 Caso non quadratico
L’estensione del metodo del gradiente di Barzilai-Borwein al caso non quadratico risale
all’anno 1997.
Sia dato un problema di ottimizzazione non vincolata
min f (x)
x∈Rn
(a) sT y (b) yT y
µk = µk =
sT s sT y
1
xk+1 = xk − αk ∇f (xk )
µk
Osservazioni
• Nel caso quadratico µk era sicuramente positivo (essendo compreso nello spettro
della matrice Q, definita positiva). Nel caso non quadratico non ho limitazioni di
segno per µk , quindi è necessario effettuare un controllo
1
0 < ε ≤ µk ≤ ε ' 10−10
ε
• Armijo monotono
con M intero finito. Può quindi accadere che si verifichi la condizione f (xk+1 ) >
f (xk ).
61
2.6 Metodi per problemi di minimi quadrati
Sia dato un problema di ottimizzazione non vincolata
m
X
minn ri2 (x)
x∈R
i=1
AT Ax = AT (bR + bN )
= A T bR
Per dimostrare il risultato di geometria consideriamo il problema
min kb − yk2 AT y = 0
y
In questo caso le condizioni KKT sono condizioni necessarie e sufficienti poichè f convessa
ed i vincoli sono lineari.
bR = Aλ∗ ∈ Range(A)
bN = y ∗ ∈ Ker(A)
Per il calcolo della soluzione si può ricorrere a metodi diretti (ad esempio quello della
pseudoinversa) o metodi iterativi (gradiente coniugato).
62
Metodo incrementale (filtro di Kalman)
[ÃT Ã + ak+1 aTk+1 ]x(k + 1) = ÃT b̃ + ak+1 bk+1 = ÃT Ãx(k) + ak+1 bk+1
[ÃT Ã + ak+1 aTk+1 ]x(k + 1) = [ÃT Ã + ak+1 aTk+1 ]x(k) − ak+1 aTk+1 x(k) + bk+1 ak+1
Chiamo ora
Hk = [ÃT Ã + ak+1 aTk+1 ] Hk = ÃT Ã
Se Hk è invertibile ⇒ Hk+1 è invertibile, poichè definita positiva
−1
x(k + 1) = x(k) + Hk+1 ak+1 (bk+1 − aTk+1 x(k))
E’ una funzione di aggiornamenti che mi fornisce la nuova soluzione a partire dalla
soluzione precedente con
Hk+1 = Hk + ak+1 aTk+1
−1
Esistono formule che forniscono Hk+1 nota Hk−1 . E’ un metodo incrementale. Viene
utilizzato quando il numero dei dati dati e delle caratteristiche è molto elevato.
63
con n ≥ m, r(x) : Rn → Rm .
∇riT (x)
J(x) =
..
.
T
∇rm (x)
m
X
∇f (x) = ri (x)∇riT (x) = J T (x)r(x)
i=1
m
X m
X m
X
∇2 f (x) = ∇ri (x)∇riT (x) + ri (x)∇2 ri (x) = J T (x)J(x) + ri (x)∇2 ri (x)
i=1 i=1 i=1
Metodo di Gauss-Newton
Consideriamo il metodo di Newton
trascurando cioè il termine composto unicamente dai residui. Con questa approssimazione
introduco il metodo di Gauss-Newton:
• Poni xk+1 = xk + dk
64
Metodo di Levenberg-Marquardt
Sia
J T (xk )J(xk ) + Dk
con Dk definita positiva, detta matrice di perturbazione. Considero Dk = µk I
min f (x)
x∈Rn
Possiamo utilizzare:
posso quindi risolvere il problema con il metodo del gradiente coniugato per funzioni
quadratiche
∇f (xk + εv) − ∇f (xk )
∇2 f (xk )v '
ε
Si chiama troncato poichè il metodo del gradiente coniugato è iterativo e potrebbe
essere sufficiente interrompere il processo per ottenere una buona approssimazione.
Bk d = −∇f (xk )
65
2.8 Metodi senza derivate
Dato un problema di ottimizzazione non vincolata del tipo
min f (x)
x∈Rn
con ε > 0 sufficientemente piccolo, ε ' 10−7 . Indichiamo con ˆ (x) l’approssimazione
∇f
del gradiente della funzione obiettivo, ∇f (x).
0
..
f (x+εl )−f (x)
1
.
ε
ˆ (x) =
∇f .. l = 1
. i
.
f (x+εln )−f (x) ..
ε
0
con li vettore con solo la (i)-esima componente unitaria. A questo punto applico un
ˆ (x) al posto
metodo di tipo gradiente (gradiente coniugato, Quasi-Newton) utilizzando ∇f
di ∇f (x).
Questi metodi possono però essere molto inefficaci in problemi in cui è presente un
rumore
66
δf (x) fˆ(x + εli ) − fˆ(x) |ρ(x + εli ) − ρ(x)|
| − | ≤ c1 ε +
δxi ε ε
Dalla formula precedente si nota che ε si trova sia a numeratore che a denominatore,
dovendo così trovare un compromesso nella scelta del valore finale.
• Metodo di Nelder-Mead
• Metodo di Hook-Jeeves
Metodo di Nelder-Mead
Il metodo di Nelder-Mead è anche detto metodo del simplesso, poichè si basa su (n + 1)
punti e viene utilizzato l’involucro convesso (detto simplesso) di questi punti. L’involucro
convesso è l’area delimitata dai punti dati.
Alla generica iterazione abbiamo S = {x1 , x2 , . . . , xn+1 }, li ordiniamo in modo tale
che
f (x1 ) ≤ f (x2 ) ≤ · · · ≤ f (xn+1 )
L’idea di questo metodo è di sostiuire il punto xn+1 (il peggiore nell’insieme dato di punti)
con un nuovo punto in modo da ottenere un miglioramento della funzione obiettivo.
Chiamo x̄ il baricentro degli n punti. Nel caso n = 2:
n
1X
x̄ = xi
n i=1
A partire dal punto peggiore (x3 ) traccio la linea che passa per il baricentro fino a xr ,
definito come
xr = x̄ + (x̄ − xn+1 )
67
Se xr è un buon punto (cioè tale che f (xr ) ≤ f (x1 )) provo a migliorare ancora nella stessa
direzione (ipotizzata essere di discesa) fino a calcolare xe = x̄ + 2(x̄ − xn+1 ). Nel caso in
cui f (xe ) > f (xr ) interrompo la ricerca ed inserisco xr al posto di xn+1 e riordino S.
Caratteristiche
un insieme di 2n direzioni che gode della proprietà precedente, vedi sezione 1.4.6.
L’idea del metodo delle coordinate consiste nel ricercare un punto migliore procedendo
nelle direzioni di D di un passo αk .
αk = θαk θ ∈ (0, 1)
xk+1 = xk
68
Formalizzazione Dati x0 ∈ Rn , D = {e1 , e2 , . . . , en , −e1 , −e2 , . . . , −en }, θ ∈ (0, 1)
lim αk = 0
k→∞
Dimostrazione
•
lim αk = 0 ⇒ ∃ K1 ⊆ {0, 1, . . .} : αk+1 = θαk
k→∞
∃ K2 ⊆ K1 : lim xk = x̄
k∈K2 ,k→∞
69
Quindi:
αk ∇f (uik )T ei ≥ 0 αk ∇f (vki )T ei ≤ 0
Ma per lim αk = 0 e lim xk = x̄ ho che
k→∞ k∈K2 ,k→∞
Metodo di Hook-Jeeves
Il metodo di Hook-Jeeves è una variante del metodo delle coordinate.
Dimostrazione
70
Dimostrazione
∇f (x̄)T < 0
Dimostrazione
Dimostrazione
x̄ + λd ∈ S ⇒ dè ammissibile
d = (x − x̄) è ammissibile
71
2) Dimostrazione analoga
Dimostrazione
Per la convessità di f , ∀ x ∈ S:
S = {x ∈ Rn : Ax ≤ b}
aTi d ≤ 0 ∀ i ∈ I(x̄)
72
d è direzione ammissibile in x̄ se e solo se aTi d ≤ 0 ∀ i ∈ I(x̄), ma devo tenere di conto
anche dei vincoli di uguaglianza. Esplicito i vincoli di uguaglianza in disuguaglianza
min f (x)
li ≤xi ≤ui
• Approccio geometrico
δf (x̄)
∇f (x̄)T d = ∇f (x̄)T ei = ≥0
δxi
δf (x̄)
−∇f (x̄)T ei ≥ 0 ⇒ ≤0
δxi
73
2.9.3 Condizioni di ottimalità per problemi con vincolo di sim-
plesso
Dato il problema di ottimizzazione vincolata
possiamo anche in questo caso procedere per via alegebrica (usando le condizioni di KKT)
oppure in via geometrica.
Voglio dimostrare che, dato x̄ minimo locale
δf (x̄) δf (x̄)
x̄i > 0 ⇒ ≤ j = 1, . . . , n
δxi δxj
• Metodo algebrico
Applico KKT
δL(x, λ, µ) δf (x̄)
= + µ̄ − λ̄i = 0
δxi δxi
λ̄i x̄i = 0 i = 1, . . . , n
λ̄ ≥ 0
Sia x̄i > 0 ⇒ λ̄i = 0 per la complementarietà
δf (x̄)
= −µ̄ (2.14)
δxi
con µ̄ che non dipende da i. In generale possiamo dire che
δf (x̄)
= λ̄i − µ̄ ≥ −µ̄ (2.15)
δxi
poichè λ̄i ≥ 0.
Da 2.14 e 2.15 segue che
δf (x̄) δf (x̄)
x̄i > 0 ⇒ ≤ j = 1, . . . , n
δxi δxj
1T x = 1 aT x = b
x≥0 −x≤0
Sia quindi x̄ minimo locale, quindi ammissibile. La direzione d è ammissibile in x̄
se e solo se
74
a. 1T d = 0
b. di ≥ 0 ∀ i : x̄i = 0
∇f (x̄)T d ≥ 0
δf (x̄) δf (x̄)
− ≥0
δxj δxi
δf (x̄) δf (x̄)
≥ ∀ j = 1, . . . , n
δxj δxi
min kx − yk
y∈S
min kx − yk
y∈S
kx − p(x)k ≤ kx − yk ∀y∈S
75
b. L’operazione di proiezione è continua e non espansiva, vale cioè kp(z) − p(x)k ≤
kz − xk ∀ x, y ∈ Rn
Dimostrazione
a. La proiezione p(x) è l’unica soluzione del problema
1
min kx − yk2
y∈S 2
Dimostrazione
76
2.10.1 Problemi con vincoli di box trattati mediante proiezioni
Si consideri un problema di ottimizzazione con vincoli di box del tipo
min f (x)
x∈S
con S = {x ∈ Rn : l ≤ x ≤ u l, u ∈ Rn }.
Quindi (x − y ∗ )T (x − y ∗ ) ≤ 0 ∀ y ∈ S.
0 se li ≤ xi ≤ ui
xi − yi∗ = xi − li < 0 se xi < li
xi − u i > 0 se xi > ui
77
Ponendo x = x̂ (entrambi appartengono ad S)
Dimostrazione
lim xk = x (2.17)
k∈K,k→∞
78
Dai risultati di 2.18 e 2.19 otteniamo che
Ricordando che xˆk = p[xk − sk ∇f (xk )], per la continuità di f , abbiamo che x = p[x −
sk ∇f (x)] cioè che x è un punto critico.
min ∇f (xk )T (x − xk )
x∈S
79
Proposizione 48 (Convergenza globale del metodo di Frank-Wolfe) {xk } am-
mette punti di accumulazione ed ogni punto di accumulazione è un punto critico
Dimostrazione
lim xk = x
k∈K,k→∞
∇f (x)T (x − x) ≥ 0 ∀x∈S
80