Utilisateur:Pamango/Brouillon Descente Coordonnees
Algorithme de descente par coordonnées modifier
L'algorithme de descente par coordonnées désigne un algorithme d'optimisation. Il vise à minimiser une fonction à valeurs réelles définie sur un espace euclidien comme en la minimisant itérativement selon chacune de ses coordonnées.
C'est un cas particulier d'Algorithme à directions de descente, où les directions de descente possibles sont limitées à chacune des coordonnées de la fonction.
L'algorithme modifier
L'algorithme de descente par coordonnées repose sur l'idée que minimiser la valeur d'une fonction selon une seule de ses variable est généralement un problème plus simple que de la minimiser directement.
Algorithme de descente par coordonnées — Soit une fonction , un point initial et nombre total d'itérations . L'algorithme de descente par coordonnées définit une suite d'itérés , jusqu'à ce qu'un test d'arrêt soit satisfait. Tant que , il passe de à par les étapes suivantes.
- Choix de la direction de descente .
- Descente .
En pratique, la minimisation de chaque coordonnée n'a pas besoin d'être exacte pour que l'algorithme soit efficace. Pour les fonctions différentiables, une version populaire de l'algorithme se rapprochant de l'algorithme du gradient consiste à effectuer un pas de gradient selon la coordonnée choisie.
L'exemple de Powell modifier
En l'absence d'hypothèses de régularité sur la fonction minimisée, l'algorithme de descente par coordonnées ne converge pas nécessairement. Il peut en effet arriver que l'algorithme reste bloqué dans une boucle infinie[1], c'est le cas notamment pour la fonction :
En revanche, notamment si la fonction minimisée est convexe, l'algorithme converge vers le minimum global de la fonction.
Choix de la direction de descente modifier
Un choix de coordonnée naturel est le choix cylique les coordonnées, c'est-à-dire . C'est souvent ce qui est fait dans l'implémentation de l'algorithme. Cependant, cela rend la preuve de convergence de l'algorithme plus difficile.
Une variante de l'algorithme consiste à choisir la coordonnée à mettre à jour en la tirant selon un certaine distribution sur . Cela permet notamment de mettre à jour plus souvent les coordonnées selon lesquels la fonction diminue plus vite, et a été très étudié en théorie, notamment parce qu'il facilite la preuve de convergence de l'algorithme.
Calcul des mises à jour modifier
Minimisation modifier
Gradient modifier
Résultats de convergence modifier
Choix de coordonnées cyclique modifier
Choix de coordonnées aléatoire modifier
Intérêt modifier
- (en) M. J. D. Powell, « On search directions for minimization algorithms », Mathematical Programming, vol. 4, no 1, , p. 193–201 (ISSN 1436-4646, DOI 10.1007/BF01584660, lire en ligne, consulté le )