Slides 03 Gradient

25
 Introduction à l’optimisation Stéphane Canu [email protected] ASI 4 - Optimisation sans contraintes November 30, 2011

Transcript of Slides 03 Gradient

Page 1: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 1/25

Introduction à l’optimisation

Stéphane Canu

[email protected]

ASI 4 - Optimisation sans contraintes

November 30, 2011

Page 2: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 2/25

Plan

problème : minx∈IR

nJ (x)

1 Optimisation sans contraintesMéthodes de descenteDeux approchesMéthodes de recherche linéaireDirection de descente et descente de gradientGradient conjuguéMéthode de Newton

Solution : trouver x∗ ∈ IRn tel que J (x∗) = 0

n équations à n inconnues ... c’est une condition nécessaire et suffisantepour J  convexe !

Stéphane Canu (INSA Rouen - ASI) Optimisation sans contraintes November 30, 2011 2 / 24

Page 3: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 3/25

Exemples de problème d’optimisation sans contr.

linéaire : minx∈IRn

J (x) = bx → pas de solution

quadratique convexe (moindres carrés)

minx∈IRn

J q (x) =1

2xAx− bx A définie positive

quadratique non convexe

non quadratique convexe : expx 1+3x 2−1/10 + expx 1−x 2−1/10 + exp−x 1−1/10

quadratique convexe quadratique non convexe non quadratique convexe

Page 4: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 4/25

Illustration 2d

J (x) =1

2xAx− bx

lignes d’iso cout : {x ∈ IR2 | J (x) = Cte }

une direction de descente d doit vérifier : d(Ax− b   J (x)

) < 0

Page 5: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 5/25

Illustration 2d

J (x) =1

2xAx− bx

lignes d’iso cout : {x ∈ IR2 | J (x) = Cte }

une direction de descente d doit vérifier : d(Ax− b   J (x)

) < 0

Page 6: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 6/25

deux approches itératives classiques

problème : minx∈IRn

J (x)

Solution : partir d’un point x0 ∈ IRn

et construire une suite x (1), x (2), . . . x (k ), . . . k ∈ INqui 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 )

mind∈R (x)

M (x + d) R (x) étant une région de confiance autour de x

avec le modèle M : M (x+ d) = J (x) + dJ (x) + 12dB (x)d et R (x ) =

x+ p

p ≤ ∆

Page 7: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 7/25

Méthodes de recherche linéaire

x(new) = x(old)+ρ d, x, d ∈ IRd 

initialisation x(0)

direction d ∈ IRn

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 ∈ INconvergente : 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 ≥ k max

Page 8: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 8/25

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)

Page 9: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 9/25

Direction de descente du gradient et autre

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 )− ρ

2

+ ρ

2

/2 J H 

J    

H  définie positive<

J (

x )

Autres méthodes

Quasi Newton d = −B J 

Newton d = −H −1J 

Page 10: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 10/25

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 ))

Page 11: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 11/25

Pas variable : règle d’Armijo

x(k +1) = x(k ) +ρk 

d(k )

d(k ), d(k ) ∈ ∂ J (x(k))

règle d’Armijo

on commence avec un pas ρ = ρ0

si J (x(k +1)) < J (x(k )) alors ρk +1 = αρk  α = 1, 15sinon ρ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  entre 0 et ρ0)

Page 12: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 12/25

Gradient à pas optimal

gradient à pas optimal

ρ = argminγ ∈IR

J (x  + γ d)

Exemple : le cas quadratique

J (x) = 1

2xAx− bx

J (x + γ d) = 1

2(x + γ d)A(x + γ d)− b(x + γ d)

dJ (x + γ d)

d γ 

= dAx + γ dAd− bd

dJ (x + γ d)

d γ = 0 ⇔ γ  = −

d(Ax− b)

dAd= −

dx J 

dH d

Page 13: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 13/25

Choix du pas de descente : illustration

J (x 1, x 2) = expx 1+3x 2−1/10 + expx 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

Page 14: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 14/25

Descente de gradient

Theorem

si J est convexe, continue et sous différentiable en tout point, et si 

∞k =1

ρk  = +∞ et  limk →∞

ρk  = 0

alors  limk →∞ J (x(k )) = J (xmin) avec  xmin le minimum global de J.

Sous certaines conditions la méthode de gradient à pas optimalconverge

d’autres preuves de convergences existent

arrêt : les variations relatives du gradient sont petites ou la norme dugradient est petite

méthode simple, robuste mais lente

Page 15: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 15/25

Plan

problème : minx∈IR

nJ (x)

1 Optimisation sans contraintesMéthodes de descenteDeux approches

Méthodes de recherche linéaireDirection de descente et descente de gradientGradient conjuguéMéthode de Newton

Solution : trouver x∗ ∈ IRn tel que J (x∗) = 0

n équations à n inconnues ... c’est une condition nécessaire et suffisantepour J  convexe !

Stéphane Canu (INSA Rouen - ASI) Optimisation sans contraintes November 30, 2011 14 / 24

Page 16: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 16/25

La méthode du Gradient conjugué

Ax = b ⇔ minx

12

xAx− xb

xJ (x) = Ax− b r = −xJ (x)

Nous allons nous appuyer sur un système générateur dk , k  = 1, n dedirections conjuguées

Definition

deux vecteurs x = y sont dit A-conjugués pour une matrice définie positive

A sixAy = 0

Page 17: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 17/25

Directions conjuguées et découplage

Soit une famille de vecteurs dk , k  = 1, n un système générateur de IRn :

∀x ∈ IRn,∃ρk  ∈ IR, k  = 1, n tel que x =

nk =1

ρk dk 

Supposons que les directions dk , k  = 1, n soient 2 à 2 A-conjuguées :

d

i  Ad j  = δij  =

0 si i  = j 

1 si i  = j 

Theorem (Découplage d’une forme quadratique)

minx

1

2xAx− xb = min

ρ

1

2

n

k =1ρk dk 

A

n

k =1ρk dk 

n

k =1ρk dk 

b

= minρ

1

2

nk =1

nk =1

ρk ρk dk Adk  −n

k =1

ρk d

k  b

= minρ

n

k =11

2ρ2k d

k Adk − ρk d

k  b

Page 18: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 18/25

Page 19: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 19/25

L’algorithme du gradient conjugué : principe

général

Le système est alors découplé et chaque ρk  peut être réglé indépendamment

minρk 

1

2ρ2

k dk Adk − ρk d

k b ⇔ ρk  =

dk b

dk 

Adk 

Definition

Soit {d1, . . . , dn} une famille de vecteur A-conjugués. La méthode dugradient conjugué s’écrit

x0 donnéxk  = xk −1 + ρk dk 

où ρk  est calculé de manière optimale.

Page 20: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 20/25

Remarques :Si on raisonne de manière constructive on a xk −1 =

k −1

i =1ρi di 

rk −1 = b− Axk −1 = b− A

k −1i =1

ρi di  = b−k −1i =1

ρi Adi 

et donc

dk  rk −1 = dk b

de plus on peut aussi écrire que

rk  = b− Axk 

= b− (Axk −1 + ρk dk )= rk −1 + ρk Adk 

Page 21: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 21/25

Il reste a construire les directions dk . Une idée consiste à partir du vecteurdes résidus qui est aussi le vecteur du gradient (et donc une diredction dedescente) et de le corriger pour le rendre A-conjugué. Ainsi on pose :

dk +1 = rk − βk dk −k −1

i =1

γ i di 

On peut montrer (corrolaire 10.2.4 GVL p 526) que les γ i  = 0. Pour avoirdk Adk +1 = 0 on doit prendre

βk  =dk Ark 

dk Adk 

L’ l ith d di t j é

Page 22: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 22/25

L’algorithme du gradient congujué

x0 = 0;r0 = bd0 = r0; k  = 0;Tant que (maxk  |rk | > ε) faire

ρk  =

rk  dk 

dk 

Adk 

xk +1 = xk  + ρk dk 

rk +1 = rk − ρk Adk 

βk  =rk +1

rk +1

rk  rk 

dk +1 = rk +1 + βk dk 

Fait

M d l di t j é

Page 23: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 23/25

Mon code pour le gradient conjugué

function a = Mon_Grad_Conj(A,b)

a = 0*b;r = b - A * a ;

d = r; k=0;nbitemax=100;beta=0;r2 = r’*r;

while (k<=nbitemax)

Ad = A*d;

r2_old = r2;

pas = r2/(d’*Ad); % pas = (r’*d)/(d’*Ad);

a = a + p a s * d ;

r = r - pas *Ad; % r = b - A*a;

r2 =r’*r;beta = r2/r2_old; % beta = -(r’*Ad)/(d’*Ad);

d = r + beta*d; % D = [D d];

if (r2) < 10^-4, k = nbitemax+1 ; else, k = k+1; end ;

endStéphane Canu (INSA Rouen - ASI) Optimisation sans contraintes November 30, 2011 22 / 24

L Méth d d N t

Page 24: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 24/25

La Méthode de Newton

Propriété : développement de Taylor au second ordre

J (x + d) = J (x) + DJ x(x)d +1

2 d

D 2

J x(x)d + o (d2

)

que l’on cherche à minimiser par rapport à d. si on a

G (d) = J (x) + DJ x(x)d +1

2

dD 2J x(x)d + o (d2)

DG d(d) = 0 ⇔ d = −D 2J x(x)−1DJ x(x)

soit si J  est le vecteur gradient en x et H  la matrice hessienne

d  = −H −1J 

on peut chercher d... par la méthode du gradient conjugué

on peut aussi rechercher le pas optimal

x(new) = x(old) + ρ d, d ∈ IRd 

conclusion

Page 25: Slides 03 Gradient

5/16/2018 Slides 03 Gradient - slidepdf.com

http://slidepdf.com/reader/full/slides-03-gradient 25/25

conclusion

O(n) Gradient

pas fixe

pas optimal heuristique (règle d’Armijo)

O(n2) Gradient conjugué quasi newton approximation d  = H −1J  Levenberg Marquart

O(n3) Newton

méthode direction de descente temps de calcul convergence 

gradient d  = −J  O(n) lineairequasi Newton d  = −B J  O(n2) super linéaire

Newton d  = −H −1J  O(n3) quadratic

le temps de calcul du pas optimal peut aussi varier