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