Algorithme de régularisation proximale pour l'optimisation sans contrainte

22c721aa043f752b3b6e3299df04b306?s=47 GdR MOA 2015
December 03, 2015

Algorithme de régularisation proximale pour l'optimisation sans contrainte

by I. Lankoendé

22c721aa043f752b3b6e3299df04b306?s=128

GdR MOA 2015

December 03, 2015
Tweet

Transcript

  1. Algorithme de régularisation proximale pour l’optimisation sans contrainte Isaï LANKOANDÉ,

    Paul ARMAND Laboratoire XLIM – Université de Limoges GDR MOA – Journées annuelles 2015 Dijon 2–4 décembre 2015
  2. Sommaire Objectifs Algorithme Convergence Résultats numériques Perspectives

  3. Sommaire Objectifs Algorithme Convergence Résultats numériques Perspectives

  4. Objectifs I • On se propose de résoudre, avec une

    méthode de type Newton, le problème min x∈Rn f (x), où f : Rn −→ R est une fonction régulière. • Pour une méthode de type Newton, on résout à chaque itération k le système linéaire Hk d = −∇f (xk ), avec Hk = ∇2f (xk ) ou Hk ∇2f (xk ). • On se retrouve avec deux difficultés : 1. d peut ne pas être une direction de descente, 2. ∇2f peut être singulière à un minimum local. • Pour résoudre ces difficultés : 1. ajouter, si besoin, une matrice de correction ∆k 0 telle que Hk = ∇2f (xk ) + ∆k 0 ; 2. ajouter, à chaque itération, une matrice de régularisation Rk 0 telle que ∇2f (xk ) + Rk 0.
  5. Objectifs II • Lorsqu’il y a singularité à un minimum

    local, la régularisation proximale est une alternative. • On part d’un point initial donné x0 ∈ Rn. Pour k ∈ N, on calcule xk+1 en résolvant le problème min x∈Rn ϕk (x) := f (x) + θk 2 x − xk 2, où θk > 0 est un paramètre convenablement choisi. • On a donc ϕk (xk ) = f (xk ), ∇ϕk (xk ) = ∇f (xk ), ∇2ϕk (xk ) = ∇2f (xk )+θk I. • Si bien qu’un pas de Newton appliqué à ϕk en xk correspond à un pas de Newton régularisé appliqué à f au même xk , c-à-d ∇2ϕk (xk )dk = −∇ϕk (xk ) ⇐⇒ (∇2f (xk ) + θk I)dk = −∇f (xk ).
  6. Objectifs III • La régularisation proximale a été introduite par

    Martinet dans les années 70 sous la forme min x∈C f (x) + x − xk 2 avec C un convexe fermé d’un espace de Hilbert et f une fonction convexe, propre et semi-continue inférieurement. • Elle a été largement reprise par Rockafellar dans les années 76 sous la forme min x∈C f (x) + 1 2ck x − xk 2 avec ck > 0. • Quelques travaux précédents dans le cadre de l’optimisation numérique sans contrainte - D. H. Li, M. Fukushima, L. Qi, and N. Yamashita. Regularized Newton Methods for Convex Minimization Problems with Singular Solutions. Computational Optimization and Applications, vol. 28, pp. 131-147, 2004. - W. W. Hager, and H. Zhang. Self-adaptive inexact proximal point methods. Computational Optimization and Applications, vol. 39, pp. 161-181, 2008.
  7. Objectifs IV - K. Ueda, and N. Yamashita. Convergence Properties

    of the Regularized Newton Method for the Unconstrained Nonconvex Optimization. Applied Mathematics and Optimization, vol. 62, pp. 27-46, 2010. - M. Fuentes, J. Malick, and C. Lemaréchal. Descentwise inexact proximal algorithms for smooth optimization. Computational Optimization and Applications, 2012. - C. Shen, X. Chen and Y. Liang. A regularized Newton method for degenerate unconstrained optimization problems. Optimization Letters, vol. 6, pp. 1913-1933, 2012. - S. A. Santos, and R. C. M. Silva. An inexact and nonmonotone proximal method for smooth unconstrained minimization. Journal of Computational and Applied Mathematics, vol. 269, pp. 86-100, 2014. - K. Ueda, and N. Yamashita. A regularized Newton method without line search for unconstrained optimization. Computational Optimization and Applications, vol. 59, pp. 321-351, 2014.
  8. Sommaire Objectifs Algorithme Convergence Résultats numériques Perspectives

  9. Algorithme I 1. Choisir x0 ∈ Rn, des constantes ρ,

    σ ∈ (0, 1), ¯ θ > 0, γ > 0, une tolérance εtol > 0 et un entier l ≥ 0. Mettre k à 0. 2. Si ∇f (xk ) ≤ εtol , on arrête. 3. Choisir θk = γ min{¯ θ, ∇f (xk ) σ} (resp. θk = γ min{ 1 k+1 , ∇f (xk ) σ}). 4. Choisir Hk = ou ∇2f (xk ) telle que Hk 0. 5. Calculer dk en résolvant le système linéaire (Hk + θk I)d = −∇f (xk ). 6. Calculer x+ k = xk + dk , k = ρ max{ ∇f (xi ) : [k − l]+ ≤ i ≤ k}. 7. Si ϕk (x+ k ) ≤ f (xk ) (resp. ϕk (x+ k ) ≤ f (x0 )) et ∇ϕk (x+ k ) ≤ k alors mettre xk+1 = x+ k , k = k + 1 et aller à l’étape 2. 8. En démarrant de xk,0 telle que ϕk (xk,0 ) ≤ f (xk ) (resp. ϕk (xk,0 ) ≤ f (x0 )), appliquer une série d’itérations internes à la fonction ϕk pour trouver xk+1 tel que ϕk (xk+1 ) ≤ f (xk ) (resp. ϕk (xk+1 ) ≤ f (x0 )) et ∇ϕk (xk+1 ) ≤ k . Mettre k = k + 1 et aller à l’étape 2.
  10. Algorithme II • A l’étape 7, on s’est fixé ϕk

    (x+ k ) ≤ f (xk ) et ∇ϕk (x+ k ) ≤ k comme condition d’acceptation de x+ k . Pour cela, on a choisi comme paramètre de régularisation θk = γ min{¯ θ, ∇f (xk ) σ}. Avec la définition de ϕk , ϕk (x+ k ) ≤ f (xk ) demande une décroissance suffisante de f . La condition est bien sévère. On a décidé de la relâcher en adoptant ϕk (x+ k ) ≤ f (x0 ) en lieu et place. La valeur correspondante de θk est θk = γ min{ 1 k+1 , ∇f (xk ) σ}. • Pour le choix de xk,0 , si ϕk (x+ k ) ≤ f (xk ) (resp. ϕk (x+ k ) ≤ f (x0 )), alors xk,0 = x+ k . Sinon, on fait un backtraking sur ϕk pour trouver tk ∈ [0, 1) tel que ϕk (xk + tk dk ) ≤ f (xk ) (resp. ϕk (xk + tk dk ) ≤ f (x0 )) ; et alors xk,0 = xk + tk dk .
  11. Algorithme III ième itération interne 1. La kème itération externe

    donne le point de départ xk,0 ∈ Rn, la tolérance εk > 0 et le paramètre de régularisation θk > 0. Choisir 0 < ω ≤ 1 2 et mettre i = 0. 2. Si ∇ϕk (xk,i ) ≤ εk , alors stop. 3. Choisir Hk,i = or ∇2f (xk,i ) telle que Hk,i 0. 4. Calculer dk,i en résolvant le système linéaire (Hk,i + θk I)d = −∇ϕk (xk,i ) 5. En démarrant de αk,i = 1, calculer αk,i ∈ (0, 1] jusqu’à ce que la condition ϕk (xk,i + αk,i dk,i ) ≤ ϕk (xk,i ) + ωαk,i ∇ϕk (xk,i ) dk,i soit vérifiée. 6. Mettre xk,i+1 = xk,i + αk,i dk,i , i = i + 1 et aller à l’étape 2.
  12. Sommaire Objectifs Algorithme Convergence Résultats numériques Perspectives

  13. Convergence globale : itération interne I Hypothèses • f est

    C2 sur un ouvert Ω ⊃ L = {x ∈ Rn : f (x) ≤ f (x0 )}. • f est bornée inférieurement sur L. Lemmes • {xk,i }i est contenue dans un compact. • {Hk,i }i est bornée. • {Hk,i + θk I}i est uniformément définie positive. Théorème Si les itérations internes génèrent une suite infinie {xk,i }i (c-à-d εk = 0), alors lim i→∞ ∇ϕk (xk,i ) = 0.
  14. Convergence globale : itération externe I Théorème A chaque itération

    externe k, le nombre d’itérations internes est fini. Si les itérations externes génèrent une suite infinie (c-à-d εtol = 0), alors l’algorithme converge dans le sens où lim ∇f (xk ) = 0. Preuve f ≥ m > −∞. Pour tout k, le nombre d’itérations internes est fini. ϕk (xk+1 ) ≤ f (xk ) ⇒ f (xk+1 ) + θk 2 xk+1 − xk 2 ≤ f (xk ) ⇒ p k=0 θ2 k xk+1 − xk 2 ≤ 2¯ θ(f (x0 ) − m) ⇒ θk xk+1 − xk → 0. ϕk (xk+1 ) = f (xk+1 ) + θk 2 xk+1 − xk 2 ≤ f (x0 ) θ2 k xk+1 − xk 2 ≤ 2θk (f (x0 ) − m) ⇒ θk xk+1 − xk → 0. ∇f (xk+1 ) ≤ ∇ϕk (xk+1 ) + θk xk+1 − xk ≤ ρ ∇f (xk ) + θk xk+1 − xk ⇒ ∇f (xk ) → 0.
  15. Convergence locale Hypothèses • L’ensemble X des minima locaux est

    non vide. • f est C2 sur un ouvert Ω ⊃ L et ∇2f est localement Lipschitzienne. • ∇f (·) fournit une borne d’erreur locale au voisinage de x∗ ∈ X, c-à-d, ∃η > 0, ∃b > 0, ∀x ∈ B(x∗, η), ∇f (x) ≥ b dist(x, X).
  16. Convergence locale Lemmes ∃ε > 0, ∀x0 ∈ B(x∗, ε),

    on a, • θk = γ ∇f (xk ) σ, • δk = O(dist(xk , X)), • x+ k − xk = O(dist(xk , X)), • dist(x+ k , X) = O dist(xk , X)1+σ , • xk+1 = x+ k , ∀k ∈ N (plus d’itération interne), • la suite reste dans un voisinage de x∗.
  17. Convergence locale Théorème • Si x0 est pris dans un

    voisinage de x∗, alors {xk } converge vers un optimum local ˆ x ∈ X. • Le taux de convergence est superlinéaire, dist(xk+1, X) = O dist(xk , X)1+σ , 0 < σ < 1. • Si ∇2f (x∗) 0 et σ = 1 alors {xk } converge vers x∗ de manière quadratique.
  18. Sommaire Objectifs Algorithme Convergence Résultats numériques Perspectives

  19. Résultats numériques (Algorithme "classique" régularisé de minimisation (COAR)) 1. Choisir

    x0 ∈ Rn, un paramètre 0 < ω ≤ 1 2 et une tolérance εtol . Mettre k = 0. 2. Si ∇f (xk ) ≤ εtol , alors stop. 3. Choisir θk = γ min{¯ θ, ∇f (xk ) σ} (resp. θk = γ min{ 1 k+1 , ∇f (xk ) σ}). 4. Choisir Hk = ou ∇2f (xk ) telle que Hk 0. 5. Calculer dk en résolvant le système linéaire (Hk + θk I)d = −∇f (xk ). 6. En démarrant de αk = 1, calculer αk ∈ (0, 1) jusqu’à ce que la condition f (xk + αk dk ) ≤ f (xk ) + ωαk ∇f (xk ) dk soit vérifiée. 7. Mettre xk+1 = xk + αk dk , k = k + 1 et aller à l’étape 2.
  20. Résultats numériques • Les problèmes-tests viennent de la bibliothèque CUTEst

    • 171 problèmes de minimization sans contrainte ont été trouvés • Tous les algorithmes ont été codés sous MATLAB 8.1 et exécutés sur une machine avec 2.6 GHz Intel Core i5 et 8 Go de mémoire. • Le point de départ x0 est donné par CUTEst. • εtol = 10−6 et le nombre d’itérations maximal = 1000. • γ = 10−3, σ = 0.99, l = 3, ρ = 0.99, ω = 10−4. • Hk = ∇2f (xk ) + 2 max{0, −λmin (∇2f (xk ))}I. • Hk,i = ∇2f (xk,i ) + 2 max{0, −λmin (∇2f (xk,i ))}I. • n ≤ 500 pour les problèmes de grande taille (pour éviter les longs temps de calcul de λmin ). • Nous appellerons IPRA notre algorithme avec la première condition d’arrêt, IPRA-R celui avec la deuxième condition d’arrêt
  21. Résultats numériques 1 2 3 4 5 0.6 0.7 0.8

    0.9 1 ⌧ ⇢s (⌧) Function evaluations 1 2 3 4 5 0.6 0.7 0.8 0.9 1 ⌧ ⇢s (⌧) Gradient evaluations IPRA COAR IPRA-R Figure: Profiles de performance pour les algorithmes IPRA, COAR et IPRA-R.
  22. Sommaire Objectifs Algorithme Convergence Résultats numériques Perspectives

  23. Perspective I • Le calcul de la plus petite valeur

    propre pour corriger la hessienne dans le système linéaire peut prendre beaucoup de temps lorsque le problème est de grande taille. Il faudrait remplacer ce calcul de la plus petite valeur propre par des factorisations de Cholesky successives pour les problèmes de taille moyenne et par une méthode itérative pour les problèmes de très grande taille. • Nous avons pensé à une résolution itérative du système linéaire. • Nous avons développé un algorithme itératif dans lequel les itérations internes peuvent être faites par une méthode de région de confiance ou une recherche linéaire après une résolution itérative du système linéaire.
  24. Perspective II 0 1 2 3 4 5 6 0

    0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 IPRA COAR 0 1 2 3 4 5 6 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 IPRA COAR Figure: Profiles de performance pour les nombres d’évaluations de fonction (gauche) et de gradient dans le cas d’une région de confiance. • Ces profiles montrent bien que la résolution itérative a de bonnes performances. • Il ne reste plus qu’à démontrer la convergence du nouvel algorithme.
  25. Merci pour votre attention !