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.

  1. Choix de la direction de descente  .
  2. 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

  1. (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 )