• Aucun résultat trouvé

Algorithme du gradient à pas optimal

N/A
N/A
Protected

Academic year: 2022

Partager "Algorithme du gradient à pas optimal"

Copied!
4
0
0

Texte intégral

(1)

Algorithme du gradient à pas optimal

Référence :Hiriart-UrrutyOptimisation et analyse convexe exercice II.8. p.52 etFGNal3 Leçons : 162,232,233

Soit A ∈ Sn++(R) de valeurs propres minimale et maximale λmin et λmax. Alors en posant c(A) := λmin

λmax le conditionnement deA,

∀x∈R, kxk4

hAx, xihA−1x, xi >4

rλmax

λmin

+ rλmin

λmax

!−2

= 4 c(A) (c(A) + 1)2 Lemme (Inégalité de Kantorovitch)

Preuve :

Il suffit de montrer cette inégalité pourxde norme 1, ce qu’on supposera dans la suite.Aest symétrique donc il existe une base (e1,· · · , en) orthonormale de vecteurs propres deA. On notex=X

xiei et 0< λ16· · ·6λn

les valeurs propres deA.

hAx, xihA−1x, xi=

n

X

i=1

λix2i

n

X

i=1

1

λix2i = λ1

λn

n

X

i=1

λi

λnx2i

n

X

i=1

λ1

λix2i

6 λ1n

n

X

i=1

λi λn

+λ1 λi

x2i

!2 .

Après étude de la fonctionx7→ x λ1

+λn

x qui atteint son maximum 1 +λn λ1

enλ1 et enλn, on en déduit que

hAx, xihA−1x, xi6 λ1n

1 +λn

λ1

n X

i=1

x2i

!2

6 λ1n

1 + λn

λ1

2

6 λ1

n

1 + 2λn

λ1

+λ2n λ21

61 4

λ1

λn

+ 2 +λn

λ1

61 4

rλ1

λn + rλn

λ1

!2

Il suffit d’inverser cette formule pour obtenir l’inégalité escomptée.

Laura Gay p.1 6 juin 2015

(2)

Problème :SoitA∈ Sn++ (R) etb∈Rn. On cherche à minimiserf :x7→ 1

2hAx, xi+hb, xiquanda xparcourt Rn.

Il existe une unique solution à ce problème, caractérisée par∇f(¯x) = 0.

De plus, l’algorithme défini par :x0∈Rn et pourk>0 :

(dk =−∇f(xk) =−Axkb xk+1=xk+tkdk

tk est l’unique réel (positif) minimisantg:t7→f(xk+tdk) surR converge vers ¯x.

a. On enlève lecdu livre qui n’apporte rien

Théorème

Preuve :

Conditions de minimalité (question 1) Soit ¯xun point minimal, alors∇f(¯x) = 0.

Or

f(x+h) =1

2hA(x+h), x+hi+hb, x+hi

= 1

2hAx, xi+hb, xi+1

2(hAx, hi+hAh, xi) +hb, hi+1 2hAh, hi

= 1

2f(x) +hAx, hi+hb, hi+1

2hAh, hi carAsymétrique

= 1

2f(x) +hAx+b, hi+o(khk) Donc∇f(x) =Ax+bet donc ¯x=−A−1b.

Minimiser f revient à inverser une matrice, de manière peut-être plus efficace.

D’autre part,

f¯:= min

x∈Rnf(x) =fx) = 1

2hA¯x,xi¯ +hb, xi

= 1

2hA¯x,xi¯ +h−A¯x,xi¯

=−1 2hA¯x,xi¯

=−1

2hA(−A−1b),−A−1bi

=−1

2h−b,−A−1bi

=−1

2hA−1b, bi

De plus, ¯xest bien le minimum carf est strictement convexe1, coercive2 surRn donc il existe un unique minimum pour f.

Dans toute la suite de la preuve, on supposedk 6= 0 car sinonAxk=−bet l’algorithme converge en temps fini.

1. car la matrice hessienne def estAqui est définie positive.

2.

|f(x)|>1

2|hAx, xi| − |hb, xi|

>1

2λminkxk2− kbk kxk

−→

kxk→∞

Laura Gay p.2 6 juin 2015

(3)

Calcul detk (question 2) g(t) =f(xk+tdk) =1

2hA(xk+tdk), xk+tdki+hb, xk+tdki

=1

2hAxk, xki+1

2hAtdk, xki+1

2hAxk, tdki+1

2hAtdk, tdki+hb, xki+hb, tdki

=f(xk) +hAxk+b

| {z }

−dk

, tdki+1

2hAtdk, tdki

=f(xk)−tkdkk2+1

2t2hAdk, dki

Donc g0(t) =− kdkk2+thAdk, dkiet g0(t) = 0⇔t=tk = kdkk2

hAdk, dki >0 (on peut diviser parhAdk, dki cardk 6= 0 etAdéfinie positive).

Calcul de l’erreur surf(xk)−f¯ (questions 2 et 3)

f(xk+1) =f(xk+tkdk) =f(xk)− kdkk2

hAdk, dkikdkk2+1 2

kdkk4

hAdk, dki2hAdk, dki

=f(xk)− kdkk4 hAdk, dki+1

2

kdkk4 hAdk, dki

=f(xk)−1 2

kdkk4 hAdk, dki Donc

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

kdkk4

hAdk, dki = f(xk)−f¯

1− kdkk4

2hAdk, dki f(xk)−f¯

!

Or :

hA−1dk, dki=hA−1(Axk+b), Axk+bi

=hxk+A−1b, Axk+bi

=hxk, Axki+hxk, bi+hA−1b, Axki

| {z }

hb,xki

+hA−1b, bi

| {z }

−2 ¯f

= 2

 1

2hxk, Axki+hxk, bi

| {z }

f(xk)

f¯

= 2 f(xk)−f¯

Donc finalement

f(xk+1)−f¯= f(xk)−f¯

1− kdkk4 hAdk, dkihA−1dk, dki

!

L’inégalité de Kantorovitch donne,

kdkk4

hAdk, dkihA−1dk, dki >4 c(A) (c(A) + 1)2 Donc

f(xk+1)−f¯6 f(xk)−f¯

c(A)−1 c(A) + 1

2

6· · ·6 f(x0)−f¯

c(A)−1 c(A) + 1

2k

Calcul de l’erreur surkxkxk¯ (question 3) Par ailleurs, on a

hA(xkx), x¯ kxi¯ =hAxk, xkxi − hA¯¯ x, xkxi¯

=hAxk, xki − hAxk,xi − hA¯ x, x¯ ki+hA¯x,xi¯

=hAxk, xki+hAxk, A−1bi+hAA−1b, xki+hAA−1b, A−1bi

=hAxk, xki+hxk, bi+hb, xki

| {z }

2f(xk)

+hb, A−1bi

| {z }

−2 ¯f

Laura Gay p.3 6 juin 2015

(4)

Donc

f(xk)−f¯=1

2hA(xkx), x¯ kxi¯ > 1

2λminkxk−¯xk2 Et finalement

kxkxk¯ 6 s

2 f(x0)−f¯ λmin

c(A)−1 c(A) + 1

k

Doncxk −→

n→+∞x.¯

Notes :

XA l’oral, on ne fait pas Kantorovitch. 14’36 allure normale (énoncer Kanto avec le conditionnement !) XLorsque n= 2xk converge en zigzags vers ¯x.

X Plus c(A) est proche de 1, plus la méthode converge rapidement. A l’inverse lorsque c(A) est loin de 1, la méthode est très lente.

Le cas limite serait celui oùc(A) = 1 (doncAhomothétie), ce qui suppose 2(f(x)−f¯) =λkx−xk¯ 2auquel cas on atteint ¯xdès la première itération. En effet, d0=−Ax0b=−λx0+λ¯x, donc t0 = 1

λ et on obtient bien x1= ¯x(ou sinon on utilise la dernière majoration...).

Laura Gay p.4 6 juin 2015

Références

Documents relatifs

Calculer les r´ egularis´ ees de Moreau Yosida de l’indicatrice i C d’un convexe non vide

Dans cette question f est strictement convexe et E est de

Feuille d’exercices 8 : optimisation et cˆ ones. ((E, k.k) est un evn dans

L’enveloppe convexe des matrices de permutations est l’ensemble des matrices double- ment stochastiques (th´ eor` eme de Birkhoff), qui correspond ` a un probl` eme

Ce cours s’appuie sur le livre “Convex Optimization” de Stephen Boyd et Lieven Vandenberghe (disponible gratuitement : http://www.stanford.edu/~boyd/cvxbook/ ) et les

R´ esum´ e. Dans ce TP on va chercher ` a impl´ ementer certaines notions vues en cours concernant l’optimisation convexe. Le premier exercice cherche ` a montrer que les conditions

L’enveloppe convexe des matrices de permutations est l’ensemble des matrices double- ment stochastiques (th´ eor` eme de Birkhoff), qui correspond ` a un probl` eme

[r]