Introduction à l optimisation Stéphane Canu stephane.canu@litislab.eu ASI 4 - Optimisation sans contraintes November 21, 2016
Plan problème : min J(x) x IR n 1 Optimisation sans contraintes Méthodes de descente Deux approches Méthodes de recherche linéaire Direction de descente et descente de gradient Méthode de Newton Solution : trouver x IR n tel que J(x ) = 0 n équations à n inconnues... c est une condition nécessaire et suffisante pour J convexe! Stéphane Canu (INSA Rouen - ASI) Optimisation sans contraintes November 21, 2016 2 / 19
Exemples de problème d optimisation sans contr. linéaire : min J l(x) = b x pas de solution x IR n quadratique convexe (moindres carrés) min J q(x) = 1 x IR n 2 x Ax b x A définie positive quadratique non convexe non quadratique convexe : exp x1+3x2 1/10 + exp x1 x2 1/10 + exp x1 1/10 quadratique convexe quadratique non convexe non quadratique convexe
Illustration 2d J(x) = 1 2 x Ax b x lignes d iso cout : {x IR 2 J(x) = Cte } une direction de descente d doit vérifier : d (Ax }{{ b } ) < 0 J(x)
Illustration 2d J(x) = 1 2 x Ax b x lignes d iso cout : {x IR 2 J(x) = Cte } une direction de descente d doit vérifier : d (Ax }{{ b } ) < 0 J(x)
deux approches itératives classiques problème : min J(x) x IR n Solution : partir d un point x 0 IR n et construire une suite x (1), x (2),... x (k),... k IN qui converge vers la solution x telle que J(x ) = 0 deux approches itératives classiques recherche linéaire (line search) x (k+1) = x (k) + ρ k d (k) min ρ IR J(x(k) + ρd (k) ) d (k) étant une direction de descente région de confiance (trust region) x (k+1) = x (k) + d (k) min M(x + d) d R(x) R(x) étant une région de confiance autour de x avec le modèle M : M(x + d) = J(x) + d J(x) + 1 2 d B(x)d et R(x) = { x + p p }
Recherche linéaire vs. Région de confiance 2 2 1.5 1.5 1 x 0 1 x 1 d x 0 0.5 0.5 x 1 0 d 0 0.5 0.5 1.5 1 0.5 0 0.5 1 1.5 1.5 1 0.5 0 0.5 1 1.5 d trouve une direction ρ calcul le pas(x 0, d, J) x 1 x 0 + ρd 0.5 définir 0.4 0.3 0.2 0.1 x 0 0 0.1 0.2 0.3 0.4 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 une région R R = {d d 2 < δ} définir un modèle M M(x 0 + d) =. M(x 0 ) + d J + 1 2 d Bd d arg min d R M(x 0 + d) x 1 x 0 + d
Méthodes de recherche linéaire x (new) = x (old) +ρ d, x, d IR d initialisation x (0) direction d IR n pas ρ IR Fonction x min(j, x) Tant que (on a pas convergé) faire d trouve une direction ρ calcul le pas(x, d, J) x x + ρd Fait suite minimisante : x (k), ρ k, d (k), k IN convergente : x (k) x et J(x (k) ) 0 arrêt (on a convergé) : minimum atteint : J ɛ, le cout ne diminue plus J(x (new) ) J(x (old) ) ε ou on dépasse un nombre d itération maximum fixé : k kmax
Direction de descente Definition (Direction de descente) d est une direction de descente s il existe ρ 0 > 0 tel que ρ ρ 0 J(x (new) ) < J(x (old) ) Theorem Toute direction d telle que J d < 0 est une direction de descente Elément de démonstration : J(x + ρd) = J(x) + ρ J d + o(ρ 2 ) Les enjeux : le compromis précision (descendre un bon coup) efficacité (temps de calcul)
Direction de descente du gradient et autres Theorem (Descente de gradient) L opposé du gradient est une direction de descente : d = J(x) Elément de démonstration : pour d = J(x) et ρ suffisamment petit J(x ρ J) = J(x) ρ J 2 + ρ 2 /2 J } {{ H J} < J(x) H définie positive Principaux choix de direction de descente Gradient d = J peu précis mais efficace O(n) Grad. conjugué d (k) = J + β k d (k 1) O(n) Quasi Newton d = B J (de nombreuses variantes) O(n 2 ) B = (diag(h)) 1 DFP (Davidson Fletcher Powell) : B k+1 = B k + ϕ(b k, J, x) BFGS (Broyden Fletcher Goldfarb Shanno) Newton d = H 1 J plus précis mais couteux O(n 3 )
Choix du pas de descente ρ = c pas fixe x (k+1) = x (k) + ρd (k), d (k) J(x (k) ) ρ k pas variable x (k+1) = x (k) + ρ k d (k) d(k), d (k) J(x (k) ) ρ k pas optimal ρ k = argmin γ IR J(x (k) + γd (k) )
Pas variable heuristique peu couteuse x (k+1) = x (k) + ρ k d (k) d(k), d (k) J(x (k) ) règle du type Armijo on commence avec un pas ρ = ρ 0 si J(x (k+1) ) < J(x (k) ) alors ρ k+1 = αρ k α = 1, 15 sinon ρ k+1 = βρ k β = 0, 5 tant que le cout n a pas diminué, on diminue le pas de nombreuses variantes... (e.g. recherche par backtracking du pas optimal entre 0 et ρ 0, méthode de Nesterov... (voir par exemple www.di.ens.fr/~mschmidt/mlss/differentiable.pdf))
Gradient à pas optimal Exemple : le cas quadratique ρ = argmin γ IR J(x + γd) J(x) = 1 2 x Ax b x et J(x + γd) = 1 2 (x + γd) A(x + γd) b (x + γd) dj(x + γd) = d Ax + γd Ad b d dγ dj(x + γd) dγ = 0 γ = d (Ax b) d Ad = d x J d Hd Fonction x grad_pas_optimal(j, x) Tant que (on a pas convergé) faire d J ρ d d d Hd x x + ρd Fait Proriété particulière des méthodes de gradient à pas optimal : (d (k) ) d (k+1) = 0
Choix du pas de descente : illustration J(x 1, x 2 ) = exp x 1+3x 2 1/10 + exp x 1 x 2 1/10 + exp x 1 1/10 Recherche par backtracking pas optimal cf convex optimization p 471, Stephen Boyd and Lieven Vandenberghe
Descente de gradient Theorem si J est convexe, continue et sous différentiable en tout point, et si k=1 ρ k = + et lim k ρ k = 0 alors lim k J(x(k) ) = J(x min ) avec x min le minimum global de J. Sous certaines conditions la méthode de gradient à pas optimal converge d autres preuves de convergences existent arrêt : les variations relatives du gradient sont petites ou la norme du gradient est petite méthode simple, robuste mais lente
Plan 1 Optimisation sans contraintes Méthodes de descente Deux approches Méthodes de recherche linéaire Direction de descente et descente de gradient Méthode de Newton
La Méthode de Newton si J est le vecteur gradient en x et H la matrice hessienne Propriété : développement de Taylor au second ordre J(x + d) = J(x) + x J(x) d + 1 2 d H(x)d + o( d 2 ) que l on cherche à minimiser par rapport à d. si on a G(d) = J(x) + x J(x) d + 1 2 d H(x)d + o( d 2 ) d G d (d) = 0 d = H(x) 1 x J(x) théorème Si la matrice hessienne est définie positive (et régulière), la direction de descente de la méthode de Newton est donnée par d = H(x) 1 x J(x)
La Méthode de Newton Fonction x Newton(J, x, k) Tant que (on a pas convergé) faire (g, H) grad_et_hessienne(j, x) d H 1 g x x + d Fait on peut aussi rechercher un pas optimal x (new) = x (old) + ρ d
La Méthode de Newton et région de confiance Le problème : construire une suite x (k+1) = x (k) + d solution de { min d IR n J(x (k) ) + x J( (k) )d + 1 2 d H(x (k) )d avec d 2 k La solution : k λ k d = (H(x (k) ) + λ k I ) 1 J( x(k) ) et d d = k Fonction x Newton_reg_conf(J, x, k) Tant que (on a pas convergé) faire λ (g, H) grad_et_hessienne(j, x) d (H + λi ) 1 g x x + d Fait pré conditionnement de la matrice hessienne
conclusion O(n) Gradient pas fixe pas optimal heuristique (règle d Armijo) O(n 2 ) Gradient conjugué quasi newton approximation d = H 1 J Levenberg Marquart O(n 3 ) Newton méthode direction de descente temps de calcul convergence gradient d = J O(n) lineaire quasi Newton d = B J O(n 2 ) super linéaire Newton d = H 1 J O(n 3 ) quadratic le temps de calcul du pas optimal peut aussi varier