Sunteți pe pagina 1din 717

Tehnici de Optimizare

(pentru Biga Data si Machine Learning)

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)

Optimizarea matematica numita adesea


“Science of the Better”
In 1744 Leonhard Euler, unul din cei mai mari matematicieni:

“Namely, because the shape of the whole universe is most perfect


and, in fact, designed by the wisest creator, nothing in all of the
world will occur in which no maximum or minimum rule is
somehow shining forth.”

In latina: “...nihi omnino in mundo contingint, in quo non maximi


minimive ratio quapiam eluceat.”

De fapt, conceptul de derivata a functiei (una din cele mai


importante constructii matematice) a fost introdus de Fermat in
1637 cu scopul rezolvarii unei probleme de optimizare
Bibliografie
I Note de curs/lab: http://acse.pub.ro/person/ion-necoara
I Carte: Necoara, Metode de Optimizare Numerica,
Politehnica Press
I Culegere: Necoara, Metode de Optimizare Numerica:
Culegere de Probleme, Politehnica Press
Alte carti:
I Bertsekas, Nonlinear Programming, Athena Scientific
I Nesterov, Introductory Lectures on Convex Optimization: A
Basic Course, Kluwer
I Luenberger, Linear and Nonlinear Programming, Kluwer
Despre curs...

Cele trei E-uri


I Exploreaza teoriile moderne de optimizare, algoritmi, si
aplicatii pentru Big Data si Machine Learning
I Evidentiaza intelegerea structurii problemelor de optimizare si
complexitatea algoritmilor numerici
I Expune cercetarea de frontiera ce se gaseste la intersectia
dintre Big Data Optimization si Machine Learning
Obiectivele cursului si subiectele atinse
Obiective
I recunoasterea/formularea de probleme de optimizare
I caracterizarea/identificarea solutiilor
I caracterizarea limitelor de performanta a algoritmilor numerici
de optimizare
I dezvoltarea de cod Matlab pentru rezolvarea problemelor de
optimizare
Subiecte atinse
I multimi si functii convexe
I clase de probleme de optimizare
I conditii de optimalitate
I algorimi numerici de optimizare si proprietatile lor
I algoritmi de optimizare specializati pentru Machine Learning
I aplicatii din Big Data si Machine Learning
I foarte multe exemple!
Notatii

In cadrul cursului vom utiliza urmatoarele notatii:


• Vectori (considerati
 intotdeauna
 vector coloana) cu litere mici,
x1
i.e. x ∈ Rn , x =  ... 
 

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 (y ) = f (x) + h∇f (x + θ(y − x)), y − xi θ ∈ [0, 1]


Z 1
f (y ) = f (x) + h∇f (x + τ (y − x)), y − xidτ
0
Calcularea aproximativa a primei derivate
Aproximarea Taylor:
1
f (x + ) = f (x) + f 0 (x) + f 00 (x)2 + · · ·
2
1
f (x − ) = f (x) − f 0 (x) + f 00 (x)2 + · · ·
2
Formula diferentelor progresive (centrate) se obtine din prima
aproximare Taylor (scazand cele doua aproximari Taylor):
f (x + ) − f (x) f (x + ) − f (x − )
f 0 (x) ∼ + O(), ∼ + O(2 )
 2
Trick-ul imaginar (are avantajul ca cere o singura evaluare a lui f ):
1 1
f (x + i) = f (x) + if 0 (x) − f 00 (x)2 − i f 000 (x)3 + · · ·
2 6
Deci luand acum partea imaginara in ambele parti obtinem:
Im(f (x + i))
f 0 (x) ∼ + O(2 )

De obicei se ia  foarte mic ( = 10−10 ...)
Calcularea aproximativa a derivatei de ordinul II
Folosind aproximarea Taylor putem obtine si aproximari ale f 00 :
1
f (x + ) = f (x) + f 0 (x) + f 00 (x)2 + · · ·
2
De exemplu, avem:

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

Problema de optimizare neliniara:

f ∗ = minn f (x)
x∈R
s.l.: g1 (x) ≤ 0, . . . , gm (x) ≤ 0
h1 (x) = 0, . . . , hp (x) = 0.

O problema de optimizare contine urmatoarele trei componente:


(i) o functie obiectiv, f (x), ce va fi minimizata/maximizata;
(ii) variabile de decizie, x ∈ Rn , care se pot alege dintr-o anumita
multime;
(iii) constrangeri (numite si restrictii) ce vor fi respectate, de
forma g (x) ≤ 0 (constrangeri de inegalitate) si/sau h(x) = 0
(constrangeri de egalitate).
Probleme de optimizare
Formularea standard a unei probleme de optimizare:

min f (x)
x∈Rn
s.l.: g1 (x) ≤ 0, . . . , gm (x) ≤ 0
h1 (x) = 0, . . . , hp (x) = 0.

Functia obiectiv f : Rn → R̄ si variabila de decizie x ∈ Rn


Notatii compacte:

g : Rn → Rm , g (x) = [g1 (x) . . . gm (x)]T


h : Rn → Rp , [h1 (x) . . . hp (x)]T

⇒ forma compacta a problemei de optimizare neliniara ((NLP) -


nonlinear programming)

(NLP) : min f (x)


x∈Rn
s.l.: g (x) ≤ 0, h(x) = 0.
Probleme de optimizare
Remarca: o problema de maximizare poate fi transformata
intr-una de minimizare, maxx f (x) = − minx −f (x).
Exemplu problema de optimizare:

min 2x13 + 3x22 + 4x1


x∈R2
s.l.: x ≥ 0, x12 + x22 − 1 ≤ 0
x1 x2 − 1 = 0.

In acest exemplu avem:


I variabila de decizie: x = [x1 x2 ]T ∈ R2 si functia obiectiv
f (x) = 2x13 + 3x22 + 4x1
I trei constrangeri de inegalitate: g : R2 → R3 , unde
g1 (x) = −x1 , g2 (x) = −x2 si g3 (x) = x12 + x2 − 1.
I o singură constrangere de egalitate definita de functia
h(x) = x1 x2 − 1.
Probleme de optimizare

Alte definitii esentiale:


I Multimea {x ∈ Rn : f (x) = c} este multimea nivel (conturul)
a functiei f pentru valoarea c ∈ R.
I Multimea fezabila a problemei de optimizare (NLP) este:

X = {x ∈ Rn : g (x) ≤ 0, h(x) = 0}.

I Punctul x ∗ ∈ Rn este un punct de minim global (adesea


denumit minim global) daca si numai daca x ∗ ∈ X si
f (x ∗ ) ≤ f (x) oricare ar fi x ∈ X .
I Punctul x ∗ ∈ Rn este minim local daca si numai daca x ∗ ∈ X .
si exista o vecinatate N a lui x ∗ (e.g. o bila deschisa cu
centrul ı̂n x ∗ ) astfel ı̂ncât f (x ∗ ) ≤ f (x) oricare ar fi
x ∈ X ∩ N.
Minime-maxime locale/globale
Exemplu: puncte de minim local (xL∗ ) şi punctul de minim global
(xG∗ ) pentru f (x) = cos(5πx)/x ı̂n intervalul [0.1, 1.1].
3
Punct de maxim global Punct de maxim local
2

−1

−2
Punct de minim local x*
L
−3
*
Punct de minim local xL
−4

Punct de minim global x*G


−5

−6
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1

I Punctul x ∗ ∈ Rn este un punct strict de minim global daca si


numai daca x ∗ ∈ X si f (x ∗ ) < f (x) oricare ar fi x ∈ X \ {x ∗ }.
I Punctul x ∗ ∈ Rn este un punct strict de minim local daca si
numai daca x ∗ ∈ X si exista o vecinatate N a lui x ∗ astfel
ı̂ncât f (x ∗ ) < f (x) oricare ar fi x ∈ (X ∩ N ) \ {x ∗ }.
Minime-maxime locale/globale
Minime-maxime locale/globale
Existenta punctelor de minim (teorema lui Weierstrass): daca
multimea fezabila X ⊂ Rn este compacta (adica marginita si
inchisa) si f : X → R este continua atunci exista un punct de
minim global pentru problema de minimizare minx∈X f (x).

Exemplu: pentru functia f (x) din figura consideram multimea


fezabila compacta X = {x : a ≤ x ≤ b} si observam ca are punct
de minim global in d.
Pachete software disponibile pentru optimizare

I software gratis: CVX (rezolva numai probleme convexe),


www.stanford.edu/boyd/cvx
I IPOPT (rezolva probleme NLP generale),
www.coin-or.org/Ipopt/documentation/documentation.html
I software comerciale:
I Matlab (contine un pachet de optimizare). Cele mai
importante functii de optimizare din matlab sunt:
linprog, quadprog, fminunc, fmincon
(utilizati help linprog pentru detalii)
I CPLEX si mai recent Gurobi
I etc...
Probleme de optimizare - NLP
Prezentam in cele ce urmeaza categorii diferite de probleme de
optimizare si exemple. Reamintim problema de optimizare
neliniara generala (NLP):
(NLP) : min f (x)
x∈Rn
s.l.: g (x) ≤ 0, h(x) = 0,
In mod obisnuit, f (x), g (x) si h(x) se presupun a fi continuu
diferentiabile cel putin o data. NLP rezolvate cu algoritmi predati
in acest curs!
Exemplu:
min x16 + x24 + x3
x∈R3
s.l.: 5x1 + 6x2 ≤ 0, x1 + x3 = 4, x1 + x2 = −2
f : R3 → R, f (x) = x16 + x24 + x3
g : R3 → R, g (x) = 5x
 1 + 6x2 
3 2 x1 + x3 − 4
h : R → R , h(x) =
x1 + x2 + 2
NLP - implementare Matlab
Pentru problema NLP fara constrangeri:
min f (x)
x∈Rn
se foloseste functia din Matlab fminunc.
Exemplu: fie problema de optimizare fara constrangeri
= e x1 (4x12 + 2x22 + 4x1 x2 )

minn f (x)
x∈R
Sintaxa:
x = fminunc(objfun, x0, optiuni)
unde objfun reprezinta functia obiectiv ce trebuie furnizata ca o
variabila de tip function handle; x0 ∈ Rn reprezinta punctul initial
de unde porneste procesul de cautare al minimului; optiuni
reprezinta setul de optiuni specific fiecarei rutine MATLAB.
objfun = @(x) exp(x(1))∗ 4 ∗ x(1)2 + 2 ∗ x(2)2 + 4 ∗ x(1) ∗ x(2) ;


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

Constrangeri de inegalitate: g (x) : R3 → R4 , g (x) = Cx − d ≤ 0


Inegalitatile 0 ≤ x1 ≤ 10, x2 ≥ 0, x3 ≥ 0 pot fi scrise drept:
   
1 0 0   10
−1 0 x1
0    0 
 
 0 −1 0  x2 −  0  ≤ 0
 
x
0 0 −1 | {z3 } 0
| {z } x | {z }
C d

Astfel, problema (1) poate fi scrisa ca problema LP standard.


Pentru rezolvarea LP-urilor se foloseste functia din Matlab linprog.

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.

Conditii de convexitate pentru functii de doua ori continuu


diferentiabile: o functie este convexa daca ∇2 f (x)  0. Pentru o
problema QP, daca Q = Q T , atunci ∇2 f (x) = Q. In acest caz,
functia obiectiv este convexa daca Q  0.
QP-urile se rezolva cu metode punct interior, “active set” sau de
tip gradient: astazi se pot rezolva probleme de dimensiuni foarte
mari (109 variabile) ce apar in multe aplicatii: optimizarea
motoarelor de cautare, procesarea de imagine, predictie
meteo (vezi pagina mea: http://acse.pub.ro/person/ion-necoara)
Probleme de optimizare - QP
Exemple de probleme QP:
minn x12 + x22 + x1 x2 + 3x1 + 2x2
x∈R
s.l.: x ≥ 0, x1 + x2 = 5
Observam
f (x) = x12 + x22 + x1 x2 + 3x1 + 2x2
    
1  2 1 x1   x1
= x1 x2 + 3 2
2 1 2 x2 | {z } x2
qT
| {z }
Q
Constrangeri de inegalitate: −I2 x ≤ 0
 
Constrangeri de egalitate: 1 1 x = 5
Calcule simple: Λ(Q) = {3, 1}, deci Q  0 iar f (x) este convexa
• Ierarhizarea in motoarele de cautare se pune ca o problema QP
min kEx − xk2
x∈Rn : e T x=1, x≥0

E matrice de adiacenta (http://acse.pub.ro/person/ion-necoara)


Probleme de optimizare - QP
Exemplu: Probleme QP:
min x12 + x22 + x1 x2 + 3x1 + 2x2
x∈Rn
s.l.: x ≥ 0, x1 + x2 = 5

Observam
    
1  2 1 x1   x1
f (x) = x1 x2 + 3 2
2 1 2 x2 | {z } x2
qT
| {z }
Q

Constrangeri de inegalitate: −I2 x ≤ 0 ⇒ C = −I2 & d = 0


Constrangeri de egalitate: 1 1 x = 5 ⇒ A = 1 1 & b = 5
Pentru rezolvarea QP-urilor se foloseste functia din Matlab
quadprog.

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

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:
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
APLICATII REALE
Incepem cu un cuvant cheie: Big Data
Era Big Data

Subiect fierbinte in academia:

Explozie de cursuri, conferinte


si workshop-uri

Subiect fierbinte in industrie:

Linkedln: 48.000+ job-uri de


Data Scientist in SUA
Applicatii ale optimizarii in diferite domenii
I Modelare si identificare de sistem: se formuleaza ca probleme
QP (anul III & IV)
I Control optimal: se formuleaza ca QP/NLP (anul II & III)
I Procesare de semnal (imagine): LP/NLP/SDP (anul III & IV)
I Robotica si masini autonome: se formuleaza ca QP/NLP
I Planificare (armata, companii): se formuleaza ca LP
I Finante (portfoliu optim): se formuleaza ca LP/QP
I Medicina (reconstructie tomografica): LP/NLP
I Ranking (problema Google): se formuleaza ca QP
I etc...
Cum facem analiza de date?

I Formularea unei probleme


I Colectarea datelor
I Pre-procesarea si curatarea datelor
I Formularea uneui model
matematic (optimizare)
I Gasirea unei solutii
optime =⇒
I Evaluarea si interpretarea
rezultatelor
Regresia liniara
Modelul de Regresie Liniara (CMMP invatat la cursul de MN):
N  
1 X 1
min (bi − x T ai )2 := kAx − bk2
x N N
i=1

I bi raspuns (label)
I ai predictor (feature)
I x parametru (sa fie invatat)
I N numarul de date

Dar cursul de OPTIMIZARE ne permite generalizarea acestui model!


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
Data fitting - CMMP
With four parameters I can fit an elephant, with five I can make
him wiggle his trunk (Von Neumann)
• se dau functiile de baza f1 , · · · , fn (numite si regresori)
• se dau date (masuratori) (si , yi ), i = 1, · · · , m

Formularea problemei: gasiti coeficientii x1 , · · · , xn ∈ R:


x1 f1 (si ) + · · · + xn fn (si ) ≈ yi ∀i = 1, · · · , m
i.e. gasiti combinatii liniare de functii care fit datele

CMMP fit: alegem x care minimizeaza eroarea de fitting patratica


m
X
(x1 f1 (si ) + · · · + xn fn (si ) − yi )2
i=1

Cu 4 parametri complecsi chiar poti potrivi


un elefant (Drawing an elephant with four
complex parameters, Am. J. Phys, 2010 )
Data fitting - CMMP

• in notatie matriceala: Aij = fi (sj ) =⇒ problema de optimizare

min kAx − y k2
x∈Rn

• daca m ≥ n si A are rang n =⇒ solutia

x ∗ = (AT A)−1 AT y

• functia corespunzatoare este:

fcmmpfit (s) = x1∗ f1 (x) + · · · + xn∗ fn (s)

• aplicatii: interpolare, netezire de date, identificare de sisteme,...


Data fitting polinomial - CMMP

• fit un polinom de grad < n

p(s) = a0 + a1 s + · · · + an−1 s n−1

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

Formularea problemei: estimarea pozitiei obiectului x si


estimarea incertitudinii (zona)
Localizarea
• pozitiile ancorelor x1 , x2 , x3 cunoscute, dar distantele la obiectul
necunoscut R1 , R2 , R3 nu se stiu exact:

min kδkp
x∈R3 ,δ∈R3

s.t.: kx − xi k ≤ Ri + δi ∀i = 1, 2, 3

unde norma p = 1 sau p = 2 sau p = ∞.


Localizarea
• pozitiile ancorelor x1 , x2 , x3 si distantele la obiectul necunoscut
R1 , R2 , R3 cunoscute =⇒ estimarea zonei unde se gaseste obiectul
o sfera de centru x si raza R se gaseste intr-o sfera de centru xi si
raza Ri daca diferentele intre raze depaseste distantele dintre
centre: kx − xi k ≤ Ri − R

max R
x,R

s.t.: kx − xi k + R ≤ Ri ∀i = 1, 2, 3
Stabilirea fluxului optim de putere intr-o retea electrica

• N noduri (magistrale de transmisie)


• Ng generatoare de putere
• M linii de transmisie intre magistrale
Obiectiv: stabilirea puterii generate optime ce asigura cel mai
scazut cost de productie
Formularea problemei (I)

• matrice de adiacenta intre magistrale si linii de transmisie: E


• variabile de decizie: θi (unghiul de faza) si Pig (puterea
generata)
• constrangeri impuse asupra unghiului si puterii: θi ∈ Θi si
Pig ∈ Pi
• matricea diagonala a reactantelor liniilor de transmisie: R
• cererea de putere pe fiecare magistrala: Pid
• ecuatiile de conservare a puterii: E T RE θ = Ag P g − P d
• limitele impuse fluxului de putere minim si maxim pe liniile de
transmisie: F ≤ RE θ ≤ F
• functia cost (patratica) atasata generarii puterii Pig :
fi (Pi ) = ai Pig + bi (Pig )2
Formularea problemei (II)
Problema de optimizare:
ai Pig + bi (Pig )2
X
ming
θi ∈Θi ,Pi ∈Pi
i
s.l.: E RE θ − Ag P g = −P d , F ≤ RE θ ≤ F .
T

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

Recent, am propus un algorithm de rezolvare a problemei generale


AC-OPF: Mezghani, Tran-Dinh, Necoara, Papavasiliou, A globally
convergent Gauss-Newton algorithm for AC optimal power flow,
Procesare de imagini

In general, procesele ingineresti implica achizitia/ prelucrarea/


comunicatia unui numar de semnale/date.

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 Recuperarea perfecta a semnalului original este imposibila


I Concluzie: cautam “cea mai buna” aproximare a imaginii
corupte
I Aproximarea se determina utilizand algoritmi de optimizare
(pentru niveluri rezonabile de zgomot avem recuperare
“aproape” perfecta)

Modelare pentru semnale 2D (tip imagine):


I Asociem imaginii o matrice X ∈ Rm×n sau un vector x ∈ Rmn
I Dimensiunile (m, n) reprezinta numarul de pixeli pe linii si
coloane.
I Ex.: Pentru o imagine cu dimensiuni 640 × 480 pixeli asociem
X ∈ R640×480 .
Procesare de imagini - total variation denoising
Semnale cu detalii excesive au variatie totala mare (i.e. integrala
gradientului absolut al semnalului este mare) =⇒ reducerea
zgomotului echivalenta cu reducerea variatiei totale:
1
min kIm − X k2 + β · TV (X )
X ∈Rm×n 2
I Im ∈ Rm×n este imaginea data (cu zgomot), β > 0
I TV =“total variation” functie cuantificare variatiei totala
I TV (x) = |xi+1,j − xi,j | + |xi,j+1 − xi,j |;
P
i,j
Rezultate (noisy image/denoised image):
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
Pr norm kT· k∗ : daca A are descompunerea
nuclear Pr DVS
A = i=1 σi ui vi , atunci kAk∗ = i=1 σi
I problema se pune ca o problema de optimizare astfel:
min rang(X ) relaxare convexa min kX k∗
X ∈Rm×n X ∈Rm×n
s.l.: Xij = Aij ∀i, j ∈ S s.l.: Xij = Aij ∀i, j ∈ S
unde se dau valorile Aij cu (i, j) ∈ S o submultime a
elementelor matricei cautate. Utilizand urmatorul rezultat:
 
W1 X
kX k∗ ≤ δ ⇔ ∃W1 , W2 : tr(W1 )+tr(W2 ) ≤ 2δ & 0
X T W2
obtinem ca relaxarea convexa se poate scrie ca un SDP:
 
W1 X
min tr(W1 ) + tr(W2 ) s.l.: Xij = Aij ∀i, j ∈ S, 0
X ,W1 ,W2 X T W2
Matrix completion - aplicare in recuperarea de imagine

imaginea data (40% elemente lipsa) si imaginea recuperata


Procesare de imagine - compresia imaginilor
I O imagine se reprezinta numeric printr-o matrice !
Aproximare matrice cu matrice de rang mai mic via DVS:
I fie A ∈ Rm×n cu rang(A) = r si A = UΣV T = ri=1 σi ui viT
P
I cautam matricea  avand rangul p < r a.i.  ≈ A, i.e.
min kA − Âk
Â:rangÂ≤p
Pp
I solutie: Â = i=1 σi ui viT , deci kA − Âk = ri=p+1 σi ui viT
P

Demontratie: fie rang(B) ≤ p, deci dim Null(B) ≥ n − p. Apoi:


dim Span {v1 , · · · , vp+1 } = p + 1. Cele 2 spatii se intersecteaza:
∃z : kzk = 1, Bz = 0, z ∈ Span{v1 , · · · , vp+1 }
p+1
X p+1
X
(A − B)z = Az = σi ui viT z = (σi viT z)ui (z ⊥ vp+2 )
i=1 i=1
p+1
Cum uiTuj = δij avem k(A−B)zk2 = σi2 (viT z)2 kui k2 ≥ σp+1
2 kzk2 .
P
i=1
kzk=1
kA − Bk = max k(A − B)xk ≥ k(A − B)zk ≥ σp+1 = kA − Âk
kxk=1
Procesare de imagine - compresiaPimaginilor
Interpretare: pentru A = UΣV T = ri=1 σi ui viT componentele
principale de rang 1, ui viT , sunt ordonate in functie de importanta
lor data de σi .
Fie imaginea originala 359×371 pixeli (Melancolia de Durer, 1514):

pe care o putem scrie ca o matrice A de dimensiune 359 × 371


(fiecare intrare (i, j) reprezinta intensitatea de gri a pixelului (i, j)
cu valori intre 0 (negru) si 255 (alb)), ce poate fi descompusa via
DVS: A = UΣV T , unde U este 359 × 359, Σ este 359 × 371 si V
este 371 × 371.
Compresia imaginilor
Imaginea originala are 359×371 = 133.189 pixeli. Dar matricea A
poate fi scrisa ca suma de componente principale:
A = σ1 u1 v1T + σ2 u2 v2T + · · · + σn un vnT ,
unde fiecare matrice ui viT (componenta principala) de rang 1 este
de marimea matricei originale A. Dar pentru ca valorile singulare
σi sunt ordonate σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0, este posibila o
compresie semnificativa a imaginii, atata timp cat spectrul valorilor
singulare are doar cateva intrari mari si restul sunt mici!

Spectrul lui A contine doar 100 − 200 componente principale max.!


Compresia imaginilor
Putem deci reconstrui fidel imaginea folosind doar o submultime de
componente principale. De exemplu, putem recupera o imagine
asemenatoare cu doar 20 de componente principale folosind
comenzile din Matlab:
[U, S, V ] = svd(A) si B = U(:, 1 : 20) S(1 : 20, 1 : 20) V (:, 1 : 20)

Imaginea B foloseste doar 10% din memoria imaginii A:


20 × 359 + 20 × 371 + 20 = 14.620 vs. 359 × 371 = 133.189 pixeli
Compresia imaginilor
Putem recupera o imagine fidela cu doar 200 de componente
principale, in loc de 359 cat are imaginea originala (i.e. 50%
informatie din imaginea originala):

[U, S, V ] = svd(A) si B = U(:, 1 : 200) S(1 : 200, 1 : 200) V (:, 1 : 200)


Simplificare model
Simplificare model:
I fie modelul y = Ax + v
I A ∈ R100×30 are VS σi : 10, 7, 2, 0.5, 0.01, · · · , 0.0001
I kxk ≤ 1 si zgomotul v are norma mai mica decat 0.1
• atunci termenii σi ui viT x sunt
P mai mici decat v pentru i ≥ 5
• modelul simplificat: y = 4i=1 σi ui viT x + v (i.e. descris de o
matrice de rang 4, nu rang 30!)

Alta interpretare pentru σi :

σi = min kA − Bk
B:rang(B)≤i−1

i.e. σi reprezinta distanta (in norma matriceala) la cea mai


apropriata matrice de rang i − 1

Exemplu: pentru A ∈ Rn×n , σn reprezinta distanta la cea mai


apropiata matrice singulara (deci σn mica inseamna ca A este
foarte apropiata de o matrice singulara).
Truss topology design
I constructia de poduri, acoperisuri...capabile sa suporte diferite
incarcaturi
I scop: configurarea optima a structurii create pentru a suporta
diferite incarcaturi
I criterii de optimizare: rigiditatea (stabilitatea) structurii,
cantitatea de material folosita,...
Controlul unui quadcopter
• Sistem rapid a carui model se deriveaza din legile lui Newton
(dupa ce facem o scalare adecvata)
• 2 stari (pozitia si viteza) si 1 intrare (acceleratia)
Obiectiv: aducerea quadcopterului dintr-o anumita pozitie (de la
client) in pozitia zero (la baza) intr-un timp T :
Controlul unui quadcopter - formularea QP
• Functia obiectiv initiala este nediferentiabila =⇒ se
aproximeaza cu o functie neteda (patratica) si se adauga si un
cost asociat intrarii (energia minima). Prioritizarea intre cele 2
costuri contradictorii se face via parametrul R.
• Obtinem in final o problema de optimizare QP!
Controlul unui quadcopter - rezultate

• Rezultate simulare pentru problema de control optimal in


forma QP in functie de parametrul R:
Linear quadratic regulator - LQR (T < ∞)
• Adaugam la sistem perturbatii (e) - erori de modelare
• Consideram iarasi cost patratic la care adaugam un cost final
I Obtinem Linear Quadratic Regulator (LQR) - problema de
optimizare stochastica patratica =⇒ solutie explicita!, daca
presupunem e de medie zero si necorelata (white noise)...
Linear quadratic regulator - LQR (T → ∞)
• Aceleasi presupuneri ca inainte, dar T → ∞ (orizont infinit)
• Obtinem Linear Quadratic Regulator (LQR) - problema de
optimizare stochastica patratica =⇒ solutie explicita!
• LQR are solutie simpla pentru ca QP-urile sunt “miraculoase”
• Solutia este invarianta in timp in cazul orizontului infinit
• Solutia nu depinde de varianta lui e in ambele cazuri.
Controlul unei bile pe un plan inclinat

• Sistem rapid format dintr-o bila aflata pe un plan mobil


• Sistem MIMO: 4 stari (viteza si pozitia bilei) si 2 intrari
(unghiul de inclinare al planului)
Obiectiv: pozitionarea si mentinerea bilei in centrul planului sau
urmarirea unei traiectorii prestabilite
Controlul predictiv bazat pe model

• Reprezentarea pe stare: xk+1 = Axk + Buk


• Constrangeri fizice pe stare si intrare: xk ∈ X , uk ∈ U
• Functii cost patratice: `(xk , uk ) = 12 kxk k2Q + 2r kuk k2R
(notatie kxk2Q = x T Qx)
• `f = 21 k · k2P si Xf cost si constrangeri pentru starea finala
alese pentru stabilitatea sistemului in bucla inchisa
Problema de control optimal pe orizont finit N, pentru starea
initiala x formulata ca un QP:
PN−1
min k=0 `(xk , uk ) + `f (xN )
xk ,uk
s.l. xk+1 = Axk + Buk , x0 = x,
xk ∈ X , uk ∈ U ∀k, xN ∈ Xf
Rezolvam acest QP la fiecare pas de esantionare si utilizam
principiul orizontului alunecator!
Rezultate
Roboti (e-puck)
I 4 roboti e-puck disponibili
I determinarea pozitiei folosind
procesare de imagine

Formulare problema: urmarirea unei traiectorii prestabilite,


control cooperative, controlul unei formatii
=⇒ probleme de optimizare (NLP)
1.5 0.8
Pozitia z
Referinta
1 0.6 viteza unghiulara 1
viteza unghiulara 2
0.4

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

Formulare problema: sistem complex (4 stari - niveluri; 2 intrari -


debite prin pompe); urmarirea unor referinte de niveluri prestabilite
=⇒ problema de optimizare (QP)
level(cm) level(cm)
h1 40 h2
sh1 sh2
h4 h3
40 sh4 sh3
35

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

Markowitz model (premiul Nobel!)

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

Invatarea Automata (Machine Learning) foloseste Big Data pentru


a potrivi modele mai precise:
I Bioinformatica
I Computer vision
I Recunoasterea vorbirii
I Machine translation
I Recomamdarea de produse, pagini, prieteni (Amazon, Google,
Facebook)
I Clasificare de obiecte (avem poze cu pisici si caini si dorim sa
antrenam un clasificator care poate sa distinga intre cele 2
tipuri de poze; email bun sau spam; soferul e treaz sau
doarme uitandu-ne doar la imagini ale fetei, etc...)
Cadru comun pentru Machine Learning
Empirical risk minimization:
N
1 X
minn L(x, ai , bi ) + γr (x)
x∈R N
i=1

I L termenul de Data Fitting (loss function)


I r regularizer (pentru a evita overfitting sau dorim solutie rara)
I avem N observatii ai si labels bi
I dorim sa gasim parametrul optim x ∗
Diverse exemple variind de la:
I eroarea patratica (CMMP) cu regularizare norma-1
N
1 X T
min (ai x − bi )2 + γkxk1
x∈Rn N
i=1
I la SVM si Deep Neural Networks
Principala provocare: rezolvarea eficienta a problemei de
optimizare cand n si/sau N sunt foarte mari.
Support vector machine (SVM)
SVM calculeaza un hyperplan care separa cele 2 clase de obiecte
Clasificator de margine maxima:
1
min kw k2
w ∈Rn ,d∈R 2

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

unde K este “kernel” matrix Kij = bi bj aiT aj (doar produse scalare


intre datele de antrenare). Am dezvoltat un algorithm eficient
pentru rezolvarea dualei: 2-RCD (vezi pagina mea)!
Support vector machine (SVM) - cont.
1
min kw k2
w ∈Rn ,d∈R 2
s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.

se poate scrie echivalent ca empirical risk minimization:


I Soft Margin SVM
N
1 X γ
min max(0, 1 − bi (w T ai − d)) + kw k2
w ∈R n,d∈R N | {z } 2 | {z }
i=1
L(x,ai ,bi ) r (x)
I Logistic Regression
N
1 X γ
min log(1 + exp(−bi (w T ai − d))) + kw k2
w ∈Rn ,d∈R N | {z } 2 | {z }
i=1
L(x,ai ,bi ) r (x)

Deci, “aproape” orice problema de ML se formuleaza ca finite sum:


N
1 X
min fi (x) (+r (x))
x N
Support vector machine (SVM) - cont.

1
min kw k2
w ∈Rn ,d∈R 2

s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.

Deci, “aproape” orice problema de ML se formuleaza ca finite sum:


N
1 X
min fi (x) (+r (x))
x N
i=1

La acest curs vom invata algoritmi specializati pentru rezolvarea


acestei clase de probleme avand structura de “finite sum” (e.g.
stocastic gradient)!
Sisteme de recomandare - problema Netflix
I sistem de recomandare pentru filme: predictie cu acuratete
cat mai mare a cat de mult iti va placea un film bazat pe
preferintele tale
I concursul privind imbunatatirea algoritmului de recomandare
Netflix a pornit in 2006.
I In 2008 un premiu de 50K pentru 9.44% imbunatatire, iar in
2009 premiul cel mare de 1 milion pentru 10.06% imbunatatire
Problema Netflix
I datele de antrenare pentru algoritmul de recomandare: 100
milioane ratings; 480.000 utilizatori; 17.700 filme; date stranse
in 6 ani (2000–2005)
Problema Netflix
Principalele obstacole:
I dimensiunea datelor foarte mare: este nevoie de algoritmi
eficienti din punct de vedere al calculelor si al memoriei
I datele de test si cele de antrenare sunt diferite: e.g. datele de
test ratings sunt mai recente
I 99% date lipsesc, deci metodele standard nu se aplica
I multi factori afecteaza rating-ul unui film: actorii, regizorul,
stilul actiunii, muzica, genul
Matematica aplicata ajuta: Metodele Numerice si Optimizarea!
I utilizator Y caracterizeaza
filmele prin atribute: violenta
(x1 = 1.5); umor (x2 = 3.5);
acest actor sau regizor
(x3 = 0.5), etc ...
I factorizarea de matrici este
principala abordare
I combinata cu metoda
gradient din optimizare
Problema Netflix
Estimarea rating-urilor necunoscute folosind factorizarea matricilor!

Aproximarea cu produs de matrici de rang 3: dar algebra standard


se aplica numai matricilor cu toate intrarile cunoscute ⇒ netezirea
datelor este necesara via optimizare pentru a evita overfitting
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

2. Prin intermediul proiecti-


ilor obtinute, se reconstruieste
interiorul obiectului cu ajutorul
unui algoritm iterativ;
www.mathworks.com

In majoritatea cazurilor, radiatiile folosite sunt daunatoare; de


aceea se urmareste achizitionarea unui numar minim de proiectii.
Reconstructie tomografica
Formularea problemei:

• Fie x ∈ Rn imaginea interiorului de reconstruit.


• Pentru reconstructie, dispunem de diferite masuratori liniare
(proiectii) ale imaginii x: bi = Ai x, i = 1, · · · , m.
• Notam vectorul proiectiilor b ∈ Rm si A = [AT T T
1 · · · Am ] ∈ R
m×n

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;...
Reamintim - regresia liniara
Modelul de Regresie Liniara:
N
1 X
min (bi − x T ai )2
x N
i=1

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!

• Restricted Isometry Property (RIP): matricea A ∈ Rm×n are


RIP(δ, k) daca orice submatrice AI (obtinute din combinarea a cel
mult k coloane din A) are toate valorile singulare marginite intre
1 − δ si 1 + δ. Pentru matricea A cu RIP(0.41, 2k) avem ca cele
doua probleme de mai sus au aceeasi multime de solutii pe
multimea vectorilor de raritate k (Candes & Tao 2005).
Raritate in solutie - cazul matrice
P
Definim o masura a raritatii kX k0 = rang(X ) si kX k∗ = i σi si
problemele de optimizare asociate functiei liniare A : Rm×n → Rp :

min kX k0 s.l. A(X ) = b =⇒ min kX k∗ s.l. A(X ) = b


X ∈Rm×n |{z} X ∈Rm×n
relaxare convexa

• Restricted Isometry Property de ordin r : cea mai mica


constanta δr (A) a.i. pt. orice matrice X de rang cel mult r avem:

kA(X )k
1 − δr (A) ≤ ≤ 1 + δr (A)
kX kF

• Presupunem ca δ2r < 1 pentru un intreg r ≥ 1. Atunci unica


solutie a problemei originale neconvexe este matricea de rang cel
mult r satisfacand A(X ) = b.

• Presupunem ca r ≥ 1 satisface δ5r < 0.1, atunci cele doua


probleme de mai sus (cea originala si relaxarea ei convexa) au
aceeasi solutie optima (Recht & Parrilo 2010).
Optimizare si Machine Learning

Curs II
Multimi si Functii Convexe

Ion Necoara

2019
Euler (1744):

“Nothing in the world takes place without optimization, and there


is no doubt that all aspects of the world that have a rational basis
can be explained by optimization”
Notatii

In cadrul cursului vom utiliza urmatoarele notatii:


• Vectori (considerati
 intotdeauna
 vector coloana) cu litere mici,
x1
i.e. x ∈ Rn , x =  ... 
 

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

f (y ) = f (x) + h∇f (x + θ(y − x)), y − xi θ ∈ [0, 1]


Z 1
f (y ) = f (x) + h∇f (x + τ (y − x)), y − xidτ
0
Optimizarea matematica
f ∗ = minn f (x)
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.
Multimea fezabila X = {x : gi (x) ≤ 0, hj (x) = 0 ∀i, j}.

(NLP) : min f (x)


x∈X

In solutia optima x ∗ functia obiectiv ia valoarea cea mai mica


(valoarea optima f ∗ ) in raport cu toti vectorii ce satisfac
constrangerile (restrictiile). Pentru probleme generale avem
minime locale si globale!

Teorema: Daca functia obiectiv f este convexa si multimea


fezabila X este convexa atunci avem numai minime globale!
Multimi convexe
Multime afina:
S ⊆ Rn este afina daca ∀x1 , x2 ∈ S si ∀α ∈ R avem

αx1 + (1 − α)x2 ∈ S

Exemplu multime afina:


I Multimea solutiilor unui sistem de ecuatii liniare {x : Ax = b}
Interpretare:
I Orice punct pe dreapta definita de x1 si x2 se afla in multime.
5

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

• Exemplu de acoperire convexa: pentru o multime formata din


trei puncte S = {x, y , z} avem
3
( )
X
Conv (S) = α1 x + α2 y + α3 z : x, y , z ∈ S, αi ∈ [0, 1], αi = 1
i=1
Multimi convexe
• Hiperplan si semiplan: multimi convexe definite astfel
I hiperplan: x ∈ Rn : aT x = b , a 6= 0, a ∈ Rn , b ∈ R


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

{x ∈ R2 : x1 + 2x2 = 1} ⇒ a = [1 2]T & b = 1


Multimi convexe
Poliedru:
•n multime convexa definita de p hiperplane sau m semiplaneo
x ∈ Rn : aiT x = bi ∀i = 1, . . . , p, cjT x ≤ dj ∀j = 1, . . . , m sau
mai compact {x : Ax = b, Cx ≤ d}

•n poate fi reprezentat si prin varfuri vi si raze afine rj : o


Pn1 Pn2 Pn1
i=1 αi vi + j=1 βj rj : i=1 αi = 1, α i ≥ 0, βj ≥ 0 ∀i, j

• exemplu de poliedru nemarginit: R2+ = {x ∈ R2 : x1 , x2 ≥ 0}

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

I Conul dual: K ∗ = {y : hx, y i ≥ 0 ∀x ∈ K }


I Daca K = K ∗ atunci K este con auto-dual
Exemple conuri:
I Multimea Rn este un con, iar conul sau dual este (Rn )∗ = {0}.
I Rn+ = {x ∈ Rn : x ≥ 0} se numeste conul orthant si este
auto-dual in raport cu produsul scalar uzual hx, y i = x T y , i.e.
(Rn+ )∗ = Rn+ .
Multimi convexe
Con pozitiv semidefinit: multime formata din matrice pozitiv
n = X ∈ Rn×n : X = X T , X  0

semidefinite, notatie S+

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

• Observatie: conul S+n este auto-dual, i.e. S n = (S n )∗ in raport


+ +
cu produsul scalar hX , Y i = Trace(XY )
Multimi convexe
Operatii ce conserva convexitatea:
I intersectia: fiind data o familie de multimi convexe {Si }i∈I ,
T
atunci i∈I Si este o multime convexa
I suma si scalarea: fiind date doua multimi S1 , S2 , atunci
S1 + S2 = {x + y : x ∈ S1 , y ∈ S2 } este o multime convexa.
Mai mult, αS = {αx : x ∈ S} este convexa daca S este
convexa si α ∈ R
I fie o functie afina f (x) = Ax + b si S multime convexa, atunci
f (S) = {f (x) : x ∈ S}, este convexa. Similar, preimaginea:
f −1 (S) = {x : f (x) ∈ S} este si ea convexa
Exemplu intersectie multimi convexe:
Multimi convexe
Inegalitate matriceala liniara
Pm(LMI): Consideram o functie
G : Rm → S+ n , G (x) = A +
0 i=1 xi Ai , unde xi sunt
componentele unui vector x ∈ Rm , iar matricele A0 , · · · , Am ∈ S n
sunt simetrice.
Expresia G (x)  0 se numeste inegalitate matriceala liniara.
Multimea {x ∈ Rm : G (x)  0} este o multime convexa, fiind o
m prin G (x).
preimagine a lui S+
Exemplu: avem inegalitatea kAk ≤ γ cu γ > 0 si variabila A.
Inegalitatea este echivalenta cu λmax (AT A) ≤ γ 2 sau:

γ 2 I − AT A  0

Prin complementul Schur, aceasta poate fi scrisa ca un LMI:


 
I A
0
AT γ 2 I
Multimi convexe
Teorema de separare prin hiperplane: Fie S1 si S2 convexe iar
S1 ∩ S2 = ∅. Atunci, exista un hiperplan aT x = b, cu a 6= 0,
a ∈ Rn si b ∈ R astfel incat aT x ≥ b oricare ar fi x ∈ S1 si
aT x ≤ b oricare ar fi x ∈ S2 .

Teorema de suport cu un hiperplan: Fie S convexa si


x0 ∈ bd(S) = cl(S) − int(S). Atunci, exista a 6= 0, a ∈ Rn astfel
incât aT x ≥ aT x0 oricare ar fi x ∈ S.
Functii convexe
Domeniu efectiv: notam R̄ = R ∪ {+∞}. O functie scalara
f : Rn → R̄ are domeniul efectiv descris de multimea:
domf = {x ∈ Rn : f (x) < +∞}.
Functie convexa : O functie f este convexa daca domf este o
multime convexa si are loc inegalitatea:
f (αx1 + (1 − α)x2 ) ≤ αf (x1 ) + (1 − α)f (x2 )
pentru orice x1 , x2 ∈ domf si α ∈ [0, 1]
• Daca in plus
f (αx1 + (1 − α)x2 ) < αf (x1 ) + (1 − α)f (x2 ),
∀x1 6= x2 ∈ domf si α ∈ (0, 1), atunci f functie strict convexa
• Daca exista o constanta σ > 0 astfel incat
σ
f (αx1 + (1 − α)x2 ) ≤ αf (x1 ) + (1 − α)f (x2 ) − α(1 − α)kx1 − x2 k2 ,
2
∀x1 , x2 ∈ domf si α ∈ [0, 1], atunci f functie tare convexa
Functii convexe
• Exemplu de functie convexa f : R → R, f (x) = x 2
f(x)=x2
1

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

• Alte exemple de functii convexe


I Functia definita de orice norma este convexa, i.e. f (x) = kxk
este convexa pe Rn (folositi definitia).
I Functia f (x) = − log(x) este convexa pe R++ .
I Functia f (x) = max{x1 , . . . , xn } este convexa pe Rn .
I Functia f (X ) = − log det(X ) este convexa pe spatiul
matricelor pozitiv definite S++n (dificil de aratat!).
• Ineg alitatea lui Jensen este o generalizare a convexitatii: f
este convexa daca si numai daca domf este convexa si
p p
!
X X
f αi x i ≤ αi f (xi )
i=1 i=1
Pp
pentru orice xi ∈ domf si i=1 αi = 1 cu αi ∈ [0, 1]
• Functie concava: o functie f (x) este concava daca −f (x) este
convexa (e.g. functia f (x) = log(x) este concava pe R++ )
• Remarca: o functie f : Rn → R̄ este convexa daca si numai
daca restrictia domeniului sau la o dreapta (care intersecteaza
domeniul) este, de asemenea, convexa. Cu alte cuvinte, f este
convexa daca si numai daca oricare ar fi x ∈ domf si o directie
d ∈ Rn , functia scalara g (t) = f (x + td) este convexa pe domeniul
{t ∈ R : x + td ∈ domf }.
Functii convexe
• Exemplu restrictie domeniu la o dreapta: fie functia
f (X ) = −log detX
n
avand domeniul de definitie domf = S++
n si D ∈ S n :
Avem pentru orice X ∈ S++
 1 1

g (t) = −log det(X + tD) = −log det X − log det I + tX − 2 DX − 2
n
X
= −log det X − log (1 + tλi ),
i=1
1 1
unde λi sunt valorile proprii ale lui X − 2 DX − 2 . Din moment ce
− log(t) este functie convexa, rezulta ca g (t) este functie convexa
si implicit f (X ) este convexa.
• Reamintim ca pentru o matrice X ∈ S n din DVS avem:
X = UΣU T , unde U ortogonala, i.e. U T U = In . Atunci definim
1/2
Σ1/2 = diag(σi ) si
X 1/2 = UΣ1/2 U T
Functii convexe
Multimi subnivel si epigraful functiei.
• Convexitate multimii subnivel
Pentru un scalar c ∈ R, multimea subnivel {x ∈ domf : f (x) ≤ c}
a unei functii convexe f : Rn → R este convexa.
• Epigraful functiei
Fie f : Rn → R, atunci epigraful (numit si supragrafic) functiei
este definit ca fiind urmatoarea multime:
n o
epif = [x T t]T ∈ Rn+1 : x ∈ domf , f (x) ≤ t .
• Rezultat: o functie f : Rn → R este convexa daca si numai daca
epigraful sau este o multime convexa.
Functii convexe
Conditii de convexitate pentru functii continuu diferentiabile.
Conditii de ordinul I: daca f : Rn → R̄ este continuu
diferentiabila si domf este o multime convexa. Atunci, f este
convexa daca si numai daca:

f (x2 ) ≥ f (x1 ) + ∇f (x1 )T (x2 − x1 ) ∀x1 , x2 ∈ domf .


Functii convexe
Conditii de convexitate pentru functii continuu diferentiabile.
Conditii de ordinul II: daca f : Rn → R̄ este de doua ori continuu
diferentiabila si domf este multime convexa. Atunci f este convexa
daca si numai daca pentru orice x ∈ domf matricea Hessiana este
pozitiv semidefinita, adica:
∇2 f (x)  0 ∀x ∈ domf .
Functii convexe

Exemplu conditii de ordin I si II:


I Functia f (x) = − log(x) este convexa pe
R++ = {x ∈ R : x > 0} deoarece ∇2 f (x) = x12 > 0 oricare ar
fi x > 0.
I Functia patratica f (x) = 12 x T Qx + q T x + r este convexa pe
Rn daca si numai daca Q  0, deoarece pentru orice x ∈ Rn
Hessiana ∇2 f (x) = Q (daca Q este simetrica).
I Se observa ca orice functie afina este convexa si, de asemenea,
concava.
I Conditia domf multime convexa impusa in toate teoremele
precedente este necesara. De exemplu, consideram functia
f (x) = 1/x 2 avand domf = R \ {0} multime neconvexa.
Observam ca Hessiana ∇2 f (x) = x64  0, dar functia nu este
convexa.
Functii convexe
Operatii ce conserva convexitatea functiilor:
I Daca f1 si f2 sunt functii convexe si α1 , α2 ≥ 0 atunci
α1 f1 + α2 f2 este de asemenea convexa.
I Daca f este convexa atunci g (x) = f (Ax + b) (adica
compunerea unei functii convexe cu o functie afina) este de
asemenea convexa:
1 1 1
kAx − bk2 = x T AT Ax − b T Ax − b T b
2 2 2
I Fie f : Rn × Rm → R astfel incât functia f (·, y ) este convexa
pentru orice y ∈ S ⊆ R m . Atunci urmat̆oarea functie este
convexa:
g (x) = sup f (x, y ).
y ∈S
I Compunerea cu o functie convexa monotona unidimensionala:
daca f : Rn → R este convexa si g : R → R este convexa si
monoton crescatoare, atunci functia g ◦ f : Rn → R este de
asemenea convexa.
Functii tari convexe

• Daca domf convex si exista o constanta σ > 0 a.i.


σ
f (αx1 + (1 − α)x2 ) ≤ αf (x1 ) + (1 − α)f (x2 ) − α(1 − α)kx1 − x2 k2 ,
2
∀x1 , x2 ∈ domf si α ∈ [0, 1], atunci f functie tare convexa
Lema 1: Fie o functie continuu differentiabila f (i.e. f ∈ C 1 ),
atunci relatia de convexitate tare este echivalenta cu:
σ
f (y ) ≥ f (x) + h∇f (x), y − xi + kx − y k2 ∀x, y
2
Lema 2: In cazul functiilor de doua ori diferentiabile (i.e. f ∈ C 2 ),
relatia de convexitate tare este echivalenta cu:

∇2 f (x)  σIn ∀x ∈ domf


Convexitate tare
• Daca f este tare convexa atunci:
σ
f (y ) ≥ f (x) + ∇f (x)T (y − x) + ky − xk2
2

• Daca domf = Rn , atunci f are un punct de minim global unic:


σ 1
kx − x ∗ k2 ≤ f (x) − f ∗ ≤ k∇f (x)k2
2 2σ
• Mai mult functia
σ
f (x) − kxk2 este convexa
2
Convexitate tare - exemplu

Fie f : Rn → R o functie patratica, i.e.


1
f (x) = x T Qx + hq, xi.
2
Observam expresia Hessianei ∇2 f (x) = Q

In concluzie, pentru functiile patratice, cu Q  0, constanta de


convexitate tare este:
σ = λmin (Q)
Exemplu: daca Q = diag([q1 q2 ]), cu q1 > q2 > 0, atunci
constanta de convexitate tare este σ = q2 .
Functii conjugate
Fie functia f : Rn → R, atunci functia conjugata, notata cu f ∗ , se
defineste prin
f ∗ (y ) = max y T x − f (x) .
x∈dom f | {z }
F (x,y )

Functia f∗ este convexa indiferent de proprietatile lui f .


Exemple:
I Pentru functia patratica convexa f (x) = 12 x T Qx, unde Q  0,
functia conjugata are expresia:
1
f ∗ (y ) = y T Q −1 y .
2
I Pentru functia f (x) = − log x, conjugata sa este data de
expresia:
(
∗ −1 − log(−y ) daca y < 0
f (y ) = sup(xy + log x) =
x>0 ∞ altfel.
Tehnici de Optimizare
Curs III
Metode de optimizare unidimensionala

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.

αk = arg min f (xk + αdk )


α
Cautare unidimensionala

Astfel, studiem metode de cautare unidimensionala, i.e. pentru


functii obiectiv-unidimensionale f : R → R

min f (α)
α∈R

Pentru punctul de optim folosim notatia

α∗ = arg min f (α)


α∈R

Algoritmi de optimizare unidimensionala se bazeaza pe una din


urmatoarele strategii:
I Cautare directa
I Interpolare: aproximarea lui f (x) printr-un polinom folosind
valorile functiei si/sau derivatele ei in anumite puncte.
Cautare directa
Cautarea directa: este bazata pe urmatorii pasi
I Se identifica un interval initial [a0 , b0 ] care sa il contina pe α∗
I Intervalul initial se reduce iterativ [ak , bk ] → [ak+1 , bk+1 ] pana
cand se satisface o toleranta impusa pentru a localiza α∗
Determinarea intervalului initial de cautare: metoda
forward-backward (determina un interval in care functia obiectiv
are forma convexa)
Metoda presupune urmatorii pasi: fie un punct initial α0 si
lungimea pasului h0 > 0
I daca f (α0 + h0 ) < f (α0 ), atunci se incepe din punctul
α0 + h0 si se continua cu o lungime a pasului mai mare cat
timp valoarea functiei creste;
I daca f (α0 + h0 ) > f (α0 ), atunci ne deplasam din α0 inapoi
pana cand valoarea functiei creste.
Metoda forward-backward
Metodele de cautare unidimensionale se bazeaza pe unimodalitatea
functiei: Daca exista α∗ ∈ [a, b] astfel incat f este strict
descrescatoare pe intervalul [a, α∗ ] si strict crescatoare pe
intervalul [α∗ , b], atunci f se numeste functie unimodala pe
intervalul [a, b].
Teorema: fie f unimodala pe [a, b] si fie doi scalari α1 , α2 ∈ [a, b],
cu α1 < α2 . In acest caz:
(i) daca f (α1 ) ≤ f (α2 ), atunci [a, α2 ] este interval de
unimodalitate pentru f ;
(ii) daca f (α1 ) ≥ f (α2 ), atunci [α1 , b] este interval de
unimodalitate pentru f .
Metoda forward-backward

Folosing unimodalitatea, metoda forward-backward are urmatorii


pasi (presupunem ca α∗ ∈ R+ )
Pas 1. fie un α0 ∈ [0, ∞), h0 > 0 si coeficientul multiplicativ
t > 1 (adesea se alege t = 2). Evaluam f (α0 ) = f0 si k = 0;
Pas 2. Comparam valorile functiei obiectiv. Actualizam
αk+1 = αk + hk si evaluam fk+1 = f (αk+1 ). Daca fk+1 < fk ,
sarim la Pas 3; altfel, sarim la Pas 4;
Pas 3. Pas forward. Actualizam hk+1 = thk , a = αk ,
η = αk+1 , b = a + hk+1 . Daca f (b) ≥ f (η), atunci stop si
returneaza [a, b]; altfel a = η, η = b, sarim la Pas 2;
Pas 4. Pas backward: η = αk , b = αk+1 , hk+1 = thk ,
a = b − hk+1 . Daca f (a) ≥ f (η), atunci stop si returnam
[a, b]; altfel, b = η, si η = a, sarim la Pas 2.
Metoda forward-backward

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak alphak=0.400000
alphak+1 alphak+1=0.400100
1.5 k=0
h=0.000100

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak alphak=0.400100
alphak+1 alphak+1=0.400300
1.5 k=1
h=0.000200

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak alphak=0.400300
alphak+1 alphak+1=0.400700
1.5 k=2
h=0.000400

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak alphak=0.400700
alphak+1 alphak+1=0.401500
1.5 k=3
h=0.000800

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak alphak=0.401500
alphak+1 alphak+1=0.403100
1.5 k=4
h=0.001600

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak alphak=0.403100
alphak+1 alphak+1=0.406300
1.5 k=5
h=0.003200

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak alphak=0.406300
alphak+1 alphak+1=0.412700
1.5 k=6
h=0.006400

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak=0.412700
alphak
alphak+1=0.425500
1.5 alphak+1 k=7
h=0.012800

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak=0.425500
alphak alphak+1=0.451100
1.5 k=8
h=0.025600
alphak+1
1

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak=0.451100
alphak+1=0.502300
1.5 k=9
h=0.051200
alphak
1

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak=0.502300
alphak+1=0.604700
1.5 k=10
h=0.102400

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
alphak=0.604700
alphak+1=0.809500
1.5 k=11
h=0.204800

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

Exemplu metoda forward-backward pentru


f (α) = sin(2πα) + cos(5πα)
2
f(x)
a=0.604700
1.5 b=0.809500

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

Metoda sectiunii de aur utilizeaza implicit unimodalitatea unei


functii.
Consideram functia f unimodala pe un interval initial [a1 , b1 ] La
iteratia k, metoda sectiunii de aur determina intervalul
[ak+1 , bk+1 ] (mai mic decat [ak , bk ]) astfel incat
α∗ ∈ [ak+1 , bk+1 ].
Consideram doua puncte λk , µk ∈ [ak , bk ] unde λk < µk si
calculam f (λk ) şi f (µk ).
In functie de relatia dintre f (λk ) si f (µk ) alegem noul interval. Din
teorema unimodalitatii rezulta
(i) Daca f (λk ) ≤ f (µk ) atunci ak+1 = ak si bk+1 = µk ;
(ii) Daca f (λk ) > f (µk ) atunci ak+1 = λk si bk+1 = bk .
Intrebare: cum alegem acum λk si µk ?
Raspuns: impunem conditiile
1. distantele de la λk si respectiv µk la capetele intervalului
[ak , bk ] sunt egale:

bk − λk = µk − ak . (1)

2. rata de micsorare a lungimii intervalelor de incertitudine la


fiecare iteratie este aceeasi, rezultand

bk+1 − ak+1 = τ (bk − ak ), unde τ ∈ (0, 1). (2)

3. este necesara o singura evaluare a functiei obiectiv pentru o


noua iteratie.
Conditia 1: distantele de la λk si respectiv µk la capetele
intervalului [ak , bk ] sunt egale:

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)

Noul interval este [ak+1 , bk+1 ] = [ak , µk ].


Pentru a reduce intervalul, calculam λk+1 si µk+1 .
Conditie: o singura evaluare a functiei este necesara per iteratie.
Idee: impunem µk+1 = λk .
Astfel, din (4) avem:

µk+1 = ak+1 + τ (bk+1 − ak+1 ) = ak + τ (µk − ak )


= ak + τ (ak + τ (bk − ak ) − ak ) = ak + τ 2 (bk − ak ).(5)

Din µk+1 = λk , (5) si (3) avem τ 2 = 1 − τ .



Din τ 2 = 1 − τ , τ > 0 rezulta τ = 5−1 ∼
= 0.618 (numarul de aur)
2
Astfel, metoda sectiunii de aur consta in:
Pas 1. Determinam [a1 , b1 ], alegem precizie δ.
Calculam λ1 = a1 + 0.382(b1 − a1 ), µ1 = a1 + 0.618(b1 − a1 ),
evaluam f (λ1 ) si f (µ1 ), initializam k = 1.
Pas 2. Daca f (λk ) > f (µk ) → Pas 3; altfel → Pas 4.
Pas 3. Daca bk − λk ≤ δ, stop si returnam µk ; altfel iteram:

ak+1 = λk , bk+1 = bk , λk+1 = µk


f (λk+1 ) = f (µk ), µk+1 = ak+1 + 0.618(bk+1 − ak+1 ).

Evaluam f (µk+1 ) si iteram k = k + 1. Revenim la Pas 2.


Pas 4. Daca µk − ak ≤ δ, ne oprim si returnam λk ; altfel iteram:

ak+1 = ak , bk+1 = µk , µk+1 = λk ,


f (µk+1 ) = f (λk ), λk+1 = ak+1 + 0.382(bk+1 − ak+1 ).

Evaluam f (λk+1 ) si iteram k = k + 1. Revenim la Pas 2.


Sectinea de aur
Numarul de aur

1+ 5 1
= 1.6180339... = 1 + 1
2 1 + 1+ 1
1
1+ 1+···

considerat de grecii antici ca valoarea cea mai estetica a raportului


intre doua laturi adiacente ale unui dreptunghi (proportiile in
Parthenon)
Metoda Sectiunii de Aur

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Exemplu metoda sectiunii de aur pentru


f (α) = sin(2πα) + cos(5πα)
2.5

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

Impunem o toleranta asupra lungimii intervalului final: bk − ak ≤ 


Luand in considerare:
F1 F1 F 2 Fk−1 1
bk −ak = (bk−1 −ak−1 ) = ··· (b1 −a1 ) = (b1 −a1 ),
F2 F2 F 3 Fk Fk

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 )

Metoda sectiunii de aur: convergenta liniara!


• Metoda lui Fibonacci: rata de reductie a intervalului este
variabila FFk+1
k
. Dupa k iteratii fixate lungimea intervalului este

1
bk − ak = (b1 − a1 )
Fk
√ k √ 
 
 k
√1 1+ 5 1− 5
Dar Fk = 5 2 − 2

Metoda lui Fibonacci este optima in clasa metodelor de cautare


Metode de Interpolare
Aproximeaza functia f cu un polinom de ordin doi sau trei, ce are
valori identice cu derivatele functiei in anumite puncte si in final,
calculeaza valoarea α ce minimizeaza polinomul.
Metoda Newton: presupune cunoasterea derivatelor de ordinul I
si II ale functiei: se da f 0 (α) si f 00 (α) la fiecare iteratie.
Cu cele doua derivate intr-un punct αk cunoscute f 0 (αk ) si
f 00 (αk ), se construieste un polinomul interpolant de grad doi
(aproximarea Taylor de ordin II):
1
q(α) = f (αk ) + f 0 (αk )(α − αk ) + f 00 (αk )(α − αk )2
2
Punctul urmator, αk+1 se calculeaza ca minimul polinomului
interpolant minα∈R q(α):
f 0 (αk )
q 0 (αk+1 ) = 0 ⇒ αk+1 = αk −
f 00 (αk )
Observatie: nu este nevoie sa se stie f (αk )
Metode de Interpolare
Teorema de convergenta locala patratica: 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 lui Newton converge
patratic la α∗ , i.e.
|αk+1 − α∗ |
lim = β, cu β > 0
k→∞ |αk − α∗ |2

Exemplu de pas metoda Newton:


Pas Newton
2.5
f(α)
2 q(α)

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

ordinul τ = (1 + 5)/2 = 1.618, i.e.:


|αk+1 − α∗ |
lim = β, cu β > 0
k→∞ |αk − α∗ |1.618

Exemplu de pas metoda falsei pozitii:


NLP - implementare Matlab
Pentru problema NLP unidimensionala:
min f (x)
x∈R
se foloseste functia din Matlab fminbnd, avand sintaxa:
x = fminbnd(objfun, xl, xu, optiuni)
unde objfun reprezinta functia obiectiv ce trebuie furnizata ca o
variabila de tip function handle; xl, xu ∈ R reprezinta intervalul de
cautare al minimului; optiuni reprezinta setul de optiuni specific
fiecarei rutine MATLAB.
Exemplu: fie problema de optimizare unidimensionala:
= e x (4x 2 + 2x)

min f (x)
x∈R
Rulati urmatorul cod in matlab:
objfun = @(x) exp(x) ∗ 4 ∗ x 2 + 2 ∗ x


xl = −1; xu = 1;
optiuni = optimset(’Display’,’off’);
[x, fval] = fminbnd(objfun, xl, xu, optiuni)
Cerinte tema

Fiecare student alege o aplicatie a.i. sa se modeleze ca o probleme


de optimizare. Cerinte:
I descrieti in detaliu aplicatia aleasa
I dati formularea matematica ca o problema de optimizare
I utilizati cel putin 2 algorithmi de optimizare dati la curs
pentru rezolvarea ei
I dati codul Matlab pentru cei 2 algoritmi
I comparati rezultatele cu functii Matlab (ex. fminbnd,
fminunc, fmincon); comparati de asemenea cu CVX (bonus!).
I comparati si comentati rezultatele obtinute (grafice, tabele,
timpi, etc)
Tehnici de Optimizare
Curs IV
Conditii de optimalitate pentru (UNLP)

Ion Necoara

2014
Notiuni introductive

Consideram problema de optimizare:

(UNLP) : minn f (x)


x∈R

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

Interpretare: daca d directie de descrestere a lui f in x atunci


functia descreste in vecinatatea lui x. Intr-adevar, exista t > 0
suficient de mic a.i. din continuitatea gradientului avem:
∇f (x + τ d)T d < 0 ∀τ ∈ [0, t]
Din aproximarea Taylor avem ca exista θ ∈ [0, t] a.i.:
f (x + td) = f (x) + ∇f (x + θd)T d < f (x)
Conditii necesare de ordinul I pentru (UNLP)

directie de descrestere d : ∇f (x)T d < 0


5

4.5

3.5 d
x
2
3

2.5

1.5 ∇f

1
0 1 x1 2 3 4

Teorema (Conditii necesare de ordinul I): Fie f ∈ C 1 si


x ∗ ∈ domf un punct de minim local al (UNLP). Atunci avem:

∇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:

∇f (x ∗ + τ d)T d = −∇f (x ∗ − τ ∇f (x ∗ ))T ∇f (x ∗ ) < 0

In plus, exista θ ∈ [0, t] ce satisface:

f (x ∗ − t∇f (x ∗ )) = f (x ∗ ) − t∇f (x ∗ − θ∇f (x ∗ ))T ∇f (x ∗ ) < f (x ∗ )

Ultima inegalitate contrazice ipoteza initiala, i.e. x ∗ este punct de


minim local.
Conditii de ordinul I - Puncte stationare
Punctele x ∗ ∈ domf ce satisfac conditiile necesare de ordinul I
∇f (x ∗ ) se numesc puncte stationare si se pot imparti in:
I puncte de minim (globale si locale)
I puncte de maxim (globale si locale)
I puncte sa (de inflexiune)

Observatie: Pentru a gasi punctele stationare trebuie rezolvat


sistemul de n ecuatii neliniare cu n necunoscute: ∇f (x) = 0.
Conditii de ordinul I - Exemplu
Consideram problema (UNLP):
 
2 1
min f (x) = x1 + x1 x2 + 5x2 sin(x1 )
x∈R2 2
Pentru a gasi punctele stationare rezolvam sistemul ∇f (x) = 0:

2x1 + 0.5x2 + 5x2 cos x1 = 0 si 0.5x1 + 5 sin x1 = 0

Punctele stationare apartin multimii {(0, 0), (−3.499, −1.672),


(3.499, 1.672), (−5.679, 2.461), (5.679, −2.461)}.
Analiza punctelor: consideram punctul (0, 0).
I daca alegem (x1 , x2 ) in jurul lui (0, 0), cu x1 > 0 si x2 = −2x1
obtinem f (x1 , x2 ) < 0 = f (0, 0)
I daca alegem (x1 , x2 ) in jurul lui (0, 0), cu x2 = 0, avem
f (x1 , x2 ) > 0 = f (0, 0)
Concluzie: (0, 0) punct de inflexiune.
Ce tip sunt restul punctelor stationare? Cum putem analiza natura
punctelor in cazul problemelor de mari dimensiuni?
Conditii necesare de ordinul II pentru (UNLP)

Dupa cum am vazut anterior, natura punctelor stationare nu poate


fi stabilita utilizand doar informatie de ordinul I ⇒ pentru a stabili
ca un punct stationar este punct de extrem (minim sau maxim)
este necesara informatie despre Hessiana.

Teorema (Conditii necesare de ordinul II): Fie f ∈ C 2 si


x ∗ ∈ domf un punct de minim local al problemei (UNLP). Atunci
avem:
∇2 f (x ∗ ) < 0.
Conditii necesare de ordinul II - Demonstratie

Demonstratie: Presupunem prin absurd ca pentru un x ∗ punct de


minim local avem ca ∇2 f (x ∗ ) < 0 nu este satisfacuta si drept
urmare ∃d a.i. d T ∇2 f (x ∗ )d < 0.
Datorita continuitatii lui ∇2 f ⇒ ∃t > 0 a.i. ∀τ ∈ [0, t] avem:

d T ∇2 f (x ∗ + τ d)d < 0.

Utilizand Teorema lui Taylor ⇒ ∃θ ∈ [0, t] a.i.:

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

Ultima inegalitate contrazice deci ipoteza initiala conform careia x ∗


este punct de minim local.
Conditii suficiente de ordinul II pentru (UNLP)

Teorema (Conditii suficiente de ordinul II): Fie f ∈ C 2 si


x ∗ ∈ domf un punct stationar, i.e. ∇f (x ∗ ) = 0. Daca Hessiana lui
f este pozitiv definita in x ∗ , i.e. ∇2 f (x ∗ )  0, atunci x ∗ este
punct strict de minim local al problemei (UNLP).
Conditii suficiente de ordinul II - Demonstratie

Demonstratie: Notand cu λmin > 0 valoarea proprie minima a


Hessianei ∇2 f (x ∗ ) avem:

d T ∇2 f (x ∗ )d ≥ λmin kdk2 ∀d ∈ Rn .

Folosind in continuare aproximarea Taylor putem scrie:


1
f (x ∗ + d) − f (x ∗ ) = ∇f (x ∗ )T d + d T ∇2 f (x ∗ )d + R kdk2

2
2
!
λmin λmin R kdk
kdk2 + R kdk2 = kdk2 ≥ 0

≥ +
2 2 kdk2

pentru orice d ∈ Rn suficient de mic (reamintim ca avem relatia


R(kdk2 )
lim kdk2
= 0). Deci x ∗ este punct de minim local.
kdk→0
Conditii de ordinul II - Tipul punctelor de extrem

Ca o consecinta a conditiilor suficiente de ordinul II, putem stabili


natura unui punct stationar x ∗ in functie de proprietatile Hessianei,
astfel:
I punct de minim local ⇐⇒ ∇2 f (x ∗ )  0
I punct de maxim local ⇐⇒ ∇2 f (x ∗ ) ≺ 0
I punct de inflexiune ⇐⇒ ∇2 f (x ∗ ) este indefinita (atat valori
proprii negative cat si pozitive)
I in cazul in care ∇2 f (x ∗ ) este singulara nu se poate preciza
natura punctului
Conditii de ordinul II - Exemplu
Consideram problema (UNLP):
 
1 2 2 3
min f (x) = x1 + x1 x2 + 2x2 − 4x1 − 4x2 − x2
x∈R2 2

Pentru a gasi punctele stationare rezolvam sistemul de doua ecuatii


neliniare ∇f (x) = 0:

x1 + x2 − 4 = 0 si x1 + 4x2 − 4 − 3x22 = 0.

Obtinem ca multimea punctelor stationare ale problemei este


{(4, 0), (3, 1)}.
Pentru a observa natura acestora evaluam Hessiana:
 
2 1 1
∇ f (x) = .
1 4 − 6x2

Deducem de aici ca (4, 0) este punct de minim local iar (3, 1) de


inflexiune.
Conditii de ordinul II - Exemplul 2
Consideram problema (UNLP):
= (x1 − 2)2 + (x1 − x22 )2

min f (x)
x∈R2

Din figura alaturata putem observa ca aceasta problema are doua


puncte de minim si unul de inflexiune.

Cum putem gasi si stabili natura acestor puncte?


Conditii suficiente - Cazul convex
Sub presupunerea suplimentara ca f este o functie convexa vom
arata ca in acest caz conditiile necesare de ordinul I sunt si
suficiente:

Teorema (Conditii suficiente de ordinul I pentru cazul


convex): Fie f ∈ C 1 o functie convexa. Daca x ∗ este un punct
stationar , i.e. ∇f (x ∗ ) = 0, atunci x ∗ este punct de minim global
al problemei (UNLP).

Demonstratie: Folosind proprietatea de convexitate a lui f putem


scrie:

f (x) ≥ f (x ∗ ) + ∇f (x ∗ )T (x − x ∗ ) = f (x ∗ ) ∀x ∈ Rn .
| {z }
=0

Concluzie: orice punct de minim local al unei probleme convexe


este punct de minim global!
Probleme convexe sunt mult mai usor de rezolvat!
Cazul convex - Exemplu

Consideram problema (UNLP) convexa:


 
4 2 1 2
min f (x) = x1 + 2x1 − x1 x2 + x2 .
x∈R2 2
In continuare obtinem ca ∇f (x) si ∇2 f (x) au urmatoarele expresii:

4x13 + 4x1 − x2 12x 2 + 4 −1


   
2
∇f (x) = si ∇ f (x) = .
−x1 + x2 −1 1

Observam ca ∇2 f (x)  0 ∀x ∈ R2 deci f este convexa.


Conform conditiilor suficiente de ordinul I, solutiile sistemului
∇f (x) = 0 sunt puncte de minim global ale problemei (UNLP) ⇒
(0, 0) punct de minim global.
Tehnici de Optimizare
Curs V
Convergenta metodelor de descrestere

Ion Necoara

2014
Optimizarea matematica numita adesea
“Science of the Better”
(UNLP)

Problema de optimizare neliniara fara constrangeri

(UNLP) : f ∗ = minn f (x)


x∈R

Conditiile de ordinul I: ∇f (x) = 0 (n ecuatii cu n necunoscute)

Exemplu (QP):
min 0.5x T Qx − q T x,
x∈Rn

I Q matrice inversabila =⇒ ∇f (x) = Qx − q = 0 solutie unica


x ∗ = Q −1 q
I valoarea optima f ∗ = −0.5q T Q −1 q.
Metode numerice de optimizare

(UNLP) : f ∗ = minn f (x)


x∈R

Sistemul de n ecuatii cu n necunoscute ∇f (x) = 0 nu poate fi


rezolvat analitic! =⇒ metode iterative de rezolvare

Algoritm iterativ: genereaza un sir (xk )k≥0 ; fiecare punct calculat


pe baza punctelor anterioare:

xk+1 = M(x0 , · · · , xk )

I algoritm convergent global: pentru orice x0 sirul xk converge


la o solutie x ∗
I algoritm convergent local: pentru orice x0 apropiat de o
solutie x ∗ sirul xk converge la x ∗
Metode numerice de optimizare

(UNLP) : f ∗ = minn f (x)


x∈R

Algoritm iterativ: genereaza un sir de puncte (xk )k≥0 ; fiecare


punct calculat pe baza punctelor anterioare:
xk+1 = M(x0 , · · · , xk )

Algoritmul numeric colecteaza informatie printr-un oracol si


manipuleaza raspunsurile oracolului
I oracol de ordin zero O0 : furnizeaza informatie bazata pe
evaluarea functiei obiectiv f (x)
I oracol de ordin intai O1 : furnizeaza informatie bazata pe
evaluarea functiei obiectiv f (x) si gradientului ∇f (x)
I oracol de ordin doi O2 : furnizeaza informatie bazata pe
evaluarea functiei obiectiv f (x), gradient ∇f (x) si Hessiana
∇2 f (x)
Metode numerice de optimizare
Algoritm de optimizare iterativ gaseste o solutie aproximativa
cu o acuratete prestabilita 

acuratetea  reprezinta si criteriul de oprire al algoritmului


I criteriul de oprire 1: k∇f (xk )k ≤ 
I criteriul de oprire 2: |f (xk ) − f ∗ | ≤ 
I criteriul de oprire 3: kxk+1 − xk k ≤ 
Metoda generica de optimizare
1. se da: punct initial x0 , acuratete  si contor k = 0
2. Ik informatia acumulata de oracol la pasul k; se apeleaza
oracolul O in xk ; se actualizeaza informatia
Ik+1 = Ik ∪ O(xk )
3. se calculeaza xk+1 = M(Ik+1 )
Exemplu (metoda gradient): O(xk ) = ∇f (xk ) =⇒
xx+1 = xk − α∇f (xk ), cu scalar α > 0 ales la pasul initial k = 0
Metode numerice de optimizare
• Complexitatea analitica a algoritmului de optimizare
iterativ: numarul total de apeluri ale oracolului pentru gasirea unei
-solutii

• Rata de convergenta: viteza cu care sirul xk converge la solutia


x ∗ ; ordinul de convergenta q definit ca:

¯ k→∞ kxk+1 − x k < ∞ ⇐⇒ kxk+1 − x ∗ k ≈ βkxk − x ∗ kq
lim ∗
kxk − x kq

I convergenta subliniara: kxk − x ∗ k ≤ kβq


I convergenta liniara (q = 1): kxk+1 − x ∗ k ≤ βkxk − x ∗ k, cu
0<β<1
I convergenta superliniara (q = 1):
kxk+1 − x ∗ k ≤ βk kxk − x ∗ k, cu βk → 0
I convergenta patratica (q = 2): kxk+1 − x ∗ k ≤ βkxk − x ∗ k2 ,
cu β > 0
Rata de convergenta

kxk+1 − x ∗ k ≈ βkxk − x ∗ kq ⇐⇒ distanta se reduce cu q zecimale


I convergenta subliniara: xk = k1 ⇒ (1; 0.5; 0.33; 0.25; 0.2)
I conv. liniara: xk = 31k ⇒ (0.33; 0.11; 0.03; 0.01; 0.004)
I 1
conv. superliniara: xk = 3k! ⇒ (1; 0.16; 0.05; 0.01; 0.002)
I 1
conv. patratica: xk = 2 k ⇒ (0.1; 0.01; 0.001; 0.0002; 0.00001)
3
0
10

−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)

Exemplu: pentru problema minx f (x), definim


S = {x : ∇f (x) = 0} (multimea punctelor stationare) si φ = f (de
obicei o metoda de optimizare alege xk+1 a.i. f (xk+1 ) ≤ f (xk ))

Definitie. O aplicatie punct-multime M : X → 2X este inchisa in


x0 daca pentru orice xk → x0 si yk → y0 cu yk ∈ M(xk ) avem
y0 ∈ M(x0 ). M este inchisa daca este inchisa in toate punctele
din X .

Exemplu: aplicatia punct-multime xk+1 ∈ [−|xk |, |xk |] este inchisa


Convergenta metodelor de optimizare

Theorema de convergenta generala.


Fir sirul xk+1 ∈ M(xk ) iar S multimea solutiilor, satisfacand:
I xk se afla intr-o multime compacta
I M este aplicatie punct-multime inchisa
I exista o functie continua descrescatoare φ pentru (M, S)
Atunci punctele limita ale sirului xk apartin multimii solutiilor S.
Metode de descrestere

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:

panta dorita: c2 ∇ f(xk)Tdk f(x +α d )≤ f(x )+c α ∇ f(x )T d


k k k k 1 k k k

∇ f(xk+αk dk)T dk ≥ c2 ∇ f(xk)T dk


0<c <c <1
1 2

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:

k∇f (x) − ∇f (y )k ≤ Lkx − y k ∀x, y ∈ domf (1)

Lema 1: Relatia de Lipschitz (1) implica

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

∇2 f (x)  LIn ⇐⇒ k∇2 f (x)k ≤ L ∀x ∈ domf


Continuitate Lipschitz
Demonstratie Lema 1: Din teorema valorii medii, pentru orice
x, y avem:
Z 1
f (y ) = f (x) + h∇f (x + τ (y − x)), y − xidτ
0
Z 1
= f (x)+h∇f (x), y − xi+ h∇f (x +τ (y − x))−∇f (x), y −xidτ
0

Evaluand modulul aproximarii liniare, avem

|f (y ) − f (x) − h∇f (x), y − xi|


Z 1
= | h∇f (x + τ (y − x)) − ∇f (x), y − xidτ |
0
Z 1
≤ |h∇f (x + τ (y − x)) − ∇f (x), y − xi|dτ
0
Z 1
L
≤ τ Lkx − y k2 dτ = kx − y k2
0 2
Continuitate Lipschitz - convexitate tare
• Daca f are gradient Lipschitz atunci:
L
f (y ) ≤ f (x) + ∇f (x)T (y − x) + ky − xk2
2

• Daca f este tare convexa atunci:


σ
f (y ) ≥ f (x) + ∇f (x)T (y − x) + ky − xk2
2

• Daca f tare convexa si gradient Lipschitz atunci co-coercivitate:


σL 1
h∇f (y )−∇f (x), y −xi ≥ kx −y k2 + k∇f (y )−∇f (x)k2
σ+L σ+L
Continuitate Lipschitz - Exemplu 1

Fie f : Rn → R o functie patratica, i.e.


1
f (x) = x T Qx + hq, xi.
2
Observam expresia gradientului ∇f (x) = Qx + q.

Aproximam constanta Lipschitz a functiei f :

kQx + q − Qy − qk = kQ(x − y )k ≤ kQkkx − y k = Lkx − y k

In concluzie, pentru functiile patratice constanta Lipschitz este:

L = kQk = |λmax (Q)|

Exemplu: daca Q = diag([q1 q2 ]), cu q1 > q2 > 0, atunci


constanta Lipscithz L = q1 si constanta de convexitate tare σ = q2 .
Continuitate Lipschitz - Exemplu 2

Fie f : Rn → R definita de
 T

f (x) = log 1 + e a x .

Observam expresia gradientului si a matricii Hessiene


T T
ea x ea x
∇f (x) = a ∇2 f (x) = aaT
1 + e aT x (1 + e aT x )2
c
Pentru orice constanta pozitiva c > 0 avem (1+c)2
≤ 14 , deci

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

unde θk este unghiul facut de directia dk cu gradientul ∇f (xk ).


Demonstratie:
Din conditia Wolfe (W2) avem:
(∇f (xk+1 ) − ∇f (xk ))T dk ≥ (c2 − 1)∇f (xk )T dk .
Aplicand inegalitatea Cauchy-Schwartz obtinem:
k∇f (xk+1 ) − ∇f (xk )k · kdk k ≥ (c2 − 1)∇f (xk )T dk .
Din proprietatea de Lipschitz gradient avem:
k∇f (xk+1 ) − ∇f (xk )k ≤ Lkxk+1 − xk k = Lαk kdk k
Convergenta metodelor de descrestere
Demonstratie (continuare):
Inlocuim in relatia anterioara ultima inegalitate:
Lαk kdk k2 ≥ (c2 − 1)∇f (xk )T dk ,
i.e.
c2 − 1 ∇f (xk )T dk
αk ≥ .
L kdk k2
Din conditia Wolfe (W1) avem:
(∇f (xk )T dk )2 c2 − 1
f (xk+1 ) ≤ f (xk ) + c1
kdk k2 L
ceea ce conduce la
f (xk+1 ) ≤ f (xk ) − c cos2 θk k∇f (xk )k2 ,
unde c = c1 (1 − c2 )/L. Insumand de la k = 0 la N − 1 obtinem
N−1
X
f (xN ) ≤ f (x0 ) − c cos2 θj k∇f (xj )k2 .
j=0
In final, tinem cont ca f este marginita inferior si luam N → ∞.
Tehnici de Optimizare
Curs VI
Metode de ordinul I

Ion Necoara

2014
Clasificare metode de optimizare

Informatia ce indica comportamentul unei functii f ∈ Rn → R


intr-un punct x ∈ Rn se poate clasifica:
I Informatie de ordin 0: f (x)
I Informatie de ordin 1: f (x), ∇f (x)
I Informatie de ordin 2: f (x), ∇f (x), ∇2 f (x)
I ...
Fie algoritmul iterativ definit de xk+1 = M(xk ); in functie de
ordinul informatiei utilizate in expresia lui M:
I Metode de ordin 0: f (xk )
I Metode de ordin 1: f (xk ), ∇f (xk )
I Metode de ordin 2: f (xk ), ∇f (xk ), ∇2 f (xk )
I ...
Istoric - Metode de ordinul I

Cea mai “simpla” metoda de ordinul I: Metoda Gradient

I Prima aparitie in lucrarea [1] a lui


Augustin-Louis Cauchy, 1847
I Cauchy rezolva un sistem neliniar
de ecuatii cu 6 necunoscute,
utilizand Metoda Gradient

[1] A. Cauchy. Methode generale pour la resolution des systemes


d’equations simultanees. C. R. Acad. Sci. Paris, 25:536-538, 1847
Istoric - Metode de ordinul I
Rata de convergenta slaba a metodei gradient reprezinta motivatia
dezvoltarii de alte metode de ordin I cu performante superioare

I Metoda de Gradienti Conjugati -


autori independenti Lanczos,
Hestenes, Stiefel (1952)
• QP convex solutia in n iteratii

I Metoda de Gradient Accelerat -


dezvoltata de Yurii Nesterov (1983)

E.g. metoda de gradient accelerat este cu un ordin mai rapida


decat gradientul clasic in cazul problemelor convexe:
2 2
• O( LRk ) → O( LR
k2
) (sublinear - gradient Lipschitz)
• O(( L+σ ) ) → O((1 − σL )k ) (liniar - tare convex + grad. Lip.)
L−σ k
p
Metoda Gradient
Fie functia f : Rn → R diferentiabila.
(UNLP) : min f (x)
x∈Rn
Iteratie Metoda Gradient:
xk+1 = xk − αk ∇f (xk )
Complexitate pe iteratie
O(n) daca evaluarea ∇f (x)
d
este ieftina! Metoda gra- ∇ f(x)

x2
x

dient rezolva probleme de x+α d

109 variabile din motoare de


cautare, procesarea de imagine
(www.acse.pub.ro/person/ion- x1

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

xk+1 = xk − αk ∇f (xk ) x+α d

x1

I Interpretare: iteratia metodei gradient se obtine din


minimizarea unei aproximari patratice a functiei obiectiv f
1
xk+1 = arg minn f (xk ) + h∇f (xk ), x − xk i + kx − xk k2
x∈R 2αk
f(x)

• 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

Teorema 1: Daca urmatoarele conditii sunt satisfacute:


(i) f diferentiabila cu ∇f continuu.
(ii) multimea subnivel Sf (x0 ) = {x ∈ Rn : f (x) ≤ f (x0 )} este
compacta pentru orice punct initial x0
(iii) lungimea pasului αk satisface prima conditie Wolfe (W1),
atunci orice punct limita al sirului xk generat de metoda gradient
este punct stationar pentru problema (UNLP).

Demonstratie: Demonstratia se bazeaza, in principal, pe Teorema


de Convergenta Generala prezentata in cursul precedent.
Continuitate Lipschitz
Fie o functie continuu diferentiabila f (i.e. f ∈ C 1 ), atunci
gradientul ∇f este continuu Lipschitz cu parametrul L > 0 daca:

k∇f (x) − ∇f (y )k ≤ Lkx − y k ∀x, y ∈ domf (1)

Teorema 2: Relatia de Lipschitz (1) implica

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

k∇2 f (x)k ≤ L ∀x ∈ domf


Continuitate Lipschitz - convexitate tare
• Daca f are gradient Lipschitz atunci:
L
f (y ) ≤ f (x) + ∇f (x)T (y − x) + ky − xk2
2

• Daca f este tare convexa atunci:


σ
f (y ) ≥ f (x) + ∇f (x)T (y − x) + ky − xk2
2

• Daca f tare convexa si gradient Lipschitz atunci co-coercivitate:


σL 1
h∇f (y )−∇f (x), y −xi ≥ kx −y k2 + k∇f (y )−∇f (x)k2
σ+L σ+L
Continuitate Lipschitz - Exemplu 1

Fie f : Rn → R o functie patratica, i.e.


1
f (x) = x T Qx + hq, xi.
2
Observam expresia gradientului ∇f (x) = Qx + q.

Aproximam constanta Lipschitz a functiei f :

kQx + q − Qy − qk = kQ(x − y )k ≤ kQkkx − y k = Lkx − y k

In concluzie, pentru functiile patratice constanta Lipschitz este:

L = kQk = λmax (Q)


Continuitate Lipschitz - Exemplu 2

Fie f : Rn → R definita de
 T

f (x) = log 1 + e a x .

Observam expresia gradientului si a matricii Hessiene


T T
ea x ea x
∇f (x) = a ∇2 f (x) = aaT
1 + e aT x (1 + e aT x )2
c
Pentru orice constanta pozitiva c > 0 avem (1+c)2
≤ 14 , deci

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

Teorema 4: Fie f diferentiabila cu ∇f Lipschitz continuu


(constanta Lipschitz L > 0) si marginita inferior. Daca alegem
lungimea pasului αk astfel incat satisface conditiile Wolfe, atunci
sirul xk generat de metoda gradient satisface:

lim ∇f (xk ) = 0.
k→∞

Demonstratie: Se observa ca unghiul gradientului fata de directia


metodei gradient (antigradient) este dat de θk = π.
Din Teorema de Convergenta Globala a metodele de descrestere
avem: X X
cos2 θk k∇f (xk )k2 = k∇f (xk )k2 < ∞.
k≥0 k≥0

Rezulta: ∇f (xk ) → 0 cand k → ∞.


Metoda Gradient-Rata de convergenta I (globala)
Teorema 5:
I Fie f diferentiabila cu ∇f Lipschitz continuu (constanta
Lipschitz L > 0)
I Alegem lungimea pasului αk = L1
Atunci rata de convergenta globala a sirului xk generat de metoda
gradient este subliniara, data de:
1 p
min k∇f (xi )k ≤ √ 2L(f (x0 ) − f ∗ )
0≤i≤k k

Observatie: daca dorim acuratete , i.e. k∇f (x)k ≤  cate iteratii


trebuie sa facem?

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.

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:

kxk+1 − x ∗ k2 = kxk − 1/L∇f (xk ) − x ∗ k2


= kxk − x ∗ k2 − 2/Lh∇f (xk ), xk − x ∗ i + 1/L2 k∇f (xk )k2
   
2σ ∗ 2 1 2
≤ 1− kxk −x k + 2 − k∇f (xk )k2
|{z} σ+L L L(σ+L)
coerciva+∇f (x ∗ )=0 | {z }
≤0
 
L−σ
≤ kxk − x ∗ k2
L+σ
Pe de alta parte, in valoarea functiei (cu gradientLischitz)
kavem:
L Lkx − x ∗ k2 L − σ
0
f (xk ) − f ∗ ≤ kxk − x ∗ k2 ≤
2 2 L+σ
Metoda Gradient- Pas constant α = 1
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 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

= e x1 +3x2 −0.1 + e x1 −3x2 −0.1 + e −x1 −0.1



min f (x)
x∈R2

I functie obiectiv convexa (nu este tare convexa, nu are


gradient Lipschitz pe R2 )
I Metoda Gradient cu pas backtraking / ideal
Alte metode de ordinul I
Rata de convergenta slaba a metodei gradient reprezinta motivatia
dezvoltarii de metode cu performante superioare
I Metoda de Gradient Accelerat (Nesterov 1983) - cu un ordin
mai rapida decat gradientul clasic in cazul problemelor convexe
I Metoda de Gradienti Conjugati (Lanczos, Hestenes, Stiefel
1952) - pentru QP convex solutia in n iteratii
Metoda de Gradient Accelerat
1
xk+1 = yk − ∇f (yk )
L
yk+1 = xk+1 + βk (xk+1 − xk )

unde se iau punctele initiale x0 = y0 si βk ales


√ in√mod adecvat:
e.g. sub convexitate tare putem alege βk = √L− √
L+ σ
σ

Observatie: Costul iteratiei similar cu cel al metodei gradient


clasice!
Metoda Gradient Accelerat
Teorema 8
I Fie f o functie convexa, diferentiabila cu ∇f Lipschitz
continuu (constanta Lipschitz L > 0). Rata de convergenta
globala a sirului xk generat de metoda gradient accelerat este
subliniara, data de:
4Lkx0 − x ∗ k2
f (xk ) − f ∗ ≤
k2
I Daca in plus functia este tare convexa cu constanta σ > 0,
atunci rata de convergenta este liniara, data de:
 r k
∗ ∗ 2 σ
f (xk ) − f ≤ Lkx0 − x k 1 −
L
Metoda gradient accelerat este cu un ordin mai rapida decat
gradientul clasic in cazul problemelor convexe (R = kx0 − x ∗ k):
2 2
• O( LRk ) → O( LRk2
) (sublinear - gradient Lipschitz)
• O(( L−σ k ) → O((1 −
pσ k
L+σ ) L ) ) (liniar - tare convex + grad. Lip.)
Metoda Gradient Accelerat
2 2
• O( LRk ) → O( LR ) versus O(( L−σ k
pσ k
k2 L+σ ) ) → O((1 − L) )

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

atunci L = λmax = kQk si σ = λmin = 1/kQ −1 k


Gradient - Gradient Accelerat (exemplu 1)

 
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

1 1.5 2 2.5 3 1 1.5 2 2.5 3


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 3.6

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

1 1.5 2 2.5 3 3.5 4 1 1.5 2 2.5 3 3.5 4


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

|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 Functia obiectiv are gradient Lipschitz, dar nu e tare convexa


I Doua probleme generate aleator cu m = 104 si n = 103
I Metoda Gradient si Gradient Accelerat cu pas αk = 1/L

Metoda Gradient accelerat nu este o metoda de descrestere!


Machine Learning - Big Data
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

Invatarea Automata (Machine Learning) foloseste Big Data pentru


a potrivi modele mai precise:
I Bioinformatica
I Computer vision
I Recunoasterea vorbirii
I Machine translation
I Recomamdarea de produse, pagini, prieteni (Amazon, Google,
Facebook)
I Clasificare de obiecte (avem poze cu pisici si caini si dorim sa
antrenam un clasificator care poate sa distinga intre cele 2
tipuri de poze; email bun sau spam; soferul e treaz sau
doarme uitandu-ne doar la imagini ale fetei, etc...)
Machine Learning - Big Data
I Problema de optimizare stohastica:

min E [f (x, ξ)]


x∈Rn

I Cadru general:
I f functie (convexa) a.i. f (x) = E [f (x, ξ)]
I f are gradient Lipschitz

I “Aproape toate” problemele de learning pot fi formulate asa:


I functie loss/fitting f (x) = E [f (x, ξ)], cu ξ variabila aleatoare
I Empirical risk minimization (finite sum):
m
1 X
f (x) = f (x, ξi )
m
i=1

I Rezolvate “almost exclusively” prin metode de ordinul I


I Algoritmul Stochastic Gradient Descent este alegerea de facto
pentru problemele de learning!
Exemple
I m numar date de antrenare; ξi sau i: i-a data de antrenare.
I aξi sau ai label (“ground truth”); x estimatorul/predictia
I Least squares (cmmp):
m
1 X T
f (x) = kai x − bk2 + λkxkp (p = 0, 1, 2)
m
i=1
I Support Vector Machine (SVM)
m
1 X
f (w , b) = max(0, 1 − yi (w T ai − b)) + λkw k2
m
i=1
I Cross Entropy Loss (Negativ Log-Likelihood)
m
1 X
f (x) = −ai log(xi ) + (1 − ai ) log(1 − xi )
m
i=1
I Logistic regresion
m
1 X T
f (x) = log(1 + e yi (w ai −b) )
m
i=1
Support vector machine (SVM)

SVM calculeaza un hyperplan care separa cele 2 clase de obiecte

1
min kw k2
w ∈Rn ,d∈R 2
s.t : yi (w T ai − b) ≥ 1 ∀i = 1 : m.

In acest caz invatam parametri x = (w , b) ai hyperplanului


w T a = b care separa cele 2 clase de obiecte. Se poate scrie
echivalent ca empirical risk minimization:
m
1 X
min max(0, 1 − yi (w T ai − b)) +λkw k2
w ∈Rn ,b∈R m | {z }
i=1
L(x,ai ,yi )
Stohastic Gradient Descent

Problema generala de optimizare stohastica:


m
!
1 X
min f (x) := E [f (x, ξ)] sau f (x, ξi )
x m
i=1

Metoda de baza - metoda gradient:

(MG ) : xk+1 = xk − αk ∇f (xk )


m
I MG cere acces la intreg gradientul ∇f (x) = 1 P
m ∇f (x, ξi )
i=1
I dificil de calculat cand m este mare sau datele sosesc “in
streams”
I αk este pas global (learning rate) - dificil de calculat
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

Cadru general:
I functia obiectiv f (x) convexa (variabila alerandom variable
ξ ∈ Ω)
I avem acces la un estimator unbiased al gradientului lui f :

∇f (x; ξ) a.i. ∇f (x) = E[∇f (x; ξ)],

sau in cazul “finite sum” acces la:

∇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

Stochastic gradient descent (SGD) algoritm:

sample ξ k
xk+1 = xk − αk ∇f (xk , ξ k )

I SGD are iteratie simpla: cere doar evaluarea unui gradient


“partial” ∇f (xk , ξ k ), nu intreg gradientul ∇f → de m ori
mai ieftin!
I SGD adecvat pentru aplicatii unde datele sosesc in timp (“in
streams) - learning
I αk pasul (learning rate) este foarte important pentru
convergenta
Rate convergenta SGD - pas constant

Theorem (Descrestere)
Daca f puternic convexa si cu gradient Lipschitz, atunci exsita
M > 0 a.i. sa avem relatia:

E kxk+1 − x ∗ k2
 

≤ E kxk − x ∗ k2 − αk (2 − αk L)E [f (xk ) − f (x ∗ )] + αk2 M 2 .


 

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α)

I convergenta liniara la o regiune in jurul optimului de raza ∼ α


I daca M = 0 convergenta liniara pura!
Rate convergenta SGD - pas variabil
Reamintim problema generala de optimizare stohastica:
m
!
1 X
min f (x) := E [f (x, ξ)] sau f (x, ξi )
x m
i=1

Theorem (Convergenta subliniara)


 
SGD cu pas variabil αk = min L1 , k+1
c
pentru un c > 0 are
convergenta O(1/k) (f puternic convexa si gradient Lipschitz):
 C (k0 , c, R0 )
E kxk − x ∗ k2 ≤

if cσ ≥ 2
k
 C (k0 , c, R0 )
E kxk − x ∗ k2 ≤

if cσ < 2
k 0.5cµ

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

Intre, minibatch SGD (|Jk | ∈ [1, m]): xk+1 = xk −αk |J1k |


P
∇f (xk , ξi )
i∈Jk
GD vrs SGD vrs minibatch-SGD
Metoda Gradientilor Conjugati - Programare Patratica
Fie problema de optimizare patratica neconstransa
1
minn x T Qx − hq, xi
x∈R 2

I Q este matrice simetrica, pozitiv definita: solutia optima


x ∗ = Q −1 q ⇐⇒ rezolvarea sistemului Qx = q
I Definim residul r = Qx − q
I Doi vectori d1 si d2 sunt Q-ortogonali daca d1T Qd2 = 0.
I Daca {d1 , · · · , dn } sunt Q-ortogonali (deci liniar
independenti), atunci exists scalarii αk a.i.
n
X dkT Qx ∗
x∗ = α k dk cu αk =
k=1
dkT Qdk

Theorema: Fie {d0 , · · · , dn−1 } vectori Q-ortogonali. Atunci


pentru orice x0 , sirul xk generat de iteratia
d T rk
xk+1 = xk + αk dk cu αk = − Tk
dk Qdk
converge in n pasi la x ∗ , i.e. xn = x ∗ .
Metoda Gradientilor Conjugati - Programare Patratica
Metoda Gradientilor Conjugati - QP
I Fie x0 ∈ Rn , definim d0 = −∇f (x0 ) = −r0 = −(Qx0 − q)
T
I Actualizam iteratia xk+1 = xk + αk dk , unde αk = − rTk dk
dk Qdk
r T Qdk
I Actualizam directia dk+1 = −rk+1 + βk dk , unde βk = dk+1T
k Qdk
Teorema. Metoda gradientilor conjugati satisface urmatoarele:
I Span{d0 , · · ·,dk } = Span{r0 , · · ·,rk } = Span{r0 , Qr0 , · · ·,Q k r0 }
I dkT Qdi = 0 pentru orice i < k
T r
rkT rk rk+1 k+1
I αk = si βk =
dkT Qdk rkT rk
Deoarece directiile {d0 , · · · , dn−1 } sunt Q-ortogonale, metoda
converge la x ∗ in exact n pasi! Metoda gradient (accelerat) NU
converge in numar finit de pasi la x ∗ pentru QP-uri!
Metoda Gradientilor Conjugati - UNLP
Fie problema de optimizare neconstransa (UNLP)
min f (x)
x∈Rn
Abordare similara: Q = ∇2 f (xk ), rk = ∇f (xk ).
Metoda Gradientilor Conjugati - UNLP
I Fie x0 ∈ Rn , r0 = ∇f (x0 ), d0 = −∇f (x0 )
T
I xk+1 = xk + αk dk , unde αk = − T r2k dk
d ∇ f (x k k )dk
T ∇2 f (x )d
rk+1 k k
I dk+1 = −∇f (xk+1 ) + βk dk , unde βk =
dkT ∇2 f (xk )dk
I dupa n iteratii se inlocuieste x0 = xn si se repeta procesul
In cazul general, Metoda Gradientilor Conjugati nu converge.
Variante imbunatatite ce prezinta convergenta calculeaza αk cu
metoda ideala si βk cu formulele:
T r
rk+1 k+1
I Fletcher-Reeves: βk =
rkT rk
(rk+1 −rk )T rk+1
I Polak-Ribiere: βk =
rkT rk
Program Matlab - metoda gradient cu pas ideal
Algoritmul MG. (Se da punctul de start x0 si acuratetea . Se
calculeaza o -solutie optima pentru problema de optimizare
minx f (x) (= 10x16 + 30x26 + x12 + 50x22 ) cu MG-ideal.)
0. function [·] = MG-ideal(x0, )
1. obj = @(x) 10 ∗ x(1)6 + 30 ∗ x(2)6 + x(1)2 + 50 ∗ x(2)2
2. grad = @(x) [60 ∗ x(1)5 + 2 ∗ x(1); 180 ∗ x(2)5 + 100 ∗ x(2)]
3. x = x0, tg = x0
4. while(norm(grad(x)) > )
1. obj α = @(α) obj(x − α ∗ grad(x))
2. α star = fminbnd(obj α, 0, 1)
3. x = x − α star ∗ grad(x); tg = [tg x]
5. end while
6. x = −0.2 : 0.1 : 0.2; y = −0.2 : 0.1 : 0.2; [X , Y ] = meshgrid(x, y );
7. Z = 10 ∗ X .6 + 30 ∗ Y .6 + X .2 + 50 ∗ Y .2 ;
8. figure; plot(tg (1, :), tg (2, :)); hold on; contour(X , Y , Z );
Program Matlab - metoda gradient cu pas ideal

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:

F (x0 + h) = F (x0 ) + F 0 (x0 )h

Astfel, sa se gaseasca h astfel in-


cat F (x0 + h) = 0, ce conduce la
iteratia :
xk+1 = xk − F 0 (xk )−1 F (xk ) (1)
Metoda originala a lui Newton a fost pur algebrica. In 1669,
Joseph Raphson considera ca F (x) nu trebuie sa fie neaparat
polinom si prezinta forma generala (1) utilizand conceptul de
derivata. De aceea, metoda se numeste metoda Newton-Raphson.
Metoda Newton in Optimizare
Consideram f : Rn → R si problema de optimizare aferenta:

min f (x)
x∈Rn

Din conditiile de optimalitate de ordinul I pentru probleme


neconstranse amintim: x ∗ este punct de minim local daca
∇f (x ∗ ) = 0 si ∇2 f (x ∗ )  0, unde ∇2 f (x ∗ ) denota Hessiana lui
f (x) in punctul x ∗ .

Astfel, pentru a afla x ∗ trebuie sa mai intai aflam solutia ecuatiei:

F (x) = ∇f (x) = 0

• Interpretare: Aplicand metoda lui Newton-Raphson in acest


caz, rezulta iteratia:
−1
xk+1 = xk − ∇2 f (xk ) ∇f (xk )
Metoda Newton in Optimizare
Fiind metoda iterativa, metoda lui Newton se poate scrie drept:

xk+1 = xk + dk
−1
unde dk = − ∇2 f (xk ) ∇f (xk ) se numeste directia Newton

• Interpretare: daca ∇f (x)2  0, atunci hdk , ∇f (xk )i < 0, i.e dk


este o directie de descrestere.
• Interpretare: metoda Newton poate fi obtinuta din aproximarea
Taylor de ordinul doi a functiei obiectiv f :
1
f (xk+1 ) ≈ f (xk )+∇f (xk )T (xk+1 −xk )+ (xk+1 −xk )T ∇2 f (xk )(xk+1 −xk )
2
Urmatoarea iteratie, xk+1 , trebuie sa minimizeze aproximarea
Taylor, de unde rezulta:
1
xk+1 = arg min f (xk ) + ∇f (xk )T (y − xk ) + (y − xk )T ∇2 f (xk )(y − xk )
y
| {z2 }
q(y )
Metoda Newton in Optimizare
Daca ∇2 f (xk )  0, atunci q(y ) este o functie patratica strict
convexa. Din conditiile de optimalitate pentru probleme QP strict
convexe, rezulta:

∇q(y ) = 0 ⇒ ∇f (xk ) + ∇2 f (xk )(y − xk ) = 0

Din moment ce y = xk+1 , prin rezolvarea ecuatiei anterioare in y


rezulta din nou iteratia:

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

Observatie, din moment ce directia Newton dk = xk+1 − xk , atunci


se poate exprima drept:
1
dk = arg min f (xk ) + ∇f (xk )T d + d T ∇2 f (xk )d.
d 2
Din nou, utilizand conditiile de optimalitate, rezulta:
−1
dk = − ∇2 f (xk ) ∇f (xk )
Metoda Newton in Optimizare
Iteratie metoda Newton prin aproximarea patratica Taylor:

f(x)

x x x
k+1 k

Observatie: metoda Newton pentru functii f : R → R este chiar


metoda Newton de interpolare din cursul III:
1
xk+1 = arg min q(x) = arg min f (xk ) + f 0 (xk )(x −xk )+ f 00 (xk )(x −xk )2
x x 2
00
−1 0
= xk − f (xk ) f (xk )
Convergenta locala a Metodei Newton
Teorema (rata de convergenta locala a metodei Newton):
• fie f ∈ C 2 si x ∗ un minim local ce satisface ∇f (x ∗ ) = 0 si
∇2 f (x ∗ )  0
• fie o constanta m > 0 astfel incat: ∇2 f (x ∗ )  mIn
• presupunem ca ∇2 f (x) este Lipschitz cu constanta M > 0, i.e.

k∇2 f (x) − ∇2 f (y )k ≤ Mkx − y k ∀x, y ∈ domf

• presupunem ca punctul initial x0 este suficient de aproape de


x ∗ , i.e. kx0 − x ∗ k ≤ 32 · M
m

Atunci iteratia Newton xk+1 = xk − (∇2 f (xk ))−1 ∇f (xk ) converge


la x ∗ cu rata patratica, i.e.
3M
kxk+1 − x ∗ k ≤ kxk − x ∗ k2 ∀k ≥ 0
2m
Prima demonstratie data de Kantorovich in 1948!
Convergenta locala a Metodei Newton
Demonstratie: x ∗ este un minim local → ∇f (x ∗ ) = 0.
Din teorema lui Taylor in forma integrala avem:
Z 1

∇f (xk ) = ∇f (x ) + ∇2 f (x ∗ + τ (xk − x ∗ ))(xk − x ∗ )dτ .
0

Se obtine:

xk+1 − x ∗ = xk − x ∗ − (∇2 f (xk ))−1 ∇f (xk )


= (∇2 f (xk ))−1 [∇2 f (xk )(xk − x ∗ ) − ∇f (xk ) + ∇f (x ∗ )]
Z 1
= (∇ f (xk )) [∇ f (xk )(xk −x )− ∇2 f (x ∗ +τ (xk −x ∗ ))(xk −x ∗ )dτ ]
2 −1 2 ∗
0
Z 1
= (∇2 f (xk ))−1 [∇2 f (xk )(xk −x ∗ )−∇2 f (x ∗ + τ (xk −x ∗ ))(xk −x ∗ )dτ ]
0
Z 1
= (∇2 f (xk ))−1 [∇2 f (xk ) − ∇2 f (x ∗ + τ (xk −x ∗ ))](xk −x ∗ )dτ .
0
Convergenta locala a Metodei Newton
Deoarece k∇2 f (xk ) − ∇2 f (x ∗ )k ≤ Mkxk − x ∗ k, avem:
−Mkxk − x ∗ kIn  ∇2 f (xk ) − ∇2 f (x ∗ )  Mkxk − x ∗ kIn .
Mai mult, vom avea:
∇2 f (xk )  ∇2 f (x ∗ ) − Mkxk − x ∗ kIn  mIn − Mkxk − x ∗ kIn  0,
sub ipoteza ca kxk − x ∗ k ≤ 2m
3 M, de unde rezulta:
1
0 ≺ (∇2 f (xk ))−1  In .
m − Mkxk − x ∗ k
Concluzionam urmatoarele:
Z 1
kxk+1 − x k = k(∇ f (xk )) k · k ∇2 f (xk )−∇2 f (x ∗ +τ (xk −x ∗ ))dτ k ·
∗ 2 −1
0
Z 1
1
≤ M(1 − τ )kxk − x ∗ kdτ kxk − x ∗ k
m − Mkxk − x ∗ k 0
Z 1
1
≤ M(1 − τ )dτ kxk − x ∗ k2
m − Mkxk − x ∗ k 0
Convergenta locala a Metodei Newton
Prin inductie se arata usor ca daca kx0 − x ∗ k ≤ 2m/3M, atunci
kxk − x ∗ k ≤ 2m/3M pentru orice k ≥ 0.
Observam ca m−Mkx1 k −x ∗ k M 3M
2 ≤ 2m < ∞ si deci obtinem
kxk+1 − x ∗ k ≤ 3M
2m kxk − x ∗ k2 .

Observatii: Consideram f (x) patratica, strict convexa, i.e.


f (x) = 12 x T Qx + q T x, unde Q  0. Din conditiile de optimalitate:

∇f (x ∗ ) = Qx ∗ + q = 0 ⇒ x ∗ = −Q −1 q

Pornind dintr-un punct x0 , si aplicand metoda Newton, rezulta:


−1
x1 = x0 − ∇2 f (x0 ) ∇f (x 0 ) = x0 −Q −1 (Qx0 +q) = −Q −1 q = x ∗ ,

deci pentru probleme patratice strict convexe metoda converge


intr-un singur pas.
Dar metoda Newton necesita calculul inversei ∇2 f (x)−1 , operatie
costisitoare O(n3 ) pentru probleme de dimensiuni mari.
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=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 .

Newton cu pas ideal


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 pas ideal


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 pas ideal


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 pas ideal


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 pas ideal


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 )

Pasul αk se poate alege ideal (i.e. αk = minα≥0 f (xk + αk dk )) sau


prin metoda backtracking

Teorema (convergenta globala a metodei Newton):


• Fie functia obiectiv f ∈ C 2 marginita inferior si cu gradientul
∇f Lipschitz
• Consideram metoda Newton cu pas variabil αk ales prin
backtracking: xk+1 = xk − αk (∇2 f (xk ))−1 ∇f (xk )
• Presupunem ca Hessiana satisface conditia
β1 In  (∇2 f (x))−1  β2 In , unde 0 < β1 ≤ β2 .
Atunci, metoda Newton produce un sir xk cu proprietatea ca
∇f (xk ) → 0.
Metoda Newton versus metoda gradient
• Metoda gradient cu pas αk se obtine prin aproximarea Taylor,
unde insa ∇2 f (xk ) este inlocuita cu α1k In :

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

=⇒ complexitate pe iteratie O(n) plus costul evaluarii ∇f (x)!

• Metoda Newton cu pas αk se obtine prin aproximarea Taylor de


ordin II:

xk+1 = xk − αk (∇2 f (xk ))−1 ∇f (xk )


1
= arg min f (xk )+∇f (xk )T(y −xk )+ (y −xk )T ∇2 f (xk )(y −xk )
y 2αk

=⇒ complexitate pe iteratie O(n3 ) plus costul evaluarii ∇f (x) si


∇2 f (x)!
Metoda Newton vrs. metoda gradient - Matlab

min f (x) (= 10x16 + 30x26 + x12 + 50x22 )


x∈R2

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

%% Metoda Newton cu pas ideal


x=x0;
trajectory n = x0;
while (norm(gradient(x))>eps)
grad = gradient(x);
hess = hessiana(x);
d newton = inv(hess) * grad;
obj α = @(α) obj(x - α * d newton);
α star = fminbnd(obj α, 0, 1);
x = x - α star * d newton;
trajectory n = [ trajectory n x];
end
Metoda Newton vrs. metoda gradient - Matlab (plots)

x = −0.2 : 0.1 : 0.2;


y = −0.2 : 0.1 : 0.2;
[X,Y] = meshgrid(x,y);
Z = 10*X.^6 + 30*Y.^6 + X.^2 + 50*Y.^2;
figure
plot(trajectory g (1,:),trajectory g (2,:),’r+-’,’LineWidth’,3);
hold on
plot(trajectory n(1,:),trajectory n(2,:),’k*--’,’LineWidth’,3);
legend(’Gradient Method’,’Newton Method’);
hold on
contour(X,Y,Z,’ShowText’,’on’,’LineWidth’,2);
end
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

Newton cu pas ideal


0.2

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

Newton cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Gradient cu pas ideal


0.2

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

Newton cu pas ideal

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

Newton cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

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

Gradient cu pas ideal

2 k=13

0.2
1

0 0
0.2
0.1
0
−0.1
−0.2 −0.2
Metode cvasi-Newton

• Avantajul metodei Newton: convergenta extrem de rapida


• Dezavantajul metodei Newton: foloseste informatie de
Hessiana ∇2 f (x) si rezolvarea unui sistem liniar (inversa
−1
∇2 f (xk ) ) ce necesita O(n3 ) operatii
Metode cvasi-Newton
−1 evita calcularea Hessianei: inlocuim
2
∇ f (xk ) cu o matrice Hk ce poate fi calculata mai usor, e.g.
in O(n2 ) operatii, folosind numai informatie de gradient.
Iteratie metodelor cvasi-Newton:

xk+1 = xk − αk Hk ∇f (xk )

unde αk se alege ideal, backtracking sau egal cu 1


Metode cvasi-Newton
Interpretare: din aproximarea Taylor avem:

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


−1
Daca aproximam ∇2 f (xk ) cu matricea Bk+1 = Hk+1 , obtinem
urmatoarea relatie (ecuatia secantei):

∇f (xk+1 ) − ∇f (xk ) = Bk+1 (xk+1 − xk ) (2)

Daca definim aproximarea de ordin II in xk+1 :


1
q(y ) = f (xk+1 )+∇T f (xk+1 )(y −xk+1 )+ (y −xk+1 )T Bk+1 (y −xk+1 )
2
atunci gradientul aproximarii q in xk satisface

∇q(xk ) = ∇T f (xk+1 ) + Bk+1 (xk − xk+1 )


= ∇f (xk )
Metode cvasi-Newton: actualizari de rang I
Strategii de actualizare a matricelor in metodele cvasi-Newton:
Actualizari de rang I:

Bk+1 = Bk + βk uk ukT

Definim:

∆k = xk+1 − xk si δk = ∇f (xk+1 ) − ∇f (xk ).

Din conditia (2) (ecuatia secantei) va rezulta:

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:

Bk+1 = arg min kB − Bk k, (3)


B=B T , B∆k =δk

unde consideram norma kAk = kW 1/2 AW 1/2 kF , cu W δk = ∆k .

Problema are solutie analitica, rezultand metoda (DFP)


Davidon-Fletcher-Powell:
1
Bk+1 = (In −βk δk ∆T T T
k )Bk (In −βk ∆k δk )+βk δk δk , unde βk =
∆T
k δk

−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

unde consideram norma kAk = kW 1/2 AW 1/2 kF , cu W ∆k = δk .

Problema are solutie analitica, rezultand metoda


Broyden-Fletcher-Goldfarb-Shanno (BFGS):
1  
Hk+1 = Hk − T (Hk δk )∆T
k + ∆ k (H k δ k )T
+ βk (∆k ∆T
k )
∆k δ k
δkT δk
 
1
βk = T 1+ T
∆k δk ∆k δk
• daca H0  0 si ∆T 0 δ0 > 0 atunci H1  0 (i.e. updatarile
BFGS pastreaza pozitiv definitatea)
• cost pe iteratie: O(n2 ) plus costul calcularii ∇f (x)
• BFGS cu pas α = 1 pe cazul scalar coincide cu metoda falsei
pozitii
Teorema (rata de convergenta a metodelor cvasi-Newton):
• fie x ∗ un punct ce satisface conditiile suficiente de
optimalitate de ordinul II
• presupunem iteratia forma xk+1 = xk − Hk ∇f (xk )
• Hk este inversabila si satisface conditia Lipschitz:

kHk (∇2 f (xk ) − ∇2 f (y ))k ≤ Mkxk − y k ∀y ∈ Rn ,

si conditia de compatibilitate:

kHk (∇2 f (xk ) − Hk−1 )k ≤ γk (4)

cu 0 < M < ∞ si γk ≤ γ < 1.


• de asemenea, presupunem ca:

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

• cost pe iteratie pentru metoda Newton: O(n3 ) plus costul


calcularii ∇f (x) si ∇2 f (x)
• cost pe iteratie pentru metoda BFGS: O(n2 ) plus costul
calcularii ∇f (x)
Comparatie intre metode de ordin I si II

In era Big Data:


• metoda gradient: converge cel mult liniar si costul pe
iteratie este O(n) (operatii cu vectori) plus evaluarea
gradientului ∇f (x) =⇒ eficient in rezolvarea problemelor de
foarte mari dimensiuni n = 109 =⇒ Metode de Ordinul I sunt
adecvate pentru Big Data!
• metoda Newton: converge patratic si costul pe iteratie este
O(n3 ) (rezolvarea unui sistem liniar) plus evaluarea
gradientului ∇f (x) si Hessianei ∇2 f (x) =⇒ eficient in
rezolvarea problemelor de mici dimensiuni n ≤ 103
• metoda cvasi-Newton: converge superliniar si costul pe
iteratie este O(n2 ) (inmultire matrice-vector) plus evaluarea
gradientului ∇f (x) =⇒ eficient in rezolvarea problemelor de
mari dimensiuni n = 106
Raritate in date si solutie: caz compozit
min fτ (x) (= f (x) + τ kxk1 ) ⇒ f diferentiabila
x∈Rn
Exemplu: sparse data fitting (aproximarea unui set de date cu
functie liniara): set de date (ai , bi ) a.i. bi depinde linear de ai :
bi = aiT x + ei ∀i = 1 : m
cu ei o eroare datorata procesului de sampling ⇒ e.g. CMMP rar
min fτ (x) (= kAx − bk2 + τ kxk1 ) ⇒ A ∈ Rm×n rara
x∈Rn
Aplicatii:
• Magnetic Resonance Imaging (MRI): instrument medical
imagistic folosit pt. scana anatomia si fiziologia unui organism
• Image inpainting: technica de reconstructie imagini degradate
• Image deblurring: instrument de procesare imagine pt
indeparta neclaritatea cauzate de fenomene naturale (miscare)
• Genome-Wide Association study (GWA): comparare ADN
intre 2 grupuri de persoane (cu/fara o boala), in scopul de a
investiga factorii de care depinde o boala
Raritate in date si solutie: abordare

min fτ (x) (= f (x) + τ kxk1 ) ⇒ f diferentiabila


x∈Rn
Aproximam f cu o functie patratica si pastram nealterat τ kxk1 :
1
x k+1=arg minn qτ (x; xk )(= f (xk )+h∇f (x k ), x−x k i+ kx−x k k2Hk +τ kxk1 )
x∈R 2
• Hk = LIn unde L constanta Lipschitz a lui ∇f ⇒ metoda
gradient (accelerat): Nesterov’07
• Hk = diag(L1 , · · · , Ln ), unde Li constanta Lipschitz a lui ∇i f
⇒ metoda gradient pe coordonate: Nesterov’10, Necoara’11
• Hk = ∇2 f (xk ) si inlocuieste functia nediferentiabila kxk1 cu
q
aproximarea diferentiabila (Huber) |xi | ↔ xi2 + µ2 − µ ⇒
metoda Newton: Gondzio’15
Probleme de data fitting cer analiza Big Data (terabytes of data):
trilioane de varibile (n = 1012 ) ⇒ Cray XC30 MPP supercomputer
(ARCHER in Edinburgh este al 25-lea in top 500): 118.080 cores
cu performanta 1.642 TFlops/s on LINPACK benchmark.
Raritate in date si solutie: rezultate (Gondzio’15)
ARCHER (Edinburgh): 25 in top 500 cu 118.080 cores (n = 1012 )

Comparatie metode n = 1012 : gradient pe coordonate paralel


(PCDM), gradient accelerat (FISTA), Newton (pdNCG) cu
gradient conjugat pt. rezolvare aproximativa sistem liniar si
quasi-Newton (PSSgb)
Tehnici de Optimizare
Curs VIII
Probleme de estimare si fitting

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.

Prima expunere concisa a metodei


ii apartine lui Adrien-Marie Legendre
(1805).

1810 ⇒ Pierre Simon Laplace ⇒ teorema


de limita centrala ce ofera o corelatie in-
tre problema CMMP si distributia nor-
mala.
Aplicatia I - estimarea cresterii demografice

“With four parameters I can fit an elephant, and with five I can
make him wiggle his trunk”
von Neumann

Consideram un set de m date (ti , ηi ), unde:


I ti ⇒ anul efectuarii masuratorilor
I ηi ⇒ populatia masurata in anul ti
Pentru aproximarea cresterii demografice este propus un model
exponential de forma:

Mi (x1 , x2 ) = x1 expx2 ti ,

cu x = (x1 , x2 ) reprezentand setul de parametrii ai modelului.


Notam η = [η1 · · · ηm ]T si M(x) = [M1 (x) · · · Mm (x)]T ⇒
estimarea parametrilor functiei cresterii demografice M(x) se
formuleaza ca o problema CMMP neliniara.
Aplicatia II: 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
Pr norm kT· k∗ : daca A are descompunerea
nuclear Pr DVS
A = i=1 σi ui vi , atunci kAk∗ = i=1 σi
I Problema se poate formula cu sau fara restrictii. Cu restrictii:

min rang(X ) =⇒ min kX k∗


z}|{
X ∈Rm×n relaxare convexa X ∈Rm×n
s.l.: Xij = Aij ∀i, j ∈ S s.l.: Xij = Aij ∀i, j ∈ S
unde se dau valorile Aij cu (i, j) ∈ S o submultime a
elementelor matricei cautate
I relaxarea convexa se poate scrie ca un SDP convex:
min tr(W1 ) + tr(W2 )
X ,W1 ,W2
 
W1 X
s.l.: Xij = Aij ∀i, j ∈ S, 0
XT W2
Aplicatia II: matrix completion cont.

I se da o matrice X ∈ Rm×n cu elemente lipsa (ex. imagine)


I se presupune ca matricea X este de rang scazut!
I scopul este sa se gaseasca elementele lipsa din X
I formularea fara restrictii: se impune un rang mic, fixat, r ,
asupra lui X

min kP(X − A)k2 =⇒ min kP(UV T −A)k2


z}|{
X ∈Rm×n ,rang(X )=r relaxare U∈Rm×r ,V ∈Rn×r

unde: P operator liniar de proiectie pe componente


hEij , X − Ai = 0 ⇔ Trace(EijT (X − A)) = 0 ∀i, j ∈ S.

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

In acest caz, functia obiectiv f (x) = 12 kη − Jxk2 este o functie


patratica convexa, avand Hessiana ∇2 f (x) = J T J < 0 iar
problema CMMP liniara devine:
 
1 2
min f (x) = kη − Jxk .
x∈Rn 2
Cum f este convexa, atunci conditiile de optimalitate de ordinul I
∇f (x) = 0 sunt si suficiente ⇒ orice solutie a sistemului
J T Jx − J T η = 0 este punct de minim global a problemei CMMP.
De exemplu, daca rang(J) = n, avem J T J  0, deci:
 −1
J T Jx ∗ − J T η = 0 ⇐⇒ x ∗ = J T J J T η.
Pseudo-inversa Moore-Penrose

Definitie (Pseudo-Inversa Moore-Penrose)


Fie matricea J ∈ Rm×n de rang r , avand descompunerea valorilor
singulare (DVS) data de J = UΣV T . Atunci, pseudo-inversa
Moore-Penrose J + are expresia:

J + = V Σ+ U T ,

unde Σ = diag(σ1 , . . . , σr , 0, . . . , 0), cu σ1 , . . . , σr fiind valorile


singulare ale matricii J, iar Σ+ = diag(σ1−1 , . . . , σr−1 , 0, . . . , 0)
Pseudo-inversa Moore-Penrose (2)

−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 .

Putem observa ca in cazul rang(J) = n, coloanele lui J sunt liniar


independente si deci J T J este inversabila. Analog, pentru
rang(J) = m, JJ T este inversabila.
Problema CMMP - Cazul liniar
Problema CMMP: sistemul liniar Jx = η in cazul general
rang J < min(m, n) se formuleaza in sens CMMP astfel:
(CMMP) : Jx = η ⇔ min kxk
| {z } x∈Rn , kη−Jxk=minim
forma algebrica | {z }
forma optimizare
Teorema. In cazul general r = rang J < min(m, n) pseudosolutia
normala unic determinata a problemei (CMMP) are expresia:
r
X ujT b
x ∗ = J + η = V Σ+ U T η = vj
σj
j=1

Mai mult, daca:


(i) rang J = n atunci problema (CMMP) se rescrie ca
minn kJx − ηk2 a carei solutie este x ∗ = J + η = (J T J)−1 J T η
x∈R

(ii) rang J = m atunci problema (CMMP) se rescrie ca


min
n
kxk2 a carei solutie este x ∗ = J + η = J T (JJ T )−1 η
x∈R :Jx=η
Problema CMMP - Cazul liniar

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

Fie urmatoarea problema de optimizare:


M
1X
min (ηi − x) .
x∈R 2
1=1

In acest caz, putem observa ca η = [η1 · · · ηm ]T si J = [1 · · · 1]T .


Cum J T J = m avem:
 −1 1
J+ = JT J J T = [1 · · · 1] .
m
Rezulta de aici ca punctul de minim x ∗ ⇒ media η̂ a punctelor ηi :
M
1 X
x ∗ = J +η = ηi = η̂.
m
i=1
Exemplul 2 - Regresia liniara
Consideram setul de date {t1 , . . . , tm } si valorile corespunzatoare
{η1 , . . . , ηm }.
Dorim sa gasim vectorul parametrilor x = (x1 , x2 ) a.i. polinomul de
ordinul intai p(t; x) = x1 + x2 t realizeaza predictia lui η la
momentul t. Acesta poate fi gasit rezolvand problema:
m   2
1X 2 1 x 1

min (ηi − p(ti ; x)) = min η−J ,
x∈R2 2 x∈R2 2
x2
i=1
 
1 t1
unde J =  ... ...  . Rezolvand problema se poate obtine solutia
 

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:

Pentru sistemul considerat dispunem de 40 de masuratori


intrare-iesire {u(t), y (t)}:

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)

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).

Gasirea setului de parametrii x = [x1 · · · x5 ]T ai modelului poate fi


realizata prin rezolvarea unei probleme CMMP liniare cu
η = [y (5) y (6) · · · y (40)]T :
 
u(5) u(4) u(3) u(2) u(1)
 u(6) u(5) u(4) u(3) u(2) 
 
J =  u(7) u(6) u(5) u(4) u(3) 
 
 .. .. .. .. .. 
 . . . . . 
u(40) u(39) u(38) u(37) u(36)
Aplicatie - Identificarea sistemelor(3)
Raspunsul modelului estimat:

Raspunsul estimat si raspunsul real


8

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

In cazul J T J inversabila,nmultimea solutiilor


o optime X ∗ contine un
−1
singur punct, i.e. X ∗ = J T J

Jη .
Daca J T J nu este inversabila, atunci o infinitate de solutii:
n o
X ∗ = {x ∈ Rn : ∇f (x) = 0} = x ∈ Rn : J T Jx − J T η = 0 .

Ne intereseaza solutia din X ∗ de norma minima ⇒ min∗ 12 kxk2 .


x∈X
Aceasta solutie este data de x ∗ = J + η si poate fi determinata
rezolvand o problema regularizata CMMP liniara cu o constanta
β > 0 suficient de mica:
 
¯ 1 2 β 2
min f (x) = kη − Jxk + kxk ,
x∈Rn 2 2
CMMP liniare prost conditionate (2)

Solutia problemei poate fi gasita prin rezolvarea sistemului obtinut


din conditiile de optimalitate:
 
∇f¯(x) = J T Jx − J T η + βx = J T J + βIn x − J T η = 0
 −1
⇒ x ∗ = J T J + βIn J T η.

Lema: Pentru o matrice J ∈ Rm×n avem:


 −1
lim J T J + βIn J T = J +.
β→0
CMMP liniare prost conditionate (3)

Demonstratie: Utilizand descompunerea DVS corespunzatoare


matricei J = UΣV T avem:
 −1  −1
J T J + βIn J T = V ΣT Σ + βIn ΣT U T .

Evaluand partea dreapta a ecuatiei obtinem:


 σ1 
σ12 +β
−1  .. 
.

T T
  T
J J + βIn J =V
 σr
U .

 σr2 +β 
0
β

Tinand cont de definitia lui Σ+ si J + se poate observa ca pentru


−1 T
β → 0 avem J T J + βIn J → J +.
Formularea statistica a problemelor CMMP liniare

Problema CMMP liniara poate fi interpretata in sensul determinarii


unui set de parametrii x ∈ Rn ce explica masuratorile perturbate η
in cel mai bun mod.
Pentru η1 , . . . , ηm valori observate ale unei variabile aleatorii avand
densitatea P(η|x) ce depinde de setul de parametrii x, presupunem:

η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

Introdusa de Fischer in 1912 ⇒ gasirea estimatorului de


verosimilitate maxima x ∗ a lui x̄ ce maximizeaza functia de
verosimilitate:
m m
!
Y Y − (ηi − Mi (x))2
P(η|x) = P(ηi |x) = exp .
2σi2
i=1 i=1

In general P(η|x) si log P(η|x) isi ating maximul in acelasi punct


x ∗ ⇒ problema echivalenta:

x ∗ = arg maxn P(η|x) = arg minn − log (P(η|x))


x∈R x∈R
1
= arg minn kS −1 (η − M(x)) k2 ,
x∈R 2

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

Rx = Q T η ⇒ usor de rezolvat, R inf. triungh.


Rezolvarea globala a sistemelor de ecuatii neliniare F (x) = 0, unde
F : Rn → Rm ⇒ NP-hard ⇒ formularea ca o problema CMMP
neliniara si determinarea unui minim local (iterativ). Principiul de
baza consta in aproximarea problemei la fiecare iteratie cu
liniarizarea sa in punctul curent.
Pentru probleme CMMP neliniare de forma:
 
1 2
min f (x) = kF (x)k ,
x∈Rn 2
unde F (x) = η − M(x), metodele des utilizate sunt:
I metoda Gauss-Newton
I metoda Levenberg-Marquardt
Metoda Gauss-Newton (GN)
La fiecare iteratie a metodei GN, fiind dat xk , se realizeaza
urmatoarea actualizare:
1
xk+1 = arg minn k F (xk ) + J(xk )(x − xk ) k2 ,
x∈R 2 | {z }
liniarizarea lui F (x) in xk

unde J(x) = ∂F∂x(x) . Notand F (xk ) = Fk , J(xk ) = Jk si


presupunand ca JkT Jk este inversabila avem echivalent:
1  −1
xk+1 = xk + arg minn kFk + Jk dk2 = xk − JkT Jk JkT Fk .
d∈R 2
−1 T
Observatie: directia dk = − JkT Jk Jk Fk = −Jk+ Fk este
directie de descrestere h∇f (xk ), dk i = −FkT Jk (JkT Jk )−1 JkT Fk ≤ 0

Pentru a asigura convergenta metodei, de obicei se introduce un


pas de lungime αk (ce devine 1 in apropierea minimului local):
 −1
xk+1 = xk − αk JkT Jk JkT Fk .
Aplicatie - estimarea cresterii demografice

Consideram problema de estimare a cresterii demografice printr-o


funtie exponentiala de forma

f (x) = x1 expx2 t,

unde reamintim ca x = (x1 , x2 ) reprezinta setul de parametrii.

Pentru formularea problemei CMMP neliniare avem disponibile un


set de 8 masuratori pentru populatia SUA efectuate intre anii 1815
si 1885:
anul 1815 1825 1835 1845 1855 1865 1875 1885
populatie 8.3 11 14.7 19.7 26.7 35.2 44.4 55.9
Aplicatie - estimarea cresterii demografice(2)
Metoda GN (k=1)
250

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

imaginea data (40% elemente lipsa) si imaginea recuperata


Metoda Levenberg-Marquardt

Reprezinta generalizarea metodei G-N la cazul in care JkT Jk nu este


inversabila, fiind caracterizata de urmatoarea actualizare
1 βk  −1
dk = arg minn kFk +Jk dk2 + kdk2 = − JkT Jk + βk In JkT Fk si
d∈R 2 2
 −1
xk+1 = xk − αk JkT Jk + βk In JkT Fk

unde iarasi pasul αk se alege prin metoda ideala sau backtracking,


iar in apropierea minimului devine 1
I Putem observa ca asemanator cu metoda Gauss-Newton, si
metoda Levenberg-Marquardt este o metoda de descrestere.
I In plus, pentru βk → ∞ avem dk → 0 deci metoda nu aplica
nici o corectie punctului curent. In schimb, pentru βk → 0,
dk → −Jk+ Fk , deci coincide cu directia din metoda G-N.
GN vs. LM - estimarea cresterii demografice
Metoda GN vs LM (k=4)
60

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:

∇f (x) = J(x)T F (x).

Pentru ∇f (x) = 0 ⇒ directiile ambelor metode sunt nule, ceea ce


este o conditie necesara de convergenta la un punct stationar.
Daca notam cu Fi componenta i a functiei F avem:
m
X
∇2 f (x) = J(x)T J(x) + Fi (x) · ∇2 Fi (x).
i=1

Observam ca in cele doua metode, cel de-al doilea termen al


functiei f este neglijat. Daca functia F (x) este aproape liniara sau
Fi (x) sunt mici in apropiere de solutie atunci acest termen este
redus.
De exemplu, daca se cauta o solutie a sistemului liniar F (x) = 0,
cu m = n, acest termen este nul. In plus, daca Jk este inversabila,
atunci directia Newton coincide cu cea din metoda Gauss-Newton.
Rezultat de convergenta locala

Teorema: Fie x ∗ un punct ce satisface conditiile suficiente de


ordinul doi. Iteratia metodelor Gauss-Newton si
Levenberg-Marquardt in apropierea lui x ∗ este de forma
xk+1 = xk − Hk ∇f (xk ), unde Hk  0 este data fie de
−1 −1
Hk = JkT Jk , fie de Hk = JkT Jk + βk In . Presupunem
satisfacuta conditia Lipschitz:

kHk ∇2 f (xk ) − ∇2 f (y ) k ≤ Mkxk − y k ∀k ∈ N, y ∈ Rn




si conditia de compatibilitate:

kHk ∇2 f (xk ) − Hk−1 k ≤ γk ∀k ∈ N




cu 0 < M < ∞ si γk ≤ γ < 1. In plus, presupunem ca


kx0 − x ∗ k ≤ 2(1−γ)
M .
Atunci, xk converge la x ∗ cu rata liniara daca γk > γ̄ > 0.
Aplicatie CMMP - identificare parametri
Avem un arc cu masa ms , constanta arcului D, si constanta de
damping γ. Pentru a determina valorile acestor 3 parametri
masuram de 10 ori perioada T de oscilatie fixand un capat si
punand obiecte de mase differite la celalalt capat. Daca masa m
este atasata, perioada de oscilatie este data de:

T =s
D
− γ2
m + 13 ms

Zece masuratori sunt date in tabel (m[kg], T[s]):

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.

1. Vom scrie o functie matlab pentru a calcula Jacobianul


J(x) = ∇F (x) unei functii F utilizand “i-trick” (usor de
iplementat in matlab, acuratete buna):
 
T F (x + itd) − F (x)
J(x) d = R
it

2. Implementam metoda Levenberg-Marquard:


 −1
xk+1 = xk − J(xk )T J(xk ) + βIn J(xk )T F (xk ).

Folosim toleranta TOL = 10−6 pentru criteriul de oprire si


constant βh =i10−5 . Initializam cu x0 dat de ms = 0.5 [kg],
D = 500 kg , and γ = 0.5 1s .
 
s2
Identificare parametri - matlab I

Codul pentru functia F (x):

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

Codul pentru functia J(x) (Jacobianul) folosind i-trick:


 
T F (x + itd) − F (x)
J(x) d = R
it
function [F , J] = jacobian(f , x)
F = feval(f , x); % evaluam f in x
N = length(x); % the dimension of x
t = 1e − 100i; % the imaginary variation
d = eye(N); % collection of unit vectors
for j = 1 : N
J(:, j) = real((feval(f , x + t ∗ d(:, j)) − F )/t);
end
end
Identificare parametri - matlab III
Codul pentru metoda Levenberg-Marquard:
 −1
xk+1 = xk − J(xk )T J(xk ) + βIn J(xk )T F (xk ).
function [] = levenberg marquard method
x = [0.5; 500; 0.5]; dim = 3;
TOL = 1e−6; beta = 1e−5; maxStep = 20; % max. nr. iter.
format long e; % printing format
[F , J] = jacobian(my function, x);
iter = 1;
while i <= maxStep
x = x − inv (J T ∗ J + beta ∗ eye(dim)) ∗ J T ∗ F ;
norm gradient(i) = norm(J T ∗ F );
if norm gradient(i) < TOL
break;
end
[F , J] = jacobian(my function, x);
iter = iter + 1;
end
Identificare parametri - rezultate (plot)

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];

x = [−0.9; 1.05]; alpha=0.07; %% pasul utilizat


t const=[x]; t ideal=[x];
while (norm(gradient(x)) > 0.00001) %% criteriu oprire
%% iteratie cu pas constant
x = x - alpha * gradient(x);
t const = [ t const x];
%% sau iteratie cu pas ideal
obj alpha = @(alpha) f(x - alpha * gradient(x));
alpha star = fminbnd(obj alpha, 0, 1); %% pas ideal
x = x - alpha star*grad f(x);
t ideal = [ t ideal x];
end
Metoda Gradient - imlementare Matlab (plot)
%%% Initializare contur
x1=linspace(-1+x star(1),1+x star(1),20);
y1=linspace(-1+x star(2),1+x star(2),20);
[X , Y ]=meshgrid(x1,y1);
fvec=X.^4 + 2*(X.^2).*Y + 2*(Y.^2) - Y + 3*ones(size(X));
V=[7 6 5 4 3 2 1 0.1 ];

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

function [] = MN constant ideal()

f = @(x) e x(1)+3∗x(2)−0.1 + e x(1)−3∗x(2)−0.1 + e −x(1)−0.1


gradient = @(x) [e x(1)+3∗x(2)−0.1 +e x(1)−3∗x(2)−0.1 −e −x(1)−0.1 ; 3∗
e x(1)+3∗x(2)−0.1 − 3 ∗ e x(1)−3∗x(2)−0.1 ]
hessiana = @(x)
[e x(1)+3∗x(2)−0.1 +e x(1)−3∗x(2)−0.1 +e −x(1)−0.1 3∗e x(1)+3∗x(2)−0.1 −
3 ∗ e x(1)−3∗x(2)−0.1 ; 3 ∗ e x(1)+3∗x(2)−0.1 − 3 ∗ e x(1)−3∗x(2)−0.1 9 ∗
e x(1)+3∗x(2)−0.1 + 9 ∗ e x(1)−3∗x(2)−0.1 ]
x star = [0; 0.25];
x = [−0.9; 1.05]; %% punct initial
t const=[x];
t ideal=[x];
Metoda Newton - imlementare Matlab
while (norm(gradient(x)) > 0.00001) %% criteriu oprire

%% iteratie cu pas constant


H=hessiana(x);
g=gradient(x);
x=x-inv(H)*g;
t const = [ t const x];

%% sau iteratie cu pas ideal


H=hessiana(x);
g=gradient(x);
d=-inv(H)*g;
obj alpha = @(alpha) f(x+alpha*d);
alpha star = fminbnd(obj alpha, 0, 1);
x=x+alpha star*d;
t ideal = [ t ideal x];
end
Metoda Newton - imlementare Matlab (plot)
%%% Initializare contur
x1=linspace(-1+x star(1),1+x star(1),20);
y1=linspace(-1+x star(2),1+x star(2),20);
[X , Y ]=meshgrid(x1,y1);
fvec=exp(X+3*Y-0.1*eye(size(X)))
+exp(X-3*Y-0.1*eye(size(X))) + exp(-X-0.1*eye(size(X)));
V=[20 13 7 6 5 4 3 2 1];
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 Newton - rezultate Matlab
1

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

Fiecare student alege o aplicatie a.i. sa se modeleze ca o probleme


de optimizare. Cerinte:
I descrieti in detaliu aplicatia aleasa
I dati formularea matematica ca o problema de optimizare
I utilizati cel putin 2 algorithmi de optimizare dati la curs
pentru rezolvarea ei
I dati codul Matlab pentru cei 2 algoritmi
I comparati rezultatele cu functia Matlab fminunc sau fmincon,
sau utilizati CVX
I comparati si comentati rezultatele obtinute (grafice, tabele,
timpi, etc)
Tehnici de Optimizare
Curs IX
Teoria dualitatii

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 .

(NLP) : min f (x)


x∈Rn
s.l. g (x) ≤ 0, h(x) = 0.

(NLP) : f ∗ = min f (x)


x∈X
• functia obiectiv f
• multimea fezabila X = {x : gi (x) ≤ 0, hj (x) = 0 ∀i, j}
(CP): programare convexa constransa
Problema de optimizare convexa supusa la constrangeri:
(CP) : min f (x)
x∈Rn
s.l. : g1 (x) ≤ 0, . . . , gm (x) ≤ 0
a1T x = b1 , . . . , apT x = bp
unde functiile f si gi are continue si convexe (e.g. Hesianele sunt
pozitiv semidefinite), constrangerile de egalitate sunt liniare.
g (x) = [g1 (x), . . . , gm (x)]T , h(x) = Ax − b,
n m
g :R →R , A = [a1 · · · ap ]T ∈ Rp×n .
(CP) : min f (x)
x∈Rn
s.l. g (x) ≤ 0, Ax = b.

(CP) : f ∗ = min f (x)


x∈X
• functia obiectiv f convexa
• multimea fezabila convexa X = {x : gi (x) ≤ 0 ∀i, Ax = b}
Exemplu 1: proiectia Euclidiana

minkx − x 0 k22 sau min kx − x 0 k22


x∈X x∈∩m
i=1 Xi

Proiectia Euclidiana a punctului x 0 pe multimea X : [x 0 ]X


determinarea celui mai “apropiat” punct (in distanta Euclidiana)
din multimea X de punctul x 0
I functie obiectiv patratica convexa (Hesiana este In )
I proiectia exista si este unica in cazul X multime convexa
(caz particular de (CP))
I aplicatii practice: imagistica medicala, tomografie
computerizata, microscopie electronica
I solutie analitica pentru multimi “simple” (semispatiu,
hyperplan, bila, box);
Exemplu: minx∈Rn+ kx − x 0 k22 , i.e. X = Rn+ : x ≥ 0
_
([x 0 ]Rn+ )i = 0 daca xi0 < 0 = xi0 daca xi0 ≥ 0 ∀i
Proiectia Euclidiana - exemple

min kx − [1 1 1]T k22


x∈R3
s.l. x1 + x2 + x3 ≤ 1, x ≥ 0.

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

• Zgomotul din retea este dat de σi .


• Raportul semnal - interferenta si zgomot este definit de
Gii Pi semnal util
Si = = .
σi + Σj6=i Gij Pj zgomot + interferenta

Constrangeri ce apar natural in medii de retea:


Pmin ≤ Pi ≤ Pmax si Si ≥ Smin .

Problema de programare convexa

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

2. Prin intermediul proiecti-


ilor obtinute, se reconstruieste
interiorul obiectului cu ajutorul
unui algoritm iterativ;
www.mathworks.com

In majoritatea cazurilor, radiatiile folosite sunt daunatoare; de


aceea se urmareste achizitionarea unui numar minim de proiectii.
Exemplu 4: reconstructie tomografica
Formularea problemei:

• Fie x ∈ Rn imaginea interiorului de reconstruit.


• Pentru reconstructie, dispunem de diferite masuratori liniare
(proiectii) ale imaginii x: bi = Ai x, i = 1, · · · , m.
• Notam vectorul proiectiilor b ∈ Rm si A = [AT T T
1 · · · Am ] ∈ R
m×n

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;...
Exemplu 5: 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
Pr norm kT· k∗ : daca A are descompunerea
nuclear Pr DVS
A = i=1 σi ui vi , atunci kAk∗ = i=1 σi
I problema se pune astfel:
min rang(X ) =⇒ min kX k∗
X ∈Rm×n |{z} X ∈Rm×n
relaxare convexa
s.l.: Xij = Aij ∀i, j ∈ S s.l.: Xij = Aij ∀i, j ∈ S
unde se dau valorile Aij cu (i, j) ∈ S o submultime a
elementelor matricei cautate
I relaxarea convexa se poate scrie ca un SDP:
min tr(W1 ) + tr(W2 )
X ,W1 ,W2
 
W1 X
s.l.: Xij = Aij ∀i, j ∈ S, 0
XT W2
Exemplu 5: matrix completion cu aplicare in recuperarea
de imagine

imaginea data (40% elemente lipsa) si imaginea recuperata


Exemplu 5: raritate in solutie pt. 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!

• Restricted Isometry Property (RIP): matricea A ∈ Rm×n are


RIP(δ, k) daca orice submatrice AI (obtinute din combinarea a cel
mult k coloane din A) are toate valorile singulare marginite intre
1 − δ si 1 + δ. Pentru matricea A cu RIP(0.41, 2k) avem ca cele
doua probleme de mai sus au aceeasi multime de solutii pe
multimea vectorilor de raritate k (Candes & Tao 2005).
Exemplu 5: raritate in solutie pt. cazul matrice
P
Definim o masura a raritatii kX k0 = rang(X ) si kX k∗ = i σi si
problemele de optimizare asociate functiei liniare A : Rm×n → Rp :

min kX k0 s.l. A(X ) = b =⇒ min kX k∗ s.l. A(X ) = b


X ∈Rm×n |{z} X ∈Rm×n
relaxare convexa

• Restricted Isometry Property de ordin r : cea mai mica


constanta δr (A) a.i. pt. orice matrice X de rang cel mult r avem:

kA(X )k
1 − δr (A) ≤ ≤ 1 + δr (A)
kX kF

• Presupunem ca δ2r < 1 pentru un intreg r ≥ 1. Atunci unica


solutie a problemei originale neconvexe este matricea de rang cel
mult r satisfacand A(X ) = b.

• Presupunem ca r ≥ 1 satisface δ5r < 0.1, atunci cele doua


probleme de mai sus (cea originala si relaxarea ei convexa) au
aceeasi solutie optima (Recht & Parrilo 2010).
Exemplu 6 - optimizarea portfoliului

Markowitz model (premiul Nobel!)

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

I Reamintim: g (x) : Rn → Rm , h(x) : Rn → Rp


I Definim functia Lagrange L : Rn × Rm × Rp → R̄:

L(x, λ, µ) = f (x) + λT g (x) + µT h(x)

Numita si Lagrangianul, func-


tia Lagrange a fost introdusa
pentru prima data de La-
grange pentru probleme cu con-
strangeri de egalitate. Vari-
abilele: λ ∈ Rm , µ ∈ Rp se
numesc multiplicatori Lagrange
(variabile duale).
Functia Lagrange

I Regula generala: impunem ca multiplicatorii lagrange pentru


constrangeri de inegalitate sa fie nenegativi, i.e. λ ≥ 0
I Pentru orice variabila primala x̃ fezabila pentru problema de
optimizare (NLP) (i.e. g (x̃) ≤ 0 si h(x̃) = 0) si pentru orice
variabila duala fezabila (λ̃, µ̃) (i.e. λ̃ ∈ Rm p
+ si µ̃ ∈ R ) avem:

L(x̃, λ̃, µ̃) ≤ f (x̃)

anume functia Lagrange este marginita superior de functia


obiectiv a problemei primale.
I Demonstratie: inegalitatea este evidenta deoarece λ̃ ≥ 0,
g (x̃) ≤ 0 iar h(x̃) = 0
Functia duala
I Functia duala q : Rm × Rp → R̄ este infimul neconstrans al
Lagrangianului in variabila primala x, pentru multiplicatorii λ
si µ fixati, i.e:

q(λ, µ) = inf n L(x, λ, µ).


x∈R

I Daca q(λ, µ) este nemarginita inferior, i.e. q(λ, µ) = −∞,


atunci spunem ca perechea (λ, µ) este dual infezabila.
I Lema: Pentru orice pereche duala (λ̃, µ̃) fezabila, i.e. λ̃ ∈ Rm
+
si µ̃ ∈ Rp , avem
q(λ̃, µ̃) ≤ f ∗

I Demonstratie: pentru orice punct fezabil x̃ avem

q(λ̃, µ̃) ≤ L(x̃, λ̃, µ̃) ≤ f (x̃) ∀x̃ ∈ X , λ̃ ∈ Rm p


+ , µ̃ ∈ R .

atunci pentru x̃ = x ∗ rezulta q(λ̃, µ̃) ≤ f ∗


Functia duala

I Lema: Functia duala q : Rm × Rp → R̄ este intotdeauna


functie concava.
I Demonstratie: observam ca Lagrangianul L(x, ·, ·) este
functie afina in (λ, µ) pentru x fixat. Fie α ∈ [0, 1], atunci
pentru (λ1 , µ1 ) şi (λ2 , µ2 ) avem:

q(αλ1 + (1 − α)λ2 , α1 µ1 + (1 − α)µ2 )


= inf n L(x, αλ1 + (1 − α)λ2 , α1 µ1 + (1 − α)µ2 )
x∈R
= inf n αL(x, λ1 , µ1 ) + (1 − α)L(x, λ2 , µ2 )
x∈R
≥ α inf n L(x, λ1 , µ1 ) + (1 − α) inf n L(x, λ2 , µ2 )
x∈R x∈R
= αq(λ1 , µ1 ) + (1 − α)q(λ2 , µ2 ).
Problema duala
I Problema duala este definita ca fiind problema de maximizare
concava a functiei duale:

q∗ = max q(λ, µ),


λ≥0, µ∈Rp

unde notam cu q ∗ valoarea optima duala.


I Observatie: din moment ce q este intotdeauna concava (−q
convexa), problema duala este intotdeauna problema convexa:

q∗ = max q(λ, µ) = − min −q(λ, µ)


λ≥0, µ∈Rp λ≥0, µ∈Rp

chiar daca problema primala (UNLP) nu este convexa!


I Observatie: multimea fezabila duala Ω = Rm p
+ × R este o
multime simpla (proiectia pe aceasta multime se poate realiza
usor)
Exemplu 1 de problema duala
I Fie urmatoarea problema patratica convexa:
min 1/2x T x
x∈Rn
s.l: Ax = b, unde A ∈ Rp×n
I Observam:
I f (x) = 1/2x T x patratica convexa (Q = In  0) si g (x) = 0
(fara inegalitati)
I h(x) = Ax − b, h : Rn → Rp , deci µ ∈ Rp
I Lagrangianul L(x, µ) = f (x) + µT h(x) este:
L(x, µ) = 1/2x T x + µT(Ax −b) ⇒ q(µ) = minn 1/2x T x + µT(Ax −b)
x∈R

x(µ) : ∇x L(x, µ) = 0 ⇒ x(µ) + AT µ = 0 ⇒ x(µ) = −AT µ


q(µ) = L(x(µ), µ) = 1/2µT AAT µ − µT AAT µ − b T µ
= −1/2µT AAT µ − b T µ
I Astfel, problema duala este de fapt (QP) fara constrangeri,
dar Hesiana este pozitiv semidefinita!
q ∗ = maxp −1/2µT AAT µ − b T µ
µ∈R
Exemplu 2 de problema duala
I Fie urmatoarea problema CMMP cu restrictii patratice:
min 1/2kAx − bk2
x∈Rn
s.l: 1/2kxk2 ≤ c
I Observam:
I f (x) = 1/2kAx − bk2 patratica convexa (Q = AT A  0) si
h(x) = 0 (fara egalitati)
I g (x) = 1/2kxk2 − c patratica convexa, deci λ ∈ R+
I Lagrangianul L(x, λ) = f (x) + λg (x) este:
L(x, λ) = 1/2kAx −bk2 + 1/2λ(x T x − 2c) ⇒ q(λ) = minn L(x, λ)
x∈R
T T
x(λ) : ∇x L(x, λ) = 0 ⇒ A Ax(λ) − A b + λIn x(λ) = 0
⇒ x(λ) = (AT A + λIn )−1 AT b
q(λ) = L(x(λ), λ) = −1/2b T A(AT A + λIn )−1 AT b − λc + 1/2kbk2
I Astfel, problema duala devine (este concava!)
q ∗ = max −1/2b T A(AT A + λIn )−1 AT b − λc + 1/2kbk2
λ∈R+
Exemplu 3 de problema duala
I Fie urmatoarea problema de optimizare NLP:

min x14 + x24 − 4x1 x2


x∈R2
s.l: x ≥ 0, x1 + x2 = 5
I Observam:
I f (x) = x14 + x24 − 4x1 x2 , f : R2 → R, n = 2
I g (x) = −x, g : R2 → R2 , deci m = 2 si λ ∈ R2
I h(x) = x1 + x2 − 5, h : R2 → R, deci p = 1 si µ ∈ R
I Lagrangianul L(x, λ, µ) = f (x) + λT g (x) + µT h(x) este:

L(x, λ, µ) = x14 + x24 − 4x1 x2 − λ1 x1 − λ2 x2 + µ(x1 + x2 − 5)

I Astfel, problema duala este de fapt


 
∗ 4 4
q = max min x1 + x2 − 4x1 x2 −λ1 x1 − λ2 x2 + µ(x1 + x2 − 5)
λ∈R2+ , µ∈R x∈R2
Dualitate slaba

I Din moment ce functia duala este marginita superior de


functia obiectiv, rezulta urmatoarea teorema:
I Teorema (dualitate slaba): urmatoarea inegalitate are loc
pentru orice problema de optimizare (NLP):

q∗ ≤ f ∗

I Observatie: daca avem x ∗ fezabil pentru primala si (λ∗ , µ∗ )


fezabil pentru duala astfel incat q(λ∗ , µ∗ ) = f ∗ atunci x ∗ este
punct de minim global pentru primala iar (λ∗ , µ∗ ) este punct
de maxim global pentru duala
I Observatie: daca f ∗ = −∞ atunci
q(λ, µ) = ∞, ∀ (λ, µ) ∈ Ω. De asemenea, daca q ∗ atunci
problema primala este infezabila
Dualitate puternica
I Diferenta f ∗ − q ∗ se numeste duality gap, iar din dualitate
slaba este nenegativa.
I In anumite cazuri (e.g. optimizare convexa in care multimea
fezabila indeplineste anumite criterii), putem obtine o versiune
mai puternica a dualitatii.
I Conditia Slater: presupunem ca problema (NLP) este
convexa (i.e. f si g1 , · · · , gm sunt convexe, iar h1 , . . . , hp sunt
afine) si exista x̄ ∈ Rn fezabil astfel incat g (x̄) < 0 şi h(x̄) = 0
I Teorema (dualitate puternica): Daca problema (NLP)
primala satisface conditia Slater, atunci valorile optime pentru
problemele primale si duale sunt egale, anume:

q∗ = f ∗

Mai mult (λ∗ )T g (x ∗ ) = 0 (complementaritatea), unde x ∗


este punct de minim global pentru problema primala si
(λ∗ , µ∗ ) este punct de maxim global pentru problema duala.
Dualitate: interpretarea min-max
I problema originala (primala) este echivalenta cu
 
minn max L(x, λ, µ)
x∈R λ≥0,µ

I problema duala este interschimbarea intre min si max


 
max minn L(x, λ, µ)
λ≥0,µ x∈R

I dualitatea slaba are loc intotdeauna deoarece

max min L(·) ≤ min max L(·)

I dualitatea puternica are loc cand

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

I pentru a obtine dualitate inlocuim 1− (fi (x)) cu λi fi (x)


(o masura de disconfort cand λi ≥ 0 si gi (x) > 0).
I De asemenea µj hj (x) este o margina inferioara pe 10 (hj (x))
X X
minn f (x) + λi gi (x) + µj hj (x)
x∈R
i j
Interpretare geometrica

min(x − c − 1)2 s.l. x 2 ≤ c


x

Functia originala (albas-


Functia duala q(λ) si val-
tru), constrangeri (verde),
oarea optima primala f ∗
L(x, λ) pentru diferiti λ
(punctat)
(punctat)
Dualitate slaba/puternica, interpretare geometrica
I Pentru a vizualiza grafic diferenta dintre dualitate
slaba/puternica, consideram un caz particular de problema
(NLP): minx∈Rn {f (x) : g (x) ≤ 0}, avand o singura
constrangere de inegalitate
I Definim multimea
S = {(u, t) : ∃x ∈ Rn , f (x) = t, g (x) = u}.
I Interpretarea grafica:
Duala unei probleme QP strict convexa
I Fie o problema QP strict convexa (Q  0):

1 T
f ∗ = minn x Qx + q T x
x∈R 2
s.l.: Cx − d ≤ 0, Ax − b = 0.

unde multimea fezabila este presupusa a fi nevida.


I Lagrangianul este dat de urmatoare expresie:

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

este de fapt o problema QP strict convexa.


I Notam solutia acestei probleme drept x(λ, µ). Din moment ce
problema este strict convexa, putem determina x(λ, µ) din
conditiile de optimalitate ∇t(x(λ, µ)) = 0, i.e:
Q0
Qx(λ, µ)+q+C T λ+AT µ = 0 → x(λ, µ) = −Q −1 (q+C T λ+AT µ)

I Inlocuind x(λ, µ) inapoi in expresia dualei, rezulta

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 Astfel, problema de optimizare duala este data de expresia:


 T    T  
∗ 1 λ C −1 C λ
q = max p − Q
λ≥0, µ∈R 2 µ A A µ
T  
d + CQ −1 q

λ 1
− −1 − q T Q −1 q.
b + AQ q µ 2
I Observatii
I functia duala este patratica in (λ, µ) si concava
I problema duala este un QP convex (Hessiana nu mai este
pozitiv definita)
I formularea duala a unei probleme QP are constrangeri mult
mai simple: λ ≥ 0 si µ ∈ Rp
I ultimul termen in functia duala este o constanta, insa trebuie
pastrat pentru a mentine dualitatea puternica q ∗ = f ∗
Exemplu de problema QP strict convexa si duala sa
I Fie urmatoarea problema de optimizare NLP:

min x12 + x22 + x1 x2 + x1 − x2


x∈R2
s.l: x1 ≥ 0, x1 − x2 ≥ 1, x1 + x2 = 3

I Daca exprimam detaliat functie patratica


f (x) = 21 x T Qx + q T x, f : R2 → R, avem:

Q11 2 Q22 2 Q12 + Q21


f (x) = x + x + x1 x2 + q1 x1 + q2 x2
2 1 2 2 2
I Astfel, pentru problema noastra (dorim Q simetrica,
Q12 = Q21 ), rezulta:
     
Q11 Q12 2 1 1
Q= = , q=
Q21 Q22 1 2 −1
Exemplu de problema QP strict convexa si duala sa

I Observam: Λ(Q) = {1, 3}, Q  0, det(Q) = 3 si


 
−1 1 2 −1
Q =
3 −1 2
I Observam:    
I g : R2 → R2 , g (x) = g1 (x) = −x1
g2 (x) x2 − x1 + 1
I g (x) = Cx − d ⇒ C ∈ R2×2 , d ∈ R2
   
−1 0 0
C= , d=
−1 1 −1

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.

Pentru crearea de features (xi ) in texte folosim functia Matlab


BagofWords si in imagini BagofFeatures!
Clasificare liniara binara - e-mail filtering: QP
E-mail filtering - determinarea unui estimator ce separa un set dat
de email-uri in doua clase: spam e-mail si wanted e-mail.
I dispunem de un dictionar de cuvinte D = {c1 , c2 , . . . , cp },
unde ci reprezinta cuvantul i.
I antrenam estimatorul printr-un set de e-mail-uri cunoscute
I pentru fiecare e-mail cunoscut i asociem vectorul
xi = [n1 , n2 , . . . , np ]T , unde nj reprezinta numarul de aparitii
ale cuvantului cj in e-mail-ul i (functia Matlab BagofWords).
I pentru fiecare e-mail cunoscut i asociem eticheta
yi = {−1, 1}, unde yi = −1 daca e-mail-ul cunoscut i este
spam, altfel yi = 1 7→ formulam problema patratica:
1
(QP) : min kw k22 + C Σm
i=1 ξi
x=(w ∈Rn ,b∈R,ξ≥0) 2
s.l. y1 (w T x1 − b) ≤ 1 − ξ1 ,
...
ym (w T xm − b) ≤ 1 − ξm .
Programare liniara (LP) si dualitate

I Reamintim ca o problema de programare liniara (LP) are


urmatoarea forma:

f ∗ = minn c T x
x∈R
s.l.: Cx − d ≤ 0, Ax − b = 0.

I In programarea liniara putem cauta solutia problemei printre


punctele de extrem ale poliedrului ce defineste multimea
fezabila:

X = {x ∈ Rn : Cx − d ≤ 0, Ax − b = 0}.

I Teorema: daca multimea fezabila lui X este un politop,


atunci exista un punct de minim al problemei (LP) intr-unul
din varfurile politopului.
Programare liniara (LP) si dualitate

I Demonstratie: o multime X politop se poate scrie ca


acoperirea convexa generata de varfurile sale:

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

si deci obtinem o contradictie. Aceasta implica ca orice varf


pentru care αi > 0 este un punct de minim.
Programare liniara (LP) si dualitate
I Exprimam acum duala unui (LP). Lagrangianul asociata unui
(LP) general este dat de:

L(x, λ, µ) = c T x + λT (Cx − d) + µT (Ax − b)


 T
= −λT d − µT b + c + C T λ + AT µ x.

I Functia duala corespunzatoare este:


 T
q(λ, µ) = −λT d − µT b + inf n c + C T λ + AT µ x
x∈R
dacă c + C T λ + AT µ = 0

0
= −λT d − µT b +
−∞ altfel.

I Observatie: problema din membrul drept de mai sus este un


(LP) nemarginit, a carui minim este −∞ daca
c + C T λ + AT µ 6= 0
Programare liniara (LP) si dualitate
I Astfel, putem exprima problema duala drept:
 T  
∗ −d λ
q = max
m
λ∈R , µ∈R p −b µ
s.l.: λ ≥ 0, c + C T λ + AT µ = 0.
I Observatie: un LP poate fi scris in forma standard:
min {c T x : Ax = b, x ≥ 0},
x∈Rn

prin folosirea de variabile suplimentare (numite si variabile


artificiale)
I Duala sa rezulta: maxµ∈Rn {b T µ : AT µ ≤ c}
I Teorema de dualitate pentru (LP): daca una dintre
problemele (LP), primala sau duala, are solutie optima atunci
si cealalta problema are solutie optima si valorile optime
corespunzatoare sunt egale. Mai mult, daca una dintre
probleme, primala sau duala, are functie obiectiv nemarginita,
atunci cealalta problema nu are puncte fezabile.
Exemplu de (LP) din practica (problema vinarului)
I Un vinar trebuie sa decida cate sticle de vin rosu si cate de vin
alb sa produca. El poate vinde o sticla de vin rosu pentru $12
iar una de vin alb pentru $7.
I Obiectivul lui este desigur de a-si maximiza venitul:

F (x1 , x2 ) = 12x1 + 7x2

unde x1 reprezinta numarul de sticle de vin rosu ce vor fi


produse, iar x2 cele de vin alb.
I Vinul trebuie desigur invechit (4 ani pentru rosu si 3 ani
pentru alb), inainte de a fi vandut, insa spatiul de depozitare
este limitat la 1000 ani-invechire-sticla pentru o productie.
Astfel, la problema noastra adaugam constrangerea:

4x1 + 3x2 ≤ 1000


Exemplu de (LP) din practica (problema vinarului)
I Cantitatea de struguri ce poate fi procesat pentru a produce
vinul este limitata, e.g. la 16.000kg , si este necesar de a
procesa 3 kg pentru a produce pe cel rosu ,si 2 kg pentru al
produce pe cel alb. Avem astfel urmatoarea constrangere:
3x1 + 2x2 ≤ 16000
I O constrangere desigur evidenta este ca nu putem produce
cantitati negative, i.e. x1 ≥ 0, x2 ≥ 0. Astfel, problema
vinarului poate fi formulata drept o problema (LP) cu
constrangeri de inegalitate:
min {c T x : Cx ≤ d},
x∈Rn

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:

(NLP) : minn f (x)


x∈R
s.l.: g (x) ≤ 0, h(x) = 0

• Functiile f : Rn → R, g : Rn → Rm si h : Rn → Rp sunt functii


diferentiabile de doua ori.

• Multimea fezabila a problemei (NLP):

X = {x ∈ Rn : g (x) ≤ 0, h(x) = 0}

• Deci problema se rescrie ca:

min f (x)
x∈X
Exemplu (NLP)
• Fie urmatoarea problema de optimizare (NLP):

min x14 + x24 − 4x1 x2


x∈R2
s.l: x ≥ 0, x1 + x2 = 5

• 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

avem urmatoarele conditii de optimalitate:


I daca x ∗ este minim local atunci:

∇f (x ∗ )T (x − x ∗ ) ≥ 0 ∀x ∈ X

I daca in plus f este functie convexa, atunci x ∗ este punct de


minim daca si numai daca:

∇f (x ∗ )T (x − x ∗ ) ≥ 0 ∀x ∈ X

Punctele x ∗ ce satisfac inegalitatea anterioara ⇒ puncte stationare


pentru (NLP) avand constrangeri convexe.
Constrangeri (multimi) active/inactive

Definitie: O constrangere de inegalitate gi (x) ≤ 0 se numeste


activa in punctul fezabil x ∈ X daca si numai daca gi (x) = 0, altfel
se numeste inactiva. Orice constrangere de egalitate hi (x) = 0 este
activa intr-un punct fezabil.

Definitie: Multimea de indecsi A(x) ⊆ {1, . . . , m}


corespunzatoare constrangerilor active se numeste multime activa
in punctul x ∈ X .

Exemplu: Pentru multimea fezabila:

X = {x ∈ R2 : x ≥ 0, x1 + x2 = 5}

multimea activa in punctul x = [0 1]T este A([0 1]T ) = {1}.


Conditii de ordinul I pt. (NLP): constrangeri de egalitate

Consideram intai probleme (NLP) ce au doar constrangeri de


egalitate:

(NLPe) : min f (x)


x∈Rn
s.l. : h(x) = 0

Pentru problema (NLPe) toate constrangerile sunt considerate


constrangeri active.

Vom studia conditiile de optimalitate pentru clasa de probleme


(NLPe), pentru ca apoi sa extindem rezultatele obtinute la clasa
generala (NLP).
Notiuni teoretice

I O curba pe o suprafata S ⇒ o multime de puncte x(t) ∈ S


continuu parametrizate in t, pentru a ≤ t ≤ b.
I O curba x(t) este diferentiabila daca exista ẋ = dx(t)
dt si de
doua ori diferentiabila daca ẍ(t) exista.
I O curba x(t) trece prin punctul x ∗ daca exista t ∗ ∈ [a, b] a.i.
x ∗ = x(t ∗ ).
I Planul tangent in x ∗ ∈ S ⇒ multimea tuturor vectorilor ẋ(t ∗ )
definiti de x(t) ∈ S avand proprietatea ca x(t ∗ ) = x ∗ .
I Pentru o functie h : Rn → Rp , cu h(x) = [h1 (x) . . . hp (x)]T
notam Jacobianul prin ∇h(x). Reamintim ca ∇h(x) este o
matrice p × n ,avand elementul de pe pozitia (i, j) egal cu
∂hi (x)
∂xj .
Puncte regulate
Definitie: Un punct x ∗ ce satisface constrangerea h(x ∗ ) = 0 se
numeste punct regulat daca gradientii ∇h1 (x ∗ ), . . . , ∇hp (x ∗ ) sunt
liniar independenti (Jocabianul are rangul p).

Teorema: Intr-un punct regulat x ∗ al suprafetei S definita de


constrangerile de egalitate h(x) = 0, planul tangent este egal cu:
M = {d ∈ Rn : ∇h(x ∗ )d = 0}
= {d ∈ Rn : ∇hi (x ∗ )T d = 0 ∀i = 1, . . . , p}

Lema: Fie x ∗ un punct regulat al constrangerilor h(x) = 0 si punct


de extrem local (minim sau maxim local) al problemei de
optimizare (NLPe). Atunci, orice d ∈ Rn ce satisface:
∇h(x ∗ )d = 0
trebuie sa satisfaca si:
∇f (x ∗ )T d = 0.
Exemplu
• Fie constrangerea data de functia h : R3 → R,
h(x) = x12 + x22 + 3x1 + 3x2 + x3 − 1. Consideram punctul
x ∗ = [0 0 1]T pentru care h(x ∗ ) = 0.
• Jacobianul lui h(x) va fi:
∇h(x) = [2x1 + 3 2x2 + 3 1]
iar ∇h(x ∗ ) = [3 3 1] are rang 1 ⇒ x ∗ punct regulat.
• Din teorema precedenta pentru caracterizarea planului tangent,
rezulta ca orice directie tangenta d = [d1 d2 d3 ]T va satisface
∇h(x ∗ )d = 0, deci 3d1 + 3d2 + d3 = 0 (un plan)

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.:

(KKT - NLPe) : ∇f (x ∗ ) + ∇h(x ∗ )T µ∗ = 0 si h(x ∗ ) = 0.

Punctele x ∗ pentru care exista µ∗ a.i. conditiile (KKT-NLPe) sunt


satisfacute ⇒ puncte stationare pentru problema (NLPe) (puncte
de minim, puncte de maxim sau puncte sa).
Conditiile (KKT-NLPe) nu reprezinta altceva decat conditiile de
optimalitate de ordinul I pentru minimizarea Lagrangianului
neconstrans L(x, µ) = f (x) + µT h(x):

∇x L(x, µ) = 0 si ∇µ L(x, µ) = 0 ⇐⇒ ∇L(x, µ) = 0


Exemplul 1
Fie problema (NLPe):

min x1 + x2
x∈R2
s.l. : h(x) = x12 + x22 − 2 = 0

Putem observa ca orice punct fezabil este regulat. Drept urmare,


orice punct de minim local satisface sistemul ∇L(x, µ) = 0:

2µx1 = −1
2µx2 = −1
x12 + x22 = 2.

Solutiile (x1∗ , x2∗ , µ∗ ) ale sistemului sunt punctele stationare


(−1, −1, 1/2) si (1, 1, −1/2). Sunt puncte de extrem cele doua
solutii sau puncte sa
Exemplul 2
Consideram urmatoarea problema de optimizare:
min 4x1 − 2x2 + x32
x∈R3
s.l. : h1 (x) = x1 − x2 + x3 = 0, h2 (x) = −x1 + 2x2 − x32 = 0.
Jacobianul constrangerilor va fi de forma:
 
1 −1 1
∇h(x) = ,
−1 2 −2x3
ce are rangul minim 2 ⇒ orice punct fezabil este regulat.
Pentru a gasi punctele de extrem rezolvam sistemul dat de
conditiile (KKT-NLPe):
4 + µ1 − µ2 = 0, − 2 − µ1 + 2µ2 = 0, 2x3 + µ1 − 2x3 µ2 = 0
x1 − x2 + x3 = 0
−x1 + 2x2 − x32 = 0.
Obtinem ca solutia unica a sistemului este data de x ∗ = [−1 0 1]T
si µ∗1 = −6, µ∗2 = −2. Care este natura punctului x ∗ ?
Exemplul 3
Consideram problema:

min −x1
x∈R2
s.l. : h1 (x) = (1 − x1 )3 + x2 = 0, h2 (x) = (1 − x1 )3 − x2 = 0.

Putem observa ca problema are un singur punct fezabil


x ∗ = [1 0]T ⇒ minim global.
De asemenea, avem ∇f (x ∗ ) = [−1 0]T , ∇h1 (x ∗ ) = [0 1]T si
∇h2 (x ∗ ) = [0 − 1]T ⇒ x ∗ NU este un punct regulat!
In acest caz, conditiile de optimalitate de ordinul I nu pot fi
satisfacute ⇒ @µ1 si µ2 a.i.:
     
0 0 1
µ1 + µ2 = .
1 −1 0

Deci conditia de regularitate este esentiala!


Conditii necesare de ordinul II pentru (NLPe)
Teorema: Presupunem ca x ∗ este un punct de minim local al
problemei (NLPe) si un punct regulat pentru constrangerile
aferente. Atunci exista µ∗ ∈ Rp astfel incat

∇f (x ∗ ) + ∇h(x ∗ )T µ∗ = 0 si h(x ∗ ) = 0.

In plus, daca notam planul tangent in x ∗ prin


M = {d ∈ Rn : ∇h(x ∗ )d = 0}, atunci matricea Hessiana a
Lagrangianului in raport cu x
p
X
∇2x L(x ∗ , µ∗ ) = ∇2 f (x ∗ ) + µ∗i ∇2 hi (x ∗ )
i=1

este pozitiv semidefinita pe planul tangent M, adica

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

pentru care matricea Hessiana a Lagrangianului in variabila x este:


 
2 2 2 2 0
∇x L(x, µ) = ∇ f (x) + µ∇ h(x) = µ .
0 2
Tinand cont ca planul tangent la un punct x 6= 0 este de forma
M = {d : [2x1 2x2 ]d = 0}, pentru care putem alege o baza
D(x) = [−x2 x1 ]T avem:
D(x)T ∇2x L(x, µ)D(x) = 2µ(x12 + x22 ).
Pentru prima solutie a sistemului ∇L(x, µ) = 0 avem
d1T ∇2x L(−1, −1, 1/2)d1 = 2 > 0, unde d1 = D(−1, −1) ⇒ posibil
punct de minim local!
Pentru cea de-a doua solutie d2T ∇2x L(1, 1, −1/2)d2 = −2 < 0, cu
d2 = D(1, 1) ⇒ acesata solutie nu este minim local!
Conditii suficiente de ordinul II pentru (NLPe)

Teorema: Presupunem un punct x ∗ ∈ Rn si un µ∗ ∈ Rp a.i.:

∇f (x ∗ ) + ∇h(x ∗ )T µ∗ = 0 si h(x ∗ ) = 0.

Presupunem de asemenea ca matricea dataPde Hessiana


Lagrangianului ∇2x L(x ∗ , µ∗ ) = ∇2 f (x ∗ ) + pi=1 µ∗i ∇2 hi (x ∗ ) este
pozitiv definita pe planul tangent M = {d : ∇h(x ∗ )d = 0}, adica

d T ∇2x L(x ∗ , µ∗ )d > 0 ∀d ∈ M \ 0.

Atunci x ∗ este punct de minim local strict al problemei (NLPe).


Exemplu
Fie problema:
min −x1 x2 − x1 x3 − x2 x3 ,
x∈R3 : x1 +x2 +x3 =3

pentru care conditiile de optimalitate de ordinul I conduc la


urmatorul sistem liniar:

−x2 − x3 + µ = 0
−x1 − x3 + µ = 0
−x1 − x2 + µ = 0
x1 + x2 + x3 = 3,

avand solutia unica x1∗ = x2∗ = x3∗ = 1 si µ∗ = 2.


Hessiana Lagrangianului va avea urmatoarea forma:
 
0 −1 −1
∇2x L(x, µ) = ∇2 f (x) =  −1 0 −1 
−1 −1 0
Exemplu - continuare

Planul tangent intr-un punct x fezabil va fi de forma


M = {d : [1 1 1]d = 0} ⇒ d1 = −d2 − d3 ⇒ alegand
[d1 d2 ] = [1 − 1] si [d1 d2 ] = [−1 − 1] ⇒ o baza a planului
tangent la suprafata definita de constrangerea h(x) = 0 va fi:
 
0 2
D(x) =  1 −1 
−1 −1

Drept urmare, obtinem ca x ∗ este minim strict local intrucat:


 
2 0
D(x ∗ )T ∇2x L(x ∗ , µ∗ )D(x ∗ ) = 0
0 2

Este Hessiana functiei obiectiv evaluata in x ∗ pozitiv definita?


Conditii de ordinul I pentru (NLP) generale
In continuare, vom extinde conditiile de optimalitate derivate
anterior la cazul general:

(NLP) : minn f (x)


x∈R
s.l. : g (x) ≤ 0, h(x) = 0.

Definitie: Fie un punct x ∗ ce satisface constrangerile problemei


(NLP), adica h(x ∗ ) = 0, g (x ∗ ) ≤ 0 si A(x ∗ ) multimea
constrangerilor active. Numim punctul x ∗ punct regulat, daca
gradientii functiilor de constrangere, ∇hi (x ∗ ) pentru i = 1, . . . , p si
∇gj (x ∗ ) pentru j ∈ A(x ∗ ) sunt liniari independenti.

Planul tangent in punctul regulat x ∗ pentru problema generala


(NLP) este planul tangent corespunzator pentru constrangerile
active:

M = {d : ∇gj (x ∗ )T d = 0 ∀j ∈ A(x ∗ ), ∇hi (x ∗ )T d = 0 ∀i = 1, . . . , p}.


Conditii necesare de ordinul I pentru (NLP)
Teorema: Fie x ∗ un punct de minim local pentru problema (NLP)
generala si presupunem ca x ∗ este si regulat. Atunci, exista un
vector λ∗ ∈ Rm si un vector µ∗ ∈ Rp a.i. conditiile
Karush-Kuhn-Tucker (KKT) au loc:
(KKT ) : ∇f (x ∗ ) + ∇h(x ∗ )T µ∗ + ∇g (x ∗ )T λ∗ = 0
g (x ∗ )T λ∗ = 0
g (x ∗ ) ≤ 0, h(x ∗ ) = 0
µ ∗ ∈ Rp , λ ∗ ≥ 0

Conditiile (KKT) au fost formulate


pentru prima data de catre W. Karush
in teza sa de master (1939) si publi-
cate abia 12 ani mai tarziu in cartea
publicata de catre W. Kuhn si W.
Tucker!
Demonstratie

Intrucat λ∗ ≥ 0 si g (x ∗ ) ≤ 0, cea de-a doua relatie implica faptul


ca λ∗i poate fi nenula doar daca gi (x ∗ ) este activa. Drept urmare,
gi (x ∗ ) < 0 implica λ∗i = 0, iar λ∗i > 0 implica gi (x ∗ ) = 0.

Mai departe, tinand cont ca x ∗ este un punct de minim local


pentru problema (NLP). Notand cu X multimea constrangerilor
problemei (NLP), atunci x ∗ este un punct de minim local si pentru
problema avand multimea de constrangeri o submultime a lui X si
definita prin setarea constrangerilor active la zero.

Astfel, pentru problema (NLPe) ce ar rezulta, definita pentru o


vecinatate a lui x ∗ , exista multiplicatori Lagrange si deci prima
relatie este satisfacuta pentru λ∗i = 0 daca gi (x ∗ ) 6= 0 si drept
urmare si cea de-a doua relatie este satisfacuta.
Demonstratie - continuare

Mai trebuie aratat ca λ∗i ≥ 0 pentru constrangerile active


gi (x ∗ ) = 0. Fie o componenta λ∗k < 0 si Sk , respectiv Mk
suprafata si planul tangent in x ∗ definit de toate constrangerile
active, mai putin gk (x ∗ ) = 0.

Tinand cont ca x ∗ este un punct regulat, atunci ∃d ∈ Mk a.i.


∇gk (x ∗ )d < 0.

Luand in continuare o curba x(t) ∈ Sk , trecand prin x ∗ la t = 0 si


avand ẋ(0) = d, atunci, pentru un t ≥ 0 suficient de mic x(t) este
fezabil iar din prima relatie a conditiilor (KKT) obtinem:

df (x(t))
|t=0 = ∇f (x ∗ )d < 0
dt
ceea ce contrazice ipoteza de minimalitate a lui x ∗ .
Interpretarea conditiilor (KKT)

I Solutiile x ∗ ce satisfac conditiile (KKT) se numesc puncte


stationare (pot fi puncte de minim, puncte de maxim sau
puncte sa) pentru problema (NLP) generala.
I Prima relatie a conditiilor (KKT) semnifica faptul ca x ∗ este
punct stationar pentru functia Lagrange minx∈Rn L(x, λ∗ , µ∗ ),
reprezentand conditiile de optimalitate de ordinul I, adica
∇x L(x ∗ , λ∗ , µ∗ ) = 0.
I Cea de-a doua relatie reprezinta conditiile de
complementaritate: g (x ∗ )T λ∗ = 0 ⇐⇒ gi (x ∗ )λ∗i = 0 ∀i.
I Ultimele doua relatii exprima fezabilitatea primala
(g (x ∗ ) ≤ 0, h(x ∗ ) = 0), respectiv duala (λ∗ ≥ 0).
Exemplul 1
Consideram problema:
min 0.5 x12 + x22 + x32

x∈R3
s.l.g1 (x) = x1 + x2 + x3 + 3 ≤ 0, g2 (x) = x1 ≤ 0.
Observam ca orice punct fezabil este si punct regulat, iar din prima
relatie a conditiilor (KKT) obtinem:
x1∗ + λ∗1 + λ∗2 = 0
x2∗ + λ∗1 = 0
x3∗ + λ∗1 = 0.
Pentru a calcula punctele (KKT), analizam conditia de
complementaritate pentru care distingem patru cazuri:
I 1. g1 si g2 sunt ambele inactive;
I 2. g1 inactiva si g2 activa;
I 3. g1 activa si g2 inactiva;
I 4. g1 si g2 sunt ambele active.
Exemplul 1 - continuare

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:

min 2x12 + 2x1 x2 + x22 − 10x1 − 10x2


x∈R2
s.l. : x12 + x22 ≤ 5, 3x1 + x2 ≤ 6.

Pentru acesata problema conditiile (KKT) sunt:

4x1 + 2x2 − 10 + 2λ1 x1 + 3λ2 = 0, 2x1 + 2x2 − 10 + 2λ1 x2 + λ2 = 0


λ1 (x12 + x22 − 5) = 0, λ2 (3x1 + x2 − 6) = 0
x12 + x22 ≤ 5, 3x1 + x2 ≤ 6, λ1 , λ2 ≥ 0.

Pentru acest exemplu putem considera doua constrangeri active,


una sau niciuna. Presupunem prima constrangere activa iar cea
de-a doua inactiva, rezultand un sistem de trei ecuatii
corespunzator, avand solutia x1∗ = 1, x2∗ = 2, λ∗1 = 1 si λ∗2 = 0.
Solutia verifica 3x1 + x2 ≤ 6 si λ1 ≥ 1 ⇒ satisface conditiile
(KKT).
Conditii necesare de ordinul II pentru (NLP)
Planul tangent in punctul regulat x ∗ pentru problema generala
(NLP) este planul tangent corespunzator pentru constrangerile
active:
M = {d : ∇gj (x ∗ )T d = 0 ∀j ∈ A(x ∗ ), ∇hi (x ∗ )T d = 0 ∀i = 1, . . . , p}.

Teorema: Fie f , g si h functii continuu diferentiabile de doua ori si


x ∗ un punct regulat pentru constrangerile din problema (NLP)
generala. Daca x ∗ este un punct de minim local pentru problema
(NLP), atunci exista λ∗ ∈ Rm si µ∗ ∈ Rp a.i. conditiile (KKT)
sunt satisfacute si in plus Hessiana Lagrangianului in raport cu x:
p
X m
X
∇2x L(x ∗ , λ∗ , µ∗ ) = ∇2 f (x ∗ ) + µ∗i ∇2 hi (x ∗ ) + λ∗i ∇2 gi (x ∗ )
i=1 i=1

este pozitiv semidefinita pe subspatiul tangent al constrangerilor


active in x ∗ , adica:
d T ∇2x L(x ∗ , λ∗ , µ∗ )d ≥ 0 ∀d ∈ M.
Conditii suficiente de ordinul II pentru (NLP)

Teorema: Fie f , g si h functii continuu diferentiabile de doua ori.


Fie de asemenea:
I un punct regulat x ∗ ∈ Rn
I variabilele duale λ∗ ∈ Rm si µ∗ ∈ Rp pentru care conditiile
(KKT) sunt satisfacute
I nu avem constrangeri de inegalitate degenerate, adica λ∗j > 0
pentru orice j ∈ A(x ∗ )
I Hessiana Lagrangianului ∇2x L(x ∗ , λ∗ , µ∗ ) este pozitiv definita
pe planul tangent M
Atunci x ∗ este un punct de minim local strict pentru problema
(NLP) generala.
Exemplu

Fie problema:
min x2 .
x∈R2 : x12 +x22 −1≤0

Observam ca punctul de minim global al acestei probleme este


x ∗ = [0 − 1]T . Aratam in continuare ca acesta este si minim strict.
Prima conditie (KKT) are forma:

2λx1 = 0, 1 + 2λx2 = 0,

din care obtinem λ > 0 ⇒ constrangerea este activa.


Adaugand aceasta conditie la cele doua anterioare, obtinem solutia
x ∗ = [0 − 1]T si λ∗ = 1/2.
Planul tangent in x ∗ este dat de {d : [0 2]d = 0} = {d : d2 = 0}.
De asemenea, Hessiana Lagrangianului ∇2x L(x ∗ , λ∗ ) = 2λ∗ I2 este
pozitiv definita ⇒ x ∗ punct de minim strict.
Conditii suficiente de ordinul I pentru probleme convexe
Teorema: Fie o problema convexa (CP) de forma:

(CP) : f ∗ = minn f (x)


x∈R
s.l. : g (x) ≤ 0, Ax = b,

in care functiile f si g1 , . . . , gm sunt functii convexe.


Daca urmatoarele conditii (KKT) sunt satisfacute:

(KKT − CP) : ∇f (x ∗ ) + ∇g (x ∗ )T λ∗ + AT µ∗ = 0
g (x ∗ )T λ∗ = 0
g (x ∗ ) ≤ 0, Ax ∗ = b
µ∗ ∈ Rp , λ∗ ≥ 0,

atunci x ∗ este punct de minim global pentru problema convexa


(CP), (λ∗ , µ∗ ) este punct de maxim global pentru problema duala
si dualitatea puternica are loc, adica f ∗ = q ∗ .
Exemplul 1

Consideram problema proiectiei originii x0 = 0 pe subspatiul


X = {x ∈ Rn : Ax = b}, unde A ∈ Rp×n de rang p < n.
Problema de optimizare convexa (CP):

min kxk2 ,
x: Ax=b

pentru care avem conditiile (KKT-CP):

x ∗ + AT µ∗ = 0, Ax ∗ = b.

Obtinem deci −AAT µ∗ = b si intrucat AAT este inversabila ⇒


x ∗ = AT (AAT )−1 b = A+ b, unde A+ este pseudoinversa lui A.
Exemplul 1 - cazul general

Extindem problema anterioara la cazul functiilor patratice generale:


1 T
min x Qx + q T x,
x: Ax=b 2

unde Q  0.
Conditiile (KKT-CP):

Qx ∗ + q + AT µ∗ = 0, Ax ∗ = b.

Obtinem astfel ca solutiile primale si duale au urmatoarele forme:

µ∗ = −(AQ −1 AT )−1 [AQ −1 q + b]


x ∗ = −Q −1 AT µ∗ − Q −1 q.
Exemplul 2

Consideram urmatoarea problema convexa:

min (x1 − 5)2 + (x2 − 5)2


x∈R2
s.l. : g1 (x) = x12 + x22 − 5 ≤ 0, g2 (x) = x1 + 2x2 − 4 ≤ 0
g3 (x) = −x1 ≤ 0, g4 (x) = −x4 ≤ 0.

Presupunem ca doar g1 (x) ≤ 0 si g2 (x) ≤ 0 sunt active ⇒


λ∗3 = λ∗4 = 0 ⇒ conditiile (KKT-CP) se reduc la urmatorul sistem:

2(x1∗ − 5)
 ∗ 
2x1∗ 21
  
λ1
+ =0
2(x2∗ − 5) 2x2∗ 1 λ∗2
(x1∗ )2 + (x2∗ )2 − 5 = 0, x1∗ + 2x2∗ − 4 = 0.

Obtinem solutia x ∗ = [2 1]T ⇒ x ∗ punct de minim global.


Tehnici de Optimizare
Curs XI
Metode de ordinul I si II pentru probleme (NLP)
supuse la constrangeri convexe

Ion Necoara

2014
(NLP)

Problema de optimizare neliniara supusa la constrangeri

(NLP) : f ∗ = min f (x)


x∈X

a) f diferentiabila (nu neaparat convexa),


b) X multime nevida, inchisa si convexa.
Exemple:

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

Reamintim conditiile de optimalitate de ordinul I:


I Cazul neconstrans min f (x)
x∈Rn
Sub presupunerea ca f ∈ C 1 , orice punct de minim local
satisface sistemul:
∇f (x ∗ ) = 0.

I Cazul constrans min f (x)


x∈X
Sub presupunerea ca f ∈ C 1 si X multime convexa, orice
punct de minim local x ∗ satisface inegalitatea:

∇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.

Din teorema Taylor avem ca ∀t > 0 exista θ ∈ [0, 1] astfel incat:

f (x ∗ + t(y − x ∗ )) = f (x ∗ ) + t∇f (x ∗ + θt(y − x ∗ ))T (y − x ∗ ).

Din continuitatea lui ∇f , alegem t < 1 suficient de mic astfel incat

∇f (x ∗ + θt(y − x ∗ ))T (y − x ∗ ) < 0

ceea ce implica f (x ∗ + t(y − x ∗ )) < f (x ∗ ). Contradictie cu


presupunerea ca x ∗ este punct de minim local.

Observatie: convexitatea lui X este necesara pentru a asigura ca


x ∗ + t(y − x ∗ ) ∈ X si x ∗ + θt(y − x ∗ ) ∈ X pentru orice x ∗ , y ∈ X
Metode de descrestere (directii fezabile)
Definitie O directie d ∈ Rn se numeste directie fezabila in punctul
fezabil x ∈ X daca exista ᾱ astfel incat ∀0 < α ≤ ᾱ avem
x + αd ∈ X .

Exemplu: Fie X = {x ∈ Rn : aT x ≤ b}, b > 0 si x ∈ X .


b
Observam ca d = kak 2 a − x este directie fezabila pentru ᾱ = 1.

Intr-adevar, fie α ∈ (0, 1), atunci:


 
T T b
a (x + αd) = a (1 − α)x + α a ≤ (1 − α)b + αb = b.
kak2

Metoda directiilor fezabile:


• porneste din x0 ∈ X
• genereaza sirul fezabil xk ∈ X astfel:

xk+1 = xk + αk dk ,

unde dk este o directie fezabila si pasul αk ales prin metoda ideala


sau backtracking.
Metoda directiilor fezabile

In particular se aleg directii fezabile dk pentru care


∇f (xk )T dk < 0, atunci

f (xk + αk dk ) < f (xk )

pentru αk suficient de mic si xk punct nestationar. In concluzie,


directiile sunt de forma:

dk = γ(x̄k − xk ) γ > 0 & x̄k ∈ X

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:

lim sup ∇f (xk )T dk < 0.


k→∞ k≥0

Teorema Fie un sir xk generat de metoda directiilor fezabile


xk+1 = xk + αk dk . Presupunem ca directiile dk sunt conectate prin
gradient la xk pasul αk este ales prin metoda ideala sau
backtracking. Atunci orice punct limita al sirului xk este punct
stationar.

Demonstratie: Consideram alegerea lui αk prin backtracking (cazul


ideal este similar). Presupunem ca xk converge la un punct
nestationar x̄. Sirul f (xk ) este descrescator si convergent la f (x̄),
i.e.
f (xk ) − f (xk+1 ) → 0.
Metoda directiilor fezabile
Conditia de backtracking: f (xk ) − f (xk+1 ) ≥ −c1 αk ∇f (xk )T dk ,
implica αk ∇f (xk )T dk → 0. Directiile dk sunt conectate prin
gradient la xk , deci dk este marginit si lim sup ∇f (xk )T dk < 0,
k→∞ k≥0
ceea ce implica: αk → 0. Din aceasta relatie si procedura
backtracking avem ca exista k̄ a.i.
f (xk ) − f (xk + (αk /ρ)dk ) < −c1 (αk /ρ)∇f (xk )T dk ∀k ≥ k̄.

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.

Reamintind ca c1 < 1 rezulta ∇f (x̄)T d¯ > 0. Contradictie cu


definitia directiilor conectate prin gradient.
Metoda Gradient Proiectat
Fie functia f : Rn → R diferentiabila.

min f (x)
x∈X

Metoda Gradient Proiectat:


xk+1 = [xk − αk ∇f (xk )]X
F Pasul αk se alege constant
1/L sau cu metoda ideala!

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 )

Considerand x = xk si prelucrand conditia, avem:


1
∇f (xk )T (xk+1 − xk ) ≤ − kxk+1 − xk k2 < 0
| {z } αk
dk

Evaluand limita, avem lim sup ∇f (xk )T dk < 0. In concluzie, dk


k→∞ k≥0
sunt directii conectate prin gradient la xk daca X compacta si deci
putem folosim rezultatul precedent de convergenta: orice punct
limita a sirului xk generat de MGP este punct stationar.
Metoda Gradient Proiectat - convergenta
Rezultatele privind rata de convergenta a metodei gradient se
extind si la cazul constrans:
I daca f are gradient Lipschitz (L) atunci avem convergenta

subliniara O(1/ k).
I daca f convexa si cu gradient Lipschitz (L) atunci avem
convergenta subliniara O(1/k) pentru pas constant α = 1/L.
I daca f puternic convexa (σ) si cu gradient Lipschitz (L)
atunci avem convergenta liniara O((1 − σ/L)k ) pentru pas
constant α = 1/L.
Similar, ratele de convergenta ale metodei gradient accelerat se
pastreaza la cazul constrans:

metoda gradient accelerat pentru cazul constrans


1
xk+1 = [yk − ∇f (yk )]X , yk+1 = xk+1 + βk (xk+1 − xk )
L
Deci pentru f (puternic) convexa si cu gradient Lipschitz
p avem
2
rata de convergenta O(1/k ) (respectiv O((1 − σ/L) ). k
Exemple de proiectii simple
Pe anumite multimi convexe proiectia este simpla:
I proiectia pe hiperplan (O(n) flops):
aT y − b
[y ]{aT x=b} = y − a
kak2
I proiectia pe semispatiu (O(n) flops):
max(aT y − b, 0)
[y ]{aT x≤b} = y − a
kak2
I proiectia pe box (interval) (O(n) flops):

[y ][l,u] = min(u, max(l, y ))


I proiectia pe bila Euclidiana (O(n) flops):
y
[y ]{kxk2 ≤1} = V y
ky k2
I proiectia pe 1−ball, kxk1 ≤ 1, nu este explicita dar se poate
calcula in O(n log(n)) flops (presupune sortarea vectorului y )
Metoda Gradient Proiectat - Exemplu 1
 
1 T 2 1
min f (x) = x x + [−1 − 1] x
x∈R2 2 1 2 | {z }
| {z } qT
Q
s.l. 2x1 + x2 = 1
Observatii:  
2x1 + x2 − 1
I ∇f (x) = Qx + q =
x1 + 2x2 − 1
Ty −b
I proiectia pe hiperplan: [y ]{aT x=b} = y − a kak 2 a
 
I Fie y ∈ R2 , [y ]X = y − (2y1 +y 2 −1) 2
5 .
1
Metoda Gradient Proiectat: xk+1 = [xk − αk (Qxk + q)]X
Pornind din x0 = [1 1]T si considerand α0 = 1 avem
   
−1 3/5
x1 = [x0 − α0 (Qx0 + q)]X = = .
−1 X −1/5
Gradient Proiectat - matlab pt. X = {aT x ≤ b}
function [] = MGP constant()
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 min = [0; 0.25];

a = [1; 5]; b=0.5; %% definitie semispatiu


proiectie = @(x) [x(1) - max(0,a’*x-b)/26 ;...
x(2) - 5*(max(0,a’*x-b)/26)];
x = [−0.9; 1.05]; xvechi= [0; 0];
traiect = [x]; alpha=0.07; %% pasul iteratiei

while (norm(x-xvechi) > 0.00001) %% criteriu oprire


%% iteratie cu pas constant
xvechi=x;
z = x - (alpha*gradient(x));
x = proiectie(z);
traiect= [ traiect x];
end
Gradient Proiectat - matlab pt. X = {aT x ≤ b} (plot)
%%% Initializare contur
x1=linspace(-1+x min(1),1+x min(1),20);
y1=linspace(-1+x min(2),1+x min(2),20);
[X , Y ]=meshgrid(x1,y1);
fvec=X.^4+2*(X.^2).*Y + 2*(Y.^2)-Y+3*ones(size(X));
V=[7 6 5 4 3 2 1.5 1 0.7 ];
halfx = (b - a(2)*y1)/a(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

Metoda Gradient Conditional:


x̄k = arg min ∇f (xk )T (x − xk )
x∈X
xk+1 = xk + αk (x̄k − xk )
F Pasul αk se alege constant,
ideal, sau αk = 2/(k + 2), etc...

I Se rezolva la fiecare iteratie o problema convexa cu functia


obiectiv liniara;
I Recomandata in cazul in care complexitatea per iteratie este
mult mai scazuta decat cea necesara pentru rezolvarea
problemei originale.
Metoda Gradient Conditional (Frank-Wolfe)
Interpretare
x̄k = arg min f (xk ) + ∇f (xk )T (x − xk )
x∈X
adica foloseste doar o aproximare liniara pentru functia f in
comparatie cu metoda gradient proiectat care foloseste o
aproximare patratica pentru f cu Hessiana α1k In .

Gradientul conditional este caz particular de metoda fezabila:


∇f (xk )T (x̄k − xk ) ≤ ∇f (xk )T (x − xk ) ∀x ∈ X
Presupunem ca xk converge la un x̄ nestationar. Atunci trecand la
limita, obtinem:
lim sup ∇f (xk )T (x̄k − xk ) ≤ ∇f (x̄)T (x − x̄) ∀x ∈ X
k k
Evaluand minimum peste x ∈ X si stiind x̄ nestationar
x̄ nestationar
lim sup ∇f (xk )T (x̄k − xk ) ≤ min ∇f (x̄)T (x − x̄) < 0
k k x∈X

x̄k − xk directii conectate la gradient (X compacta). Contradictie!


Metoda Gradient Conditional - convergenta

I am obtinut ca x̄k − xk sunt directii conectate prin gradient la


xk daca X compacta si deci putem folosim rezultatul
precedent de convergenta: orice punct limita a sirului xk
generat de alg. gradient conditional este punct stationar.
I daca f este convexa si cu gradient Lipschitz (L) atunci
gradientul conditional cu pas variabil αk = 2/(k + 2) are
convergenta subliniara O(diam2 (X )/k)
I observam ca este necesar X sa fie compacta (marginita)!
I daca functia f este puternic convexa si cu gradient Lipschitz
atunci gradientul conditional nu convergce liniar (exceptand
cazul cand solutia se afla in interiorul multimii X ).
I Pentru a converge liniar pe cazul general este nevoie de o
modificare a algoritmului: conditional gradient with away step.
Metoda Gradient Conditional (Frank-Wolfe)
Gradient Conditional este caz particular de metoda directiilor
fezabile!

Daca X este multime poliedrala, atunci fiecare iteratie a Metodei


de Gradient Conditional necesita solutia unei probleme de
optimizare liniare (LP).
Abordari:
I algoritmul Simplex
(George Dantzig - 1947);
I algoritmi de punct interior
(Narendra Karmarkar - 1984)
Obs.: In anumite aplicatii este mai simplu sa rezolvam problema
minx∈X c T x decat proiectia minx∈X kx − ck2 (e.g. pentru p−ball
X = {kxkp ≤ 1}, cu p ∈ [1, 2))! In acest caz preferam gradientul
conditional in defavoarea gradientului proiectat.
Metoda Newton Proiectat
Fie functia f : Rn → R diferentiabila si X multime convexa.
min f (x)
x∈X
Introducem urmatoarea norma vectoriala:

H  0 ⇒ kxkH = x T Hx norma indusa de o matrice H
Metoda Newton Proiectat:
xk+1 = xk − αk (∇2 f (xk ))−1 ∇f (xk ) (∇2 f (x ),X )
 
k

unde presupunem ca Hessiana ∇2 f (xk )  0 (pozitiv definita) si


pasul αk se alege constant α = 1, ideal, etc...
Interpretare
1
xk+1 = arg min f (xk )+ kx −(xk −αk (∇2 f (xk ))−1 ∇f (xk ))k2∇2 f (xk )
x∈X 2αk
1
= arg min f (xk )+∇f (xk )T (x − xk )+ (x − xk )T ∇2 f (xk )(x − xk ).
x∈X 2αk
I Daca αk = 1 atunci la fiecare iteratie se minimizeaza
aproximarea Taylor de ordinul II a lui f in jurul lui xk ;
I In general, subproblema la iteratia k este complexa (e.g. QP)
Metoda Newton Proiectat
Conditia de optimalitate pentru subproblema convexa
1
min q(x) = f (xk )+∇f (xk )T (x −xk )+ (x −xk )T ∇2 f (xk )(x −xk )
x∈X 2αk
este data de
1 2
(∇f (xk ) + ∇ f (xk )(xk+1 − xk ))T (x − xk+1 ) ≥ 0, ∀x ∈ X .
αk
| {z }
∇q(xk+1 )

Considerand x = xk si prelucrand conditia avem:


1
∇f (xk )T (xk+1 − xk ) ≤ − kxk+1 − xk k2∇2 f (xk ) < 0
| {z } αk
dk

Evaluand limita avem lim sup ∇f (xk )T dk < 0. In concluzie, dk


k→∞ k≥0
sunt directii conectate prin gradient la xk daca X compacta si
folosim rezultatul precedent de convergenta.
Metoda Newton Proiectat - Exemplu
1
min f (x) = kxk22 − log(x1 − x2 + 1)
x∈R2 2 | {z }
c T x+d
s.l. x1 + x2 = 0
| {z }
aT x=b

Metoda Newton Proiectat:


xk+1 = arg min ∇f (xk )T (y − xk ) + 2α1 k (y − xk )T ∇2 f (xk )(y − xk ).
aT y =b

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

unde M T = [v In−1 ], v T = [− aa12 . . . − an


a1 ], u = b/a1 − xk .
Metoda Newton Proiectat - Exemplu

Determinam prima iteratie a Metodei Newton, utilizand dualitatea

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 ).

Pornind din x0 = [0 0]T si considerand α0 = 1 avem


   
−1 2 2 −1
I ∇f (x0 ) = ; ∇ f (x0 ) = ;
1 −1 2
   
I ∇2 f (x0 ) −1 = 31
2 1 1 −1

;v = 3 ;
1 2 1
 
1 1
x1 = .
3 −1
Metoda Newton Proiectat - Exemplu

Determinam prima iteratie a Metodei Newton prin eliminarea


constrangerii y1 + y2 = 0
   
1 1 1
(x1 )1 = arg min (y1 )2 1 − 1 ∇2 f (x0 ) +∇f (x0 )T
 
y ,
y1 ∈R 2 −1 −1 1

Pornind din x0 = [0 0]T si considerand α0 = 1 avem

(x1 )1 = arg min 3(y1 )2 − 2y1 = 1/3


y1 ∈R

(x1 )2 = −(x1 )1 = −1/3.


Metoda Newton Proiectat - convergenta

Teorema Fie xk sirul generat de metoda Newton proiectat cu


pasul αk ales prin metoda ideal sau backtracking de-a lungul
directiilor fezabile. Presupunem de asemenea ca exista scalarii
pozitivi β1 si β2 astfel incat:

β1 In  ∇2 f (xk )  β2 In .

Atunci orice punct limita al sirului xk este punct stationar.

Teorema Fie f de doua ori diferentiabila cu Hessiana pozitiv


definita si continua Lipschitz. Fie, de asemenea, x ∗ un punct de
minim local pentru problema (NLP). Atunci exista γ > 0 astfel
incat daca kx0 − x ∗ k < γ, sirul xk produs de metoda Newton
proiectat cu αk = 1 satisface kxk − x ∗ k < γ si xk converge la x ∗
cu rata de convergenta superliniara.
Tema - cerinte
Fiecare student alege o aplicatie a.i. sa se modeleze ca o probleme
de optimizare cu sau fara constrangeri. Cerinte:
I descrieti in detaliu aplicatia aleasa
I dati formularea matematica ca o problema de optimizare NLP
I utilizati cel putin 2 algorithmi de optimizare dati la curs
pentru rezolvarea ei
I dati codul Matlab pentru cei 2 algoritmi
I comparati rezultatele cu functia Matlab fmincon sau fminunc
(bonus daca utilizati si CVX!)
I comentati rezultatele obtinute (grafice, tabele, nr. iteratii,
timpi, etc)
Vezi cele 2 exemple de mai jos (”lant suspendat” si ”matrix
completion”) dar si ultimul curs (XIV) pentru exemple de aplicatii
ce respecta cerintele de mai sus.
Aplicatia lant suspendat
Lant suspendat: un lant in planul x − z constand din n + 1
puncte de masa egala conectate prin arcuri are potentialul:
n n+1
DX 2
X
V = kxi − xi+1 k + mgezT xi ,
2
i=1 i=1

unde x1 , . . . , xn+1 ∈ R2 sunt pozitiile punctelor, g = 9.81


constanta gravitationala, m = 1 masa unui punct, ez = [0 1]T si
D = 1500 constanta arcului. Punctul de index 1 este fixat la
(−1, 1) si punctul xn+1 este la (2, 2) ∈ R2 . Daca constrangerea
ezT xi ≥ 0 este activa, atunci punctul i atinge pamantul. Daca
lantul este la echilibru, potentialul V este la minimum.
I Daca n = 49, calculati numarul de puncte care ating
pamantul. (Este suficient sa plotati punctele si sa le
enumarati pe cele care au xi (2) = 0.)
Aplicatia lant suspendat cont.
Problema se formuleaza astfel:
n n+1
DX X
minimize V (x) := kxi − xi+1 k2 + mgezT xi
x=(x1 ,...,xn+1 )∈R2(n+1) 2
i=1 i=1
T T
subject to x1 = [−1 1] , xn+1 = [2 2]
xi (2) ≥ 0 for all i ∈ {1, . . . , n + 1}
Aceasta problema este un QP convex. De fapt, putem elimina
constrangerile x1 = [−1 1]T , xn+1 = [2 2]T , variabila de decizie
devine x = (x2 , . . . , xn ) cu functia obiectiv (notatie: xi = [ai bi ]T ):
n−1
!
D X
V (x) = (−1 − a2 )2 + (ai − ai+1 )2 + (an − 2)2
2
i=2
| {z }
:=f1 (a)
n−1 n
!
D X X
+ (1 − b2 )2 + (bi − bi+1 )2 + (bn − 2)2 + mgbi
2
i=2 i=2
| {z }
:=f2 (b)
Aplicatia lant suspendat cont.
Problema se reformuleaza astfel:

min f1 (a) + f2 (b) s.t. : b ≥ 0,


a∈Rn−1 ,b∈Rn−1

unde functiile fi sunt patratice:

f1 (a) = 1/2aT Q1 a + q1T a & f2 (b) = 1/2b T Q2 b + q2T b

ambele avand aceeasi Hessiana


 
2 −1
 −1 2 −1 
 
 −1 2 −1 
Q1 = Q2 = D 
 
.. .. .. 

 . . . 

 −1 2 −1 
−1 2

q1 = [D 0 · · · 0 − 2D]T , q2 = [−D 0 · · · 0 − 2D]T + mg 1n−1 .


Calcularea solutiei - quadprog
Problema QP convexa:

min (1/2aT Qa + q1T a) + (1/2b T Qb + q2T b) s.l. : b ≥ 0.


a∈Rn−1 ,b∈Rn−1

este de forma
1 T
(QP) : min x Qx + q T x s.l.: Cx ≤ d.
x=(a,b)∈R2(n−1) 2

Putem sa o rezolvam apeland functia quadprog din Matlab:

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

x0=ones(2*nq,1); eps=0.002; iter cg =0;


alpha= 2/(iter cg + 2);
xcg =x0; grad = Q ∗ xcg + q; deltax=x0;
while (norm(deltax) > eps)
s=linprog(grad,C,d,[],[],−2∗ones(2∗nq, 1), 2∗ones(2∗nq, 1));
xcg next = xcg + alpha ∗ (s − xcg );
deltax = xcg - xcg next;
xcg=xcg next;
grad=Q ∗ xcg + q;
iter cg = iter cg + 1;
alpha = 2/(iter cg + 2);
end
zet cond gradient=xcg (nq + 1 : end);
Lant suspendat - rezultate (plot)

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

I exista diferite formulari - prezentam doua formulari de baza:


X
(P1) : min rang(X ) ↔ (P2) : min kXij − Aij k2
z}|{
X ∈Rm×n sau X ∈Rm×n
i,j∈Ω

s.l.: Xij = Aij ∀i, j ∈ Ω s.l.: rang(X ) ≤ r

si relaxarile (convexe) corespunzatoare.


Aplicatia matrix completion cont.
Prezentam diferite formulari convexe (relaxari) pentru problema
neconvexa (P1):

(P1) : min rang(X ) =⇒ min kX k∗


z}|{
X ∈Rm×n relaxare convexa X ∈Rm×n
s.l.: Xij = Aij ∀i, j ∈ Ω s.l.: Xij = Aij ∀i, j ∈ Ω
unde se dau valorile Aij cu (i,
Pj) ∈ Ω o submultime a elementelor
r
matricei cautate si kX k∗ = i=1 σi . Utilizand urmatorul rezultat
matriceal (ne-trivial!):
 
W1 X
kX k∗ ≤ δ ⇔ ∃W1 , W2 : tr(W1 ) + tr(W2 ) ≤ 2δ & 0
X T W2
Obtinem ca relaxarea convexa se poate scrie ca un SDP:
(P1 − sdp) : min tr(W1 ) + tr(W2 )
X ,W1 ,W2
 
W1 X
s.l.: Xij = Aij ∀i, j ∈ Ω, 0
X T W2
Acest SDP se poate rezolva cu CVX (metode de punct interior)!
Implementare CVX - SDP pentru (P1)
Relaxarea convexa de tip SDP pentru (P1):
 
W1 X
min tr(W1 ) + tr(W2 ) s.l.: Xij = Aij ∀i, j ∈ Ω, 0
X ,W1 ,W2 XT W2
N = 16; r = 2; df = 2 ∗ N ∗ r − r 2 ; %rang=2
nSamples = 3 ∗ df ; % nr observed entries
iMax = 5; A = randi(iMax, N, r )∗randi(iMax, r , N); % Our matrix
rPerm = randperm(N 2 ); omega = sort(rPerm(1 : nSamples));
% omega set of observed entries
Y = nan(N); Y (omega) = A(omega); disp(Y )
cvx begin sdp
variable W1(N,N) symmetric
variable W2(N,N) symmetric
variable X(N,N)
minimize(trace(W 1) + trace(W 2))
X (omega) == A(omega)
[W 1 X ; X T W 2] >= 0
cvx end
Implementare (sub)gradient - (P1)

(P1) : relaxare convexa min kX k∗


X ∈Rm×n
s.l.: Xij = Aij ∀i, j ∈ Ω

Pentru a calcula (sub)gradientul functiei f (X ) = kX k∗ se foloseste


DVS-ul lui X = UΣV T :

∇f (X ) = UV T

Deci putem implementa urmatoarea iteratie (e.g. c = 1 si X0 = 0


si X0 (Ω) = A(Ω)):
c
Xk+1 = [Xk − αk ∇f (Xk )]Ω , αk =
k
explicit (Xk = Uk Σk VkT )
h c i
Xk+1 = Xk − Uk VkT
k Ω
Aplicatia matrix completion cont.

Diferite formulari (relaxari) pentru probl. neconvexa (P2):


z }| {
(P2) : min kP(X− A)k2 relaxare min kP(UV T −A)k2
X ∈Rm×n ,rang(X )=r neconvexa U∈Rm×r ,V ∈Rn×r

unde P operator liniar de proiectie pe componente


hEij , X − Ai = 0 ⇔ Trace(EijT (X − A)) = 0 ∀i, j ∈ Ω.

Observam ca am obtinut un CMMP neliniar (fara constrangeri)


peste spatiul matricilor:

(P2 − cmmp) : min kP(UV T − A)k2


U∈Rm×r ,V ∈Rn×r

Putem aplica metode de tip Gauss-Newton (implementati)!


Aplicatia matrix completion cont.
Diferite formulari (relaxari) pentru probl. neconvexa (P2):
z }| {
(P2) : min kP(X− A)k2 relaxare min kP(X−A)k2
X ∈Rm×n ,rang(X )=r convexa X ∈Rm×n ,kX k∗ ≤δr

unde P operator liniar de proiectie pe componente

Utilizand iarasi rezultatul matriceal:


 
W1 X
kX k∗ ≤ δ ⇔ ∃W1 , W2 : tr(W1 ) + tr(W2 ) ≤ 2δ & 0
XT W2

obtinem o relaxare de tip SDP pentru (P2):


X
(P2 − sdp) : min (Xij − Aij )2
X ,W1 ,W2
i,j∈Ω
 
W1 X
s.l.: tr(W1 ) + tr(W2 ) ≤ 2δr , 0
XT W2
Acest SDP se poate rezolva cu CVX sau cu gradientul conditional
(implementati)!
Implementare gradient conditional - SDP pentru (P2)
Problema SDP pentru (P2) de forma
X
min f (X ) = (Xij − Aij )2 s.l.: kX k∗ ≤ δr
X
i,j∈Ω
este potrivita pentru a fi rezolvata cu metoda gradient conditional:
I calculul gradientlui se poate face eficient daca ]Ω este mica
∇f (X ) = P(X − A)
I subproblema de la fiecare pas se poate rezolva explicit
Sk = arg minh∇f (Xk ), X i s.l.: kX k∗ ≤ δr
X
considerand cea mai mare valoare singulara σ1 a lui
∆ = ∇f (Xk ) cu vectorii singulari u1 (stang) si v1 (drept):
Sk = −δr u1 v1T .
I subproblema de la metoda gradient proiectat necesita
descompunerea SVD completa!
I obtinem o iteratie de forma (updatari de rang= 1)
Xk+1 = (1 − αk )Xk − αk δr (u1 v1T ), αk = 2/(k + 2).
Implementare gradient conditional - SDP pentru (P2)
I subproblema de la gradient conditional este de forma:
S ∗ = arg minhC , X i s.l.: kX k∗ ≤ δr
X
a carui solutie presupune calcularea vectorilor singulari
dominanti u1 si v1 a lui C , i.e. S ∗ = −δr u1 v1T (cost O(mn)).
I subproblema de la gradient proiectat este de forma:
S ∗ = arg min kX − C k2 s.l.: kX k∗ ≤ δr
X

presupune calcularea DVS completa a lui C (cost O(m2 n)).


Calculul val. singulare max. C ∈ Rm×n cu metoda puterii:
Input: matrix C , initial vector x = x0 , error = 1, eps
Output: prima val. singulara σ1 si vectorii singulari u1 , v1
satisfacand: Cv1 = σ1 u1
while error > eps do:
x = C T ∗ C ∗ x; v = x/norm(x); sigma1 = norm(C ∗ v );
u = C ∗ v /sigma1; error = kC ∗ v − σ1 ∗ uk
end
Implementare gradient conditional - SDP pentru (P2)

X = randi(iMax, N, 1) ∗ randi(iMax, 1, N);


eror = norm(X );
accur = 0.001; iter = 0;
while (eror > accur )
grad = zeros(N, N);
grad(omega) = X (omega) − A(omega);
[u, v ] = dominant sing values(grad);
alpha = 2/(2 + iter );
Xnext = (1 − alpha) ∗ X − alpha ∗ delta ∗ u ∗ v T ;
eror = norm(Xnext − X );
X = Xnext;
iter = iter + 1;
end
Aplicatia matrix completion
Recuperarea de imagini folosind una din relaxarile convexe (SDP):

min kX k∗ =⇒ min kP(X−A)k2


z}|{
X ∈Rm×n ,P(X−A)=0 SAU X ∈Rm×n ,kX k∗ ≤δr

imaginea data (40% elemente lipsa) si imaginea recuperata


Scurt ghid pentru implementarea unui proiect
I alege o aplicatie de dimensiune medie (102 − 105 ) pe care o
intelegi si o poti descrie in cateva randuri.
I pentru inceput formuleaza o problema de optimizare simpla;
implementeaza un algorithm pentru ea si apoi, pas cu pas,
fa-o mai complexa (schimba functia obiectiv, adauga
constrangeri, etc)
I care sunt parametrii problemei, care sunt fixati si care trebuie
optimizati?
I care este functia obiectiv? este differentiabila (daca nu
gaseste o reformulare/transformare care sa o faca
differentiabila)? este convexa? are o anumita structura
(raritate, functie patratica, etc).
I determina constrangerile pentru problema ta (simplifica
problema a.i. sa obtii functii diferentiabile)
I analizeaza cu atentie ce algoritmi de la curs sunt potriviti
pentru rezolvarea problemei (acesta este un pas esential)!
I compara rezultatul implementarii tale cu cel al unei functii din
matlab (pentru verificare corectitudinii implementarii proprii)!
Cateva exemple de posibile proiecte
1. Find time optimal control inputs for a car with a pendulum.
By moving the car in horizontal direction the pendulum gets
excited. One aim could be to bring the pendulum in minimum
time from the stable to the unstable equilibrium point.
2. Generalize the hanging chain already presented for a three
dimensional example.
3. Find time optimal control inputs for a car on a race track.
4. A child on a swing wants to optimize its motion. Can you find
a simple model for the swing and the child and formulate a
suitable optimal control problem?
5. A robot-arm can be considered in two or three-dimensions
(depending on your modeling experience). The torques acting
on the arm can be controlled by motors. Find optimal
trajectories for the robot arm for suitable objectives.
6. Optimize the initial conditions of a frisbee and formulate a
suitable optimization problem. For a first model it might be
helpful to assume that the frisbee’s angular orientation is
stable due to a fast rotation.
Cateva exemple de posibile proiecte cont.
1. Optimize the movement of a bird. Formulate an optimal
control problem possibly assuming that the bird is only flying
in a plane. The main task of this example would be to find a
bird model that is sufficiently easy. The model can be based
on modified but simple airplane models.
2. Applications from compressed sensing: image recovery,
debluring, etc
3. Applications from machine learning: classification, regression
(e.g. make your own spam filter, recognize letters, etc)
4. Applications from finance (e.g. portfolio optimization using
real data about assets)
5. Applications from power systems: optimal power flow (either
DC or AC)
6. Applications from biology: clustering of breast cancer data
7. pentru alte aplicatii vezi ultimul curs!
Rocket application
Minimize the fuel consumption of a rocket with dynamics (states
are z = (s, v , m) - position, velocity and mass):
h
a(k, u)−αvk2 , mk+1 = mk −hβa(k, u)2

sk+1 = sk +hvk , vk+1 = vk +
mk
for h = 0.1 and k = 1 : 101. Here, the rocket starts at the position
s1 = 0 with the velocity v1 = 0 and is assumed to stop at the
position s101 = 10, i.e. we require v101 = 0. At the start the mass
of the rocket is m1 = 1 but it looses weight while burning fuel.
The piecewise constant acceleration a(k, u) of the rocket depends
on the control input u ∈ R10 :
a(k, u) := udk/10e
for all k = 1 : 100. The friction coefficient is given by α = 0.05
while the fuel consumption coefficient is β = 0.001. Our aim is to
find a control input u which minimizes the total fuel consumption:
min kuk2 s.t. G (u, z) = 0 (dynamics)
u=(uk )k=1:10 ,z=(zk )k=1:101
Tehnici de Optimizare
Curs XII
Metode de optimizare pentru probleme cu
constrangeri de egalitate

Ion Necoara

2014
Probleme cu constrangeri de egalitate
I Reamintim forma generala a problemelor cu constrangeri de
egalitate:

(NLPe) : min f (x)


x∈Rn
s.l.: h(x) = 0,

unde f : Rn → R si h : Rn → Rp sunt functii de doua ori


diferentiabile.
I Conditiile de optimalitate de ordinul I pentru aceasta
problema (conditiile KKT): fie x ∗ punct de minim atunci
exista µ∗ ∈ Rp astfel incat conditiile (KKT-NLPe) au loc:

∇x L(x ∗ , µ∗ ) ∇f (x ∗ ) + ∇h(x ∗ )T µ∗
   
∗ ∗
∇L(x , µ ) = = = 0
∇µ L(x ∗ , µ∗ ) h(x ∗ )

unde L(x, µ) = f (x) + µT h(x) este Lagrangianul.


I Reamintim ca x ∗ trebuie sa fie punct regulat, i.e. rangul lui
∇h(x ∗ ) este p.
Exemplu 1: probleme cu constrangeri de egalitate
Fie urmatoarea problema de optimizare:

min 4x12 + 2x22 + 4x1 x2 − x1 + x2


x∈R2
s.l: x1 − x2 = 1

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,

unde zt ∈ Rnz este starea, si ut ∈ Rnu intrarea sistemului.


I Consideram costuri de etapa: `zt (zt ) = 1/2kzt − ztref k2Q ,
t
`ut (ut ) = 1/2kut − utref k2Rt , unde Qt  0 si Rt  0
I Formulam problema de control optimal pe orizont finit de
lungime N:
N
X N−1
X
min `zt (zt ) + `ut (ut )
zt ,ut
t=1 t=0
s.l.: zt+1 = At zt + Bt ut ∀t = 0, . . . , N − 1, z0 dat.
Exemplu 2: control optimal cont.
I Definim variabila de optimizare:

x = [u0T z1T . . . uN−1


T
zNT ]T ∈ RN(nz +nu )

si vectorul referinta aferent

x ref = [(u0ref )T (z1ref )T . . . (uN−1


ref
)T (zNref )T ]T

I Atunci functia obiectiv poate fi scrisa drept:

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

I Prima constrangere poate fi scrisa drept:


−B0 u0 + Inz z1 = A0 z0
I A doua constrangere poate fi scrisa drept:
−A1 z1 + B1 u1 + Inz z2 = 0
I Considerand astfel dinamicile peste intreg orizontul de
predictie, atunci constrangerile pot fi scrise drept:
h(x) = Ax − b = 0 unde
   
−B0 Inz 0 0 ... 0 0 0 A0 z0
 0 −A1 −B1 Inz . . . 0 0 0  0 
A = . si b = ..  .
   
.. .. .. .. .. .. ..
 ..

. . . . . . .   . 
0 0 0 0 ... −AN−1 −BN−1 Inz 0
Metode pentru QP-uri cu constrangeri de egalitate
I Forma standard problema QP cu constrangeri de egalitate:

1 T
(QPe) : minn x Qx − q T x
x∈R 2
s.l.: Ax = b,

I Daca exprimam conditiile de optimalitate ∇L(x ∗ , µ∗ ) = 0,


rezulta sistemul KKT:

Qx − q + AT µ = 0
Ax = b.

sau in notatie matriceala (numim K matricea KKT):

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

I Daca A are rang p, atunci orice punct x ∈ Rn este punct


regular (confor definitiei).
I Mai departe, daca pentru orice d ∈ kernel(A) cu d 6= 0 avem
d T Qd > 0, atunci conditiile suficiente de ordinul II sunt
satisfacute pentru (QPe). În concluzie, pentru o problema
patratica cu constrângeri de egalitate ı̂n forma (QPe),
existenta unui minim local este echivalenta cu inversabilitatea
matricei (KKT).
Metode pentru QP-uri cu constrangeri de egalitate
Rezolvarea sistemului KKT, Ky = κ, se poate face prin
urmatoarele abordari:
I presupunem Q inversabila si A are rangul p, extragem x din
prima ecuatie: x = −Q −1 (AT µ − q), introducem x in a doua:
AQ −1 AT µ = AQ −1 q−b → rezolvam pentru µ → recuperam x
Observam ca AQ −1 AT este inversabila, daca A are rangul p
I factorizarea LU. K simetrica (dar indefinita) ⇒ utilizam o
factorizare Cholesky indefinita: P T KP = LDLT , unde P este
o matrice de permutare, D este o matrice bloc diagonala
(dim. bloc: 1 sau 2) si L este inferior triunghiulara.
I metoda spatiului nul gaseste o baza (coloane ale lui)
Z ∈ Rn×(n−p) pentru kernel(A) si defineste x = Zv + y , unde
y este o solutie particulara a constrangerilor Ay = b
putem elimina constrangerile Ax = b ⇒ reformulam problema
originala ca o problema neconstransa QP (x → Zv + y ):
1
min (Zv + y )T Q(Zv + y ) − q T (Zv + y ).
v ∈Rn−p 2
Metode pentru NLP-uri generale cu constrangeri de
egalitate: metode Lagrange
I Observatie: Daca sistemul KKT nu se poate rezolva explicit
precum in cazul problemelor QP, atunci trecem la metode
iterative pentru NLP-uri cu constrangeri de egalitate.
I Metodele Lagrange se bazeaza pe conditiile KKT:

∇x L(x, µ) = 0, h(x) = 0 ⇐⇒ ∇L(x, µ) = 0.


I Definim:  
∇x L(x, µ)
F (y ) = ∇L(x, µ) =
h(x)
I Solutiile problemei NLPe se gasesc in radicinile sistemului
neliniar F (y ) = 0
I Forma generica a metodelor Lagrange:

(ML) : xk+1 = L(xk , µk )


µk+1 = H(xk , µk ),
I Iteratiile metodelor Lagrange depind de un pas αk
Metode pentru NLP-uri generale cu constrangeri de
egalitate: metode Lagrange
I Pasul αk poate fi stabilit conform unei functii de merit
1 1
F(x, µ) = k∇x L(x, µ)k2 + kh(x)k2
2 2
I Observatie: F(x, µ) ≥ 0, F(x, µ) = 0 daca si numai daca
∇x L(x, µ) = 0 si h(x) = 0
I Astfel, daca rezolvam problema neconstransa:
 
1 2 1 2
min F(x, µ) = k∇x L(x, µ)k + kh(x)k (1)
x∈Rn ,µ∈Rp 2 2
⇒ orice punct de minim global (x ∗ , µ∗ ) al acestei probleme
satisface ∇L(x ∗ , µ∗ ) = 0.
I Lema: presupunem ca (x ∗ , µ∗ ) este punct de minim local al
problemei (1) care satisface conditiile necesare de ordinul I.
Presupunem de asemenea ca rangul lui ∇h(x ∗ ) este p si
Hessiana ∇2x L(x ∗ , µ∗ ) este pozitiv definita. Atunci (x ∗ , µ∗ )
este punct de minim global pentru (1), adica F(x ∗ , µ∗ ) = 0.
Metoda Lagrange de ordin I (ML-I)
 
∇x L(x, µ)
F (y ) = ∇L(x, µ) = =0
h(x)
Metoda gradient pentru rezolvarea sistemului de ecuatii
F (y ) = 0 ⇔ y k+1 = y k − αF (y k ). Daca y k converge la y ∗ atunci
F (y ∗ ) = 0.
I Metoda Lagrange de ordin I are iteratia:

(ML − I ) : xk+1 = xk − αk ∇x L(xk , µk )


µk+1 = µk + αk h(xk ),

I Iteratia se poate scrie echivalent: yk+1 = yk − αk F (yk ).


I Metoda Lagrange de ordin I este o metoda iterativa cu
directia (−∇x L(xk , µk ), h(xk ))
Metoda Lagrange de ordin I (ML-I)

(ML − I ) : xk+1 = xk − αk ∇x L(xk , µk )


µk+1 = µk + αk h(xk ),

I Notam: Lk = ∇2x L(xk , µk ), lk = ∇x L(xk , µk ), hk =


h(xk ) si Ak = ∇h(xk ).
I Observam: produsul scalar dintre gradientul lui F si directie:

[(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

I Astfel, daca Lk = ∇2x L(xk , µk )  0, atunci −lkT Lk lk < 0 si


(−∇x L(xk , µk ), h(xk )) este o directie de descrestere pentru
functia merit F.
Metoda Lagrange de ordin I (ML-I)
I Putem alege pasul αk astfel:

αk = arg min F(xk − α∇x L(xk , µk ), µk + αh(xk )).


α≥0

I Iteratia (ML-I) va converge catre un punct ce satisface


∇x L(x ∗ , µ∗ ) = 0 dar nu putem garanta ca h(x ∗ ) = 0.
I Putem imbunatati convergenta (ML-I) prin alegerea altei
functii merit si pasul αk corespunzator acesteia:
1 1
Fγ (x, µ) = k∇x L(x, µ)k2 + kh(x)k2 − γL(x, µ),
2 2
cu γ suficient de mic.
I Sub ipoteza Lk = ∇2x L(xk , µk )  0, (−∇x L(xk , µk ), h(xk ))
este o directie de descrestere pentru functia merit Fγ :

[(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:

min x14 + x22 + 2x1 x2 + x1 + x2


x∈R2
s.l: x1 + x2 = 1

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

I Punct de atractie: o pereche (x ∗ , µ∗ ) se numeste punct de


atractie pentru iteratia (ML) daca exista o multime deschisa
V ⊂ Rn×p astfel ı̂ncât pentru orice (x0 , µ0 ) ∈ S sirul (xk , µk )
generat de iteratie ramâne ı̂n S si converge la (x ∗ , µ∗ ).
I Teorema: Fie L : Rn×p → Rn si H : Rn×p → Rp functii
diferentiabile astfel ı̂ncât x ∗ = L(x ∗ , µ∗ ) si µ∗ = H(x ∗ , µ∗ ).
Mai mult, presupunem ca toate valorile proprii ale matricei de
dimensiune (n + p) × (n + p)

∇x L(x ∗ , µ∗ ) ∇x H(x ∗ , µ∗ )
 

R =
∇µ L(x ∗ , µ∗ ) ∇µ H(x ∗ , µ∗ )

sunt ı̂n interiorul cercului unitate. Atunci, (x ∗ , µ∗ ) este un


punct de atractie al iteratiei (ML) si când sirul generat
(xk , µk ) converge la (x ∗ , µ∗ ), rata de convergenta este liniara.
Convergenta ML-I

I Avem astfel urmatoarea teorema pentru metoda Lagrange de


ordinul I:
Teorema: presupunem ca f si h sunt functii de doua ori
diferentiabile, x ∗ este punct de minim local pentru care exista
µ∗ satisfacând conditiile (KKT-NLPe). Presupunem de
asemenea ca x ∗ este regulat si Hessiana ∇2x L(x ∗ , µ∗ ) este
pozitiv definita. Atunci există ᾱ > 0 astfel ı̂ncât pentru orice
α ∈ (0 ᾱ], (x ∗ , µ∗ ) este un punct de atractie al iteraţiei
(ML-I) si daca sirul generat (xk , µk ) converge la (x ∗ , µ∗ ),
atunci rata de convergenta este liniara.
Metoda Lagrange Newton
I Metoda Lagrange Newton este in esenta metoda Newton
aplicata pentru a rezolva sistemul (KKT-NLPe)
 
∇x L(x, λ)
F (y ) = ∇L(x, µ) = =0
h(x)

I Folosind Jacobianul sistemului ∇F (yk ) = ∂F


∂y (yk ), atunci
metoda Newton presupune: F (yk ) + ∇F (yk )(y − yk ) = 0
I Sub ipoteza ca Jacobianul sistemului ∇F (yk ) este inversabil,
iteratia Metodei Newton este:

yk+1 = yk − (∇F (yk ))−1 F (yk ).

I In termeni de gradienti, iteratia metodei Lagrange Newton


F (yk ) + ∇F (yk )(y − yk ) = 0 este:

∇x L(xk , µk ) + ∇2x L(xk , µk )(x − xk ) + (∇h(xk ))T (µ − µk ) = 0


h(xk ) + ∇h(x k )(x − xk ) = 0.
Metoda Lagrange Newton

I Echivalent, putem scrie sub forma matriceala:


 2
∇x L(xk , µk ) (∇h(xk ))T x − xk
   
−∇x L(xk , µk )
= .
∇h(xk ) 0 µ − µk −h(xk )
| {z }
matricea KKT
I Astfel, pentru orice solutie (x ∗ , µ∗ ) ce satisface conditiile de
ordin II, matricea KKT este inversabila intr-o vecinatate a
acestei solutii.
I Matricea KKT este inversabila → sistemul are solutie unica.
Metoda Lagrange Newton

I Obtinem urmatoarea iteratie Newton clasica:

(ML − N) : xk+1 = xk + dk
µk+1 = µk + dkµ ,

unde directiile (dk , dkµ ) sunt solutia sistemului:


 2
∇x L(xk , µk ) (∇h(xk ))T dk
   
−∇x L(xk , µk )
= .
∇h(xk ) 0 dkµ −h(xk )

I Rezultatele standard ale metodei Newton sunt aplicabile si


aici: daca punctul initial (x0 , µ0 ) este suficient de aproape de
solutia (x ∗ , µ∗ ), atunci sirul (xk , µk ) generat de metoda
Newton (ML-N) este convergent si converge catre solutie cu
rata cel putin patratica.
Exemplu iteratie metoda Lagrange Newton
Fie urmatoarea problema de optimizare:
min x14 + x24 − x12 x22 + x1 + x2
x∈R2
s.l: x1 + x2 = 2
Observam:
4x13 − 2x1 x22 + 1 + µ
 
I ∇x L(xk , µk ) = ,
4x 3 − 2x12 x2 + 1 + µ
 22
12x1 − 2x22

2 −4x1 x2
∇x L(xk , µk ) =
−4x1 x2 12x22 − 2x12
I Atentie: in general avem h : Rn → Rm , iar ∇h(x) reprezinta
Jacobianul functiei. In cazul nostru,
 avem
 h(x) = x1 + x2 − 2
iar Jacobianul rezulta ∇h(x) = 1 1 .
I Rezulta astfel matricea KKT:
12x12 − 2x22
 
−4x1 x2 1
 −4x1 x2 12x22 − 2x12 1
1 1 0
Exemplu iteratie metoda Lagrange Newton
Avem astfel sistemul:
12x12 − 2x22
 
−4x1 x2 1    
 −4x1 x2 2 2 dk −∇x L(xk , µk )
12x2 − 2x1 1 = .
dkµ

−h(xk )
1 1 0

Consideram un punct initial (x0 , µ0 ) cu x0 = [1 0]T si µ0 = 0.


Inlocuind in sistemul anterior, rezulta:
     
12 0 1   −5   −3/5
−0 −2 1 d0µ = −1 ⇒ d0µ =  8/5 
d0 d0
1 1 0 1 11/5

Rezulta:  
2/5
(x1 , µ1 ) = (x0 , µ0 ) + (d0 , d0µ ) =  8/5 
11/5
Metoda Lagrange Newton

I Reamintim notatiile: Lk = ∇2x L(xk , µk ), lk = ∇x L(xk , µk ),


hk = h(xk ) si Ak = ∇h(xk ).
I Astfel, produsul scalar dintre directiile Newton (dk , dkµ ) si
gradientul functiei merit F este (tinand cont de sistemul KKT
precedent satisfacut de directiile (dk dkµ )):
µ T T T T µ
[Lk lk + AT T T T
k hk Ak lk ][dk (dk ) ] = lk Lk dk + hk Ak dk + lk Ak dk
= −klk k2 − khk k2 .

I Aceasta expresie este strict negativa cu exceptia cazului cand


lk = 0 si hk = 0 (adica conditiile (KKT-NLPe)). Astfel,
directiile Newton (dk , dkµ ) sunt directii de descrestere.
Metoda Lagrange Newton

I Metoda Lagrange-Newton este o metoda de descrestere


pentru o functie merit → are proprietati de convergenta
globala când iteratia se ia cu un pas variabil.
I Definim astfel metoda Lagrange-Newton generala prin
urmatoarea iteratie:

(ML − Nα ) : xk+1 = xk + αk dk
µk+1 = µk + αk dkµ ,

I Pasul αk este ales sa minimizeze functia merit, i.e.

αk = arg min F(xk + αdk , µk + αdkµ ).


α≥0
Metoda Lagrange Newton
I Daca adaugam expresia (∇h(xk ))T µk ı̂n prima ecuatie a
sistemului KKT pentru (ML-N) si tinand cont ca
µk+1 = µk + dkµ , atunci acest sistem se rescrie in forma:
 2
∇x L(xk , µk ) (∇h(xk ))T
   
dk −∇f (xk )
= .
∇h(xk ) 0 µk+1 −h(xk )
I Acest sistem se poate scrie explicit:
∇f (xk ) + ∇2x L(xk , µk )dk + (∇h(xk ))T µk+1 = 0,
h(xk ) + ∇h(xk )dk = 0.
I Aceste doua relatii sunt de fapt conditiile (KKT) pentru o
problema patratica, adica dk si µk+1 sunt solutiile optime
(punctele stationare) obtinute din rezolvarea unui QP de
forma (metoda SQP):
1
min ∇f (xk )T d + d T ∇2x L(xk , µk )d
d∈Rn 2
s.l.: h(xk ) + ∇h(xk )d = 0.
Exemplu iteratii metoda Lagrange Newton

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

Iteratia metodei (ML-N) cu punctul initial x0 = [2 2]T pentru


problema neconvexa min (x1 − 6)4 + (x1 − 4x2 )2 .
x∈R2 : x12 +x22 =1
Metoda Newton pentru probleme convexe cu constrangeri
de egalitate

I O problema de optimizare convexa avand constrangeri de


egalitate are forma:

(CPe) : min f (x)


x∈Rn
s.l.: Ax = b,

unde f : Rn → R functie convexa si A ∈ Rp×n are rangul p.


I Conditiile (KKT) pentru aceasta problema sunt necesare si
suficiente, i.e. x ∗ este punct de minim daca si numai daca
exista µ∗ ∈ Rp astfel ı̂ncât:

(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 },

unde coloanele lui Z reprezinta o baza pentru kernel(A) si y


este o solutie particulara a sistemului Ax = b.
I In acest caz putem rezolva problema de optimizare convexa
fara constrângeri:

min f¯(v ) (= f (Zv + y )).


v ∈Rn−p

I Daca v ∗ este o solutie a problemei convexe fara constrângeri,


atunci x ∗ = Zv ∗ + y este o solutie a problemei originale.
Metoda Newton pentru probleme convexe cu constrangeri
de egalitate
I Fie xk fezabil, urmatorul punct al iteratiei Newton se
calculeaza folosind directia Newton dk ce rezulta din
aproximarea patratică de ordinul II a lui f ı̂n jurul lui xk (obs.
∇2x L(x, µ) = ∇2 f (x) deoarece h(x) = Ax − b, deci ∇2 h = 0):
1
dk = arg minn f˜(d) (= f (xk ) + ∇f (xk )T d + d T ∇2 f (xk )d)
d∈R 2
s.l.: A(xk + d) = b. (2)
I Aceasta problema este un QP convex având constrângeri de
egalitate Ad = 0, → directia Newton este caracterizata de
sistemul liniar:
 2
∇ f (xk ) AT
   
dk −∇f (xk )
= ,
A 0 µk+1 −0
I Introducem decrementul Newton:
 1/2
ν(xk ) = dkT ∇2 f (xk )dk .
Metoda Newton pentru probleme convexe cu constrangeri
de egalitate
I Observatie: f (xk ) − f˜(dk ) = ν(xk )2 /2, ceea ce arata ca
decrementul Newton poate fi folosit ca si criteriu de oprire.
I Tinand cont de sistemul KKT pentru gasirea lui dk avem
d
f (xk + tdk ) = ∇f (xk )T dk = −ν(xk )2 ,

dt t=0
adica directia Newton este directie de descrestere, daca
alegem t suficient de mic. În concluzie, metoda Newton
generala pentru cazul convex (CPe) este data de iteratia:
(MN − CPe) : xk+1 = xk + αk dk ,
unde directia Newton dk este solutia problemei QP (2), pasul
αk se alege prin procedura backtracking ı̂n raport cu directia
dk pentru functia f , i.e.
f (xk + ρm dk ) ≤ f (xk ) + c1 ρm ∇f (xk )T dk
si criteriul de oprire folosit este
ν(xk )/2 ≤ ,
Exemplu iteratii metoda Newton pentru probleme convexe
cu constrangeri de egalitate

10

x2 6

0
0 2 4 6 8 10
x1

Iteratiile metodei Newton cu pasul αk = 1 pentru problema


convexa min (x1 − 2)4 + (x1 − 2x2 )2 .
x∈R2 :x1 +2x2 =16
Metoda de penalitate pentru NLPe
Pentru problema NLPe:
min f (x) s.l. h(x) = 0
x
o alternativa la metodele precedente (ce s-au bazat pe conditiile de
optimalitate KKT) este metoda de penalitate. Aceasta transforma
problema NLPe intr-una fara constrangeri UNLP:
min Θ(x, c) (= f (x) + cP(x))
x
unde P este o functie de penalitate pentru constrangerile h(x) = 0:
P(x) = 0 ⇔ x = 0, P(x) > 0 ∀x 6= 0
Exemplu: P(x) = kh(x)k (nedifer.) sau P(x) = kh(x)k2 (difer.).
Metoda de penalitate:
I fie un sir crescator (ck )k≥0 , i.e. ck+1 > ck > 0, a.i. ck → ∞
I la pasul k se calculeaza solutia problemei neconstranse
xk ' arg minn Θ(x, ck ) (= f (x) + ck P(x))
x∈R
cu o metoda pentru UNLP pornind din punctul xk−1 (solutia
problemei anterioare - de la pasul k − 1): ”warm start”.
Metoda de penalitate pentru NLPe
Metoda de penalitate consta in rezolvarea la fiecare pas k al UNLP:
xk ' arg minn Θ(x, ck ) (= f (x) + ck P(x))
x∈R

pentru un sir crescator ck → ∞ cu o metoda pentru UNLP


pornind din punctul xk−1 (”warm start”). Avem urmatoarele
rezultate de convergenta:
I functia obiectiv de penalitate este crescatoare

f (xk ) ≤ Θ(xk , ck ) ≤ Θ(xk+1 , ck+1 ) ≤ f (x ∗ )


I functia obiectiv este crescatoare

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):

min f (x) s.l. : g (x) ≤ 0, h(x) = 0.


x

Multimea fezabila: X = {x : g (x) ≤ 0, h(x) = 0} (posibil


neconvexa!). Pe aceasta multime definim o functie de penalitate P
cu proprietatile:
I P : Rn → R este functie continua satisfacand P(x) ≥ 0
pentru orice x ∈ Rn
I P(x) = 0 daca si numai daca x ∈ X
Exemple:
I pentru egalitati consideram de obicei o norma:
P(x) = kh(x)kp , cu p = 1, ∞, sau P(x) = kh(x)k22
I pentru inegalitati consideram: P(x) = max(0, g (x)) sau
P(x) = max2 (0, g (x))
Observatie: unele functii penalitate sunt diferentiabile, altele insa
nu sunt diferentiabile!
Metoda de penalitate
Consideram constrangerile de inegalitate:
a ≤ x ≤ b ⇒ g1 (x) = a − x, g2 (x) = x − b

c · P(x) = c(max2 (0, a − x) + max2 (0, x − b))


I Cand c → ∞ termenul cP(x) aproximeaza multimea fexabila!
2 (0,g (x))
I P este diferentiabila: ∂max ∂x = max(0, g (x)) · ∇g (x)
Metoda de penalitate
Metoda de penalitate rezolva un sir de probleme fara constrangeri
(UNLP) pentru valori strict crescatoare ale lui c astfel incat solutia
fiecarei probleme noi este “aproape” de solutia anterioara:
I ck crescator (i.e. ck+1 > ck > 0) si acuratete k → 0
I rezolvam UNLP (i.e. k∇Θ(xk , ck )k ≤ k )

x k ' arg minn Θ(x, ck ) (:= f (x) + ck P(x))


x∈R

cu un algorithm invatat la UNLP ce porneste din solutia


curenta xk−1 (“warm start”)
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 a sirului xk este o solutie a problemei
originale NLP!
Metoda de penalitate

In cazul penalitatii patratice:

P(x) = kh(x)k2 + max2 (0, g (x))

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

Problema de programare liniara (LP):

min cT x
x∈Rn
s.t. Ax = b, x ≥ 0.

Consideram L cantitatea (in bytes) a datelor (A, b, c).


• Metoda simplex dezvoltata de George
Dantzig 1947-1951;
I performante practice bune;
I complexitate exponentiala in (n, L) -
Klee, Minty (1972).
Problema: Exista algoritmi polinomiali (in n
si L) pentru probleme LP?
Istoric

• Metoda elipsoidului (punct interior)


dezvoltata de Leonid Khachiyan 1979;
I performante practice slabe;
I complexitate per iteratie: O(n2 L);
I complexitate polinomiala: O(n4 L);

• Metoda de punct interior dezvoltata de


Narendra Karmarkar 1984;
I performante practice superioare
metodei elipsoidului;
I complexitate per iteratie: O(nL);
I complexitate polinomiala: O(n3.5 L);
Istoric
Problema neliniara convexa:

min f (x)
x∈Rn
s.t. Ax = b, g (x) ≤ 0,

unde functiile f , {gi }m


i=1 sunt convexe (egalitatile afine!).

• Metoda de punct interior dezvoltata de


Yurii Nesterov si Arkadii Nemirovsky 1988;
I se aplica clasei de functii
ν−autoconcordante;
I complexitate polinomiala pentru
determinarea unei −solutii:

O ( ν ln(ν/));
I pachete software foarte bune: CPLEX,
MOSEK, CVX, MATLAB
Worst case versus analiza probabilistica

I metoda simplex pentru LP are performanta practica buna dar


in worst case complexitate exponentiala. De ce?
In medie, numarul de pivoti este:

O(n2 )

I netoda de punct interior pentru LP: in medie numarul de


iteratii este √
O( n ln n)
i.e. cel mult 30 − 50 de iteratii pentru a gasi o solutie
Probleme de programare neliniara (NLP)

(NLP) : min f (x)


x∈Rn
s.l.: g (x) ≤ 0, h(x) = 0,

unde f : Rn → R, g : Rn → Rm si h : Rn → Rp sunt functii de


doua ori diferentiabile.
f (y )
z}|{
f (x)
min cT y
y ∈Rn
z }| {
1
min kAx − bk2 n
x∈Rn 2 s.l.
X
yi = 1 , Cy ≥ d
s.l. l ≤x i=1
| {z }
| {z } | {z } g (y )=d−Cy
g (x)=l−x n
P
h(y )= yi −1
i=1
Conditii de optimalitate - KKT

Conditiile de optimalitate de ordinul I (conditiile KKT):

∇f (x) + ∇h(x)T µ + ∇g (x)T λ = 0


Λg (x)= 0
g (x) ≤ 0, λ ≥ 0
h(x) = 0,

unde Λ = diag (λ1 , · · · , λm ).


I Rezolvare dificila prin metode uzuale (e.g. metode multimilor
active): conditiile de complementaritate nu sunt netede.
I Se aproximeaza cu un set de conditii netede.
Conditii KKT perturbate

Conditii de optimalitate pertubate (conditii KKT-IP):

∇f (x) + ∇h(x)T µ + ∇g (x)λ = 0


Λg (x)= −τ e
g (x) ≤ 0, λ ≥ 0
h(x) = 0.

I Pentru τ = 0 obtinem sistemul KKT original.


I Algoritmii de punct interior rezolva succesiv sistemul
(KKT-IP) pentru o serie descrescatoare de valori τk → 0.
I Solutia sistemului (KKT-IP) (x(τ ), λ(τ ), µ(τ )) converge la
solutia sistemului (KKT) (x ∗ , λ∗ , µ∗ ) cand τ → 0 (cale
centrala).
Reformulare ca metoda bariera
Problema (NLP) se rescrie echivalent:
m
X
minn f (x) + I− (gi (x))
x∈R
i=1
s.l. h(x) = 0,
(
0, daca x ≤ 0
unde I− : R → R, I− (x) =
∞, daca x > 0.

⇒ Functia indicator I− (·) este nediferentiabila:


⇒ Cautam aproximare cu functia bariera logaritmica:
Xm
minn f (x) − τ log(−gi (x))
x∈R
i=1
s.t. h(x) = 0.

⇒ Notam cu x(τ ) solutia acestei probleme pentru un τ fixat.


Observam ca x(τ ) este fezabil. Este clar ca pentru τ → 0 avem
x(τ ) → x ∗ (solutia problemei originale)!
Aproximare functie indicator cu bariera logaritmica
4

3.5

g (x) = |x| − 1 ( 3
τ=1
τ=0.5
τ=0.1

0, daca |x| ≤ 1 2.5

I− (g (x)) = 2

∞, daca |x| > 1. 1.5

B(x) = −τ (log(1 + x) + log(1 − x)) 0.5

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

Observati deosebirea fata de metoda de penalitate, unde τ → ∞ si:

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 , g convexe si de doua ori diferentiabile, A ∈ Rp×n de rang p;


⇒ MPI presupun aplicarea Metodei Newton pe reformularea cu
bariera logaritmica.
m
X
minn f (x) − τ log(−gi (x))
x∈R
i=1
s.l. Ax = b.
m
P
⇒ Notam functia bariera B(x) = − log(−gi (x)) si punctul de
i=1
optim x(τ ) ce satisface g (x(τ )) < 0 si Ax(τ ) = b.
MPI pentru probleme de optimizare convexe
⇒ Punctele de optim x(τ ) definesc calea centrala si satisfac

∇f (x(τ )) + ∇B(x(τ )) + AT µ̄ = 0.

⇒ Orice punct x(τ ) produce un punct dual fezabil.


τ
Alegem punctul dual fezabil definit de λi (τ ) = − gi (x(τ )) si
µ(τ ) = τ µ̄. Functia duala in acest punct satisface
m
X
q(λ(τ ), µ(τ )) = f (x(τ )) + λi (τ )gi (x(τ )) + µ(τ )T (Ax(τ ) − b)
i=1
= f (x(τ )) − mτ
≤ max q(λ, µ) = f ∗ .
λ,µ
Concluzionam ca x(τ ) satisface
f (x(τ )) − f ∗ ≤ mτ .
MPI pentru probleme de optimizare convexe

Metoda bariera

Alegem x0 strict fezabil, τ0 > 0, σ < 1 si  > 0.


Cat timp mτk ≥  repeta:
1. Calculeaza xk+1 = x(τk ) pornind din punctul initial xk (”warm
start”);
2. Descreste parametrul τk+1 = στk .

⇒ Pentru a determina xk+1 rezolvam (e.g. prin Metoda Newton)


reformularea cu bariera logaritmica cu parametrul τk , pornind din
punctul initial xk ;

⇒ Dupa k iteratii avem f (xk ) − f ∗ ≤ mτ0 σ k .


Metoda Bariera - implementare matlab
function [] = Metoda Bariera()
f = @(x) e x(1)+3∗x(2)−0.1 + e x(1)−3∗x(2)−0.1 + e −x(1)−0.1
gradient = @(x) [e x(1)+3∗x(2)−0.1 +e x(1)−3∗x(2)−0.1 −e −x(1)−0.1 ; 3∗
e x(1)+3∗x(2)−0.1 − 3 ∗ e x(1)−3∗x(2)−0.1 ]
hessiana = @(x)
[e x(1)+3∗x(2)−0.1 +e x(1)−3∗x(2)−0.1 +e −x(1)−0.1 3∗e x(1)+3∗x(2)−0.1 −
3 ∗ e x(1)−3∗x(2)−0.1 ; 3 ∗ e x(1)+3∗x(2)−0.1 − 3 ∗ e x(1)−3∗x(2)−0.1 9 ∗
e x(1)+3∗x(2)−0.1 + 9 ∗ e x(1)−3∗x(2)−0.1 ]

F = @(x,tau) f(x) - tau*log(x(1)-x(2))


grad F = @(x,tau) gradient(x)
- tau*[1/(x(1)-x(2)); -1/(x(1)-x(2))];
hess F = @(x,tau) hessiana(x)
- tau*[-1/((x(1)-x(2))^2) 1/((x(1)-x(2))^2); ...
1/((x(1)-x(2))^2) -1/((x(1)-x(2))^2) ];
a = [-1; 1]; b=0; %% definitie semispatiu
x = [−0.6; −0.9];; x min = [0; 0.25]; traiect=[x];
Metoda Bariera - implementare matlab cont.

while (tau > 0.0001) %% criteriu oprire

%% Metoda Newton interioara


while (norm(grad F(x,tau))>0.0000001)
H=hess F(x,tau);
g=grad F(x,tau);
x=x-inv(H)*g;
end
tau=0.6*tau;
traiect=[traiect x];
end
Metoda Bariera - rezultate (plots)
%%% Initializare contur
x1=linspace(-1.2+x min(1),1.2+x min(1),20);
y1=linspace(-1.2+x min(2),1.2+x min(2),20);
[X , Y ]=meshgrid(x1,y1);
fvec=exp(X+3*Y-0.1*eye(size(X)))
+exp(X-3*Y-0.1*eye(size(X))) + exp(-X-0.1*eye(size(X)));
V=[20 13 7 6 5 4 3 2 1]; halfx = (b - a(2)*y1)/a(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,’-x’);
%% iteratii pas constant
hold on
plot(traiect(1,:),traiect(2,:),’r-x’,’LineWidth’,3)
Metoda Bariera -plot

0.5

-0.5
MPI pentru LP
min cT x
x∈Rn
s.l. Ax ≤ b,

I figuri luate din Vandenberghe


I hiperplanul c T x = c T x(τ ) este tangent la multimea nivel a
P
functieie bariera B(x) = − i log(bi − Ai x) prin x(τ )
Lτ = {x : B(x) = B(x(τ ))}
I multimile nivel Lτ aproximeaza din ce in ce mai bine frontiera
multimii fezabile {x : Ax ≤ b} pentru τ → 0
MPI pentru LP
LP cu m = 100 inegalitati si n = 50 variabile

I pornim cu x de pe calea centrala (τ0 = 1)


I terminam cand τ = 10−8
I pentru calcularea centrilor x(τ ) utilizam metoda Newton
pentru egalitati folosind backtracking
I numarul total de iteratii Newton pentru un σ fixat este de
ordinul zecilor
I numarul total de iteratii Newton nu este foarte senzitiv pentru
σ ≤ 0.1
MPI pentru LP, QP, SOCP, SDP
Pachete software eficiente (CVX, MATLAB) pentru rezolvarea de
probleme convexe peste conul Rn+ (positive orthant), Ln (conul
n (conul positiv demidefinit)
Lorentz), S+

I numarul total de iteratii Newton nu este foarte senzitiv in


raport cu σ
MPI pentru SDP
• O familie de probleme SDP (A ∈ S n si x ∈ Rn )

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

Mai eficiente decat metoda bariera cand se doreste acuratete mare


I actualizeaza la fiecare iteratie atat variabilele primale, cat si
duale
I nu se face distinctie intre iteratiile inner si outer
I au adesea convergenta superliniara (spre deosebire de metoda
precedenta ce are convergenta liniara)
I directiile de cautare pot fi interpretate ca directii Newton
pentru conditiile KKT modificate
I exista versiuni care pornesc din puncte nefezabile
I costul iteratie este similar cu al metodei bariera
MPI pentru probleme de optimizare neconvexe
min f (x)
x∈Rn
s.l. g (x) ≤ 0, h(x) = 0.

⇒ functiile f , g , h de doua ori diferentiabile (posibil neconvexe);


⇒ cautam un punct stationar (in cazul convex, MPI determina
minim-ul global);
Reformulare echivalenta

min f (x)
x∈Rn
s.l. g (x) + s = 0, h(x) = 0, s ≥ 0.

⇒ Similar cazului convex, mutam constrangerile de inegalitate


(s ≥ 0) in cost utilizand functia bariera logaritmica:
Xm
minn f (x)−τ log(si )
x∈R
i=1
s.l. g (x) = s, h(x) = 0.
Conditii KKT perturbate

(KKT-IPs): ∇f (x) + ∇h(x)T µ + ∇g (x)λ = 0


Λs − τ e= 0
g (x) + s = 0, h(x) = 0
s ≥ 0, λ ≥ 0.

unde Λ = diagλ ⇒ MPI rezolva sistemul perturbat prin metoda


Newton;
Fie x punctul curent, obtinem sistemul liniar primal-dual:
 2
∇x L 0 ∇hT ∇g T
 x
∇f + ∇hT µ + ∇g T λ
 
d
 0 Λ 0 S   s Λs − τ e
 d  = − 
 
 
 ∇h 0 0 0  d µ   h 
∇g I 0 0 d λ g + s,

unde S = diag (s) si L(x, s, λ, µ) = f (x) + (g (x) + s)T λ + h(x)T µ.


Metoda Newton
Iteratie Metoda Newton:
xk+1 = xk + αkx dkx , sk+1 = sk + αkx dks ,
µk+1 = µk + αkµ dkµ , λk+1 = λk + αkµ dkλ ,

unde (dkx , dks , dkµ , dkλ ) este solutia sistemului primal-dual.

⇒ pasul αkµ se alege in intervalul (0, αmax


µ
];
x
⇒ pasul αk se alege pe baza unei functii merit Mν (x, s, τ );
m
X m
X
Mν (x, s, τ ) = f (x)−τ log(si )+νkh(x)k1 +ν |max{0, gi (x)}|.
i=1 i=1

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)

unde parametrul de intrare nonlcon este tot un obiect


de tip function handle ca si fun.

Exemplu: Fie functia f (x) = e x1 (4x12 + 2x22 + 4x1 x2 + 2x2 + 1) si


constrangerile x1 x2 − x1 − x2 + 1.5 ≤ 0 si −x1 x2 − 10 ≤ 0.
Fmincon - implementare matlab

I Scriem un M-fisier confun.m pentru constrangeri:


function [c,ceq]=confun(x)
c=[1.5+x(1)*x(2)-x(1)-x(2); -x(1)*x(2)-10];
ceq=[];
I Scriem un M-fisier objfun.m pentru functia obiectiv:
function f=objfun(x)
f = exp(x(1)) ∗ (4 ∗ x(1)2 + 2 ∗ x(2)2 + 4 ∗ x(1) ∗ x(2) + 2 ∗ x(2
I Consideram punctul de initializare x0 = (1, −1).
I Apelam fmincon:
x0=[-1,1];
opt=optimset(’fmincon’);
opt.LargeScale=’off’;
[x,fval]=fmincon(@objfun,x0,[],...,[],@confun,opt)
Solvere: Matlab, SeDumi, CVX
Exista diferite solvere pentru rezolvarea problemelor NLP generale
bazate pe implementari de punct interior:
I Matlab: linprog pentru LP; quadprog pentru QP, fmincon
pentru NLP generale
I Sedumi rezolva probleme convexe in format SDP pentru cele
4 tipuri de conuri: Rn , Rn+ , Ln , S+
n

I CVX rezolva probleme convexe mai generale (e.g. poate


rezolva asa numitele probleme de tip “geometric
programming”)
Exemplu: in Matlab functia

X = quadprog(Q, q, A, b)

minimizeaza problema QP

min 0.5x T Qx + q T x s.l. : Ax ≤ b


Probleme de optimizare - QP
Exemple de probleme QP:
min x12 + x22 + x1 x2 + 3x1 + 2x2
x∈Rn
s.l.: x ≥ 0, x1 + x2 = 5

Observam

f (x) = x12 + x22 + x1 x2 + 3x1 + 2x2


    
1  2 1 x1   x1
= x1 x2 + 3 2
2 1 2 x2 | {z } x2
qT
| {z }
Q

Constrangeri de inegalitate: −I2 x ≤ 0 ⇒ C = −I2 & d = 0


Constrangeri de egalitate: 1 1 x = 5 ⇒ A = 1 1 & b = 5
Pentru rezolvarea QP-urilor se foloseste functia din Matlab
quadprog.

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?

Cele trei E-uri


I Explorat teoriile moderne de optimizare, algoritmi, si aplicatii
pentru Big Data si Machine Learning
I Evidentiat intelegerea structurii problemelor de optimizare si
complexitatea algoritmilor numerici
I Expus la cercetarea de frontiera ce se gaseste la intersectia
dintre Big Data Optimization si Machine Learning
Cuvant cheie: Big Data
Era Big Data

Subiect fierbinte in academia:

Explozie de cursuri, conferinte


si workshop-uri

Subiect fierbinte in industrie:

Linkedln: 48.000+ job-uri de


Data Scientist in SUA
Applicatii ale optimizarii in diferite domenii
Revolutia Big Data:
I Control optimal
I Robotica si masini autonome
I Natural language processing
I Computer vision
I Healtcare
Cum facem analiza de date?

I Formularea unei probleme


I Colectarea datelor
I Pre-procesarea si curatarea datelor
I Formularea uneui model
matematic (optimizare)
I Gasirea unei solutii
optime =⇒
I Evaluarea si interpretarea
rezultatelor
Controlul optimal liniar a unui quadcopter
• Sistem rapid a carui model se deriveaza din legile lui Newton
(dupa ce facem o scalare adecvata)
• 2 stari (pozitia si viteza) si 1 intrare (acceleratia)
Obiectiv: aducerea quadcopterului dintr-o anumita pozitie (de la
client) in pozitia zero (la baza) intr-un timp T :
Control optimal quadcopter - formularea QP
• Functia obiectiv initiala este nediferentiabila =⇒ se
aproximeaza cu o functie neteda (patratica) si se adauga si un
cost asociat intrarii (energia minima). Prioritizarea intre cele 2
costuri contradictorii se face via parametrul R.
• Obtinem in final o problema de optimizare QP!
Control optimal quadcopter - rezultate

• Rezultate simulare pentru problema de control optimal in


forma QP in functie de parametrul R:
Linear quadratic regulator - LQR (T < ∞)
• Adaugam la sistem perturbatii (e) - erori de modelare
• Consideram iarasi cost patratic la care adaugam un cost final
I Obtinem Linear Quadratic Regulator (LQR) - problema de
optimizare stochastica patratica =⇒ solutie explicita! (daca
presupunem e de medie zero si necorelata (white noise))...
Linear quadratic regulator - LQR (T → ∞)
• Aceleasi presupuneri ca inainte, dar T → ∞ (orizont infinit)
• Obtinem Linear Quadratic Regulator (LQR) - problema de
optimizare stochastica patratica =⇒ solutie explicita!
• LQR are solutie simpla pentru ca QP-urile sunt “miraculoase”
• Solutia este invarianta in timp in cazul orizontului infinit
• Solutia nu depinde de varianta lui e in ambele cazuri.
Control optimal liniar cu restrictii pe stare/intrare
Fie sistemul liniar,
zt+1 = Az zt + Bu ut ,
unde zt ∈ Rnz , reprezinta starea sistemului, ut ∈ Rnu reprezinta
intrarea. Consideram constrangeri pe stare si intrare:

lz ≤ zt ≤ uz , Cu ut ≤ du ∀t ≥ 0

Problema de control optimal pe orizont finit N:


N N−1
1X X
min kzi − ziref k2Qi + kui − uiref k2Ri
zi ,ui 2
i=1 i=0
s.l. z0 = z, zi+1 = Az zi + Bu ui ,
lz ≤ zi ≤ uz , Cu ui ≤ du , ∀i = 1, . . . , N − 1.

• Matricile Qi , Ri sunt pozitiv definite pt. orice i


• ziref , uiref referinte impuse pt. starea si intrarea sistemului
Formulare QP rara
Aducem problema de optimizare la o forma standard:
• Redefinim variabila de decizie x ∈ RN(nz +nu )

x = [u0T z1T u1T z2T · · · uN−1


T
zNT ]T .

Rescriem ecuatiile dinamicii sistemului zi+1 = Az zi + Bu ui :

z1 − Bu u0 = Az z0 ⇔ [−Bu Inz 0 0 . . . 0 0 0] x = Az0


z2 − Az z1 − Bu u1 = 0 ⇔ [0 − Az − Bu Inz . . . 0 0 0] x = 0
··· ··· ··· ···
zN − Az zN−1 − Bu uN−1 = 0 ⇔ [0 0 0 0 . . . − Az Bu Inz ] x = 0.

Rescriem constrangerile pe stare, astfel:


   
Inz uz
lz ≤ zt ≤ uz ⇔ zt ≤
−Inz −lz
| {z } | {z }
Cz dz
Formulare QP rara
• Reformulam constrangerile definite de dinamici:

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

• Reformulam functia obiectiv utilizand observatia precedenta:


N
1 X 
kzi − ziref k2Qi + kui−1 − ui−1
ref 2
kRi−1
2
i=1
N  ref T R
   ref

1X ui−1 − ui−1 i−1 0 ui−1 − ui−1
=
2 zi − ziref 0 Qi zi − ziref
i=1
1
= (x − x ref )T Q(x − x ref ),
2
unde am folosit notatiile:
x = [u0T z1T · · · uN−1
T z T ], x ref = [(u ref )T (z ref )T · · · (u ref )T (z ref )T ]
N 0 1 N−1 N
si Q = diag (R0 , Q1 , · · · , RN−1 , QN ).
Formulare QP rara

Formularea problemei de control optimal pe orizont finit rara (fara


eliminarea starilor):

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

⇒ Notand z̄ = [z1T · · · zNT ]T ∈ RNnz obtinem:


   
Bu 0 0 0 ··· 0 Az
 Az Bu B u 0 0 · ·· 0   A2 
   z
 A2 Bu Az Bu Bu 0 ··· 0  3
z̄ =  z x +  Az  z0 .

 .. .. .. .. .. ..   .. 
 . . . . . .   . 
AN−1
z Bu AN−2 B
z u A N−3 B
z u AN−4 B
z u · · · Bu AN
z
| {z } | {z }
¯
AB Ap
Formulare QP densa
⇒ Obtinem forma QP, reformuland constrangerile pe stare/intrare.
⇒ Concatenam constrangerile pe stare:

Cz zi ≤ dz ∀i = 1, · · · , N ⇔ C¯z z̄ ≤ d¯z ,

unde C̄z = diag (Cz , · · · , Cz ) si d¯z = [dzT · · · dzT ]T .


¯ + Ap z0 obtinem:
⇒ Combinand cu ecuatia matriceala z̄ = ABx

C¯z z̄ ≤ d¯z ⇔ C¯z (ABx


¯ + Ap z0 ) ≤ d¯z
⇔ ¯ x ≤ d¯z − C¯z Ap z0
C¯z AB
| {z } | {z }
Cx0 dx0

⇒ Concatenam constrangerile pe intrare:

Cu ui ≤ du ∀i = 0, · · · , N − 1 ⇔ C̄x00 x ≤ d¯x00 ,

unde C̄x00 = diag (Cu , · · · , Cu ) si d¯x00 = [duT · · · duT ]T


Formulare QP densa
⇒ Formularea problemei de control optimal pe orizont finit densa
(cu eliminarea starilor):
1 T
min x Qx + q T x
Nn
x∈R u 2
s.l. C̄x x ≤ d¯x ,
unde C̄x = [(C̄x0 )T (C̄x00 )T ]T si d¯x = [(d¯x0 )T (d¯x00 )T ]T

⇒ Notand Q̄ = diag (Q1 , · · · , QN ) si R̄ = diag (R0 , · · · , RN−1 ),


atunci functia obiectiv devine:
XN  
ref 2
kzi − ziref k2Qi + kui−1 − ui−1 kRi−1
i=1
¯ +Ap z0 −z ref )T Q̄(ABx
= (ABx ¯ +Ap z0 −z ref ) + (x −u ref )T R̄(x −u ref )

unde reamintim ca x = [u0T · · · uN−1 T ]T , z ref = [(z ref )T · · · (z ref )T ]T


1 N
si u ref = [(uoref )T · · · (uN−1
ref )T ]T

⇒ Forma particulara de programare patratica avand numai


constrangeri de inegalitate (matrici dense)
Urmarirea traiectoriei cu un robot E-Puck

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.

• Dezvoltat de EPFL (detalii: www.e-puck.org)


• Laboratorul de “Optimizare si Control Distribuit” al Depart.
ACSE are 4 roboti si masa speciala pentru teste (Sala ED205)
Urmarirea traiectoriei cu un robot E-Puck
• Model continuu liniar simplificat al robotului E-Puck
(restrictionat la deplasarea ı̂nainte):
ru1 ru2
ẏ = + ,
2 2
ru1 ru2
θ̇= − ,
2l 2l
• y distanta parcursa, θ unghiul de viraj, r raza rotilor, l distanta
roata-centru de greutate, u1 si u2 vitezele unghiulare ale rotilor.
• Notand starea z = [y θ]T si intrarea u = [u1 u2 ]T avem:

ż = Āz z + B̄u u,
r r

unde Āz = 0 ∈ R2×2 si B̄u = r 2 2
r .
2l − 2l

• Discretizam formularea continua prin metoda Euler


Urmarirea traiectoriei cu un robot E-Puck
Pentru pasul de discretizare ∆t avem

zt+1 = I2 − ∆t Āz zt + ∆t B̄u ut ,

Alegem ∆t = 0.5 sec si obtinem:


1 1
zt+1 = Az zt + Bu ut , unde Az = I2 − Āz , Bu = B̄u .
2 2
Problema de control optimal:
Urmarirea unei traiectorii sinusoidale ztref = [ytref , θtref ]T :
Urmarirea traiectoriei cu un robot E-Puck
• Formulare QP rara a problemei de MPC de orizont N = 2:
1 1
min (z − z ref )T Q̄(z − z ref ) + u T R̄u
zi ,ui2 2
s.l.: z1 = Az z0 + Bu u0 , z2 = Az z1 + Bu u1 ,
umin ≤ u0 ≤ umax , umin ≤ u1 ≤ umax ,
unde z = [z1 z2 ], u = [u0 u1 ], Q̄ = diag (I2 , I2 ), R̄ = diag (0.1I2 , 0.1I2 ).
• Reformulam urmatorul QP in variabila x = [u0T z1T u1T z2T ]T :
 
0.1 ∗ I2 0 0 0
1 T 0 I2 0 0  x − [0 (z1ref )T 0 (z2ref )T ]x
min x 
x 2  0 0 0.1 ∗ I2 0 
0 0 0 I2
   
    I2 0 0 0 umax
−Bu I2 0 0 −Az z0  −I2 0 0 0 x =−umin 
 
s.l.: x= , 
0 −Az −Bu I2 0  0 0 I2 0  umax 
0 0 −I2 0 −umin
Urmarirea traiectoriei cu un robot E-Puck

Metoda de punct interior presupune transformarea echivalentă a


problemei QP intr-una fara inegalitati:
8
1 X
min x T Qx + q T x − τ log(dj − Cj x) (1)
x 2
j=1

s.l.: Ax = b,

unde Cj reprezinta linia j a matricei C .


Metoda de punct interior:
1. se dau un punct iniţial x strict fezabil, τ > 0, σ < 1, toleranţa
 > 0 şi parametrul m numărul de inegalităţi;
2. cât timp mτ ≥  repetă:
(i) calculează x(τ ) ca soluţie a problemei (1) pornind din x;
(ii) actualizează x = x(τ ) şi τ = στ .
Urmarirea traiectoriei cu un robot E-Puck

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.6 viteza unghiulara 1


viteza unghiulara 2
0.4
Intrari optime (u1, u2)

0.2

−0.2

−0.4

−0.6
0 20 40 60 80 100
t
Control optimal pentru pendulul invers

Formulam problema de control optimal a mentinerii pendulului


invers in pozitie verticala

Structura:
I suport de masa M;
I pendul format din
I bila de masa m;
I tija de lungime l;

Vectorul de stare z ∈ R4 se compune din: z1 = θ unghiul tijei cu


verticala, z2 = θ̇ viteza unghiulara, z3 pozitia pendulului
(suportului) pe axa Ox, z4 viteza sa.
Control optimal pentru pendulul invers

Modelul liniar discret al sistemului

zt+1 = Az zt + Bu ut ,

unde ut ∈ R reprezinta corectia deplasarii orizontale,


   
1.0259 0.504 0 0 −0.0013
 1.0389 1.0259 0 0  −0.0504
Az =  Bu =  0.0006  .
  
−0.0006 0 1 0.05
−0.0247 −0.0006 0 1 0.025

Obiectiv: mentinerea tijei suficient de aproape de verticala (in orice


moment avem −10◦ ≤ z1 = θ ≤ 10◦ ); reprezinta constrangeri pe
stare ale sistemului.
Control optimal pentru pendulul invers

Considerand ztref = utref = 0 pentru orice t ≥ 0, formulam


problema de control optimal pe un orizont finit N:
N N−1
X 1 X 1
min ziT Q0 zi + R0 ui2
zi ,ui 2 2
i=1 i=0
s.l.: z0 = z, zi+1 = Az zi + Bu ui
θmin ≤ (zi )1 ≤ θmax ∀i = 0, . . . , N − 1,

unde z este starea initiala a pendulului, iar matricele din cost


 
1 0 0 0
0 0.01 0 0 
Q0 = 0
 si R0 = 10.
0 1 0 
0 0 0 0.01
Control optimal pentru pendulul invers
Formularea (QP) rara fara eliminarea starilor:

1
min x T Qx
x 2
s.l.: Ax = b, Cx ≤ d,

 = diag(R0 , Q0 , . . . , R0 , Q0 ) si daca definim


unde Q
1 0 0 0
Cz = & dz = [θmax − θmin ]T , atunci
−1 0 0 0
   
0 Cz 0 0 ... 0 dz
0 0 0 Cz ... 0 dz 
C = . . ..  , d =.
   
.. .. ..
 .. .. . . . .   .. 
0 0 0 0 ... Cz dz

Pentru rezolvare utilizam metoda de punct interior!


Control optimal pentru pendulul invers

Traiectoria unghiului θ pentru un orizont de predicţie N = 25.

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

⇒ Observam ca la pasul t = 2 constrangerea pe unghi este activa


si dupa pasul t = 15 unghiul tijei cu axa verticala devine θ = 0.
Aplicatia lant suspendat
Lant suspendat: un lant in planul x − z constand din n + 1
puncte de masa egala conectate prin arcuri are potentialul:
n n+1
DX 2
X
V = kxi − xi+1 k + mgezT xi ,
2
i=1 i=1

unde x1 , . . . , xn+1 ∈ R2 sunt pozitiile punctelor, g = 9.81


constanta gravitationala, m = 1 masa unui punct, ez = [0 1]T si
D = 1500 constanta arcului. Punctul de index 1 este fixat la
(−1, 1) si punctul xn+1 este la (2, 2) ∈ R2 . Daca constrangerea
ezT xi ≥ 0 este activa, atunci punctul i atinge pamantul. Daca
lantul este la echilibru, potentialul V este la minimum.
I Daca n = 49, calculati numarul de puncte care ating
pamantul. (Este suficient sa plotati punctele si sa le
enumarati pe cele care au xi (2) = 0.)
Aplicatia lant suspendat cont.
Problema se formuleaza astfel:
n n+1
DX X
minimize V (x) := kxi − xi+1 k2 + mgezT xi
x=(x1 ,...,xn+1 )∈R2(n+1) 2
i=1 i=1
T T
subject to x1 = [−1 1] , xn+1 = [2 2]
xi (2) ≥ 0 for all i ∈ {1, . . . , n + 1}
Aceasta problema este un QP convex. De fapt, putem elimina
constrangerile x1 = [−1 1]T , xn+1 = [2 2]T , variabila de decizie
devine x = (x2 , . . . , xn ) cu functia obiectiv (notatie: xi = [ai bi ]T ):
n−1
!
D X
V (x) = (−1 − a2 )2 + (ai − ai+1 )2 + (an − 2)2
2
i=2
| {z }
:=f1 (a)
n−1 n
!
D X X
+ (1 − b2 )2 + (bi − bi+1 )2 + (bn − 2)2 + mgbi
2
i=2 i=2
| {z }
:=f2 (b)
Aplicatia lant suspendat cont.
Problema se reformuleaza astfel:

min f1 (a) + f2 (b) s.t. : b ≥ 0,


a∈Rn−1 ,b∈Rn−1

unde functiile fi sunt patratice:

f1 (a) = 1/2aT Q1 a + q1T a & f2 (b) = 1/2b T Q2 b + q2T b

ambele avand aceeasi Hessiana


 
2 −1
 −1 2 −1 
 
 −1 2 −1 
Q1 = Q2 = D 
 
.. .. .. 

 . . . 

 −1 2 −1 
−1 2

q1 = [D 0 · · · 0 − 2D]T , q2 = [−D 0 · · · 0 − 2D]T + mg 1n−1 .


Calcularea solutiei - quadprog
Problema QP convexa:

min (1/2aT Qa + q1T a) + (1/2b T Qb + q2T b) s.l. : b ≥ 0.


a∈Rn−1 ,b∈Rn−1

este de forma
1 T
(QP) : min x Qx + q T x s.l.: Cx ≤ d.
x=(a,b)∈R2(n−1) 2

Putem sa o rezolvam apeland functia quadprog din Matlab:

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

x0=ones(2*nq,1); eps=0.002; iter cg =0;


alpha= 2/(iter cg + 2);
xcg =x0; grad = Q ∗ xcg + q; deltax=x0;
while (norm(deltax) > eps)
s=linprog(grad,C,d,[],[],−2∗ones(2∗nq, 1), 2∗ones(2∗nq, 1));
xcg next = xcg + alpha ∗ (s − xcg );
deltax = xcg - xcg next;
xcg=xcg next;
grad=Q ∗ xcg + q;
iter cg = iter cg + 1;
alpha = 2/(iter cg + 2);
end
zet cond gradient=xcg (nq + 1 : end);
Lant suspendat - rezultate (plot)

nr of active constraints: 8
nr iteratii gradient proiectat: 3.382
nr iteratii gradient conditional: 10.579
Problema Google (ierarhizarea paginilor web)

An vs. Numar pagini web


http://www.internetlivestats.com/
I Doar in 2013, numarul paginilor web a crescut cu 30%;
I Problema centrala a motoarelor de cautare:
selectia/ierarhizarea (“ranking”-ul) surselor de informatie
functie de relevanta raportata la obiectul cautat.
Problema Google - Formularea algebrica
I PageRank: clasificarea unui numar urias de pagini web;
I Reteaua paginilor se reprezinta prin intermediul unui graf
ponderat orientat, unde nod ≡ pagina, iar muchie ≡ link.
I Ponderea pij = probabilitatea ca la o navigare aleatorie sa se
ajunga din pagina i in pagina j.
I Matrice de adiacenta E ∈ Rn×n : Eij = pij > 0 daca intre i si j
exista muchie sau Eij = 0 daca i si j nu sunt legate.
Pn
I Matricea E este stocastica pe coloane (i.e. j=1 Eij = 1 ∀i),
deci valoarea proprie maxima in modul este 1;
I Determinati vectorul propriu x ∈ Rn astfel incat
Ex = x, e T x = 1, x ≥ 0 (x vectorul probabilitatilor de
accesare pagina i)
Problema Google - Formularea algebrica
I PageRank a inceput cu faimoasa lucrare a lui Brin & Page
(1998): clasificarea unui numar urias de pagini web
Pn
I Matricea E este stocastica pe coloane (i.e. j=1 Eij = 1 ∀i),
deci valoarea proprie maxima in modul este 1
I Determinati vectorul propriu π ∈ Rn :
E π = π, e T π = 1, π ≥ 0 (πi vectorul probabilitatilor de
accesare pagina i)

Putem aplica Metoda Puterii de la MN (Brin & Page ’98)

alegem π0 : e T π0 = 1, π0 ≥ 0
iteram : πk+1 = E πk
obtinem : lim πk = π ∗
k

Acestui algoritm ii ia aproximativ o saptamana pt. a calcula π ∗ !


Problema Google - Problema de optimizare
Formulare ca problema de optimizare QP:
1
minn kEx − xk2
x∈R 2
s.l.: e T x = 1, x ≥ 0,

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,

Metoda de Gradient Proiectat: xk+1 = [xk − α∇f (xk )](In ,∆n ) ,


∆n = {x : e T x = 1, x ≥ 0} si α > 0.
0.7

0.6

0.5
*
f(xk) − f

0.4

0.3 Pentru proiectia pe multimea


0.2
simplex ∆n aplicam algo-
0.1

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

Curba de convergenta a metodei de gradient pentru problema


Google cu n = 103 , τ = 50 (stânga); dependenta convergentei de
parametrul τ (n = 103 ) (dreapta).
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

Invatarea Automata (Machine Learning) foloseste Big Data pentru


a potrivi modele mai precise:
I Bioinformatica
I Computer vision
I Recunoasterea vorbirii
I Machine translation
I Recomamdarea de produse, pagini, prieteni (Amazon, Google,
Facebook)
I Clasificare de obiecte (avem poze cu pisici si caini si dorim sa
antrenam un clasificator care poate sa distinga intre cele 2
tipuri de poze; email bun sau spam; soferul e treaz sau
doarme uitandu-ne doar la imagini ale fetei, etc...)
Support vector machine (SVM)
SVM calculeaza un hyperplan care separa cele 2 clase de obiecte
Clasificator de margine maxima:
1
min kw k2
w ∈Rn ,d∈R 2

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

unde K este “kernel” matrix Kij = bi bj aiT aj (doar produse scalare


intre datele de antrenare). Am dezvoltat un algorithm eficient
pentru rezolvarea dualei: 2-RCD (vezi pagina mea)!
Support vector machine (SVM) - cont.
1
min kw k2
w ∈Rn ,d∈R 2
s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.

se poate scrie echivalent ca empirical risk minimization:


I Soft Margin SVM
N
1 X γ
min max(0, 1 − bi (w T ai − d)) + kw k2
w ∈R n,d∈R N | {z } 2 | {z }
i=1
L(x,ai ,bi ) r (x)
I Logistic Regression
N
1 X γ
min log(1 + exp(−bi (w T ai − d))) + kw k2
w ∈Rn ,d∈R N | {z } 2 | {z }
i=1
L(x,ai ,bi ) r (x)

Deci, “aproape” orice problema de ML se formuleaza ca finite sum:


N
1 X
min fi (x) (+r (x))
x N
Support vector machine (SVM) - cont.

1
min kw k2
w ∈Rn ,d∈R 2

s.t : bi (w T ai − d) ≥ 1 ∀i = 1 : N.

Deci, “aproape” orice problema de ML se formuleaza ca finite sum:


N
1 X
min fi (x) (+r (x))
x N
i=1

La acest curs am invatat algoritmi specializati pentru rezolvarea


acestei clase de probleme avand structura de “finite sum” (e.g.
stocastic gradient)!
Invatare automata - Clasificare de imagini
Tehnicile de clasificare (“pattern recognition”) se ocupa cu
identificarea clasei din care un obiect studiat face parte.
I etapa de antrenare: se acumuleaza un set de observatii (sau
instante) cu apartenenta la categorii cunoscuta;
I etapa de clasificare: se dezvolta modele matematice
(estimatoare) cu rolul de a clasifica un nou obiect cu
apartenenta necunoscuta;
Aplicatii:
1. recunoasterea email-urilor de tip spam (pentru crearea de
features in texte folosim functia Matlab BagofWords);
2. recunosterea vocii/fetei;
3. detectia de tipare in cadrul unei imagini;
4. recunoasterea scrisului de mana (pentru crearea de features in
imagini se poate folosi functia Matlab BagofFeatures)).
Tehnica Support Vector Machine - etapa de antrenare
• Dispunem de un set de puncte recunoscute a priori: {yi }m i=1 (e.g.
puncte de culori diferite). Pentru fiecare punct yi cunoastem clasa
din care face parte: ci cu valoarea +1 daca yi este de culoare rosie
sau ci = −1 daca este de culoare albastra.
• Principiu antrenare: Se determina un model matematic
(hiperplan) H = {y ∈ Rn : aT y = b} astfel incat orice yi ce
satiface aT yi ≤ b − ξ este de culoare rosie, iar daca aT yi ≥ b + ξ
este de culoare albastra.
• Presupunem ca datele {yi }m i=1 sunt liniar separabile si selectam
doua hiperplane marginale descrise de: aT y − b = 1 si
aT y − b = −1 ce nu contin puncte intre ele.
• Problema: Determinati (a, b) ce maximizeaza distanta dintre
cele doua hiperplane, descrisa de 2/kak.
Tehnica Support Vector Machine
Etapa de antrenare se reduce la problema de optimizare:
1
min kak2
a∈Rn ,b∈R 2
 
s.l.: ci aT yi − b ≥ 1 ∀i = 1, . . . , m,

unde a si b reprezinta parametrii hiperplanului, iar ci indica clasa


(culoarea) obiectului yi .

⇒ Problema de optimizare convexa patratica avand numai


constrangeri de inegalitate ⇒ metodele de optimizare constransa
pot fi utilizate (e.g. metoda gradient proiectat - dificil de proiectat
pe un set mare de semispatii; metoda de punct interior, etc...)

⇒ Principiu clasificare: Hiperplanul cu parametrii (a, b), obtinut


in etapa de antrenare, se utilizeaza pentru identificarea unui nou
obiect z; daca aT z ≤ b atunci obiectul apartine clasei 1, altfel
daca aT z ≥ b apartine clasei 2.
Aplicarea tehnicii SVM in recunoasterea de imagini
• Reprezentarea numerica a imaginilor: fiecare pixel este definit de
o valoare (e.g. intre 0 şi 256) ce contine culoarea acestuia.
• Consideram imagini mono-colore de dim. 7 × 7 ale cifrei 7 unde
pixelii sunt reprezentati de nivele de gri cu valori intre 0 si 5.
• Problema: Determinati daca intr-o imagine data se afla cifra 7.
• Etapa de antrenare: acumulam un set de imagini de antrenare
ale cifrei 7 in diferite pozitii (clasa I) si imagini aleatorii complet
diferite de cifra 7 (clasa II).
• Imaginii i se asociaza un vector yi ∈ N49 (cu valori intre 0 şi 5) si
indexul ci al clasei (dacă ci = 1 atunci contine cifra 7, daca
ci = −1 atunci imaginea este aleatorie).
Aplicarea tehnicii SVM in recunoasterea de imagini
• Determinam hiperplanul optim cu parametrii (a, b)
Etapa de clasificare:
• Pentru imaginile de test (de mai jos) calculam valoarea
hiperplanului:
(
T < 0, atunci imaginea dată de y nu conţine cifra 7;
a y −b
≥ 0, atunci imaginea dată de y conţine cifra 7.
Rezultate

I clasificarea unui set de imagini aleatorii cu densitate mare de


pixeli gri si respectiv, imagini cu cifra 7 transformata in diverse
moduri (translatie la stanga/dreapta, inclinare, etc.) atinge o
rata de succes (recunoastere corecta) de aproximativ 80%;
I clasificarea unui set de imagini aleatorii cu densitate mica si
respectiv, imagini cu cifra 7 transformata in diverse moduri
(translatie la stanga/dreapta, inclinare), atunci rezulta o rata
de succes de aproximativ 52%.
⇒ Obtinem o rata mai mica de succes in cel de-al doilea caz din
doua motive:
(i) similaritatea ridicata intre imaginile cu densitate mica si cele
ce contin cifra 7;
(ii) numarul relativ mic de imagini de antrenare.
Regresia liniara
Modelul de Regresie Liniara (CMMP):
N  
1 X T 2 1 2
min (bi − x ai ) := kAx − bk
x N N
i=1

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

• Solutia problemei de optimizare (cmmp) minx∈Rn kAx − bk2 :


I A patratica si inversabila, atunci solutie unica
I A cu n  m (subdeterminata) - o infinitate de solutii
I A cu m  n (supradeterminata) - nici o solutie, atunci se
cauta solutia care minimizeaza expresia patratica (CMMP)
Fitting Data ca regresie liniara cont.
• Solutia problemei de optimizare (cmmp):

min kAx − bk2


x∈Rn

Orice algoritm de optimizare neconstransa (metoda gradient sau


gradientilor conjugati, metoda Newton, etc) poate fi utilizat!
I metoda gradientilor conjugati determina solutia in n iteratii
daca A inversabila sau rang intreg pe coloane - una din cele
mai folosite metode pentru rezolvarea acestor tipuri de
probleme (vezi si cursul de MN unde ati utilizat metodele LU
sau QR - neiterative)
I metoda gradient poate fi si ea utilizata (daca matricea A are
rang intreg pe coloane, atunci obtinem convergenta liniara,
altfel subliniara)
I metoda Newton produce solutia intr-o singura iteratie cand se
poate utiliza (A inversabila sau rang intreg pe coloane)
Regresie liniara 1 - fitting-ul unui polinom
With four parameters I can fit an elephant, with five I can make
him wiggle his trunk (Von Neumann)
• Problema: fitting un polinom de grad < n

p(t) = x0 + x1 t + · · · + xn−1 t n−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

I Regresie liniara (A ∈ R100×d ) cu polinoame de grad


d = 1, 2, 3, 4 avand eroarea
kAx ∗ − bk = 0.135, 0.076, 0.025, 0.005
I Linie continua g (t), linie punctate pd (t) pe [0, 1]
Cu 4 parametri complecsi chiar poti potrivi
un elefant (Drawing an elephant with four
complex parameters, Am. J. Phys, 2010 )
Regresie liniara 2 - identificarea sistemelor
Consideram un sistem intrare-iesire:

Pentru sistemul considerat dispunem de 40 de masuratori


intrare-iesire {u(t), y (t)}:

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:

min kAx − bk2 cu A ∈ R36×5


x∈R5

b = [y (5) y (6) · · · y (40)]T


 
u(5) u(4) u(3) u(2) u(1)

 u(6) u(5) u(4) u(3) u(2) 

A=
 u(7) u(6) u(5) u(4) u(3) 

 .. .. .. .. .. 
 . . . . . 
u(40) u(39) u(38) u(37) u(36)
Regresie liniara 2 - identificarea sistemelor
Raspunsul modelului estimat:

Raspunsul estimat si raspunsul real


8

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

2. Prin intermediul proiecti-


ilor obtinute, se reconstruieste
interiorul obiectului cu ajutorul
unui algoritm iterativ;
www.mathworks.com

In majoritatea cazurilor, radiatiile folosite sunt daunatoare; de


aceea se urmareste achizitionarea unui numar minim de proiectii.
Reconstructie tomografica - formularea problemei
• Fie x ∈ Rn imaginea interiorului de reconstruit.
• Pentru reconstructie, dispunem de diferite masuratori liniare
(proiectii) ale imaginii x: bi = Ai x, i = 1, · · · , m.
• Notam vectorul proiectiilor b ∈ Rm si A = [AT T T
1 · · · Am ] ∈ R
m×n

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!

• Restricted Isometry Property (RIP): matricea A ∈ Rm×n are


RIP(δ, k) daca orice submatrice AI (obtinute din combinarea a cel
mult k coloane din A) are toate valorile singulare marginite intre
1 − δ si 1 + δ. Pentru matricea A cu RIP(0.41, 2k) avem ca cele
doua probleme de mai sus au aceeasi multime de solutii pe
multimea vectorilor de raritate k (Candes & Tao 2005).
Raritate in solutie - relaxarea convexa
min fτ (x) (= f (x) + τ kxk1 ) ⇒ f diferentiabila
x∈Rn
Exemplu: sparse data fitting (aproximarea unui set de date cu
functie liniara): set de date (ai , bi ) a.i. bi depinde linear de ai :
bi = aiT x + ei ∀i = 1 : m
cu ei o eroare datorata procesului de sampling ⇒ e.g. CMMP rar
min fτ (x) (= kAx − bk2 + τ kxk1 ) ⇒ A ∈ Rm×n rara
x∈Rn
Aplicatii:
I Magnetic Resonance Imaging (MRI): instrument medical
imagistic folosit pt. scana anatomia si fiziologia unui organism
I Image inpainting: technica de reconstructie imagini degradate
I Image deblurring: instrument de procesare imagine pt
indeparta neclaritatea cauzate de fenomene naturale (miscare)
I Genome-Wide Association study (GWA): comparare ADN
intre 2 grupuri de persoane (cu/fara o boala), in scopul de a
investiga factorii de care depinde o boala
Raritate in solutie - metode pt. relaxarea convexa

min fτ (x) (= f (x) + τ kxk1 ) ⇒ f diferentiabila


x∈Rn
Aproximam f cu o functie patratica si pastram nealterat τ kxk1 :
1
x k+1=arg minn qτ (x; xk )(= f (xk )+h∇f (x k ), x−x k i+ kx−x k k2Hk +τ kxk1 )
x∈R 2
I Hk = LIn unde L constanta Lipschitz a lui ∇f ⇒ metoda
gradient (accelerat): Nesterov’07
I Hk = diag(L1 , · · · , Ln ), unde Li constanta Lipschitz a lui ∇i f
⇒ metoda gradient pe coordonate: Nesterov’10, Necoara’11
I Hk = ∇2 f (xk ) si inlocuieste functia nediferentiabila kxk1 cu
q
aproximarea diferentiabila (Huber) |xi | ↔ xi2 + µ2 − µ ⇒
metoda Newton: Gondzio’15
Probleme de data fitting cer analiza Big Data (terabytes of data):
trilioane de varibile (n) ⇒ Cray XC30 MPP supercomputer
(ARCHER in Edinburgh este al 25-lea in top 500): 118.080 cores
cu performanta 1.642 TFlops/s on LINPACK benchmark.
Raritate in date si solutie: rezultate (Gondzio’15)
ARCHER in Edinburgh (25 in top 500): n = 1012 (dim. trilion)

Comparatie metode: gradient pe coordonate paralel (PCDM),


gradient accelerat (FISTA), Newton (pdNCG) cu gradient conjugat
pt. rezolvare aproximativa sistem liniar si quasi-Newton (PSSgb)
Raritate in solutie - cazul matrice
P
Definim o masura a raritatii kX k0 = rang(X ) si kX k∗ = i σi si
problemele de optimizare asociate functiei liniare A : Rm×n → Rp :

min kX k0 s.l. A(X ) = b =⇒ min kX k∗ s.l. A(X ) = b


X ∈Rm×n |{z} X ∈Rm×n
relaxare convexa

• Restricted Isometry Property de ordin r : cea mai mica


constanta δr (A) a.i. pt. orice matrice X de rang cel mult r avem:

kA(X )k
1 − δr (A) ≤ ≤ 1 + δr (A)
kX kF

• Presupunem ca δ2r < 1 pentru un intreg r ≥ 1. Atunci unica


solutie a problemei originale neconvexe este matricea de rang cel
mult r satisfacand A(X ) = b.

• Presupunem ca r ≥ 1 satisface δ5r < 0.1, atunci cele doua


probleme de mai sus (cea originala si relaxarea ei convexa) au
aceeasi solutie optima (Recht & Parrilo 2010).
Matrix completion folosind DVS-ul
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
Pr norm kT· k∗ : daca A are descompunerea
nuclear Pr DVS
A = i=1 σi ui vi , atunci kAk∗ = i=1 σi
I problema se pune astfel:
min rang(X ) =⇒ min kX k∗
X ∈Rm×n |{z} X ∈Rm×n
relaxare convexa
s.l.: Xij = Aij ∀i, j ∈ S s.l.: Xij = Aij ∀i, j ∈ S
unde se dau valorile Aij cu (i, j) ∈ S o submultime a
elementelor matricei cautate
I relaxarea convexa se poate scrie ca un SDP:
min tr(W1 ) + tr(W2 )
X ,W1 ,W2
 
W1 X
s.l.: Xij = Aij ∀i, j ∈ S, 0
XT W2
Matrix completion - aplicare in recuperarea de imagine

imaginea data (40% elemente lipsa) si imaginea recuperata


Compresia semnalelor

Video, sunet sau imagine, depind de marime si rezolutie, si deci


pot ocupa mult spatiu pentru a le stoca sau transmite. E.g.,
compresia de imagine se imparte in 2 clase: lossless si lossy.
I compresia lossless: toata informatia fisierului original poate fi
recuperata dupa decompresie (formatul GIF este un exemplu),
important in documente text unde pierderea de informatie
duce la imposibilitarea citirii textului.
I compresia lossy: informatia redundanta este permanent
stearsa (formatul JPEG este un exemplu), important in fisiere
unde o pierdere de informatie mica este imposibil de detectat
de om.
Exista multe posibilitati de compresie a semnalelor, dar avantajul
oferit de DVS consta in flexibilitatea sa, deoarece poate actiona pe
orice matrice de dimensiune m × n.
Procesare de imagini

In general, procesele ingineresti implica achizitia/ prelucrarea/


comunicatia unui numar de semnale/date.

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 Recuperarea perfecta a semnalului original este imposibila


I Concluzie: cautam “cea mai buna” aproximare a imaginii
corupte
I Aproximarea se determina utilizand algoritmi de optimizare
(pentru niveluri rezonabile de zgomot avem recuperare
“aproape” perfecta)

Modelare pentru semnale 2D (tip imagine):


I Asociem imaginii o matrice X ∈ Rm×n sau un vector x ∈ Rmn
I Dimensiunile (m, n) reprezinta numarul de pixeli pe linii si
coloane.
I Ex.: Pentru o imagine cu dimensiuni 640 × 480 pixeli asociem
X ∈ R640×480 .
Procesare de imagini - total variation denoising
Semnale cu detalii excesive au variatie totala mare (i.e. integrala
gradientului absolut al semnalului este mare) =⇒ reducerea
zgomotului echivalenta cu reducerea variatiei totale:
1
min kIm − X k2 + β · TV (X )
X ∈Rm×n 2
I Im ∈ Rm×n este imaginea data (cu zgomot), β > 0
I TV =“total variation” functie cuantificare variatiei totala
I TV (x) = |xi+1,j − xi,j | + |xi,j+1 − xi,j |;
P
i,j
Rezultate (noisy image/denoised image):
Procesare de imagine - compresia imaginilor
I O imagine se reprezinta numeric printr-o matrice !
Aproximare matrice cu matrice de rang mai mic via DVS:
I fie A ∈ Rm×n cu rang(A) = r si A = UΣV T = ri=1 σi ui viT
P
I cautam matricea  avand rangul p < r a.i.  ≈ A, i.e.
min kA − Âk
Â:rangÂ≤p
Pp
I solutie: Â = i=1 σi ui viT , deci kA − Âk = ri=p+1 σi ui viT
P

Demontratie: fie rang(B) ≤ p, deci dim Null(B) ≥ n − p. Apoi:


dim Span {v1 , · · · , vp+1 } = p + 1. Cele 2 spatii se intersecteaza:
∃z : kzk = 1, Bz = 0, z ∈ Span{v1 , · · · , vp+1 }
p+1
X p+1
X
(A − B)z = Az = σi ui viT z = (σi viT z)ui (z ⊥ vp+2 )
i=1 i=1
p+1
Cum uiTuj = δij avem k(A−B)zk2 = σi2 (viT z)2 kui k2 ≥ σp+1
2 kzk2 .
P
i=1
kzk=1
kA − Bk = max k(A − B)xk ≥ k(A − B)zk ≥ σp+1 = kA − Âk
kxk=1
Compresia imaginilor
Fie imaginea originala 359×371 pixeli (Melancolia de Durer, 1514):

pe care o putem scrie ca o matrice A de dimensiune 359 × 371


(fiecare intrare (i, j) reprezinta intensitatea de gri a pixelului (i, j)
cu valori intre 0 (negru) si 255 (alb)), care poate fi descompusa via
DVS ca:
A = UΣV T ,
unde U este 359 × 359, Σ este 359 × 371 si V este 371 × 371.
Compresia imaginilor
Imaginea originala are 359×371 = 133.189 pixeli. Dar matricea A
poate fi scrisa ca suma de componente principale:
A = σ1 u1 v1T + σ2 u2 v2T + · · · + σn un vnT ,
unde fiecare matrice ui viT (componenta principala) de rang 1 este
de marimea matricei originale A. Dar pentru ca valorile singulare
σi sunt ordonate σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0, este posibila o
compresie semnificativa a imaginii atata timp cat spectrul valorilor
singulare are doar cateva intrari mari si restul sunt mici!

Spectrul lui A contine doar 100 − 200 componente principale max.!


Compresia imaginilor
Putem deci reconstrui fidel imaginea folosind doar o submultime de
componente principale. De exemplu, putem recupera o imagine
asemenatoare cu doar 20 de componente principale folosind
comenzile din Matlab:
[U, S, V ] = svd(A) si B = U(:, 1 : 20) S(1 : 20, 1 : 20) V (:, 1 : 20)

Imaginea B foloseste doar 10% din memoria imaginii A:


20 × 359 + 20 × 371 + 20 = 14.620 vs. 359 × 371 = 133.189 pixeli
Compresia imaginilor
Putem recupera o imagine fidela cu doar 200 de componente
principale, in loc de 359 cat are imaginea originala (i.e. 50%
informatie din imaginea originala):

[U, S, V ] = svd(A) si B = U(:, 1 : 200) S(1 : 200, 1 : 200) V (:, 1 : 200)


Compresie tigru
Consideram o imagine originala 500 × 800 pixeli de rang 500.
I dispunerea valorilor singulare - prima figura (scala log).
I putem observa (figura din dreapta) cata informatie este
detinuta in primele p valori singulare, facand raportul:
Pp
σi
informatie % = Pi=1 500
.
i=1 σi

In primele 50 valori singulare avem deja 70% din informatia aflata


in imagine!
Compresie tigru
Desi imaginea originala are 500 × 800 pixeli, putem recupera o
imagine fidela cu doar 50 de componente principale (10%)
Codul Matlab pt. compresie tigru
I % citeste imaginea si transform-o in negru si alb:
tiger = rgb2gray(imread(tiger.jpg));
I % resample imaginea:
tiger = im2double(imresize(tiger, 0.5));
I % calculeaza DVS-ul imaginii:
[U, S, V ] = svd(tiger);
I % reprezinta valorile singulare (scala log) si informatie %:
sigmas = diag(S); plot(log(sigmas));
plot(cumsum(sigmas)/sum(sigmas));
I % arata imaginea originala:
imshow(tiger);
I % calculeaza aproximarile de rang mai mic:
ranks = [200, 100, 50, 30, 20, 10, 3]; ns = length(sigmas);
for i = 1:length(ranks)
approxsigmas = sigmas; approxsigmas (ranks(i) : end) = 0;
approxS = S; approxS (1 : ns, 1 : ns) = diag (approxsigmas );
I % calculeaza matricele de rang mai mic si ploteaza:
approxtiger = U approxS V ; imshow(approxtiger )
Compresie Lena

Desi imaginea originala (faimoasa si frumoasa Lena :)) are


600 × 600 pixeli, putem recupera o imagine fidela cu doar 30 de
componente principale (20% din datele imaginii originale):
Bafta la examen!

ORICE STUDENT INTERESAT in ASTFEL de SUBIECTE si


APLICATII sa MA CONTACTEZE PENTRU o COLABORARE
(LICENTA, MASTER, DOCTORAT)!

S-ar putea să vă placă și