Documente Academic
Documente Profesional
Documente Cultură
Curs I
Concepte fundamentale din teoria optimizarii
Ion Necoara
2019
Personal
I Curs: Prof. Ion Necoara (ion.necoara@acse.pub.ro)
I Seminar: Ion Necoara & Daniela Lupu
Examinare
I 40 puncte: tema (≈ saptamana 13) + activitate semestru
I 60 puncte examen final (exercitii seminar)
xn
• Produs scalar in spatiul Euclidian: hx, y i = x T y = ni=1 xi yi
P
p q
• Norma Euclidiana standard kxk = hx, xi = x12 + · · · + xn2
• Multimi cu litere mari: S, Q, U ⊆ Rn ( Rn+ - orthantul
n - multimea matricelor pozitiv semidefinite)
nenegativ, S+
• Matrice cu litere mari: A, B, C , H ∈ Rn×m
p
• Norma spectrala a unei matrici kAk = λmax (AT A)
• Matrice pozitiv definita: A 0, si pozitiv semidefinita A 0
Notatii
In cadrul cursului vom utiliza urmatoarele notatii:
• Functii cu litere mici: f , g , h : Rn → R.
• Gradientul, respectiv matricea Hessiana a functiei continuu
diferentiabile f : Rn → R: ∇f (x) ∈ Rn , ∇2 f (x) ∈ Rn×n .
Hessiana este matrice simetrica (i.e. in S n )!
2
∂ 2 f (x)
∂f (x) ∂ f (x)
2 . . . ∂x1 ∂xn
∂x. 1 ∂ x1
∇f (x) = .. , ∇2 f (x) = ... ..
.
..
. ,
∂f (x) 2
∂ f (x) 2
∂ f (x)
∂xn ∂xn ∂x1 . . . ∂ 2 xn
Teorema de medie: fie functia g : R → R atunci exista θ ∈ [a, b]
Rb
a.i. g (b) − g (a) = g 0 (θ)(b − a) = a g 0 (τ )dτ =⇒ pentru
f : Rn → R luam g (t) = f (x + t(y − x)):
f (x + 2) − 2f (x + ) + f (x)
f 00 (x) ∼ + O()
2
f (x + ) − 2f (x) + f (x − )
f 00 (x) ∼ + O(2 )
2
Aceste formule se pot extinde si la functii de mai multe variabile.
De exemplu:
∂f f (x + ei ) − f (x)
(x) ∼ + O()
∂xi
etc...
Optimizarea matematica = Urcarea unui munte
Optimizarea matematica
f ∗ = minn SAU maxn f (x)
x∈R x∈R
s.l.: g1 (x) ≤ 0, . . . , gm (x) ≤ 0
h1 (x) = 0, . . . , hp (x) = 0.
I x variabila de decizie
I functia obiectiv f : Rn → R̄
I constrangeri de inegalitate si egalitate gi , hj : Rn → R
In solutia optima x ∗ functia obiectiv ia valoarea cea mai mica
(valoarea optima f ∗ ) in raport cu toti vectorii ce satisfac
constrangerile (restrictiile)
Scurta istorie:
I Antichitate: abordare geometrica (aplicatii izoperimetrice -
Problema Dido sec. IX i.H.)
I Evul mediu: abordare algebrica (folosind e.g. inegalitatea
mediilor)
I Dupa sec XIX: abordare pe baza calculului diferential
Scurta istorie
• teorie: conditii de optimalitate, analiza convexa (1900-1970)
• algoritmi:
I 1947: algoritmul simplex pentru programare liniara (Dantzig)
I 1950: programarea dinamica (Bellman ’52)
I 1960: metoda gradientilor conjugati (Fletcher & Reeves ’64);
metode quasi-Newton (David-Fletcher-Powel ’59)
I 1970: metode de penalitate si bariera (Fiacco & McCormick);
programare patratica secventiala; probleme de mari dimensiuni
(Lasdon ’70); metoda subgradient (scoala ruseasca)
I 1980-2000: metode de punct interior cu complexitate
polinomiala (Karmakar ’84; Nesterov & Nemirovski ’94)
• aplicatii:
I inainte de 1990: cercetari operationale (finante, logistica,
manufacturing, scheduling)
I dupa 1990: aplicatii ingineresti (control, procesare de semnal,
motoare de cautare, retele); medicina (tomografie); biologie
(recunoasterea de gene); fizica (predictia vremii)
Probleme de optimizare
f ∗ = minn f (x)
x∈R
s.l.: g1 (x) ≤ 0, . . . , gm (x) ≤ 0
h1 (x) = 0, . . . , hp (x) = 0.
min f (x)
x∈Rn
s.l.: g1 (x) ≤ 0, . . . , gm (x) ≤ 0
h1 (x) = 0, . . . , hp (x) = 0.
−1
−2
Punct de minim local x*
L
−3
*
Punct de minim local xL
−4
−6
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1
x0 = [−1 1]T ;
optiuni = optimset(’fminunc’);
[x, fval] = fminunc(objfun, x0, optiuni)
Probleme de optimizare - LP
Daca f (x), g (x) si h(x) din problema NLP sunt afine (f (x) = c T x,
g (x) = Cx − d, h(x) = Ax − b), atunci problema NLP devine o
problema de programare liniara (LP sau linear programming):
(LP) : min c T x
x∈Rn
s.l.: Cx ≤ d, Ax = b.
I LP-urile pot fi rezolvate eficient, cu teorie dezvoltata incepand
cu anii 1940 (metoda simplex). Astazi se pot rezolva
probleme LP cu 109 variabile!
Aplicatii in toate domeniile: economie (optimizare de portfoliu);
assigment (companie aeriana numeste echipajul fiecarui zbor a.i.:
fiecare zbor este acoperit, indeplinite regulamentele - fiecare pilot
zboara un nr maxim de ore/zi, cost minim - hotel pt. echipaj);
productie si transport (companie petroliera: petrol in Arabia,
rafinarie in Romania si clienti in SUA); telecomunicatii (multe
telefoane din Cluj la Bucuresti si Iasi la Timisoara - cum facem
rout-rea optima in retea); problema comis-voiajorului; ...
Probleme de optimizare - LP
Exemplu de problema LP:
min 3x1 + 2x2 + 4x3 (1)
x∈R3
s.l.: 0 ≤ x1 ≤ 10, x2 ≥ 0, x3 ≥ 0
x1 + x2 = 2
x2 + x3 = 1
x1
Observam: f (x) = 3x1 + 2x2 + 4x3 = 3 2 4 x2 = c T x
| {z } x
3
cT | {z }
x
Constrangeri de egalitate: h(x) : R3 → R2 h(x) = Ax − b = 0
x
1 1 0 1
2
x2 − =0
0 1 1 1
| {z } x3 |{z}
A | {z } b
x
Probleme de optimizare - LP
x = linprog(c,C,d,A,b)
Probleme de optimizare - QP
Daca g (x) si h(x) din problema NLP sunt afine iar functia obiectiv
f (x) este o functie patratica, atunci problema NLP devine o
problema de programare patratica (QP sau quadratic
programming):
1 T
(QP) : minn x Qx + q T x + r
x∈R 2
s.l.: Cx ≤ d, Ax = b.
Observam
1 2 1 x1 x1
f (x) = x1 x2 + 3 2
2 1 2 x2 | {z } x2
qT
| {z }
Q
x = quadprog(Q,q,C,d,A,b)
Probleme de optimizare - CP
Probleme de optimizare convexa:
(CP) : min f (x)
x∈Rn
s.l.: g (x) ≤ 0, Ax − b = 0,
O problema de optimizare este convexa daca functia obiectiv f (x)
si multimea fezabila sunt convexe.
Daca g (x) convexa si h(x) afina (i.e. h(x) = Ax − b), atunci
multimea fezabila X = {x : g (x) ≤ 0, Ax = b} este convexa.
• Observatie: problemele LP si problemele QP (cu Q 0) sunt
probleme de optimizare convexa. Problemele convexe sunt, in
general, mai usor de rezolvat decat (NLP)-urile. Foarte multe
aplicatii: procesare de semnal, control optimal, design optim
• Observatie: o problema de optimizare convexa unde
f (x) = 21 x T Qx + q T x si gi (x) = 21 x T Qi x + qiT x + ri , i.e. f si
functiile din constrangerile de inegalitate sunt patratice, se
numeste QCQP(quadratically constrained quadratic program)
Probleme CP - CVX
Pentru problemele de optimizare convexe:
(CP) : min f (x)
x∈Rn
s.l.: g (x) ≤ 0, Ax − b = 0,
unde f si g sunt functii convexe, cel mai bun pachet software
disponibil si gratis este CVX.
1. Downloadeaza CVX de pe: www.stanford.edu/boyd/cvx
2. Salvati-l intr-un director local. Porniti Matlab si adaugati path
catre acest folder. Rulati comanda: ”cvx setup”.
3. Exemplu: Luati o matrice A de dimensiune m × n (aleatoare
A = randn(m, n)) si un vector b in Matlab (nu alegeti m si n
prea mari). Rulati in matlab urmatorul cod:
cvx begin
variable x(n)
minimize(norm(A ∗ x − b))
subject to
x >= 1
cvx end
Probleme de optimizare - SDP
Problema SDP (semidefinite programming): probleme convexe
unde multimea fezabila este descrisa de LMI-uri.
Aceste probleme se numesc SDP-uri deoarece se impune ca
anumite matrice sa ramana pozitiv definite. O problema generala
SDP poate fi formulata drept:
(SDP) : min c T x
x∈Rn
n
X
s.l.: A0 + Ai xi 40, Ax − b = 0,
i=1
unde matricele Ai ∈ S m oricare ar fi i = 0, . . . , n. Remarcam ca
problemele LP, QP, si QCQP pot fi de asemenea formulate ca
probleme SDP. Foarte multe aplicatii: control optimal si robust,
stabilitatea sistemelor dinamice, probleme de localizare,
matrix completion, ...
Problemele convexe sunt mult mai usor de rezolvat decat cele
neconvexe! (software gratuit de optimizare bun pentru probleme
convexe este CVX)
Probleme de optimizare - QCQP
Exemplu de problema QCQP convexa scrisa ca un SDP:
1 T
min x Qx + q T x min t
x∈Rn 2 ⇐⇒ x∈Rn ,t∈R
1 T 1
s.l.: x Q1 x +q1T x +r1 ≤ 0 s.l.: t ≥ x T Qx + q T x
2 2
1 T
x Q1 x +q1T x +r1 ≤ 0
2
SDP echivalent =⇒
min t
x∈Rn ,t∈R
" √ 1 #
In 1/ 2Q 2 x
s.l.: √ 1 0
1/ 2x T Q 2 t − q T x
" √ 1 #
In 1/ 2Q12 x
√ 1 0
1/ 2x T Q12 −q1T x − r1
Probleme SDP - CVX
Probleme SDP convexe de forma
(SDP) : min c T x, s.l.: LMI (x)40, Ax − b = 0,
x∈Rn
I bi raspuns (label)
I ai predictor (feature)
I x parametru (sa fie invatat)
I N numarul de date
min kAx − y k2
x∈Rn
x ∗ = (AT A)−1 AT y
la datele (si , yi ), i = 1, · · · , m
• functiile de baza sunt fj (s) = s j−1 , j = 1, · · · , n
• matricea A are forma Aij = sij−1 :
s12 s1n−1
1 s1 ···
1 s2 s22 ··· s2n−1
.. .. .. .. ..
. . . . .
2
1 sm sm ··· n−1
sm
matricea Vandermonde!
Data fitting polinomial - CMMP
• fit la functia
sin(x)
un polinom de grad ≤ 4
p(s) = a0 + a1 s + · · · + an−1 s n−1
• variabilele de decizie sunt coeficientii polinomului; consideram
m = 100 puncte (date)
• CMMP fit pentru polinom de grad 1, 2, 3, 4 are rezidul:
0.135, 0.076, 0.025 si 0.005
Localizarea
• se dau 3 ancore (antene) a caror pozitie este cunoscuta:
x1 , x2 , x3 ∈ R2 (sau R3 )
• se cunosc distantele de la un obiect (e.g. avion) necunoscut la
cele 3 ancore: R1 , R2 , R3 > 0
min kδkp
x∈R3 ,δ∈R3
s.t.: kx − xi k ≤ Ri + δi ∀i = 1, 2, 3
max R
x,R
s.t.: kx − xi k + R ≤ Ri ∀i = 1, 2, 3
Stabilirea fluxului optim de putere intr-o retea electrica
Avantajele optimizarii:
Pretul energiei Puterea generata
55 340
pret magistrala i [$/M W h]
50 320
45 300
Pig [M W h]
40 280
35 260
30 240
25 220
0 10 20 30 0 10 20 30
iteratii iteratii
Problema majora:
modificari nedorite ale semnalelor (zgomot) rezultate din:
I Achizitia semnalelor (e.g. imagine, video, audio)
I Comunicatii imperfecte
Exemplu: semnale cu detalii excesive au variatie totala mare (i.e.
integrala gradientului absolut al semnalului este mare) =⇒
reducerea zgomotului echivalenta cu reducerea variatiei totale
Procesare de imagini
σi = min kA − Bk
B:rang(B)≤i−1
Intrari optime (u , u )
Traiectorie
0.5
2
0.2
0 1
0
−0.5
−0.2
−1 −0.4
−1.5 −0.6
0 20 40 60 80 100 0 20 40 60 80 100
Numar iteratii t
Instalatie 4 rezervoare
I instalatie cu 4 rezervoare disponibila
I placa de achizitie NI
35
30
30
25
25
20
20
15
15
10
0 500 1000 1500 1800 0 500 1000 1500 1800
time(seconds) time(seconds)
Finante - optimizarea portfoliului
min x T Σx − βR T x
N
X
s.t. : xi = 1, x ≥ 0
i=1
unde
I x este vectorul de ponderi ale portfoliului
I R este media de castig (“expected returns”)
I Σ este varianta portfoliului (“variance of portfolio returns”)
I β factorul de toleranta a riscului
Machine Learning
Colectam date la rate fara precedent:
I acest lucru se observa in multe domenii din stiinta si inginerie
I nu gigabytes, ci terabytes sau petabytes
s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.
In acest caz invatam parametri x = (w , d) ai hyperplanului
w T a = d care separa cele 2 clase de obiecte. Problema duala (vezi
cursul IX) are si ea o forma interesanta:
m n
1 X X 1 T
minn k y i b i ai k 2 − yi −→ y Ky − e T y
y ∈R 2 2
i=1 i=1
m
X
s.t. : bi yi = 0, y ≥ 0.
i=1
1
min kw k2
w ∈Rn ,d∈R 2
s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.
1. Se achizitioneaza o serie de
proiectii, din diferite unghiuri,
ale obiectului scanat;
www.merckmanuals.com
matricea de achizitie.
• Imaginea interiorului reprezinta solutia sistemului liniar
(subdeterminat deoarece sunt mai putine masuratori m decat
dimensiunea imaginii n): Ax = b.
• Reformulare in termeni de problema CMMP:
min kxkα
x∈Rn : Ax=b
I bi raspuns (label)
I ai predictor (feature)
I x parametru (sa fie invatat)
I N numarul de date
Cand se doreste solutie rara consideram regresie Lasso
(regularizare L1 ):
N
1 X β
min (bi − x T ai )2 + kxk1
x N 2
i=1
Raritate in solutie - cazul vector P
Definim o masura a raritatii kxk0 =/ {i : xi 6= 0} si kxk1 = i |xi |
si apoi problemele de optimizare asociata sistemului liniar Ax = b:
min kxk0 s.l. Ax = b =⇒ min kxk1 s.l. Ax = b
x∈Rn |{z} x∈Rn
relaxare convexa
|akT aj |
• Mutual coherence: µ(A) = max
1≤k,j≤m, k6=j kak k2 kaj k2
Pentru o matrice A cu rang intreg pe linii (i.e. m < n), daca exista
o solutie x ∗ satisfacand relatia:
1 1
kx ∗ k0 < 1+
2 µ(A)
atunci x ∗ este solutie pentru amandoua problemele de optimizare!
kA(X )k
1 − δr (A) ≤ ≤ 1 + δr (A)
kX kF
Curs II
Multimi si Functii Convexe
Ion Necoara
2019
Euler (1744):
xn
• Produs scalar in spatiul Euclidian: hx, y i = x T y = ni=1 xi yi
P
p q
• Norma Euclidiana standard kxk = hx, xi = x12 + · · · + xn2
• Multimi cu litere mari: S, Q, U ⊆ Rn ( Rn+ - orthantul
n - multimea matricelor pozitiv semidefinite)
nenegativ, S+
• Matrice cu litere mari: A, B, C , H ∈ Rn×m
p
• Norma spectrala a unei matrici kAk = λmax (AT A)
• Matrice pozitiv definita: A 0, si pozitiv semidefinita A 0
Notatii
In cadrul cursului vom utiliza urmatoarele notatii:
• Functii cu litere mici: f , g , h : Rn → R.
• Gradientul, respectiv matricea Hessiana a functiei continuu
diferentiabile f : Rn → R: ∇f (x) ∈ Rn , ∇2 f (x) ∈ Rn×n .
Hessiana este matrice simetrica (i.e. in S n )!
2
∂ 2 f (x)
∂f (x) ∂ f (x)
∂x1 ∂ 2 x1
. . . ∂x 1 ∂xn
.
.. , ∇2 f (x) = ... .. ..
∇f (x) = . .
,
∂f (x) 2
∂ f (x) 2
∂ f (x)
∂xn ∂xn ∂x1 . . . ∂ 2 xn
Teorema de medie: fie functia g : R → R atunci exista θ ∈ [a, b]
Rb
a.i. g (b) − g (a) = g 0 (θ)(b − a) = a g 0 (τ )dτ =⇒ pt. f : Rn → R
αx1 + (1 − α)x2 ∈ S
4.5
α=1.5
x1(0.5,4)
4
α=1
3.5
α=0.5
x2(5,3)
3
α=0
2.5
α=−0.5
2
−4 −2 0 2 4 6 8 10
Exemplu multime afina
I Multimea solutiilor unui sistem de ecuatii liniare {x : Ax = b}
Ax = b, Ay = b, α ∈ R
Multimi convexe
Multime convexa:
S ⊆ Rn este convexa daca ∀x1 , x2 ∈ S si ∀α ∈ [0, 1] avem
αx1 + (1 − α)x2 ∈ S
Interpretare:
I Orice punct pe segmentul de dreapta definit de x1 si x2 se afla
in multime
Exemplu de multime convexa si neconvexa:
I Orice multime afina este multime convexa (orice combinatie
convexa intre x1 si x2 se afla in multime)
x2 x1
x1 x2
Multimi convexe
• Acoperirea convexa: multime formata din toate combinatiile
convexe posibile de puncte ale unei multimi S
X X
Conv (S) = αi xi : xi ∈ S, αi = 1, αi ≥ 0
i∈I,I finit i∈I
I semiplan: x ∈ Rn : aT x ≥ b sau x ∈ Rn : aT x ≤ b , a 6=
0, a ∈ Rn , b ∈ R
• Exemplu de hiperplan si semiplanele aferente:
a
aT x≥b
x0
aT x≤b
aT x=b
a5
a1
a4
a2
a3
• Politop:
poliedru marginit, e.g simplex : x ∈ R3 : x1 +x2 +x3 ≤ 1, x ≥ 0
Multimi convexe
Bila:
multime convexa definita de o norma k · k, un centru xc si o raza r :
B(xc , r ) = {x ∈ Rn : kx − xc k ≤ r }
Exemplu, bila 2
Euclidiana
q
de centru zero
si raza 1 in R :
B2 (0, 1) = x ∈ R2 : x12 + x22 ≤ 1
Elipsoid:
multimea
n T −1
xc si o matrice Q 0
convexa definita de un centru
x ∈ R : (x − xc ) Q (x − xc ) ≤ 1
Multimi convexe
Con:
K este con daca ∀x ∈ K si ∀α ≥ 0 avem αx ∈ K
Con convex:
K este con si multime convexa
Exemplu con Lorentz: Ln = [x T t]T ∈ Rn+1 : kxk ≤ t
Exemplu
conul Lorentz pentru n = 2:
q
L2 = [x1 x2 t]T ∈ R3 : x12 + x22 ≤ t
Multimi convexe
Acoperire nconica: o
P
Con(S) = α x
i∈I,I finit i i : xi ∈ S, αi ≥ 0
n
X ∈ S+ ⇐⇒ x T Xx ≥ 0 ∀x ∈ Rn
n
X , Y ∈ S+ , α ∈ [0, 1] ⇒ x T(αX +(1−α)Y )x = αx TXx+(1−α)x TYx ≥ 0
x y 2 ⇔ x, z ≥ 0 & xz − y 2 ≥ 0
• Exemplu: ∈ S+
y z
γ 2 I − AT A 0
0.9
0.8
0.7
0.6
α f(x1)+(1−α) f(x2)
0.5
0.4
f(x2)
0.3
0.2
f(x1)
0.1 f(α x1+(1−α)x2)
0
−1 −0.5 0 0.5 1
x1 x2
Ion Necoara
2014
Optimizarea matematica = Urcarea unui munte
Optimizarea matematica = Urcarea unui munte
Optimizarea matematica = algoritmi iterativi
algoritmi numerici de optimizare: iterativi
Algoritmi de optimizare
Pentru problemele prezentate in cursurile I si II vom studia
algoritmi numerici (iterativi) de optimizare.
Un algoritm de optimizare are urmatoarea structura:
1. Alege un punct intial x0
2. Pasul k: avand xk , se calculeaza un vector dk , numit directie,
un scalar αk , numit lungimea pasului, si se actualizeaza
iteratia:
xk+1 = xk + αk dk
3. Daca xk+1 satisface o anumita conditie, atunci ne oprim.
• Directia dk se obtine diferit, specific fiecarui algoritm.
• Lungimea pasului insa se alege astfel incat f (xk+1 ) sa descreasca
cat mai mult posibil fata de f (xk ), i.e.
min f (α)
α∈R
1.5
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
0 alphak+1
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
alphak
0
−0.5
−1
−1.5 alphak+1
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
alphak+1
0
−0.5
−1
alphak
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda forward-backward
0.5
b
0
−0.5
−1
a
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
bk − λk = µk − ak . (1)
bk − λk = µk − ak .
f(α)
f(µk)>f(λk)
µk−ak=bk−λk
f(µk) bk−λk
f(λk)
µk−ak
ak λk α µk bk
Reamintim cazul (i) din unimodalitate: f (λk ) ≤ f (µk ) iar
ak+1 = ak si bk+1 = µk .
Inlocuind in (2) si combinand cu (1) obtinem:
λk = ak + (1 − τ )(bk − ak ) (3)
µk = ak + τ (bk − ak ). (4)
2 a1
1.5
0.5
b
1
−0.5
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
a1
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a2
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
b3
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
a4 b4
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
a4 b
a5 5
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
a4 b
a6b6 5
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
a4 b
ab7b6 5
−1.5 7
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
a4 b
aab7b6 5
−1.5 88
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
a4 b
aabb7b6 5
−1.5 998
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda Sectiunii de Aur
2 α*=0.618420
a1
1.5
0.5
b
1
0
−0.5
b2
a3
−1
a4 b
aabb7b6 5
−1.5 10
108
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metoda lui Fibonacci
Aceleasi principii ca si metoda sectiunii de aur, dar cu diferentele:
I fixam numarul de iteratii k
I rata de reductie τ nu este fixa
Sirul lui Fibonacci: F0 = F1 = 1, Fk+1 = Fk + Fk−1 ∀k = 1, 2, . . .
Fk−j
Metoda lui Fibonacci: se inlocuieste τ ←→ Fk−j+1 , iar din iteratiile
metodei sectiunii de aur se obtine:
Fk−j
bj+1 − aj+1 = (bj − aj ) (valabil in ambele cazuri)
Fk−j+1
avem Fk ≥ b1 −a
1
⇒ se pot calcula din start Fk si k finale
F
Asimptotic insa limk→∞ Fk−1
k
= τ (= 0.618 numarul de aur)!
Convergenta metodelor de cautare
Comparatie cu potrivire la ratele de convergenta a metodelor de
cautare:
• Metoda sectiunii de aur: rata de reductie a intervalului este fixa
τ ≈ 0.618. Dupa k iteratii lungimea intervalului este
bk − ak = τ k−1 (b1 − a1 )
1
bk − ak = (b1 − a1 )
Fk
√ k √
k
√1 1+ 5 1− 5
Dar Fk = 5 2 − 2
1.5
0.5
0
αk
−0.5
αk+1
−1
−1.5
−2
0 0.2 0.4 0.6 0.8 1 1.2 1.4
Metode de Interpolare
Metoda de interpolare in doua puncte (metoda falsei pozitii):
utilizeaza doar derivate de ordin I, insa evaluate in doua puncte
diferite, αk−1 si αk : i.e. de dau f 0 (αk−1 ) si f 0 (αk ).
Cu cele doua derivate, se construieste un polinom interpolant de
grad doi:
1 f 0 (αk−1 ) − f 0 (αk )
q(α) = f (αk ) + f 0 (αk )(α − αk ) + (α − αk )2
2 αk−1 − αk
Observam ca polinomul q(α) este in esenta cel din metoda
Newton, insa in care f 00 (αk ) a fost aproximata folosind derivatele
de ordin I.
Punctul urmator, αk+1 se calculeaza ca minimul polinomului
interpolant:
αk−1 − αk
q 0 (αk+1 ) = 0 ⇒ αk+1 = αk − 0
f 0 (αk )
f (αk−1 ) − f 0 (αk )
Observatie: nu este nevoie sa se stie f (αk )
Teorema de convergenta locala: fie f functie continuu
diferentiabila de doua ori, si fie un punct α∗ astfel incat f 0 (α∗ ) = 0
si f 00 (α∗ ) 6= 0. Daca α0 este suficient de aproape de α∗ , atunci
sirul {αk }∞ k=0 generat
√ de metoda falsei pozitii converge la α cu
∗
xl = −1; xu = 1;
optiuni = optimset(’Display’,’off’);
[x, fval] = fminbnd(objfun, xl, xu, optiuni)
Cerinte tema
Ion Necoara
2014
Notiuni introductive
Presupuneri:
I f ∈ C2
I domf multime deschisa in Rn
Problema de interes consta in gasirea punctelor de minim din
domf .
Reamintim ca un punct x ∗ se numeste punct de minim:
I global ⇐⇒ f (x ∗ ) ≤ f (x) ∀x ∈ domf
I local ⇐⇒ ∃δ > 0 a.i. f (x ∗ ) ≤ f (x) ∀x ∈ domf cu
kx − x ∗ k ≤ δ
Directie de descrestere pentru (UNLP)
Definitie: Se numeste directie de descrestere al functiei f in
punctul x ∈ domf un vector d ∈ Rn ce satisface inegalitatea:
∇f (x)T d < 0
5
4.5
3.5 d
x2
3
2.5
1.5 ∇ f
1
0 1 x1 2 3 4
4.5
3.5 d
x
2
3
2.5
1.5 ∇f
1
0 1 x1 2 3 4
∇f (x ∗ ) = 0
Conditii de ordinul I - Demonstratie
Demonstratie:
Consideram un punct de minim local x ∗ si presupunem prin absurd
ca ∇f (x ∗ ) 6= 0. In acest caz vom arata ca d = −∇f (x ∗ ) este
directie de descrestere in x ∗ ⇒ contrazice ipoteza initiala.
Datorita continuitatii gradientului, putem alege un t > 0 suficient
de mic a.i. ∀τ ∈ [0, t] avem:
d T ∇2 f (x ∗ + τ d)d < 0.
1
f (x ∗ + td) = f (x ∗ ) + t∇f (x ∗ )T d + t 2 d T ∇2 f (x ∗ + θd)d < f (x ∗ ).
| {z } 2 | {z }
=
|{z} 0 ≤0
∇f (x ∗ )=0
d T ∇2 f (x ∗ )d ≥ λmin kdk2 ∀d ∈ Rn .
x1 + x2 − 4 = 0 si x1 + 4x2 − 4 − 3x22 = 0.
f (x) ≥ f (x ∗ ) + ∇f (x ∗ )T (x − x ∗ ) = f (x ∗ ) ∀x ∈ Rn .
| {z }
=0
Ion Necoara
2014
Optimizarea matematica numita adesea
“Science of the Better”
(UNLP)
Exemplu (QP):
min 0.5x T Qx − q T x,
x∈Rn
xk+1 = M(x0 , · · · , xk )
−2
10
−4
10
xk
−6
10
−8
10 subliniara
liniara
superliniara
patratica
−10
10
1 2 3 4 5 6 7 8 9 10
k
Convergenta metodelor de optimizare
Definitie. Se da: spatiul metric (X , ρ), submultimea S ⊆ X si
metoda M de tip aplicatie punct-multime (M : X → 2X ). Definim
functia descrescatoare φ : X → R pentru perechea (S, M):
I ∀x ∈ S si y ∈ M(x) avem φ(y ) ≤ φ(x)
I ∀x 6∈ S si y ∈ M(x) avem φ(y ) < φ(x)
xk+1 = xk + αk dk ,
unde dk este directie de descrestere pentru f in xk , i.e.
∇f (xk )T dk < 0
pentru αk ⇓ suficient de mic
f (xk+1 ) ≤ f (xk )
∇ f(x)
x2
x
x+α d
x1
Metode de descrestere
xk+1 = xk + αk dk =⇒ ∇f (xk )T dk < 0
Strategii de alegerea a pasului αk
I metoda ideala: αk = arg minα≥0 f (xk + αdk )
I metoda Wolfe:
(W 1) : f (xk + αk dk ) ≤ f (xk ) + c1 αk ∇f (xk )T dk cu c1 ∈ (0, 1)
(W 2) : ∇f (xk + αk dk )T dk ≥ c2 ∇f (xk )T dk cu c1 < c2 < 1
I metoda backtracking : alegem α > 0 si ρ, c1 ∈ (0, 1)
cat timp f (xk + αdk ) > f (xk ) + c1 αk ∇f (xk )T dk ⇒ α = ρα
φ(α)=f(xk+α dk)
Conditiile Wolfe:
f(xk)+c1 α ∇ f(xk)T dk
α acceptabil
α
Continuitate Lipschitz
Fie o functie continuu differentiabila f (i.e. f ∈ C 1 ), atunci
gradientul ∇f este continuu Lipschitz cu parametrul L > 0 daca:
L
|f (y ) − f (x) − h∇f (x), y − xi| ≤ kx − y k2 ∀x, y
2
Observatie: aceasta relatie este universal folosita in ratele de
convergenta ale algoritmilor de ordinul I!
Lema 2: In cazult functiilor de doua ori diferentiabile (i.e.
f ∈ C 2 ), relatia de Lipschitz (1) este echivalenta cu
Fie f : Rn → R definita de
T
f (x) = log 1 + e a x .
T
2 ea x T kak2
k∇ f (x)k = kaa k ≤ =L
(1 + e aT x )2 4
Convergenta metodelor de descrestere
Teorema de convergenta globala. Metoda de descrestere, cu
pasul satisfacand conditiile Wolfe, aplicata problemei (UNLP) cu
functia obiectiv marginita inferior si avand gradientul Lipschitz are
urmatoarea convergenta globala:
∞
X
cos2 θk k∇f (xk )k2 < ∞,
k=0
Ion Necoara
2014
Clasificare metode de optimizare
x2
x
necoara)
I Interpretare: metoda de descrestere cu directia
d = −∇f (xk ), deci f (xk+1 ) ≤ f (xk ) pentru αk suficient de mic
I Numeroase variante de alegere a pasului αk : backtracking,
conditii Wolfe, pas constant, pas ideal
I Punct initial x0 arbitrar, criteriu de oprire e.g. k∇f (xk )k ≤
Metoda gradient
Metoda Gradient
d
Iteratie Metoda Gradient: ∇ f(x)
x2
x
x1
• Aproximare patratica
folosind numai ∇f (x), nu
e nevoie de f (x) (vezi ase-
manarea cu metoda falsei
pozitii cazul scalar)
xk+1 xk x
Metoda Gradient-Convergenta globala generala
L
|f (y ) − f (x) − h∇f (x), y − xi| ≤ kx − y k2 ∀x, y
2
Observatie: aceasta relatie este universal folosita in ratele de
convergenta ale algoritmilor de ordinul I!
Teorema 3: In cazul functiilor de doua ori diferentiabile, relatia de
Lipschitz (1) este echivalenta cu
Fie f : Rn → R definita de
T
f (x) = log 1 + e a x .
T
2 ea x T kak2
k∇ f (x)k = kaa k ≤ =L
(1 + e aT x )2 4
Metoda Gradient-Convergenta globala sub Lipschitz
lim ∇f (xk ) = 0.
k→∞
1 p 2L(f (x0 ) − f ∗ )
√ 2L(f (x0 ) − f ∗ ) ≤ =⇒ k =
k 2
Spunem: rata de convergenta este de ordinul O( √1k ) sau O( 12 )
Metoda Gradient-Rata de convergenta I (globala)
Demonstratie Teorema 5:
Sub presupunerea ca ∇f Lipschitz continuu avem:
L
f (y ) ≤ f (x) + h∇f (x), y − xi + ky − xk2 x, y ∈ domf .
2
Considerand x = xk , y = xk+1 = xk − (1/L)∇f (xk ) avem:
1
f (xk+1 ) ≤ f (xk ) − k∇f (xk )k2 .
2L
Insumam dupa i = 0, . . . k − 1 si rezulta
k−1
1 X
k∇f (xi )k2 ≤ f (x0 ) − f (xk ) ≤ f (x0 ) − f ∗
2L
i=0
In concluzie, observam
k−1
X
k min k∇f (xi )k ≤ 2
k∇f (xi )k2 ≤ 2L(f (x0 ) − f ∗ )
0≤i≤n
i=0
Metoda Gradient-Rata de convergenta II (locala)
Teorema 6:
I Fie f diferentiabila cu ∇f Lipschitz continuu (constanta
Lipschitz L > 0)
I Exista un punct de minim local x ∗ , astfel incat Hessiana in
acest punct satisface
σIn ∇2 f (x ∗ ) LIn
I Punctul initial x0 al iteratiei metodei gradient cu pas
2
αk = σ+L este suficient de aproape de punctul de minim, i.e.
2σ
kx0 − x ∗ k ≤
L
Atunci rata de convergenta locala a sirului xk generat de metoda
gradient este liniara (i.e de ordinul O log( 1 ) ), data de:
k
∗ 2σ
kxk − x k ≤ β 1 − cu β > 0
L + 3σ
Metoda Gradient-Rata de convergenta III (convex)
Teorema 7
I Fie f functie convexa, diferentiabila cu ∇f Lipschitz continuu
(constanta Lipschitz L > 0). Daca alegem lungimea pasului
constanta αk = L1 , atunci rata de convergenta globala a sirului
xk generat de metoda gradient este subliniara, data de:
Lkx0 − x ∗ k2
f (xk ) − f ∗ ≤
2k
I Daca in plus functia este tare convexa cu constanta σ > 0,
atunci rata de convergenta globala a sirului xk generat de
metoda gradient cu pas αk = L1 este liniara, data de:
k
∗ 2 L−σ
kxk − x k ≤ kx0 − x ∗ k2
L+σ
k
Lkx0 − x ∗ k2
∗ L−σ
f (xk ) − f ≤
2 L+σ
Metoda Gradient-Rata de convergenta III
Demonstratie Teorema 7: Daca ∇f Lipschitz continuu, atunci
L
f (y ) ≤ f (x) + h∇f (x), y − xi + ky − xk2 ∀x, y
2
Considerand x = xk si y = xk+1 = xk − (1/L)∇f (xk ), avem:
1
f (xk+1 ) ≤ f (xk ) − k∇f (xk )k2
2L
1
≤ f + h∇f (xk ), xk − x ∗ i − k∇f (xk )k2
∗
2L
∗ L ∗ 2 ∗ 1 2
=f + kxk − x k − kxk − x − ∇f (xk )k
2 L
L
=f∗+ kxk − x ∗ k2 − kxk+1 − x ∗ k2
2
Prin insumare de la k = 0, . . . , N − 1 rezulta
N−1
X
N(f (xN ) − f ∗ ) ≤ (f (xk+1 ) − f ∗ )
k=0
N−1
L X L
≤ kxk − x ∗ k2 − kxk+1 − x ∗ k2 ≤ kx0 − x ∗ k2 .
2 2
k=0
Metoda Gradient-Rata de convergenta III
Demonstratie Teorema 7: Daca in plus f tare convexa, atunci
avem relatia de coercivitate (vezi cursul V):
σL 1
h∇f (x)−∇f (y ), x −y i ≥ kx −y k2 + k∇f (x)−∇f (y )k2
σ+L σ+L
Aceasta relatie conduce la:
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas constant α = 1/L
1 2 2
min f (x) = (0.5x1 + γx2 ) , cu γ > 1
x∈R2 2
I Functia f tare convexa (σ = 0.5) si gradient Lipsctitz (L = γ)
=⇒ convergenta liniara
I Metoda Gradient cu pas constant α = L1
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas ideal
1 2 2
min f (x) = (0.5x1 + γx2 )
x∈R2 2
I Metoda Gradient cu pas ideal αk = arg min f (xk − α∇f (xk ))
α≥0
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas ideal
1 2 2
min f (x) = (0.5x1 + γx2 )
x∈R2 2
I Metoda Gradient cu pas ideal αk = arg min f (xk − α∇f (xk ))
α≥0
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas ideal
1 2 2
min f (x) = (0.5x1 + γx2 )
x∈R2 2
I Metoda Gradient cu pas ideal αk = arg min f (xk − α∇f (xk ))
α≥0
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas ideal
1 2 2
min f (x) = (0.5x1 + γx2 )
x∈R2 2
I Metoda Gradient cu pas ideal αk = arg min f (xk − α∇f (xk ))
α≥0
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas ideal
1 2 2
min f (x) = (0.5x1 + γx2 )
x∈R2 2
I Metoda Gradient cu pas ideal αk = arg min f (xk − α∇f (xk ))
α≥0
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient- Pas ideal
1 2 2
min f (x) = (0.5x1 + γx2 )
x∈R2 2
I Metoda Gradient cu pas ideal αk = arg min f (xk − α∇f (xk ))
α≥0
I Punct initial x0 = 23 γ 1 , γ = 5/3.
2.5
1.5
0.5
−0.5
−1
−1.5
−2
−2.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5
Metoda Gradient - Exemplu nepatratic
2
10
Figura corespunde 0
10
constantelor:
f(xk) − f*
R = 10, L = 2 si −2
10
σ = 0.1 MG(L)
MGA(L)
−4
10 MG(L,σ)
MGA(L,σ)
0 10 20 30 40 50 60
Se observa ca numarul de conditionare k
L
κ=
σ
este relativ mic (i.e. 20). Raportul κ = σL reprezinta numarul de
conditionare al problemei de optimizare convexe (UNLP) datorita
similitudinii cu definitia numarului de conditionare al unei matrici
min f (x) (= 0.5x T Qx)
x
1
min f (x) = (0.5x12 + γx22 ) , cu γ > 1
x∈R2 2
I Functia obiectiv f tare convexa (σ = 0.5) si gradient Lipschitz
(L = γ)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L si
√ √ √ √
βk = ( L − σ)/( L + σ)
I Ambele metode de ordinul I converg liniar
I Punct initial x0 = 23 γ 1 , γ = 5/3.
Gradient - Gradient Accelerat (exemplu 1)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L si
√ √ √ √
βk = ( L − σ)/( L + σ)
2.5 3.6
MG
2 MGA
3.4
1.5
3.2
1
3
0.5
|xk − x*|
x2
0 2.8
−0.5
2.6
−1
2.4
−1.5
2.2
−2
−2.5 2
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 1 1.5 2 2.5 3
x1 k
0.8
MG 10 MG
0.6
10 MGA MGA
0.7
10
0.5 0.6
10 10
log(f(xk) − f*)
log(|∇ f(x )|)
k
0.5
10
0.4
10
0.4
10
0.3
0.3 10
10
2 3.4
1.5 3.2
1 3
0.5 2.8
|xk − x*|
x2
0 2.6
−0.5 2.4
−1 2.2
−1.5 2
−2 1.8
−2.5 1.6
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 1 1.5 2 2.5 3 3.5 4
x1 k
0.6
10
0.5
10
0.4
10
log(f(xk) − f*)
log(|∇ f(x )|)
k
0.3
10
0.2
10
0.1
10 0
10
2
3.5
1.5
1
3
0.5
|xk − x*|
x2
0 2.5
−0.5
2
−1
−1.5
1.5
−2
−2.5 1
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 1 2 3 4 5 6
x1 k
log(f(xk) − f*)
log(|∇ f(x )|)
k
0
10
0
10
1 2 3 4 5 6 1 2 3 4 5 6
k k
Gradient - Gradient Accelerat (exemplu 1)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L si
√ √ √ √
βk = ( L − σ)/( L + σ)
2.5 4
2
3.5
1.5
1 3
0.5
2.5
|xk − x*|
x2
0
2
−0.5
−1 1.5
−1.5
1
−2
−2.5 0.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 1 2 3 4 5 6 7 8
x1 k
log(f(xk) − f*)
log(|∇ f(x )|)
k
0
10
0
10
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
k k
Gradient - Gradient Accelerat (exemplu 1)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L si
√ √ √ √
βk = ( L − σ)/( L + σ)
2.5 4
2
3.5
1.5
1 3
0.5
2.5
|xk − x*|
x2
0
2
−0.5
−1 1.5
−1.5
1
−2
−2.5 0.5
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 1 2 3 4 5 6 7 8 9 10
x1 k
1
10
0
10
log(f(xk) − f*)
log(|∇ f(xk)|)
0
10
−1
10
−2
10
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
k k
Gradient - Gradient Accelerat (exemplu 1)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L si
√ √ √ √
βk = ( L − σ)/( L + σ)
2.5 4
2
3.5
1.5
3
1
2.5
0.5
|x − x*|
2
x2
k
−0.5
1.5
−1
1
−1.5
0.5
−2
−2.5 0
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 2 4 6 8 10 12
x1 k
1
10
0
10
log(|∇ f(xk)|)
log(f(xk) − f )
0
*
10
−1
10
−2
10
2 4 6 8 10 12 2 4 6 8 10 12
k k
Gradient - Gradient Accelerat (exemplu 1)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L si
√ √ √ √
βk = ( L − σ)/( L + σ)
2.5 4
2
3.5
1.5
3
1
2.5
0.5
|x − x*|
x2
0 2
k
−0.5
1.5
−1
1
−1.5
0.5
−2
−2.5 0
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 2 4 6 8 10 12 14 16 18 20
x1 k
1
1 10
10
0
10
0
10
log(f(xk) − f )
*
log(|∇ f(xk)|)
−1
10
−1
10
−2
10
−3
10
−2 10
2 4 6 8 10 12 14 16 18 20 2 4 6 8 10 12 14 16 18 20
k k
Gradient - Gradient Accelerat (exemplu 1)
I Metoda Gradient cu pas constant αk = 1/L
I Metoda Gradient Accelerat cu pas constant αk = 1/L si
√ √ √ √
βk = ( L − σ)/( L + σ)
2.5 4
2
3.5
1.5
3
1
2.5
0.5
|x − x*|
x2
0 2
k
−0.5
1.5
−1
1
−1.5
0.5
−2
−2.5 0
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 2.5 5 10 15 20 25 30
x1 k
1 1
10 10
0
10
0
10
−1
10
log(|∇ f(xk)|)
log(f(xk) − f )
*
−1 −2
10 10
−3
10
−2
10
−4
10
−3 −5
10 10
5 10 15 20 25 30 5 10 15 20 25 30
k k
Gradient - Gradient Accelerat (exemplu 2)
m
aiT x+bi
X
min f (x) = log e
x∈Rn
j=1
I Cadru general:
I f functie (convexa) a.i. f (x) = E [f (x, ξ)]
I f are gradient Lipschitz
1
min kw k2
w ∈Rn ,d∈R 2
s.t : yi (w T ai − b) ≥ 1 ∀i = 1 : m.
Cadru general:
I functia obiectiv f (x) convexa (variabila alerandom variable
ξ ∈ Ω)
I avem acces la un estimator unbiased al gradientului lui f :
∇f (x, ξi )
Stohastic Gradient Descent cont.
Problema generala de optimizare stohastica:
m
!
1 X
min f (x) := E [f (x, ξ)] sau f (x, ξi )
x m
i=1
sample ξ k
xk+1 = xk − αk ∇f (xk , ξ k )
Theorem (Descrestere)
Daca f puternic convexa si cu gradient Lipschitz, atunci exsita
M > 0 a.i. sa avem relatia:
E kxk+1 − x ∗ k2
Definim : R0 = kx0 − x ∗ k
Theorem (Pas constant)
Daca f puternic convexa si cu gradient Lipschitz, atunci SGD cu
αk ≡ α < 2/L are convergenta “lineara”:
k
σLα2 2M 2
E kxk − x ∗ k2 ≤ 1 − σα + R02 +
α.
2 σ(2 − Lα)
Necoara, On the convergence rates of stochastic first order methods, Tech. Rep., 2017
GD vrs SGD Pm
1
Optimizare stohastica: minx f (x) := m i=1 f (x, ξi )
Doua extreme:
m
1 X
GD: xk+1 = xk −αk ∇f (xk , ξi ) vrs. SGD: xk+1 = xk −αk ∇f (x, ξk )
m
i=1
0.2
0.15
0.1
0.05
-0.05
-0.1
Tehnici de Optimizare
Curs VII
Metode de ordinul II
Ion Necoara
2014
Metoda Newton
Scurt istoric: antichitate
Metoda babiloniana sau
metoda lui Heron: dandu-
se un numar c ∈ R,
aceasta metoda consta in
calcularea iterativa a lui
√
x = c ⇔ x 2 − c = 0:
1 c
xk+1 = xk +
2 xk
1
= xk − (x 2 − c)
2xk k
Este considerata drept precur-
sor (caz special) al metodei
Newton. Utilizata de ba-
bilonieni, descrisa prima data
de catre Heron din Alexandria.
Scurt istoric: secolul al XVII-lea
In 1669, Isaac Newton imbunatat-
este o tehnica a perturbatiilor dez-
voltata de Francois Viete pentru a
afla solutiile unei ecuatii F (x) =
0, unde F (x) este un polinom.
Avand un punct de pornire x0 ,
ideea principala este linearizarea:
min f (x)
x∈Rn
F (x) = ∇f (x) = 0
xk+1 = xk + dk
−1
unde dk = − ∇2 f (xk ) ∇f (xk ) se numeste directia Newton
f(x)
x x x
k+1 k
Se obtine:
∇f (x ∗ ) = Qx ∗ + q = 0 ⇒ x ∗ = −Q −1 q
Newton clasic
1
0.5 k=1
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton clasic
1
0.5 k=2
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton clasic
1
0.5 k=3
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton clasic
1
0.5 k=4
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton clasic
1
0.5 k=5
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton clasic
1
0.5 k=6
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton clasic
1
0.5 k=7
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton clasic
1
0.5 k=8
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=1
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=2
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=3
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=4
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=5
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=6
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=7
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=8
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=9
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=10
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=11
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
Newton cu backtracking
1
0.5 k=17
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
0.5 k=1
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
0.5 k=2
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
0.5 k=3
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
0.5 k=4
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Exemplu metoda Newton cu pas variabil ales in trei variante,
aplicata pe f : R2 → R, f (x) = e x1+3x2 −0.1 +e x1−3x2 −0.1 + e −x1 −0.1 .
0.5 k=5
−0.5
−1
1 0.5 0 −0.5 −1
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
Convergenta locala a Metodei Newton
50
Newton clasic
Newton ideal
Newton backtracking
40
30
f(xk)−f* 20
10
0
0 5 10 15 20 25
k
160
Newton clasic
Newton ideal
140 Newton backtracking
120
100
k∇f (xk )k
80
60
40
20
0
0 5 10 15 20
k
Convergenta globala a Metodei Newton
Daca pornim dintr-un punct x0 ce nu se afla in vecinatatea lui x ∗ ,
metoda Newton trebuie modificata pentru a asigura convergenta:
−1
xk+1 = xk − αk ∇2 f (xk ) ∇f (xk )
xk+1 = xk − αk ∇f (xk )
1
= arg min f (xk ) + ∇f (xk )T (y − xk ) + (y − xk )T In (y − xk )
y 2αk
function [] = gradient-Newton-ideal(x0,eps)
obj = @(x) 10x16 + 30x26 + x12 + 50x22 ;
gradient = @(x) [60x15 + 2x1 ; 180x25 + 100x2 ];
hessiana = @(x) [300x14 + 2 0; 0 900x24 + 100];
%% Metoda Gradient cu pas ideal
x = x0;
trajectory g = x0;
while (norm(gradient(x))>eps)
grad = gradient(x);
obj α = @(α) obj(x - α*grad);
α star = fminbnd(obj α, 0, 1);
x = x - α star ∗grad;
trajectory g = [trajectory g x];
end
Metoda Newton vrs. metoda gradient - Matlab
0.15
0.1
0.05
0 k=1
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=2
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=1
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=2
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=3
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=4
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=5
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=6
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=7
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=8
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=9
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=10
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=11
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=12
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
Comparatie intre metoda Newton si metoda gradient, ambele cu
pas ideal, pentru f : R2 → R, f (x) = 10x16 +30x26 +x12 +50x22
0.15
0.1
0.05
0 k=13
−0.05
−0.1
−0.15
−0.2
0.2 0.1 0 −0.1 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=1
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=2
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=1
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=2
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=3
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=4
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=5
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=6
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=7
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=8
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=9
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=10
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=11
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=12
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metoda Newton vrs. metoda gradient - Matlab plots
2 k=13
0.2
1
0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metode cvasi-Newton
xk+1 = xk − αk Hk ∇f (xk )
Bk+1 = Bk + βk uk ukT
Definim:
1
Bk+1 = Bk + (δk − Bk ∆k )(δk − Bk ∆k )T
(δk − Bk ∆k )T ∆k
−1
Din formula Sherman-Morrison pentru Hk+1 = Bk+1 obtinem:
1
Hk+1 = Hk + (∆k − Hk δk )(∆k − Hk δk )T
(∆k − Hk δk )T δk
Metode cvasi-Newton: actualizari de rang II
Actualizari de rang II: impunem (2), insa Bk+1 va fi calculat prin:
−1
Utilizand iarasi formula Sherman-Morrison pentru Hk+1 = Bk+1 ,
obtinem:
1 1
Hk+1 = Hk + ∆k ∆T
k − T (Hk δk )(Hk δk )T
∆T δ
k k δ H δ
k k k
Metode cvasi-Newton: actualizari de rang II
Daca in loc de problema (3), utilizam problema:
Hk+1 = arg min kH − Hk k,
H=H T , Hδk =∆k
si conditia de compatibilitate:
2(1 − γ)
kx0 − x ∗ k ≤ . (5)
M
Atunci xk converge la x ∗ cu rata superliniara sub ipoteza ca
γk → 0 sau rata liniara daca γk > γ̄ > 0.
Comparatie intre metoda Newton si BFGS
Consideram problema (UNLP):
m
X
minn c T x − log(bi − aiT x)
x∈R
j=1
Generam datele aleator pentru dimensiunea n = 100 si m = 500
Ion Necoara
2014
Formularea problemei
Rezolvarea de sisteme de ecuatii neliniare generale:
F (x) = 0 ⇒ F : Rn → Rm .
Exemplu: problemele de estimare si fitting ⇒ probleme cu
structura, de tipul celor mai mici patrate (CMMP):
1
M(x) = η ⇔ minn kη − M(x)k2
| {z } x∈R 2
forma algebrica
| {z }
forma optimizare
I η ∈ Rm ⇒ m masuratori;
I M : Rn → Rm ⇒ modelul considerat;
I x ∈ Rn ⇒ parametrii modelului.
Problema forward: pentru intrari date ale modelului M(x) se
determina iesirile corespunzatoare.
Problema inversa: pentru un vector de iesiri η se cauta intrarile
corespunzatoare, folosind un model ce depinde de parametrii x.
Aplicatii ingineresti: aproximare de functii, identificarea proceselor
dinamice, prognoza meteo, etc ...
Istoric - CMMP
Problema CMMP isi are radacinile in domeniile astronomie si
geodezie, aparitia sa fiind motivata de aspecte legate de navigarea
pe oceane, elementul cheie in dezvoltarea sa reprezentandu-l
problema descrierii traiectoriei astrelor pe orbita.
In 1809 Carl Friedrich Gauss ⇒ deter-
minarea orbitei planetei “strumf” Ceres
⇒ sustine ca dispunea de aceasta metoda
inca din 1795.
“With four parameters I can fit an elephant, and with five I can
make him wiggle his trunk”
von Neumann
Mi (x1 , x2 ) = x1 expx2 ti ,
I relaxarea neconvexa in U si V
I observam ca minU∈Rm×r ,V ∈Rn×r kP(UV T − A)k2 este un caz
particular de CMMP neliniar peste spatiul matricilor
Problema CMMP - Cazul liniar
Frecvent, in aplicatii de estimare si fitting, modelul M este liniar,
i.e. de forma M(x) = Jx.
1
Jx = η ⇔ minn kη − Jxk2
| {z } x∈R 2
forma algebrica | {z }
forma optimizare
J + = V Σ+ U T ,
−1 T
Teorema: Daca rang(J) = n, atunci J + = J T J J .
+ T T
−1
Daca rang(J) = m, atunci J = J JJ .
Demonstratie:
−1 −1
JT J J T = V ΣT U T UΣV T V ΣT U T
−1
= V ΣT Σ V T V ΣT U T
−1
= V ΣT Σ ΣT U T = V Σ+ U T .
0 00
Demonstratie: Cum J = UΣV T , definim d = U T η = [d d ]T si
0 00 0 00
y = V T x = [y y ]T , unde d = d(1 : r ), d = d(r + 1 : m).
0 00
Similar pentru y si y . Avem:
0 0 00
kJx − ηk2 = kUΣV T x − ηk2 = kΣy − dk2 = kΣ1 y − d k2 + kd k2 .
0 0 00
Aceasta expresie este minima pentru y = Σ−1 1 d si y arbitrar.
Dinstre toti vectorii y de aceasta forma, cel de norma minima
00
corespunde lui y = 0. Cum kxk = ky k, rezulta ca vectorul de
norma minima care minimizeaza reziduul kJx − ηk este:
−1 0 −1
∗ Σ1 d Σ1 0
x =V =V d = V Σ+ U T η = J + η
0 0 0
Exemplul 1 - Problema mediei
1 tn
σ
tˆ2 η̂ − t̂ ηt η̂ − t̂ σηt ρ
∗ 1 ˆ
x = σ2 = ση , unde ση si σt reprezinta
σt ρ
t −t̂ η̂ + ηt ˆ
variantele lui η si resepctiv t, iar ρ coeficientul de corelatie al
acestora.
Aplicatie - Identificarea sistemlor
Consideram un sistem intrare-iesire:
2 7.5
1.8 7
1.6 6.5
1.4 6
1.2 5.5
u(t)
y(t)
1 5
0.8 4.5
0.6 4
0.4 3.5
0.2 3
0 2.5
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
t t
Aplicatie - Identificarea sistemelor(2)
ymodel (t) = x1 u(t)+x2 u(t −1)+x3 u(t −2)+x4 u(t −3)+x5 u(t −4).
7.5
6.5
5.5
4.5
ymodel (t)
3.5
y(t)
3
0 5 10 15 20 25 30 35 40
CMMP liniare prost conditionate
ηi = Mi (x̄) + βi ,
unde:
I x̄ ⇒ valoarea adevarata a parametrului x;
I βi ⇒ zgomot Gaussian de medie E(βi ) = 0 si varianta
E(βi βi ) = σi2 .
I βi si βj sunt independente.
Metoda verosimilitatii maxime
unde S = diag(σ12 , . . . , σm
2 ).
Problema CMMP - Cazul neliniar
Problemele CMMP liniare Ax + b = 0 ⇒ metode numerice
matriceale clasice, e.g. factorizarea QR:
J T Jx = J T η si J = QR ⇔
(QR) QRx = R Q T QRx = R T Rx = R T Q T η ⇔
T T
f (x) = x1 expx2 t,
200
150
100
50
0
1 2 3 4 5 6 7 8
Aplicatie - estimarea cresterii demografice(2)
Metoda GN (k=2)
120
100
80
60
40
20
0
1 2 3 4 5 6 7 8
Aplicatie - estimarea cresterii demografice(2)
Metoda GN (k=3)
70
60
50
40
30
20
10
0
1 2 3 4 5 6 7 8
Aplicatie - estimarea cresterii demografice(2)
Metoda GN (k=4)
60
50
40
30
20
10
0
1 2 3 4 5 6 7 8
Aplicatie - estimarea cresterii demografice(2)
Metoda GN (k=5)
60
50
40
30
20
10
0
1 2 3 4 5 6 7 8
Aplicatia II: matrix completion
Aplicare in recuperarea de imagine:
z }| {
min kP(X − A)k2 CMMP min kP(UV T −A)k2
X ∈Rm×n ,rang(X )=r nelin. U∈Rm×r ,V ∈Rn×r
GN
LM
50
40
30
20
10
0
1 2 3 4 5 6 7 8
GN vs. LM - estimarea cresterii demografice
Metoda GN vs LM (k=5)
60
GN
50
LM
40
30
20
10
0
1 2 3 4 5 6 7 8
GN vs. LM - estimarea cresterii demografice
Metoda GN vs LM (k=6)
60
GN
50
LM
40
30
20
10
0
1 2 3 4 5 6 7 8
GN vs. LM - estimarea cresterii demografice
Metoda GN vs LM (k=7)
60
GN
50
LM
40
30
20
10
0
1 2 3 4 5 6 7 8
Legatura cu metoda Newton
Putem observa ca gradientul functiei obiectiv f (x) = 12 kF (x)k2 a
problemei CMMP neliniare este dat de urmatoarea relatie:
si conditia de compatibilitate:
m 1.0 2.0 3.0 4.0 5.0 6.0 7.0 8.0 9.0 10.0
T 0.2 0.284 0.343 0.4 0.446 0.49 0.53 0.565 0.6 0.63
Problema cmmp neliniara pentru a gasi x = (ms , D, γ):
minimize kF (x)k22
x∈R3
Aplicatie CMMP - identificare parametri cont.
function F = my function(x)
ms = x(1); D = x(2); gamma = x(3);
m = [1 : 10];
T = [0.205 0.284 0.343 0.401 0.446 0.491 0.530 0.565 0.603 0.633];
for i = 1 : 10
h(i) = 2 ∗ pi/sqrt(D/(m(i) + ms/3) − gamma ∗ gamma);
end
F = h − T;
end
Identificare parametri - matlab II
nr iter: 7
ms = 1.952649076905174e-01
D= 1.014432359156959e+03
gamma=1.634338770243429e+00
RECAPITULARE - Implementari Matlab
Metoda Gradient - implementare Matlab
function [] = MG constant ideal()
f=@(x) x(1)^4+2*x(1)^2*x(2)+2*x(2)^2-x(2) + 3;
gradient=@(x) [4*x(1)^3+4*x(1)*x(2) ; 2*x(1)^2+4*x(2)-1];
x star = [0; 0.25];
fig=figure;
hold on
contour(X , Y , fvec, V )
hold on
plot(x star(1),x star(2),’-x’); %% indica punct de minim
%% iteratii pas constant
hold on
plot(t const(1,:),t const(2,:),’-x’,’LineWidth’,3)
%% iteratii pas ideal
hold on
plot(t ideal(1,:),t ideal(2,:),’r-x’,’LineWidth’,3)
Metoda Gradient - rezultate Matlab
1.2
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−1 −0.5 0 0.5 1
Metoda Newton - imlementare Matlab
0.8
0.6
0.4
0.2
−0.2
−0.4
−0.6
−0.8
−1
−1.2 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6
Cerinte tema - reamintire
Ion Necoara
2014
(NLP): programare neliniara constransa
Problema de optimizare neliniara supusa la constrangeri:
(NLP) : min f (x)
x∈Rn
s.l. : g1 (x) ≤ 0, . . . , gm (x) ≤ 0
h1 (x) = 0, . . . , hp (x) = 0
unde functiile f , gi si hj are continue si diferentiabile
g (x) = [g1 (x), . . . , gm (x)]T , h(x) = [h1 (x), . . . , hp (x)]T ,
g : Rn → Rm , h : Rn → Rp .
min kxk22
x∈R3
s.l. a1 x1 + a2 x2 + a3 x3 = b
⇓
H = {x : aT x = b}, [0]H = ta
b b
t= ⇒ [0]H = a
kak2 kak2
Exemplu 2: problema localizarii
Se cunosc locatiile a m senzori si ∈ R3 si distantele Ri de la senzori
la obiectul necunoscut x ∈ R3
min R
x∈R3 ,R>0
s.l. R + ksi − xk ≤ Ri ∀i = 1, . . . , m.
I se determina coordonatele:
centrul x ∈ R3 si raza R > 0
I functie obiectiv liniara
I constrangeri patratice convexe
I caz particular de (CP)
Exemplu 3: controlul puterii in sisteme de comunicatie
Dispunem de n transmitatori, cu nivelurile de putere
P1 , P2 , . . . , Pn , si de n receptori.
I fiecare receptor i receptioneaza semnalul transmitatorului i
I puterea receptata de receptorul i de la transmitatorul j
(puterea semnalului de interferenta) este data de Gij Pj , unde
Gij reprezinta amplificarea pe linia de comunicatie (i, j)
I Puterea semnalului primit de receptorul i de la transmitatorul
i este Gii Pi
Exemplu 3: controlul puterii in sisteme de comunicatie
min P1 + · · · + Pn
P∈Rn
s.l. Pmin ≤ Pi ≤ Pmax
Gii Pi /(σi + Σj6=i Gij Pj ) ≥ Smin
Exemplu 4: reconstructie tomografica
Tomografie computerizata = tehnica noninvaziva ce foloseste
raze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3D
ale interiorului obiectului scanat.
Procedura de functionare consta in:
1. Se achizitioneaza o serie de
proiectii, din diferite unghiuri,
ale obiectului scanat;
www.merckmanuals.com
matricea de achizitie.
• Imaginea interiorului reprezinta solutia sistemului liniar
(subdeterminat deoarece sunt mai putine masuratori m decat
dimensiunea imaginii n): Ax = b.
• Reformulare in termeni de problema CMMP:
min kxkα
x∈Rn : Ax=b
kA(X )k
1 − δr (A) ≤ ≤ 1 + δr (A)
kX kF
min x T Σx − βR T x
N
X
s.t. : xi = 1, x ≥ 0
i=1
unde
I x este vectorul de ponderi ale portfoliului
I R este media de castig (“expected returns”)
I Σ este varianta portfoliului (“variance of portfolio returns”)
I β factorul de toleranta a riscului
Functia Lagrange
I Reamintim problema NLP generala:
f ∗ = minn f (x) : g (x) ≤ 0, h(x) = 0
x∈R
q∗ ≤ f ∗
q∗ = f ∗
min max L(·) ≤ max min L(·) ⇔ min max L(·) = max min L(·)
Intuitie
Putem interpreta dualitatea ca o aproximare liniara:
I Definim 1− (y ) = ∞ daca y > 0 si 0 altfel (functia indicator al
lui R+ ).
I Definim 10 (y ) = ∞ daca y 6= 0 si 0 altfel (functia indicator al
lui {0}).
I Rescriem problema originala (NLP) ca:
X X
minn f (x) + 1− (gi (x)) + 10 (hj (x))
x∈R
i j
1 T
f ∗ = minn x Qx + q T x
x∈R 2
s.l.: Cx − d ≤ 0, Ax − b = 0.
1 T
L(x, λ, µ) = x Qx + q T x + λT (Cx − d) + µT (Ax − b)
2
1 T
= −λT d − µT b + x T Qx + q + C T λ + AT µ x.
2
I Din moment ce q(λ, µ) = inf x∈Rn L(x, λ, µ), avem:
T
T T 1 T
T T
q(λ, µ) = −λ d−µ b+ inf n x Qx + q + C λ + A µ x
x∈R 2
Duala unei probleme QP strict convexa
I Observam ca problema:
T
1 T
T T
inf t(x) = x Qx + q + C λ + A µ x
x∈Rn 2
1 T
q(λ, µ) = −λT d−µT b− q+C T λ+AT µ Q −1 q+C T λ+AT µ ,
2
Duala unei probleme QP strict convexa
I h : R2 → R, h(x) = x1 + x2 − 3
I h(x) = Ax − b ⇒ A ∈ R1×2 , b ∈ R, A = 1 1 , b=3
Clasificare liniara binara - formulare QP
Problema clasificarii binare: se urmareste separarea unui set de
obiecte in doua clase.
Modelare matematica: determinam hiperplanul (a) optim ce separa
un set de vectori (caracteristicile obiectelor) xi in doua clase:
(i) clasa vectorilor (“features”) xi pt. care aT xi − b ≤ 1;
(ii) clasa vectorilor (“features”) xj pt. care aT xj − b ≥ −1.
f ∗ = minn c T x
x∈R
s.l.: Cx − d ≤ 0, Ax − b = 0.
X = {x ∈ Rn : Cx − d ≤ 0, Ax − b = 0}.
X = Conv({v1 , . . . , vq }).
∗ ∈ X , putem scrie x ∗ =
Pq
Deoarece
Pq x i=1 αi vi , ude αi ≥ 0 si
T ∗
i=1 αi = 1. Este clar ca c vi ≥ f , orice vi fiind fezabil.
Notăm cu I multimea de indecsi: I = {i : αi > 0}. Daca
exista i0 ∈ I astfel incat c T vi0 > f ∗ , atunci:
X X
f ∗ = c T x ∗ = αi0 c T vi0 + αi c T vi > αi f ∗ = f ∗
i∈I\{i0 } i∈I
unde
4 3 1000
12 3 2 , d = 16000
c= ,C =
7 −1 0 0
0 −1 0
Tehnici de Optimizare
Curs X
Conditii de optimalitate pentru (NLP)
Ion Necoara
2014
Probleme (NLP) generale
• Reamintim problema (NLP) generala:
X = {x ∈ Rn : g (x) ≤ 0, h(x) = 0}
min f (x)
x∈X
Exemplu (NLP)
• Fie urmatoarea problema de optimizare (NLP):
• Observam:
I functia obiectiv: f (x) = x14 + x24 − 4x1 x2 , f : R2 → R, n = 2
I constrangeri de inegalitate g (x) = −x, g : R2 → R2 , m = 2
I constrangeri de egalitate h(x) = x1 + x2 − 5, h : R2 → R,
p=1
• Multimea fezabila in acest caz
X = {x ∈ R2 : x ≥ 0, x1 + x2 = 5}
este convexa!
Conditii de ordinul I pentru (NLP) - constrangeri convexe
Teorema: Fie X o multime convexa si f ∈ C 1 . Pentru problema
de optimizare constransa
min f (x)
x∈X
∇f (x ∗ )T (x − x ∗ ) ≥ 0 ∀x ∈ X
∇f (x ∗ )T (x − x ∗ ) ≥ 0 ∀x ∈ X
X = {x ∈ R2 : x ≥ 0, x1 + x2 = 5}
50
x 0
3
−50
−100
−150
−200
−250
−10
−10
−5 0
0 x1
x2 5
10 10
Conditii necesare de ordinul I pentru (NLPe)
Teorema: Fie x ∗ un punct de extrem al functiei obiectiv f supusa
la constrangerile h(x) = 0, i.e. al problemei de optimizare (NLPe),
si presupunem ca x ∗ este un punct regulat pentru aceste
constrangeri. Atunci, exista un multiplicator Lagrange µ∗ ∈ Rp
a.i.:
min x1 + x2
x∈R2
s.l. : h(x) = x12 + x22 − 2 = 0
2µx1 = −1
2µx2 = −1
x12 + x22 = 2.
min −x1
x∈R2
s.l. : h1 (x) = (1 − x1 )3 + x2 = 0, h2 (x) = (1 − x1 )3 − x2 = 0.
∇f (x ∗ ) + ∇h(x ∗ )T µ∗ = 0 si h(x ∗ ) = 0.
d T ∇2x L(x ∗ , µ∗ )d ≥ 0 ∀d ∈ M.
Exemplu
Consideram din nou problema:
min x1 + x2 ,
x∈R2 : h(x)=x12 +x22 −2=0
∇f (x ∗ ) + ∇h(x ∗ )T µ∗ = 0 si h(x ∗ ) = 0.
−x2 − x3 + µ = 0
−x1 − x3 + µ = 0
−x1 − x2 + µ = 0
x1 + x2 + x3 = 3,
df (x(t))
|t=0 = ∇f (x ∗ )d < 0
dt
ceea ce contrazice ipoteza de minimalitate a lui x ∗ .
Interpretarea conditiilor (KKT)
Analiza cazurilor:
I 1. ⇒ x1∗ + x2∗ + x3∗ < −3 si x1∗ < 0 ⇒ λ∗1 = λ∗2 = 0 ⇒
x1∗ = x2∗ = x3∗ = 0 ⇒ contradictie cu ipoteza;
I 2. ⇒ x1∗ + x2∗ + x3∗ < −3, x1∗ = 0, λ∗1 = 0 si λ∗2 ≥ 0 ⇒
λ∗1 = −λ∗2 = 0 ⇒ x2∗ = x3∗ = 0 ⇒ contradictie cu ipoteza;
I 3. ⇒ x1∗ + x2∗ + x3∗ = −3, x1∗ < 0, λ∗1 ≥ 0 si λ∗2 = 0 ⇒ putem
alege x1∗ = x2∗ = x3∗ = −1 si λ∗1 = 1 ce satisfac conditiile
(KKT) ⇒ aceasta solutia este un punct (KKT);
I 4. ⇒ x1∗ + x2∗ + x3∗ = −3, x1∗ = 0 si λ∗1 , λ∗2 ≥ 0 ⇒
x2∗ = x3∗ = −3/2 si λ∗1 = −λ∗2 = 3/2 ⇒ contrazice conditia
λ∗2 ≥ 0.
Exemplul 2
Consideram problema:
Fie problema:
min x2 .
x∈R2 : x12 +x22 −1≤0
2λx1 = 0, 1 + 2λx2 = 0,
(KKT − CP) : ∇f (x ∗ ) + ∇g (x ∗ )T λ∗ + AT µ∗ = 0
g (x ∗ )T λ∗ = 0
g (x ∗ ) ≤ 0, Ax ∗ = b
µ∗ ∈ Rp , λ∗ ≥ 0,
min kxk2 ,
x: Ax=b
x ∗ + AT µ∗ = 0, Ax ∗ = b.
unde Q 0.
Conditiile (KKT-CP):
Qx ∗ + q + AT µ∗ = 0, Ax ∗ = b.
2(x1∗ − 5)
∗
2x1∗ 21
λ1
+ =0
2(x2∗ − 5) 2x2∗ 1 λ∗2
(x1∗ )2 + (x2∗ )2 − 5 = 0, x1∗ + 2x2∗ − 4 = 0.
Ion Necoara
2014
(NLP)
f (x)
f (x) z }| {
z }| { min z T Ay
1 z,y ∈Rn
min kAx − bk2 n
x∈Rn 2 X
s.l. l ≤x ≤u s.l. zi = 1, Cy ≥ d .
|i=1
| {z }
multimea X (convexa) {z }
multimea X (convexa)
Conditii de optimalitate
∇f (x ∗ )T (x − x ∗ ) ≥ 0 ∀x ∈ X .
Conditii de optimalitate
Demonstratie: Presupunem ca exista y ∈ X astfel incat
∇f (x ∗ )T (y − x ∗ ) < 0.
xk+1 = xk + αk dk ,
deci
xk+1 = xk + αk (x̄k − xk )
Clar, daca xk nu este stationar, atunci exista x̄k ∈ X a.i.
∇f (xk )T (x̄k − xk ) < 0. Observam ca daca X convexa atunci
xk + αk (x̄k − xk ) ∈ X pentru orice αk ∈ (0, 1).
Metoda directiilor fezabile - convergenta
Definitie Fie xk un sir convergent la un punct nestationar.
Directiile dk sunt conectate prin gradient la xk daca sirul dk este
marginit si satisface:
Din teorema valorii medii avem ca exista ᾱk ∈ [0, αk /ρ] a.i.
−∇f (xk + ᾱk dk )T dk < −c1 ∇f (xk )T dk , ∀k ≥ k̄.
Considerand ca dk este marginit (are un subsir convergent),
evaluam limita in relatia precedenta si obtinem
¯
0 < (1 − c1 )∇f (x̄)T d.
min f (x)
x∈X
Interpretare
1
xk+1 = arg min f (xk ) + kx − (xk − αk ∇f (xk ))k2
x∈X 2αk
1
= arg min f (xk ) + ∇f (xk )T (x − xk ) + kx − xk k2
x∈X 2αk
adica foloseste o aproximare patratica pentru f cu Hessiana α1k In !
Obs.: in mod similar se extinde gradientul accelerat!
Metoda Gradient Proiectat (caz particular al metodelor de
directii fezabile)
Conditia de optimalitate pentru subproblema convexa
1
min q(x) = f (xk ) + ∇f (xk )T (x − xk ) + kx − xk k2
x∈X 2αk
este data de
1
(∇f (xk ) + (xk+1 − xk ))T (x − xk+1 ) ≥ 0, ∀x ∈ X .
αk
| {z }
∇q(xk+1 )
fig=figure;
hold on
contour(X , Y , fvec, V )
hold on
plot(x min(1),x min(2),’-x’); %% indica minim global
hold on
plot(halfx,y1,’g-x’);
hold on
plot(traiect(1,:),traiect(2,:),’r-x’,’LineWidth’,3)
Metoda Gradient Proiectat - Exemplu 2
1.2
0.8
0.6
0.4
0.2
-0.2
-0.4
Metoda Gradient Proiectat - Exemplu 3
Metoda Gradient Proiectat - Exemplu 3
Metoda Gradient Proiectat - Exemplu 3
Metoda Gradient Proiectat - Exemplu 3
Metoda Gradient Proiectat - Exemplu 3
Metoda Gradient Proiectat - Exemplu 3
Metoda Gradient Conditional (Frank-Wolfe)
Fie functia f : Rn → R diferentiabila si multimea X convexa si
compacta (inchisa si marginita).
min f (x)
x∈X
Observatii:
1 1 1
I ∇f (x) = x − c =x− x1 −x2 +1
c T x+d −1
1 1 0 1 1 −1
I ∇2 f (x) = I2 + (c T x+d)2
cc T = + (x1 −x2 +1)2
0 1 −1 1
Metoda Newton Proiectat - Exemplu
Solutie explicita a iteratiei Newton (cu pas αk = 1) in doua
moduri:
1. Utilizand dualitatea
(aT v )
2 −1
xk+1 = xk − v − T 2 (∇ f (xk )) a ,
a (∇ f (xk ))−1 a
−1
unde v = ∇2 f (xk ) ∇f (xk ). !
1 P
2. Eliminand constrangerea liniara, i.e. y1 = a1 b− aj yj
j6=1
1
xk+1 = arg min ∇f (xk )T (y − xk ) + (y − xk )T ∇2 f (xk )(y − xk )
aT y =b 2
1
= arg min ∇f (xk )T (Mz + u)+ (Mz + u)T ∇2 f (xk )(Mz + u),
z∈Rn−1 2
aT v
2 −1
x1 = x0 − v − T 2 (∇ f (x0 )) a ,
a (∇ f (x0 ))−1 a
−1
unde v = ∇2 f (x0 ) ∇f (x0 ).
β1 In ∇2 f (xk ) β2 In .
este de forma
1 T
(QP) : min x Qx + q T x s.l.: Cx ≤ d.
x=(a,b)∈R2(n−1) 2
Q = diag(Q, Q)
q = [D zeros(1, n − 3) − 2D − D + mg mg · · · mg − 2D + mg ]T
C = [zeros(n − 1, n − 1) − eye(n − 1)], d = 0
x = quadprog(Q,q,C,d)
Calcularea solutiei - quadprog cont.
n=49; nq=n-1;
nOnes = ones(nq,1);
Q = diag(2*nOnes,0) - diag(nOnes(1 : nq−1),-1) - diag(nOnes(
nq − 1), 1);
Q=D*blkdiag(Q,Q);
q1=[D zeros(1, nq − 2) − 2 ∗ D];
q2=[−D zeros(1, nq − 2) − 2 ∗ D] + m ∗ g ∗ ones(1, nq);
q=[q1 q2]T ;
C = [zeros(nq, nq) − eye(nq)];
d = zeros(nq,1);
x = quadprog(Q,q,C,d);
zet quadprog =x(nq + 1 : end);
Calcularea solutiei - CVX
cvx begin
variable a(n+1); variable b(n+1);
V = 0;
for i = 1 : n
V = V +0.5∗D ∗(square(a(i +1)−a(i))+square(b(i +1)−b(i)));
end
for i = 1 : (n + 1)
V = V + m ∗ g ∗ b(i);
end
minimize V
subject to
a(1) == −1; b(1) == 1; a(50) == 2; b(50) == 2
b >= 0
cvx end
zet cvx=b(2 : end − 1);
Calcularea solutiei - gradient proiectat
x0=ones(2*nq,1); eps=0.0001;
eigenvalues=eig(Q); L=max(eigenvalues);
alpha= 1/L;
xg =x0; grad = Q ∗ xg + q;
deltax=x0; iter g=0;
while (norm(deltax) > eps)
xg next = xg − alpha ∗ grad;
xg next(nq + 1 : end) = max(xg next(nq + 1 : end), 0);
deltax=xg - xg next;
xg=xg next;
grad=Q ∗ xg + q;
iter g = iter g + 1;
end
zet gradient=xg (nq + 1 : end);
Calcularea solutiei - gradient conditional
nr of active constraints: 8
nr iteratii gradient proiectat: 3.382
nr iteratii gradient conditional: 10.579
Aplicatia matrix completion
I se da o matrice X cu elemente lipsa (e.g. o imagine)
I se presupune ca matricea X este de rang scazut!
I scopul este sa se gaseasca elementele lipsa din X
I pentru a impune rang mic asupra unei matrici se foloseste
P norm k · k∗ : daca A are descompunerea DVS
nuclear
A = ri=1 σi ui viT , atunci
r
X
kAk∗ = σi
i=1
∇f (X ) = UV T
Ion Necoara
2014
Probleme cu constrangeri de egalitate
I Reamintim forma generala a problemelor cu constrangeri de
egalitate:
∇x L(x ∗ , µ∗ ) ∇f (x ∗ ) + ∇h(x ∗ )T µ∗
∗ ∗
∇L(x , µ ) = = = 0
∇µ L(x ∗ , µ∗ ) h(x ∗ )
Observam:
I f (x) = 4x12 + 2x22 + 4x1 x2 − x1 + x2 , f : R2 → R
I h(x) = x1 − x2 − 1, h : R2 → R
I L(x, µ) = 4x12 + 2x22 + 4x1 x2 − x1 + x2 + µ(x1 − x2 − 1)
∇x L(x ∗ , µ∗ )
Din conditiile de optimalitate (KKT), i.e. = 0,
∇µ L(x ∗ , µ∗ )
rezulta sistemul:
∗ 2
8x1 + 4x2 − 1 + µ = 0
x1 = 5
4x2 + 4x1 + 1 − µ = 0 ⇒ x2∗ = − 53 punct KKT.
∗ 1
x1 − x2 − 1 = 0 µ =5
Exemplu 2: probleme cu constrangeri de egalitate
Problema de control optimal pe orizont finit pentru urmarirea unei
referinte date:
I Consideram sistemul dinamic liniar discret:
zt+1 = At zt + Bt ut ∀t ≥ 0,
1
f (x) = x T Q̄x − q̄ T x
2
unde Q̄ = diag (R0 , Q1 , . . . , RN−1 , QN ), iar q̄ = Q̄x ref .
I Observatie: problema este de fapt un QP avand constrangeri
de egalitate:
1
min x T Q̄x − q̄ T x s.t. Ax = b.
x 2
Exemplu 2: control optimal cont.
I Constrangerile din problema de control optimal sunt
constrangerile de egalitate ce provin din dinamici:
zt+1 = At zt + Bt ut
1 T
(QPe) : minn x Qx − q T x
x∈R 2
s.l.: Ax = b,
Qx − q + AT µ = 0
Ax = b.
Q AT x
q
= Ky = .
A 0 µ b
| {z } |{z}
K y
Metode pentru QP-uri cu constrangeri de egalitate
I Observatie: matricea (KKT) este ı̂ntotdeauna indefinita (nu
este pozitiv semidefinita), dar este simetrica.
I Daca matricea A ∈ Rp×n are rangul p si pentru orice
d ∈ kernel(A) cu d 6= 0 avem d T Qd > 0, atunci matricea
(KKT) este inversabila (demonstrati!):
∀d 6= 0, Ad = 0 ⇒ d T Qd > 0 ⇔ Q+AT A 0 ⇔ K inversabila
[(Lk lk + AT T T T T T T T T T
k hk ) (Ak lk ) ][−lk hk ] = −lk Lk lk −hk Ak lk +lk Ak hk
= −lkT Lk lk
[(Lk lk + AT
k hk − γlk )
T
(Ak lk − γhk )T ][−lkT hkT ]T
= −lkT (Lk − γIn )lk − γhk2 < 0,
Exemplu pas ML-I
Fie urmatoarea problema de optimizare:
Observam:
I L(x, µ) = x14 + x22 + 2x1 x2 + x1 + x2 + µ(x1 + x2 − 1)
3
4x1 + 2x2 + 1 + µ
I ∇x L(x, µ) =
2x2 + 2x1 + 1 + µ
Consideram x0 = [−1 1]T , µ0 = 0 si α0 = 1. Rezulta:
0
x1 = x0 − α0 ∇x L(x0 , µ0 ) =
0
µ1 = µ0 + α0 h(x0 ) = −1
Convergenta ML
∇x L(x ∗ , µ∗ ) ∇x H(x ∗ , µ∗ )
∗
R =
∇µ L(x ∗ , µ∗ ) ∇µ H(x ∗ , µ∗ )
(ML − N) : xk+1 = xk + dk
µk+1 = µk + dkµ ,
Rezulta:
2/5
(x1 , µ1 ) = (x0 , µ0 ) + (d0 , d0µ ) = 8/5
11/5
Metoda Lagrange Newton
(ML − Nα ) : xk+1 = xk + αk dk
µk+1 = µk + αk dkµ ,
1.5
0.5
x2
0
−0.5
−1
−1.5
−2
0.8 1 1.2 1.4 1.6 1.8 2
x1
(KKT − CPe) : ∇f (x ∗ ) + AT µ∗ = 0, Ax ∗ = b.
Metoda Newton pentru probleme convexe cu constrangeri
de egalitate
I In problema (CPe) putem elimina constrangerile de egalitate
pe baza observatiei:
{x : Ax = b} = {Zv + y : v ∈ Rn−p },
10
x2 6
0
0 2 4 6 8 10
x1
f (xk ) ≤ f (xk+1 )
I functia penalitate este descrescatore
P(xk ) ≥ P(xk+1 )
I orice punct limita a sirului xk generat de metoda de penalitate
este un minim global a problemei NLPe
Metoda de penalitate pentru NLP general
Consideram problema generala de optimizare (NLP):
Proprietati:
I Θ(xk , ck ) ≤ Θ(xk+1 , ck+1 ) si f (x k ) ≤ f (xk+1 )
I P(xk ) ≥ P(xk+1 ) si limk→∞ ck P(xk ) → 0
I f (xk ) ≤ Θ(xk , ck ) ≤ f ∗
I Orice punct limita x ∗ a sirului xk este o solutie a problemei
originale NLP!
I Daca definim λk = ck max(0, g (xk )) si µk = ck h(xk ), atunci
λk → λ∗ si µk → µ∗ astfel incat (x ∗ , λ∗ , µ∗ ) este punct KKT.
Metoda de penalitate - exemplu
min (x1 − 6)2 + (x2 − 7)2 ⇒ x ∗ = (3, 4)
x∈R2
− 3x1 − 2x2 + 6 ≤ 0, −x1 + x2 ≤ 3, x1 + x2 ≤ 7, 2/3x1 − x2 ≤ 4/3
La fiecare pas rezolvam problema UNLP de forma:
Θ(x, c) = (x1 − 6)2 + (x2 − 7)2 + cmax2 (0, −3x1 − 2x2 + 6)
+ cmax2 (0, −x1 + x2 − 3) + cmax2 (0, x1 + x2 − 7) + cmax2 (0, 2/3x1 − x
Θ(x, c) este diferentiabila, deci aplicam orice metoda pentru
UNLP pentru a rezolva minx∈R2 Θ(x, c). Pornind din x0 = (6, 7),
toate constrangerile sunt satisfacute cu exceptia celei de-a treia!
Tehnici de Optimizare
Curs XIII
Metode de punct interior
Ion Necoara
2014
Istoric
min cT x
x∈Rn
s.t. Ax = b, x ≥ 0.
min f (x)
x∈Rn
s.t. Ax = b, g (x) ≤ 0,
O(n2 )
3.5
g (x) = |x| − 1 ( 3
τ=1
τ=0.5
τ=0.1
I− (g (x)) = 2
0
−1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1
4
τ=1
g (x) = x ( 2
τ=0.5
τ=0.1
0, daca x ≤ 0 0
I− (g (x)) =
∞, daca x > 0. −2
−4
B(x) = −τ log(−x) −6
−1000 −900 −800 −700 −600 −500 −400 −300 −200 −100 0
P(x) = τ max2 (0, x−1)+τ max2 (0, −x−1) ∨ P(x) = τ max2 (0, x).
Reformulare ca metoda bariera
Conditii de optimalitate ale formularii cu functia bariera:
m
X τ
∇f (x) − ∇gi (x) + ∇h(x)T µ = 0
gi (x)
i=1 | {z }
=λi
h(x) = 0.
⇒ Avem gi (x) < 0 datorita domeniul de definitie al functiei log (·);
⇒ Notand λi = − gi τ(x) > 0 obtinem conditiile (KKT-IP)
m
X
∇f (x) + λi ∇gi (x) + ∇h(x)T µ = 0
i=1
λi gi (x)= −τ
g (x) < 0, λ > 0
h(x) = 0.
⇒ Daca x(τ ) este solutia acestui sistem KKT pentru un τ fixat,
atunci observam ca pentru τ → 0 avem x(τ ) → x ∗ (solutie a
sistemului KKT original)!
MPI pentru probleme de optimizare convexe
min f (x)
x∈Rn
s.l. g (x) ≤ 0, Ax = b.
∇f (x(τ )) + ∇B(x(τ )) + AT µ̄ = 0.
Metoda bariera
0.5
-0.5
MPI pentru LP
min cT x
x∈Rn
s.l. Ax ≤ b,
min 1T x
x
s.l.: A + diag(x) 0
• Pentru fiecare n = 10, · · · , 1000 rezolvam 100 de probleme SDP
generate random
Metode de punct interior primale-duale
min f (x)
x∈Rn
s.l. g (x) + s = 0, h(x) = 0, s ≥ 0.
Se aleg ρ, c1 ∈ (0, 1], pasul αkx = ρm , unde m este cel mai mic
intreg ce satisface relatia (de backtracking)
Mν (xk + ρm dkx , sk + ρm dks , τk ) ≤Mν (xk , sk , τk )
+ c1 ρm M0 ν (xk , sk , τk ; dkx , dks ).
Fmincon din matlab
Fmincon din matlab implementeaza metoda de punct interior
(Newton) pt NLP:
min f (x)
x∈Rn
s.t.: Ax ≤ b, Aeq x = beq
c(x) ≤ 0, ceq (x) = 0, lb ≤ x ≤ ub
unde c(x), ceq (x) sunt functii care returneaza vectori, reprezentand
constrangerile neliniare. Functia fmincon are sintaxa:
x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,optiuni)
X = quadprog(Q, q, A, b)
minimizeaza problema QP
Observam
x = quadprog(Q,q,C,d,A,b)
Probleme CP - CVX
Pentru problemele de optimizare convexe:
(CP) : min f (x)
x∈Rn
s.l.: g (x) ≤ 0, Ax − b = 0,
unde f si g sunt functii convexe, cel mai bun pachet software
disponibil si gratis este CVX (in Matlab avem functia fmincon).
1. Downloadeaza CVX de pe: www.stanford.edu/boyd/cvx
2. Salvati-l intr-un director local. Porniti Matlab si adaugati path
catre acest folder. Rulati comanda: ”cvx setup”.
3. Exemplu: minx≥1 kAx − bk.
Luati o matrice A de dimensiune m × n (ex: A = randn(m, n))
si un vector b in Matlab. Rulati in matlab urmatorul cod:
cvx begin
variable x(n)
minimize(norm(A ∗ x − b))
subject to
x >= 1
cvx end
Aplicatia stabilitatea sistemelor - CVX
Probleme SDP convexe de forma
(SDP) : min c T x, s.l.: LMI (x)40, Ax − b = 0,
x∈Rn
pot fi rezolvate cu CVX. Consideram urmatorul exemplu: fie un
sistem dinamic ẋ = Ax si dorim sa investigam daca el este stabil
⇔ exista matrice X simetrica a.i.: AT X + XA ≺ 0, X 0. Cele 2
inegalitati stricte sunt omogene in X , deci problema poate fi
formulata echivalent ca si:
A0 X + XA + In 40, X In .
Rulati in matlab urmatorul cod:
% A-eigenvalues uniform logarithmic spaced [−10−1 , −101 ]
A=diag(-logspace(-0.5,1,n)); U=orth(randn(n,n)); A=U’*A*U;
cvx begin sdp
variable X (n, n) symmetric %Obs: diagonal,...
minimize(trace(X )) %Obs: poate lipsi aceasta linie
AT X + XA + eye(n) <= 0, X >= eye(n)
cvx end
Tehnici de Optimizare
Curs XIV
Aplicatii Big Data si Machine Learning
Ion Necoara
2019
Ce s-a facut la acest curs?
lz ≤ zt ≤ uz , Cu ut ≤ du ∀t ≥ 0
Ax = b
−Bu Inz 0 0 ... 0 0 0 Az z0
0 −Az −Bu Inz ... 0 0 0 0
A= . .. , b= .
.. .. .. .. .. ..
.. . . . . . . . ..
0 0 0 0 ... −Az Bu Inz 0
• Reformulam constrangerile pe stare si intrare:
Cx ≤ d
Cu 0 0 0 0
du
0 Cz dz
0 0 0
d = ...
0
C = 0 ··· 0 0,
0 0 0 Cu 0
du
0 0 0 0 Cz dz
Formulare QP rara
Obs.: fie matricile U, V 0 si x, y vectori cu dim. compatibile:
2 T T T T T U 0 x
kxkU = x Ux, x Ux + y Vy = [x y ] .
0 V y
1 T
min x Qx + q T x
x∈RN(nz +nu ) 2
s.l. Ax = b, Cx ≤ d,
unde q = Q ∗ x ref .
⇒ forma standard de programare patratica
⇒ matricile QP-ului sunt rare: Q si C sunt bloc diagonale, iar A
bloc tridiagonala
⇒ se aplica algoritmi eficienti specifici optimizarii constranse in
functie de dimensiunea problemei
Formulare QP densa
⇒ Dorim reformularea dinamicilor zt+1 = Az zt + Bu ut prin
eliminarea starilor, i.e. variabila devine: x = [u0T · · · uN−1
T ]T ∈ RNnu
z1 = Az z0 + Bu u0
z2 = Az z1 + Bu u1 = A2z z0 + Az Bu u0 + Bu u1
···
zN = Az zN−1 + Bu uN−1 = AN N−1
z z0 + Az Bu u0 + · · · + Bu uN−1
Cz zi ≤ dz ∀i = 1, · · · , N ⇔ C¯z z̄ ≤ d¯z ,
Cu ui ≤ du ∀i = 0, · · · , N − 1 ⇔ C̄x00 x ≤ d¯x00 ,
Robot E-puck
I microcontroler
dsPIC30 (16-bit)
I Bluetooth
I senzori infrarosu
I camera video CMOS
(rezolutie 640 × 480)
I senzor ultrasunete
I accelerometru 3D.
ż = Āz z + B̄u u,
r r
unde Āz = 0 ∈ R2×2 si B̄u = r 2 2
r .
2l − 2l
s.l.: Ax = b,
1.5
Pozitia z
1
Referinta
0.5
Traiectorie 0
−0.5
−1
−1.5
0 20 40 60 80 100
t
0.8
0.2
−0.2
−0.4
−0.6
0 20 40 60 80 100
t
Control optimal pentru pendulul invers
Structura:
I suport de masa M;
I pendul format din
I bila de masa m;
I tija de lungime l;
zt+1 = Az zt + Bu ut ,
1
min x T Qx
x 2
s.l.: Ax = b, Cx ≤ d,
0.25
0.2
0.15
unghiul(Θ)
0.1
0.05
−0.05
−0.1
−0.15
−0.2
−0.25
0 5 10 15 20 25
t
este de forma
1 T
(QP) : min x Qx + q T x s.l.: Cx ≤ d.
x=(a,b)∈R2(n−1) 2
Q = diag(Q, Q)
q = [D zeros(1, n − 3) − 2D − D + mg mg · · · mg − 2D + mg ]T
C = [zeros(n − 1, n − 1) − eye(n − 1)], d = 0
x = quadprog(Q,q,C,d)
Calcularea solutiei - quadprog cont.
n=49; nq=n-1;
nOnes = ones(nq,1);
Q = diag(2*nOnes,0) - diag(nOnes(1 : nq−1),-1) - diag(nOnes(
nq − 1), 1);
Q=D*blkdiag(Q,Q);
q1=[D zeros(1, nq − 2) − 2 ∗ D];
q2=[−D zeros(1, nq − 2) − 2 ∗ D] + m ∗ g ∗ ones(1, nq);
q=[q1 q2]T ;
C = [zeros(nq, nq) − eye(nq)];
d = zeros(nq,1);
x = quadprog(Q,q,C,d);
zet quadprog =x(nq + 1 : end);
Calcularea solutiei - CVX
cvx begin
variable a(n+1); variable b(n+1);
V = 0;
for i = 1 : n
V = V +0.5∗D ∗(square(a(i +1)−a(i))+square(b(i +1)−b(i)));
end
for i = 1 : (n + 1)
V = V + m ∗ g ∗ b(i);
end
minimize V
subject to
a(1) == −1; b(1) == 1; a(50) == 2; b(50) == 2
b >= 0
cvx end
zet cvx=b(2 : end − 1);
Calcularea solutiei - gradient proiectat
x0=ones(2*nq,1); eps=0.0001;
eigenvalues=eig(Q); L=max(eigenvalues);
alpha= 1/L;
xg =x0; grad = Q ∗ xg + q;
deltax=x0; iter g=0;
while (norm(deltax) > eps)
xg next = xg − alpha ∗ grad;
xg next(nq + 1 : end) = max(xg next(nq + 1 : end), 0);
deltax=xg - xg next;
xg=xg next;
grad=Q ∗ xg + q;
iter g = iter g + 1;
end
zet gradient=xg (nq + 1 : end);
Calcularea solutiei - gradient conditional
nr of active constraints: 8
nr iteratii gradient proiectat: 3.382
nr iteratii gradient conditional: 10.579
Problema Google (ierarhizarea paginilor web)
alegem π0 : e T π0 = 1, π0 ≥ 0
iteram : πk+1 = E πk
obtinem : lim πk = π ∗
k
unde e = [1 . . . 1]T .
Formulare echivalenta neconstransa via penalitate (alegand
τ > 0 suficient de mare):
1 τ
min kEx − xk2 + (e T x − 1)2 .
x∈Rn 2 2
I Pe baza teoremei Peron-Frobenius, asiguram constrangerile de
inegalitate x ≥ 0 in cazul neconstrans.
I Uzual n ≈ 108 − 109 , restrange aplicabilitatea algoritmilor la
cei de ordinul I ( datorita complexitatii scazute per iteraţie).
I Aplicam Metoda de Gradient Proiectat pentru rezolvarea
ambelor formulari.
Problema Google
(i) Formularea constransa:
1
minn kEx − xk2
x∈R 2
s.l.: e T x = 1, x ≥ 0,
0.6
0.5
*
f(xk) − f
0.4
0
ritmi cu convergenta in timp
0 5 10 15 20 25
Iteratii (k)
liniar(necesita O(n) operatii).
Convergenta metodei de
gradient proiectat
(n = 102 ).
Problema Google
(ii) Formularea neconstransa:
1 τ
minn kEx − xk2 + (e T x − 1)2 .
x∈R 2 2
Metoda Gradient: xk+1 = xk − α∇F (xk , τ )
0.7 0.8
0.6 0.7
0.6
0.5
τ=5
f(xk) − f*
0.5
τ=10
f(x ) − f*
0.4
0.4 τ=15
k
0.3 τ=30
0.3
τ=50
0.2
0.2
0.1 0.1
0 0
0 0.5 1 1.5 2 2.5 3 3.5 4 0 1 2 3 4 5
Iteratii (k) 4 Iteratii (k) 4
x 10
x 10
s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.
In acest caz invatam parametri x = (w , d) ai hyperplanului
w T a = d care separa cele 2 clase de obiecte. Problema duala (vezi
cursul IX) are si ea o forma interesanta:
m n
1 X X 1 T
minn k y i b i ai k 2 − yi −→ y Ky − e T y
y ∈R 2 2
i=1 i=1
m
X
s.t. : bi yi = 0, y ≥ 0.
i=1
1
min kw k2
w ∈Rn ,d∈R 2
s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.
I bi raspuns (label)
I ai predictor (feature)
I x parametru (sa fie invatat)
I N numarul de date
Regresie “Ridge” (regularizare L2 ) - CMMP (solutie explicita):
N
1 X β
min (bi − x T ai )2 + kxk2
x N 2
i=1
Regresie Lasso (regularizare L1 ) - nu exista solutie explicita:
N
1 X β
min (bi − x T ai )2 + kxk1
x N 2
i=1
Fitting Data ca regresie liniara
• Se dau urmatoarele:
I functii f1 , · · · , fn numiti regresori sau functii de baza
I date sau masuratori (ui , bi ) ∀i = 1, . . . , m (de obicei m n)
• Problema: gasiti coeficientii reali x1 , · · · xn s.t.
bi = x1 f1 (u1 ) + · · · + xn fn (u1 ) ∀i = 1, · · · , m
• Fie A ∈ Rm×n , Aij = fj (ui ), obtinem problema de optimizare:
m
X
minn (x1 f1 (ui ) + · · · + xn fn (ui ) − bi )2 = kAx − bk2 .
x∈R
i=1
la datele (ti , bi ), i = 1, · · · , m
I functii de baza pj (t) = t j−1 pentru j = 1, · · · , n
I matricea A cu intrarile Aij = tij−1 (matrice Vandermonde)
1 t1 t12 · · · t1n−1
1 t2 t 2 · · · t n−1
2 2
A= . .
. . .. .. ..
. . . . .
2
1 tm tm ··· n−1
tm
4t
• Exemplu: aproximam functia f (t) = 1+10t 2 cu un polinom pe
intervalul [0, 1] avand la dispozitie 100 de date
Regresie liniara 1 - fitting-ul unui polinom
2 7.5
1.8 7
1.6 6.5
1.4 6
1.2 5.5
u(t)
1 y(t) 5
0.8 4.5
0.6 4
0.4 3.5
0.2 3
0 2.5
0 5 10 15 20 25 30 35 40 0 5 10 15 20 25 30 35 40
t t
Regresie liniara 2 - identificarea sistemelor
Dorim sa aproximam sistemul printr-un model intrare-iesire de
forma ARMA:
ymodel (t) = x1 u(t)+x2 u(t −1)+x3 u(t −2)+x4 u(t −3)+x5 u(t −4).
Determinarea setului de parametri x = [x1 · · · x5 ]T ai modelului
poate fi realizata prin rezolvarea unei probleme patratice
neconstranse:
7.5
6.5
5.5
4.5
ymodel (t)
3.5
y(t)
3
0 5 10 15 20 25 30 35 40
Reconstructie tomografica
Tomografie computerizata = tehnica noninvaziva ce foloseste
raze X (sau alte tipuri de radiatii) pentru a produce imagini 2D/3D
ale interiorului obiectului scanat.
Procedura de functionare:
1. Se achizitioneaza o serie de
proiectii, din diferite unghiuri,
ale obiectului scanat;
www.merckmanuals.com
matricea de achizitie.
• Imaginea interiorului reprezinta solutia sistemului liniar
(subdeterminat deoarece sunt mai putine masuratori m decat
dimensiunea imaginii n): Ax = b.
• Reformulare in termeni de problema CMMP:
min kxkα
x∈Rn : Ax=b
unde de obicei se alege α = 2 sau α = 0 sau α = 1. Alegem
α = 0 ∨ 1 pentru a induce o reprezentare rara a imaginii (vectorul
solutie). Se doreste o reprezentare rara a imaginii, deoarece
aceasta permite: compresie usoara; algoritmi rapizi pt. procesare;
memorie de stocare mica; eliminarea usoara a zgomotului;...
• Pentru rezolvare, cu α = 2, se poate utiliza metoda gradient sau
metoda gradientilor conjugati!
Raritate in solutie - cazul vector P
Definim o masura a raritatii kxk0 =/ {i : xi 6= 0} si kxk1 = i |xi |
si apoi problemele de optimizare asociata sistemului Ax = b:
min kxk0 s.l. Ax = b =⇒ min kxk1 s.l. Ax = b
x∈Rn |{z} x∈Rn
relaxare convexa
|akT aj |
• Mutual coherence: µ(A) = max
1≤k,j≤m, k6=j kak k2 kaj k2
Pentru o matrice A cu rang intreg pe linii (i.e. m < n), daca exista
o solutie x ∗ satisfacand relatia:
1 1
kx ∗ k0 < 1+
2 µ(A)
atunci x ∗ este solutie pentru amandoua problemele de optimizare!
kA(X )k
1 − δr (A) ≤ ≤ 1 + δr (A)
kX kF
Problema majora:
modificari nedorite ale semnalelor (zgomot) rezultate din:
I Achizitia semnalelor (e.g. imagine, video, audio)
I Comunicatii imperfecte
Exemplu: semnale cu detalii excesive au variatie totala mare (i.e.
integrala gradientului absolut al semnalului este mare) =⇒
reducerea zgomotului echivalenta cu reducerea variatiei totale
Procesare de imagini