Algorithme proximal (optimisation)

From Wikipedia, the free encyclopedia

En analyse numérique et plus précisément en optimisation mathématique, l'algorithme proximal (ou algorithme du point proximal) est un algorithme itératif de calcul d'un minimum d'une fonction convexe semi-continue inférieurement propre. Si la fonction n'est pas quadratique, chaque itération requiert la minimisation d'une fonction non linéaire fortement convexe. L'algorithme peut être vu comme une méthode de gradient implicite.

Certains algorithmes peuvent être interprétés comme des algorithmes proximaux. Il en est ainsi de la méthode des multiplicateurs (ou algorithme du lagrangien augmenté). Cette lecture permet alors d'en établir des propriétés de convergence, déduites de celles de l'algorithme proximal.

Soient un espace de Hilbert, dont le produit scalaire est noté et la norme associée est notée , et une fonction convexe semi-continue inférieurement propre. On s'intéresse au problème de trouver un minimum de , c'est-à-dire un point tel que

Le problème revient à trouver une solution de l'inclusion

est le sous-différentiel de en , parce que cette inclusion est une condition nécessaire et suffisante d'optimalité du problème de minimisation. On montre que, sous les propriétés énoncées de , est un opérateur monotone maximal[1], ce qui permet de voir le problème comme un cas particulier de recherche de zéro d'opérateur monotone maximal et de voir l'algorithme proximal en optimisation comme un cas particulier de l'algorithme proximal pour la recherche de zéro de tels opérateurs.

L'algorithme

L'algorithme est en partie fondé sur le fait que, lorsque est convexe fermée propre et , la fonction

est fortement convexe, de module , fermée propre et a donc un minimiseur unique. Dans la description de l'algorithme ci-dessous, on note

Algorithme proximal  On se donne un itéré initial . L'algorithme proximal définit une suite d'itérés , en calculant à partir de par

est un nombre réel pouvant être modifié à chaque itération.

Exprimé autrement, le calcul du nouvel itéré consiste à trouver l'unique solution de l'inclusion

ce qui s'écrit aussi

L'algorithme peut donc être vu comme une méthode de sous-gradient implicite (dans le sens où le sous-gradient est évalué au nouveau point – inconnu – et non pas en l'itéré courant ) avec pas . On voit aussi que chaque itération requiert la résolution d'un problème d'optimisation non linéaire (à moins que ne soit quadratique).

Pour expliquer le principe contre-intuitif de l'algorithme, puisque pour minimiser , il faut qu'à chaque itération, l'algorithme proximal minimise la fonction qui semble bien être aussi compliquée que , on peut remarquer les points suivants.

  1. La fonction à minimiser (à chaque itération, ne l'oublions pas) peut être plus attrayante que , du fait de sa forte convexité. Pour certains algorithmes, cette propriété est une aubaine, permettant d'accélérer leur convergence et de mieux la contrôler. Cette fonction a aussi un minimum unique, ce qui n'est pas nécessairement le cas de .
  2. Certains algorithmes de dualité peuvent être interprétés comme des algorithmes proximaux. Ces algorithmes de dualité s'appliquent en fait à des fonctions dont l'évaluation résulte de la minimisation d'une fonction (le lagrangien) et il n'est pas plus coûteux d'évaluer que de minimiser , qui revient à minimiser une autre fonction (le lagrangien augmenté). Ces algorithmes de dualité ont donc tout leur sens. Leur interprétation en termes d'algorithme proximal permet alors d'en obtenir des propriétés difficiles à mettre en évidence autrement.
  3. Observons que si et est séparable, c'est-à-dire si elle s'écrit comme suit

    où les sont de petites parties de l'ensemble des indices , il en est de même de . C'est une propriété intéressante lorsqu'on cherche à résoudre de grands problèmes par des techniques de décomposition.
  4. L'algorithme proximal a un effet stabilisant. Lorsque a plusieurs minimiseurs, l'algorithme génère une suite convergeant vers l'un d'entre eux. L'algorithme proximal est parfois utilisé pour stabiliser des algorithmes qui ne convergeraient pas sans modification lorsque le problème considéré devient singulier.

Convergence

Résolution approchée

Annexes

Related Articles

Wikiwand AI