Algorithme de Frank-Wolfe
L' algorithme de Frank-Wolfe permet de résoudre des problèmes d'optimisation pour des fonctions convexes. Il a été proposé pour la première fois par Marguerite Frank et Philip Wolfe en 1956[1]. Le principe de fonctionnement est d'approximer à chaque itération une fonction par son développement en série de Taylor au premier ordre.
Présentation du problème
On cherche à minimiser une fonction convexe définie sur un espace vectoriel ou une partie convexe de celui-ci.
On veut donc trouver tel que .
Algorithme
Initialisation : On initialise avec une valeur aléatoire de et
Lancement de la boucle sur
- On cherche tel que est minimal (On cherche le vecteur qui a le produit scalaire le plus faible avec - donc qui va dans la direction la plus opposée.)
- Classiquement, on utilise une variable
- On met à jour
Utilisation
Cet algorithme est notamment utilisé pour l'apprentissage des réseaux de neurones comme le codage parcimonieux
Notes et références
- (en) M. Frank et P. Wolfe, « An algorithm for quadratic programming », Naval Research Logistics Quarterly, vol. 3, , p. 95 (DOI 10.1002/nav.3800030109)
Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.