- Direction de descente
-
En optimisation différentiable, qui est une discipline d'analyse numérique en mathématiques étudiant en particulier les algorithmes minimisant des fonctions différentiables sur des ensembles, une direction de descente est une direction le long de laquelle la fonction à minimiser a une dérivée directionnelle strictement négative. Ces directions sont utilisées par les méthodes à directions de descente. C'est le long de ces directions qu'un déplacement est effectué afin de trouver l'itéré suivant, en lequel la fonction à minimiser prend une valeur inférieure à celle qu'elle a en l'itéré courant. Des directions de descente peuvent être calculées par de nombreuses techniques dont les plus classiques sont présentées ci-dessous.
Sommaire
Définition
Soient un espace vectoriel et une fonction réelle définie sur admettant des dérivées directionnelles au point considéré. On note
la dérivée directionnelle (au sens de Dini) de f en dans la direction . La notation signifie que le réel t tend vers zéro dans par des valeurs strictement positives.
Le notion de direction de descente est surtout utilisée en optimisation numérique.
Direction de descente — Une direction de descente de f en x est un vecteur tel que
f'(x;d) < 0.
On en déduit que
si bien que f décroît en x dans la direction d. Cette propriété justifie le nom donné à cette direction. Certains auteurs utilisent cette dernière propriété comme définition d'une direction de descente ; cependant, comme cette propriété n'implique pas que la dérivée directionnelle soit strictement négative, elle n'est pas suffisamment forte pour les algorithmes à directions de descente.
Exemples de direction de descente
Il existe de nombreuses méthodes permettant de calculer une direction de descente. Les principales sont présentées dans cette section ; chacune avec ses propres caractéristiques. Un algorithme qui utilise une telle direction hérite d'elle son nom. Ainsi l'algorithme du gradient est l'algorithme à directions de descente qui utilise la direction du gradient, l'algorithme du gradient conjugué utilise la direction du gradient conjugué, etc.
On suppose dans cette section que est un espace hilbertien, dont le produit scalaire est noté et la norme associée et que est au moins une fois différentiable au point x considéré. On note f'(x) sa dérivée, qui est une application linéaire continue de dans , et la valeur en de cette dérivée. Par le théorème de Riesz-Fréchet, il existe alors un vecteur , appelé le gradient de f en x, défini par
Direction du gradient
La direction du gradient d est, en réalité, l'opposé du gradient :
Il s'agit bien d'une direction de descente si puisqu'alors
L'algorithme du gradient, qui utilise les directions du gradient comme directions de descente, est lent et il vaut mieux l'éviter, d'autant plus qu'il existe d'autres directions aussi simples à calculer et conduisant à des algorithmes beaucoup plus efficaces, comme l'algorithme ℓ-BFGS (en) par exemple.
Direction du gradient conjugué
L'algorithme du gradient conjugué construit sa direction de descente en x en ajoutant à l'opposé du gradient, la direction calculée à l'itéré précédent x − , multipliée par un scalaire :
À la première itération, il n'y a pas de direction précédente et l'algorithme prend alors simplement l'opposé du gradient. Il y a beaucoup de formules pour le bêta de conjugaison β, sans que l'on puisse encore donner aujourd'hui une ligne de conduite claire.
Vérifions qu'il s'agit bien d'une direction de descente. On a
La dérivée directionnelle est donc strictement négative si les deux conditions suivantes sont vérifiées :
- qui a lieu si x = x − + α − d − où α − est un point stationnaire (dérivée nulle) de la fonction ce qui revient à faire de la recherche linéaire exacte.
Cette seconde condition est aisément satisfaite lorsque f est quadratique, ce qui est le cadre fonctionnel habituel de l'algorithme du gradient conjugué, puisqu'alors α − est donné explicitement par une formule.
Pour une fonction f arbitraire, on a longtemps pensé que cette seconde condition devait aussi être satisfaite pour que la direction soit de descente, ce qui empêchait l'utilisation de cette approche algorithmique pour les problèmes non quadratiques car la seconde condition ne peut être réalisée exactement dans ce cas. On sait depuis les années 1985[1]-92[2] que des règles de recherche linéaire adaptées aux formules de β permettent d'assurer la descente des directions et la convergence des algorithmes associés.
Direction de Newton
On suppose ici que la fonction f à minimiser est deux fois différentiable en x et on désigne par son hessien en x, lequel est l'unique opérateur linéaire auto-adjoint vérifiant
La direction de Newton est définie en un point x en lequel le hessien de f est inversible par
Cette direction est une direction de descente si
- est définie positive.
En effet
où λmax désigne la plus grande valeur propre de .
La seconde condition assurant le caractère descendant de la direction de Newton sera vérifiée dans le voisinage d'une solution vérifiant les conditions suffisantes d'optimalité du deuxième ordre.
Direction de quasi-Newton
Les algorithmes de quasi-Newton en optimisation définissent une direction de descente en prenant une approximation convenable du hessien du critère au moyen d'un opérateur M auto-adjoint :
Une direction de quasi-Newton est donc de la forme
Comme pour la direction de Newton, cette direction est une direction de descente si
- M est définie positive.
En effet
où λmax désigne la plus grande valeur propre de M.
Direction de Gauss-Newton
La direction de Gauss-Newton est utilisée pour résoudre les problèmes de moindres-carrés dont le critère est de la forme
où ( est un espace hilbertien dont le produit scalaire est aussi noté et est la norme associée). On calcule aisément
La direction de Gauss-Newton s'obtient en ne gardant du hessien de f que son premier terme dans l'expression ci-dessus, de manière à éviter le calcul des dérivées secondes de F. C'est en réalité une solution arbitraire d de l'équation normale
On reconnaît dans le membre de droite l'opposé du gradient de f. Cette équation linéaire a en fait une solution unique si et seulement si F'(x) est injective. Les directions de Gauss-Newton sont aussi les solutions du problème de moindres-carrés linéaire suivant
Une direction de Gauss-Newton d est une direction de descente de f en x si . En effet
L'inégalité stricte vient du fait que si F'(x)d = 0, alors est nul par l'équation normale, ce que nous avons supposé ne pas avoir lieu.
Annexes
Notes
- doi M. Al-Baali (1985), Descent property and global convergence of the Fletcher-Reeves methods with inexact line search, IMA Journal of Numerical Analysis, 5, 121-124.
- doi J. Ch. Gilbert, J. Nocedal (1992), Global convergence properties of conjugate gradient methods for optimization, SIAM Journal on Optimization, 2, 21–42.
Articles connexes
- Algorithme du gradient
- Algorithme du gradient conjugué
- Algorithme à directions de descente
- Méthode des moindres carrés
Lien externe
- J. Ch. Gilbert, Éléments d'Optimisation Différentiable — Théorie et Algorithmes, syllabus de cours à l'ENSTA ParisTech, Paris.
Ouvrages généraux
- (en) D. P. Bertsekas (1995), Nonlinear Programming. Athena Scientific. ISBN 1-886529-14-0.
- (en) J. F. Bonnans, J. Ch. Gilbert, C. Lemaréchal, C. Sagastizábal (2006), Numerical Optimization - Theoretical and Numerical Aspects [détail des éditions].
- (en) J. Nocedal, S. J. Wright (2006), Numerical Optimization, Springer. ISBN 0-387-30303-0.
Catégories :- Optimisation
- Optimisation différentiable
- Analyse numérique
Wikimedia Foundation. 2010.