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 λ1 4λn
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 λ1 4λn
1 +λn
λ1
n X
i=1
x2i
!2
6 λ1 4λn
1 + λn
λ1
2
6 λ1
4λ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
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) =−Axk−b xk+1=xk+tkdk
où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) =f(¯x) = 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
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 surkxk−xk¯ (question 3) Par ailleurs, on a
hA(xk−x), x¯ k−xi¯ =hAxk, xk−xi − hA¯¯ x, xk−xi¯
=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
Donc
f(xk)−f¯=1
2hA(xk−x), x¯ k−xi¯ > 1
2λminkxk−¯xk2 Et finalement
kxk−xk¯ 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=−Ax0−b=−λ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