Optimisation numérique - La méthode du gradient
Transcription
Optimisation numérique - La méthode du gradient
Optimisation numérique La méthode du gradient Daniele Di Pietro A.A. 2012-2013 Méthodes de descente I On considère une première classe de méthodes construites à partir d’informations locales Par la suite V indiquera un espace vectoriel normé de dimension finie Le cas dimension infinie n’est bien sur pas intéressant d’un point de vue numérique ! Méthodes de descente II Définition (Direction de descente) Soit J : V → R une fonctionnelle continue et v ∈ V . On dit que w ∈ V \ {0} est une direction de descente en v s’il existe ρ0 > 0 t.q. J (v + ρw) ≤ J (v) ∀ρ ∈ [0, ρ0 ]. Il s’agit d’une direction de descente stricte si J (v + ρw) < J (v) ∀ρ ∈ (0, ρ0 ]. Méthodes de descente III Algorithme (Méthode de descente) Fixer u0 ∈ V n←0 repeat Trouver une direction de descente stricte wn ∈ V \ {0} Choisir ρn > 0 un+1 ← un + ρn wn n ←n+1 until Critère d’arrêt Méthodes de descente IV Lorsque J est “aplatie” il convient de prendre comme critère d’arrêt kun − un−1 kV ≤ Lorsque J est “raide” il convient de prendre |J (un ) − J (un−1 )| ≤ D’autres critères plus évolués sont possibles La méthode du gradient à pas fixe I Lemme (Gradient et directions de descente) Soit v ∈ V et J continûment différentiable dans un ouvert contenant v. Alors, si w ∈ V \ {0} est une direction de descente en v, alors, (∇J (v), w)V ≤ 0; si ∇J (v) 6= 0, alors w = −∇J (v) est une direction de descente stricte en v. La méthode du gradient à pas fixe II On définit la fonction ϕ : R+ → R ϕ(ρ) := J (v + ρw), ϕ0 (ρ) = (∇J (v + ρw), w)V Comme w est direction de descente, pour ρ > 0 suffisamment petit on a 0 ≥ ϕ(ρ) − ϕ(0) = ϕ0 (0)ρ + o(ρ) = ρ(∇J (v), w)V + o(ρ) En divisant par ρ et en faisant tendre ρ → 0+ , on conclut (∇J (v), w)V ≤ 0 La méthode du gradient à pas fixe III Supposons maintenant ∇J (v) 6= 0. En prenant w = −∇J (v) on a ϕ0 (0) = (∇J (v), w)V = −k∇J (v)k2V < 0 Puisque ϕ0 est continue car ∇J l’est, il existe ρ0 > 0 t.q. ϕ0 (ρ) < 0 ∀ρ ∈ [0, ρ0 ] Par conséquent, pour tout ρ ∈ (0, ρ0 ] avec w = −∇J (v), Z ρ J (v + ρw) − J (v) = ϕ(ρ) − ϕ(0) = ϕ0 (t)dt < 0, 0 ce qui prouve que ∇J (v) est direction de descente stricte La méthode du gradient à pas fixe IV Algorithme (Méthode du gradient à pas fixe) Fixer u0 ∈ U , ρ > 0 n←0 repeat wn ← −∇J (un ) if wn = 0 then return un else un+1 ← un + ρwn end if n ←n+1 until Critère d’arrêt La méthode du gradient à pas fixe V Théorème (Convergence de la méthode du gradient à pas fixe) Soit J fortement convexe de paramètre α, ∇J : V → V Lipschitzienne sur V , à savoir ∃L > 0, ∀v, w ∈ V , k∇J (v) − ∇J (w)kV ≤ Lkv − wkV . Alors, sous l’hypothèse 2α , L2 la méthode du gradient à pas fixe converge vers l’unique solution du problème de minimisation. 0<ρ< La méthode du gradient à pas fixe VI J fortement convexe implique l’existence et unicité du minimiseur u car nous sommes en dimension finie On définit l’application Ψρ : V → V telle que ∀v ∈ V , Ψρ (v) = v − ρ∇J (v) Comme J est différentiable, ∇J (u) = 0 et u est point fixe de Ψρ , Ψρ (u) = u Pour montrer la convergence, il suffit de montrer que Ψρ est contractante, c.-à-d., ∃λ ∈ (0, 1), ∀v, w ∈ V , kΨρ (v) − Ψρ (w)kV ≤ λkv − wkV La méthode du gradient à pas fixe VII On a pour tout v, w ∈ V , kΨρ (v) − Ψρ (w)k2V = kv − wk2V − 2ρ(∇J (v) − ∇J (w), v − w)V + ρ2 k∇J (v) − ∇J (w)k2V := T1 + T2 + T3 . Comme J est fortement convexe de paramètre α, T2 ≤ −2αρkv − wk2V Puisque ∇J est Lipschitzienne, T3 ≤ L2 ρ2 kv − wk2V p Par conséquent, en posant λ := 1 − 2αρ + L2 ρ2 , kΨρ (v) − Ψρ (w)kV ≤ λkv − wkV , et 0 ≤ λ < 1 si 0 < ρ < 2α L2 La méthode du gradient à pas fixe VIII Exemple (Convergence de la méthode du gradient en fonction de ρ) On cherche à minimiser la fonctionnelle J : R2 → R définie par y12 y22 J (y) = + , a b où a, b ∈ R+ ∗ . On analyse le comportement de l’algorithme du gradient en fonction de la valeur de ρ. La méthode du gradient à pas fixe IX 1 1 0.8 0.8 0.6 0.6 0.4 0.4 0.2 0.2 0 0 −1 −0.5 0 0.5 (a) ρ = 0.98, e = 1 1.46·10−2 1 0 0.2 0.4 0.6 0.8 1 (b) ρ = 0.50, e = 1.06·10−4 1 0.8 0.8 0.6 0.6 0.4 0.2 0.4 0 0 0.2 0.4 0.6 (c) ρ = 0.25, e = 0.8 1 1.20·10−3 0 0.2 0.4 0.6 0.8 1 (d) ρ = 0.10, e = 2.99·10−3 Figure: Convergence de la méthode du gradient (a = 1, b = 20) La méthode du gradient à pas fixe X La convergence lente de l’algorithme du gradient dans le cas 2 y12 y22 1 0 J (y) = + = Ay·y, A := a 2 , 0 b a b 2 est dûe au mauvais conditionnement de la matrice A Comme A est SDP, son conditionnement est donné par cond(A) = max(a, b) min(a, b) Ce comportement peut être amélioré en choissant ρ de manière opportune La méthode du gradient à pas fixe XI ln(|un − un−1 |) 10−2 10−3 10−4 10−5 10−6 0 0.2 0.4 0.6 0.8 1 ρ Figure: Erreur en fonction de ρ après n = 120 itérations La méthode du gradient à pas fixe XII On remarque qu’il y a une valeur de ρ optimale qui minimise l’erreur On peut se demander s’il est possible de trouver analytiquement cette valeur En effet, on verra que l’on peut optimiser la valeur de ρ à chaque étape La méthode du gradient à pas optimal I Pour A ∈ RN ,N SDP et b ∈ RN soit J (y) := 1 Ay·y − b·y 2 On a pour tout y ∈ RN , ∇J (y) = Ay − b ∈ RN Avec wn := −∇J (un ) on modifie l’itération de gradient comme suit : un+1 ← un + ρn wn , où ρn minimise la fonction ϕ(ρ) := J (un + ρwn ) sur R La méthode du gradient à pas optimal II Lemme (Bonne position du problème de minimisation de ϕ) Soit J : V → R fortement convexe, v ∈ V et w ∈ V \ {0} direction de descente stricte en v. On considère la fonctionnelle ϕ : R → R définie par ϕ(ξ) := J (v + ξw). Le problème Trouver ρ ∈ R t.q. ϕ(ρ) ≤ ϕ(ξ) pour tout ξ ∈ R admet une unique solution. La méthode du gradient à pas optimal III Démonstration. On prouve que la fonctionnelle ϕ est fortement convexe. Pour tout ϑ ∈ [0, 1] et tout ξ1 , ξ2 ∈ R on a ϕ(ϑξ1 + (1 − ϑ)ξ2 ) = J (v + (ϑξ1 + (1 − ϑ)ξ2 )w) = J (ϑ(v + ξ1 w) + (1 − ϑ)(v + ξ2 w)) ϑ(1 − ϑ) k(ξ1 − ξ2 )wk2V 2 ϑ(1 − ϑ) = ϑϕ(ξ1 ) + (1 − ϑ)ϕ(ξ2 ) − αkwk2V |ξ2 − ξ1 |2 , 2 ≤ ϑJ (v + ξ1 w) + (1 − ϑ)J (v + ξ2 w) − α d’où la forte convexité avec paramètre α0 := αkwk2V La méthode du gradient à pas optimal IV Lemme (Valeur optimale du paramètre d’accelération) Soit A ∈ RN ,N SDP, b ∈ RN , J (z) := 12 Az·z − b·z, y ∈ RN et w = b − Ay. Alors, kwk22 ρ= >0 kwk2A est l’unique minimiseur global sur R de ϕ(ξ) := J (y + ρw). Démonstration. On a 0 = ϕ0 (ρ) = ∇J (y + ρw)·w = (A(y + ρw) − b) ·w = ρAw·w + (Ay − b)·w = ρkwk2A − kwk22 kwk22 ⇐⇒ ρ = . kwk2A La méthode du gradient à pas optimal V Exemple (Inversion d’une matrice EF 1d) On considère la discrétisation éléments finis (EF) du problème de Poisson Soit N ∈ N le nombre d’éléments et h := N 1+1 le pas de maillage On définit la matrice A et le vecteur b comme suit : A= 1 tridiag(−1, 2, −1), h b = h ones(N ) On souhaite évaluer le nombre d’itérations nit pour converger à une tolérance = 1·10−6 La méthode du gradient à pas optimal VI ρ = 1·10−3 ρ = 5·10−3 ρ optimal kAun − bk2 102 101 100 10−1 0 50 100 150 200 Nombre d’itérations n Figure: Convergence de la méthode du gradient à pas optimal vs. fixe La méthode du gradient à pas optimal VII 104 6,000 4,000 103 2,000 102 0 0 200 400 600 800 1,000 (a) nit vs. cond(A) = O(N 2 ) 100.6 100.8 101 101.2 101.4 101.6 (b) nit vs. N Figure: Convergence de la méthode du gradient à pas optimal