Vous êtes sur la page 1sur 36

Analyse 2: Algorithme pour l'optimisation sans

Analyse 2: Algorithme pour

l'optimisation sans contrainte contrainte

Algorithme de
minimisation Joseph Salmon

Algorithme du premier ordre


Choix du pas
Algorithme du second ordre
Septembre 2014

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 1/14
Plan du cours

Analyse 2: Algorithme pour

l'optimisation sans contrainte Algorithme de minimisation


Algorithme du premier ordre

Algorithme de Choix du pas


minimisation Algorithme du second ordre
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 2/14
La descente de gradient : intuition

I Enjeu : minimiser f (dans Rd ) en trouvant un nouveau point


pour lequel f diminue le plus.
Analyse 2: Algorithme pour
I Approximation du premier ordre :
l'optimisation sans contrainte

f (x) ≈ f (x0 ) + h∇f (x0 ), x − x0 i


Algorithme de
minimisation I Solution : il faut s'aligner avec la direction opposée au
Algorithme du premier ordre 0
gradient x − x0 = −α∇f (x )
Choix du pas
Algorithme du second ordre α>0 contrôle la vitesse avec laquelle on progresse dans la
direction. Ce paramètre est appelé le pas de la méthode.

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 3/14
La descente de gradient : algorithme
Data: initialisation x0 , nb max. d'itérations T , critère d'arrêt ε, pas α
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T do
xt+1 ← xt − α∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation Critères d'arrêts possibles :
Algorithme du premier ordre I k∇f (xt )k ≤ ε
Choix du pas
Algorithme du second ordre I f (xt+1 ) − f (xt ) ≤ ε
kxt+1 −xt k
I kxt+1 − xt k ≤ ε ou
kxt k ≤ε

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 4/14
La descente de gradient : algorithme
Data: initialisation x0 , nb max. d'itérations T , critère d'arrêt ε, pas α
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T do
xt+1 ← xt − α∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation Critères d'arrêts possibles :
Algorithme du premier ordre I k∇f (xt )k ≤ ε
Choix du pas
Algorithme du second ordre I f (xt+1 ) − f (xt ) ≤ ε
kxt+1 −xt k
I kxt+1 − xt k ≤ ε ou
kxt k ≤ε

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 4/14
La descente de gradient : algorithme
Data: initialisation x0 , nb max. d'itérations T , critère d'arrêt ε, pas α
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T do
xt+1 ← xt − α∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation Critères d'arrêts possibles :
Algorithme du premier ordre I k∇f (xt )k ≤ ε
Choix du pas
Algorithme du second ordre I f (xt+1 ) − f (xt ) ≤ ε
kxt+1 −xt k
I kxt+1 − xt k ≤ ε ou
kxt k ≤ε

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 4/14
La descente de gradient : algorithme
Data: initialisation x0 , nb max. d'itérations T , critère d'arrêt ε, pas α
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T do
xt+1 ← xt − α∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation Critères d'arrêts possibles :
Algorithme du premier ordre I k∇f (xt )k ≤ ε
Choix du pas
Algorithme du second ordre I f (xt+1 ) − f (xt ) ≤ ε
kxt+1 −xt k
I kxt+1 − xt k ≤ ε ou
kxt k ≤ε

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 4/14
La descente de gradient : algorithme
Data: initialisation x0 , nb max. d'itérations T , critère d'arrêt ε, pas α
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T do
xt+1 ← xt − α∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation Critères d'arrêts possibles :
Algorithme du premier ordre I k∇f (xt )k ≤ ε
Choix du pas
Algorithme du second ordre I f (xt+1 ) − f (xt ) ≤ ε
kxt+1 −xt k
I kxt+1 − xt k ≤ ε ou
kxt k ≤ε

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 4/14
La descente de gradient : algorithme
Data: initialisation x0 , nb max. d'itérations T , critère d'arrêt ε, pas α
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T do
xt+1 ← xt − α∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation Critères d'arrêts possibles :
Algorithme du premier ordre I k∇f (xt )k ≤ ε
Choix du pas
Algorithme du second ordre I f (xt+1 ) − f (xt ) ≤ ε
kxt+1 −xt k
I kxt+1 − xt k ≤ ε ou
kxt k ≤ε

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 4/14
Attention au choix du pas (cas 1D)

xt+1 = xt − α∇f (xt )


α : paramètre crucial pour obtenir la convergence vers un
minimum
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Divergence : pas beaucoup trop grand

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 5/14
Attention au choix du pas (cas 1D)

xt+1 = xt − α∇f (xt )


α : paramètre crucial pour obtenir la convergence vers un
minimum
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Convergence lente : pas trop grand

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 5/14
Attention au choix du pas (cas 1D)

xt+1 = xt − α∇f (xt )


α : paramètre crucial pour obtenir la convergence vers un
minimum
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Convergence rapide : bon pas

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 5/14
Attention au choix du pas (cas 1D)

xt+1 = xt − α∇f (xt )


α : paramètre crucial pour obtenir la convergence vers un
minimum
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Convergence lente : pas trop petit

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 5/14
Attention au choix du pas (cas 2D)

xt+1 = xt − α∇f (xt )


α : paramètre crucial pour obtenir la convergence vers un
minimum
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Trop grand pas Trop petit pas

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 6/14
Recherche linéaire I

Parfois, il faut choisir le pas à chaque itération : αt évolue avec


les itérations. On note d
t = −∇f (xt ) une direction de descente
Analyse 2: Algorithme pour

l'optimisation sans contrainte


Règle de la minimisation

Minimisation sur l'amplitude : il faut résoudre le problème 1D :


Algorithme de
minimisation f (xt + αt dt ) = min f (xt + αdt )
Algorithme du premier ordre α≥0
Choix du pas
Algorithme du second ordre Rem: Pour cela il faut que le problème 1D soit simple à résoudre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 7/14
Recherche linéaire II
Règle d'Armijo (ou du backtracking géométrique)

En xant s > 0, σ ∈]0, 1[, et β ∈]0, 1[, il s'agit de choisir


αt = β mt s : où mt est le premier entier non nul tel que
f (xt + β m sdt ) − f (xt ) ≤ σβ m sh∇f (xt ), dt i = −σβ m sk∇f (xt )k2
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 8/14
Recherche linéaire II
Règle d'Armijo (ou du backtracking géométrique)

En xant s > 0, σ ∈]0, 1[, et β ∈]0, 1[, il s'agit de choisir


αt = β mt s : où mt est le premier entier non nul tel que
f (xt + β m sdt ) − f (xt ) ≤ σβ m sh∇f (xt ), dt i = −σβ m sk∇f (xt )k2
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 8/14
Recherche linéaire II
Règle d'Armijo (ou du backtracking géométrique)

En xant s > 0, σ ∈]0, 1[, et β ∈]0, 1[, il s'agit de choisir


αt = β mt s : où mt est le premier entier non nul tel que
f (xt + β m sdt ) − f (xt ) ≤ σβ m sh∇f (xt ), dt i = −σβ m sk∇f (xt )k2
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 8/14
Recherche linéaire II
Règle d'Armijo (ou du backtracking géométrique)

En xant s > 0, σ ∈]0, 1[, et β ∈]0, 1[, il s'agit de choisir


αt = β mt s : où mt est le premier entier non nul tel que
f (xt + β m sdt ) − f (xt ) ≤ σβ m sh∇f (xt ), dt i = −σβ m sk∇f (xt )k2
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 8/14
Recherche linéaire II
Règle d'Armijo (ou du backtracking géométrique)

En xant s > 0, σ ∈]0, 1[, et β ∈]0, 1[, il s'agit de choisir


αt = β mt s : où mt est le premier entier non nul tel que
f (xt + β m sdt ) − f (xt ) ≤ σβ m sh∇f (xt ), dt i = −σβ m sk∇f (xt )k2
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 8/14
Recherche linéaire II
Règle d'Armijo (ou du backtracking géométrique)

En xant s > 0, σ ∈]0, 1[, et β ∈]0, 1[, il s'agit de choisir


αt = β mt s : où mt est le premier entier non nul tel que
f (xt + β m sdt ) − f (xt ) ≤ σβ m sh∇f (xt ), dt i = −σβ m sk∇f (xt )k2
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 8/14
Recherche linéaire II
Règle d'Armijo (ou du backtracking géométrique)

En xant s > 0, σ ∈]0, 1[, et β ∈]0, 1[, il s'agit de choisir


αt = β mt s : où mt est le premier entier non nul tel que
f (xt + β m sdt ) − f (xt ) ≤ σβ m sh∇f (xt ), dt i = −σβ m sk∇f (xt )k2
Analyse 2: Algorithme pour

l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 8/14
Recherche linéaire III

Analyse 2: Algorithme pour


Règle d'Armijo (ou du backtracking )
l'optimisation sans contrainte En pratique on fait souvent les choix, cf. Bertsekas (1999) :

I s=1
Algorithme de β = 1/2 β = 1/10
minimisation ou
I

Algorithme du premier ordre I σ∈ [10−5 , 10−1 ]


Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 9/14
Détour par la méthode de Newton

Objectif : la méthode de Newton (ou Newton-Raphson) sert à


trouver les zéros d'une fonction, i.e., résoudre f (x) = 0
Analyse 2: Algorithme pour L'idée : approximation locale par une fonction ane
l'optimisation sans contrainte

f (x) ≈ f (x0 ) + f 0 (x0 )(x − x0 )


Algorithme de
minimisation La règle de mise à jour est donc :

Algorithme du premier ordre


Choix du pas f (xt )
Algorithme du second ordre
xt+1 ← xt −
f 0 (xt )

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 10/14
Détour par la méthode de Newton II
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
f (xt )
xt+1 ← xt − f 0 (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 11/14
Détour par la méthode de Newton II
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
f (xt )
xt+1 ← xt − f 0 (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 11/14
Détour par la méthode de Newton II
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
f (xt )
xt+1 ← xt − f 0 (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 11/14
Détour par la méthode de Newton II
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
f (xt )
xt+1 ← xt − f 0 (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 11/14
Détour par la méthode de Newton II
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
f (xt )
xt+1 ← xt − f 0 (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 11/14
Méthode de Newton pour la minimisation
Localement, en un point x0 une fonction deux fois diérentiable
ressemble à :

1
f (x) ≈ f (x∗ ) + h∇f (x∗ ), x − x∗ i + (x − x∗ )> ∇2 f (x∗ )(x − x∗ )
2
Analyse 2: Algorithme pour

l'optimisation sans contrainte I Enjeu : minimiser en x l'approximation (quadratique)


précédente
Algorithme de I Solution : CNO
minimisation
Algorithme du premier ordre ∇f (x∗ ) + ∇2 f (x∗ )(x − x∗ ) = 0
Choix du pas
Algorithme du second ordre
I Nouvelle règle de mise à jour :

xt+1 ← xt − (∇2 f (xt ))−1 ∇f (xt )

Rem: C'est donc la méthode de Newton appliquée à la recherche


de zéros d'une approximation du gradient de f
Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 12/14
Méthode de Newton : algorithme
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
xt+1 ← xt − (∇2 f (xt ))−1 ∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 13/14
Méthode de Newton : algorithme
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
xt+1 ← xt − (∇2 f (xt ))−1 ∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 13/14
Méthode de Newton : algorithme
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
xt+1 ← xt − (∇2 f (xt ))−1 ∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 13/14
Méthode de Newton : algorithme
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
xt+1 ← xt − (∇2 f (xt ))−1 ∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 13/14
Méthode de Newton : algorithme
Data: point initial x0 , nombre max. d'itérations T , critère d'arrêt ε
Result: un point xT proche du minimum de la fonction f
for 1 ≤ t ≤ T − 1 do
xt+1 ← xt − (∇2 f (xt ))−1 ∇f (xt )
STOP si critère d'arrêt inférieur à ε
Analyse 2: Algorithme pour
end
l'optimisation sans contrainte

Algorithme de
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 13/14
Références I

Analyse 2: Algorithme pour

l'optimisation sans contrainte


D. P. Bertsekas.
Nonlinear programming.
Algorithme de Athena Scientic, 1999.
minimisation
Algorithme du premier ordre
Choix du pas
Algorithme du second ordre

Joseph Salmon
Fondamentaux pour le Big Data c Télécom ParisTech 14/14

Vous aimerez peut-être aussi