Sunteți pe pagina 1din 4

Méthode de gradient à pas optimal

Références : Hirriart-Urruty, Optimisation et analyse convexe, p 17-19 et p 53-56

Lemme (Inégalité de Kantorovitch).

Soit A P Sn`` et λ1 ě ... ě λn ses valeurs propres, alors pour tout x P Rn ,


˜c c ¸2
4 ´1 1 λ1 λn 4
}x} ď pAx, xqpA x, xq ď ` }x} .
4 λn λ1

Démonstration. Il suffit de démontrer l’inégalité pour }x} “ 1. Puis comme A P Sn`` , il existe P P On pRq telle
que A “ t P ∆P avec ∆ “ Diagpλ1 , ..., λn q. Par le changement de variable y “ P x, il suffit de démontrer
˜c c ¸2
´1 1 λ1 λn
1 ď p∆y, yqp∆ y, yq ď ` .
4 λn λ1
ˆ ˙
1
On fixe y. On note ensuite Mi le point de coordonnées λi , , et M le barycentre des Mi avec les coefficients
` ˘ λi
2 ´1
yi . Alors M a pour coordonnées p∆y, yq, p∆ y, yq .
1
Tous les Mi sont dans l’intersection de l’épigraphe de x ÞÑ et du demi-plan inférieur donné par la droite liant
x
M1 et Mn , donc M est dans ce domaine.
On peut alors majorer et minorer l’ordonnée de M :
1 p∆y, yq 1 1
ď p∆´1 y, yq ď ´ ` ` .
p∆y, yq λ1 λn λ1 λn
D’où il vient
p∆y, yqpλ1 ` λn ´ p∆y, yqq
1 ď p∆y, yqp∆´1 y, yq ď .
λ1 λn
upλ1 ` λn ´ uq
En trouvant le maximum de u ÞÑ , on a exactement l’inégalité voulue.
λ1 λn
Le but de ce développement est d’appliquer l’algorithme de gradient optimal à la fonction f : x P Rn ÞÑ
1
pAx, xq ` pb, xq ` c où A P Sn`` , b P Rn et c P R. Celle-ci est sympathique car l’algorithme pourra être calculé
2
explicitement avec elle, ce qui n’est quasiment jamais le cas.
On gardera la notation λ1 ě ... ě λn pour les valeurs propres de A.

L’algorithme de gradient à pas optimal donne une méthode numérique permettant de minimiser des fonctions
de Rn . Il est défini comme suit :
On se donne x0 P Rn , puis pour passer de l’étape k à l’étape k`1, on calcule xk`1 “ xk `tk dk , où dk “ ´∇f pxk q
et tk est l’unique réel positif minimisant t ÞÑ f pxk ` tdk q (si ∇f pxk q ‰ 0). On s’arrête lorsqu’on est assez proche
du minimum, c’est à dire lorsque }∇f pxk q} ă  pour une tolérance  que l’on s’est fixé.
Théorème.

La fonction f définie auparavant a un unique minimum, noté x. On appelle f “ f pxq et cpAq “


› › λ1
}A} ›A´1 › “ le conditionnement de A, alors la suite pxk qk donnée par la méthode de gradient à
λn
pas optimal vérifie
ˆ ˙2k
cpAq ´ 1
f pxk q ´ f ď pf px0 q ´ f q
cpAq ` 1
et
ˆ ˙ 21 ˆ ˙k
2pf px0 q ´ f q cpAq ´ 1
}xk ´ x} ď
λn cpAq ` 1

Adrien LAURENT 1 ENS Rennes - Université de Rennes 1


Démonstration. ‚ Existence et unicité du minimum :
f est coercive ( lim f pxq “ 8), donc le minimum de f n’est pas à l’infini. En se restreignant à un compact
xÑ8
assez grand, comme f est continue sur ce compact, elle atteint son minimum sur celui-ci. On a donc existence
du minimum.
Puis comme D2 f pxq “ A est définie positive, f est fortement convexe, donc le minimum est unique.
1
Le minimum est caractérisé par ∇f pxq “ 0, soit x “ ´A´1 b. D’où f “ ´ pA´1 b, bq ` c.
2
‚ Précisions sur dk et tk :
On suppose que pour les k étudiés ∇f pxk q ne s’annule pas, sinon l’algorithme est terminé.
On a, pour t P R,

1 t t t2
f pxk ` tdk q “ pAxk , xk q ` pAxk , dk q ` pAdk , xk q ` pAdk , dk q ` pb, xk q ` tpb, dk q ` c
2 2 2 2
t2
“ f pxk q ` tpAxk ` b, dk q ` pAdk , dk q
2
2
pAxk ` b, dk q }dk }
Ce polynôme est minimisé lorsque t “ tk :“ ´ “ (car dk “ ´∇f pxk q “ ´pAxk ` bq). 1
pAdk , dk q pAdk , dk q
‚ On peut maintenant calculer f pxk`1 q :
2 4
}dk } 1 }dk }
f pxk`1 q “ f pxk ` tk dk q “ f pxk q ` pAxk ` b, dk q ` pAdk , dk q
pAdk , dk q 2 pAdk , dk q2
2 4
}dk } 2 }dk }
“ f pxk q ´ }dk } `
pAdk , dk q 2pAdk , dk q
4
}dk }
“ f pxk q ´ .
2pAdk , dk q

Pour se ramener au lemme de Kantorovitch, on calcule pA´1 dk , dk q :

pA´1 dk , dk q “ pA´1 pAxk ` bq, Axk ` bq


“ pAxk , xk q ` pb, xk q ` pAxk , A´1 bq ` pA´1 b, bq
ˆ ˙
1 1
“2 pAxk , xk q ` pb, xk q ` c ` pA´1 b, bq ´ c
2 2
“ 2pf pxk q ´ f q.

On a donc
4
}dk }
f pxk`1 q ´ f “ pf pxk q ´ f q ´
2pAdk , dk q
˜ ¸
4
}dk }
“ pf pxk q ´ f q 1 ´
2pf pxk q ´ f qpAdk , dk q
˜ ¸
4
}dk }
“ pf pxk q ´ f q 1 ´ .
pAdk , dk qpA´1 dk , dk q

‚ On applique Kantorovitch :
On a ˜c ¸2
c
´1 1 λ1 λn 4
pAdk , dk qpA dk , dk q ď ` }d}k .
4 λn λ1

1. On rappelle que pAdk , dk q est non nul par définition de la définie positivité de A.

Adrien LAURENT 2 ENS Rennes - Université de Rennes 1


Donc, comme f pxk q ´ f ě 0, on a
˜ ¸
4
}dk }
f pxk`1 q ´ f “ pf pxk q ´ f q 1 ´
pAdk , dk qpA´1 dk , dk q
¨ ˜c c ¸´2 ˛
λ 1 λn
ď pf pxk q ´ f q ˝1 ´ 4 ` ‚
λn λ1
ˆ ˙
1
ď pf pxk q ´ f q 1 ´ 4
cpAq ` cpAq´1 ` 2
ˆ ˙
cpAq
ď pf pxk q ´ f q 1 ´ 4
pcpAq ` 1q2
ˆ ˙2
cpAq ´ 1
ď pf pxk q ´ f q .
cpAq ` 1
On a ainsi la première inégalité voulue par récurrence.
Pour la deuxième, on la déduit de la précédente en remarquant que
1 1
f pxk q ´ f “ pAxk , xk q ` pb, xk q ` c ` pA´1 b, bq ´ c
2 2
1 1
“ pAxk , xk q ´ pAx, xk q ` pAx, xq
2 2
1
“ pApxk ´ xq, pxk ´ xqq
2
λn 2
ě }xk ´ x} .
2

On voit sur le dessin ci-dessous l’algorithme appliqué. On part de x0 , on cherche le gradient de f en ce point
et on part chercher le prochain point sur la droite donné par ∇f px0 q. Les courbes tracées représentent certaines
lignes de niveau de f .
2
On a dk`1 “ ´Axk`1 ´ b “ ´Axk ´ b ´ tk Adk “ dk ´ tk Adk , donc pdk`1 , dk q “ }dk } ´ tk pAdk , dk q “ 0.
Les directions de descente sont donc consécutivement orthogonales entre elles.

D’autre part, xk`1 est le point d’une courbe de niveau tangente à ∇f pxk q en xk`1 . En effet, si ce n’était pas
le cas, la droite donnée par t ÞÑ xk ` tdk couperait la ligne de niveau contenant xk`1 en deux points distincts.
Le segment reliant ceux-ci contiendrait des valeurs de f plus faibles que f pxk`1 q car f est fortement convexe ;
cela est absurde. Par régularité de f , donc des courbes de niveau, la droite est tangente à la ligne de niveau en
l’unique point d’intersection.

Adrien LAURENT 3 ENS Rennes - Université de Rennes 1


On voit que si cpAq est proche de 1 - c’est à dire que l’on a un faible conditionnement/que les valeurs propres
de A sont proches les unes des autres - alors l’algorithme converge rapidement. Sur le dessin, cela correspond
au cas où les lignes de niveaux sont quasiment des cercles.
Au contraire, si le conditionnement est fort, la convergence est beaucoup plus lente. Cela correspond à des sortes
d’ellipses très aplaties.
Trouver le minimum revient à inverser la matrice A, car x “ ´A´1 b, et on se rend compte que plus la matrice
est difficile à inverser, plus l’algorithme met du temps à converger.

Remarques : ‚ En pratique, on admet que pA´1 dk , dk q “ 2pf pxk q ´ f q et on insiste sur la convexité de f ,
l’existence et l’unicité du minimum et la dépendance au conditionnement.
‚ Si on présente la leçon convexité, on présente en détail le lemme de Kantorovitch et on va très vite sur le
gradient à pas optimal. Sinon, on admet Kantorovitch.
‚ Dans le cas général, on peut montrer que si f est fortement convexe et C 1 , alors la suite donnée par cette
algorithme converge vers le minimum.
‚ Cet algorithme est dit de descente. C’est un algorithme d’optimisation différentiable, destiné à minimiser une
fonction réelle différentiable définie sur un espace euclidien ou, plus généralement, sur un espace hilbertien. Au
point courant, un déplacement est effectué le long d’une direction de descente, de manière à faire décroître la
fonction.
On peut en citer trois autres : celle de Newton-Raphson appliqué à ∇f , celle de gradient à pas constant (qui
converge pour un pas assez petit si f est fortement convexe C 1 et si ∇f est localement lipschitzien) et celle de
gradient conjugué.
1
La méthode de gradient conjugué s’applique à la minimisation de fonctions de la forme x P Rn ÞÑ pAx, xq `
2
pb, xq. A chaque itération, au lieu de minimiser la fonction sur l’espace vectoriel Vectp∇f pxk qq, on la minimise
sur Vectp∇f px0 q, ..., ∇f pxk qq. L’algorithme converge donc exactement vers la solution en au plus n itérations.

Adrien LAURENT 4 ENS Rennes - Université de Rennes 1

S-ar putea să vă placă și