SR5 NewtonGradient
SR5 NewtonGradient
Stéphane Robin
© Équipe enseignante LU1INMA1
Cours #5 : Optimisation numérique d’une fonction
Plan du cours
4 Démonstrations
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 1/43
Cours #5 : Optimisation numérique d’une fonction
Plan du cours
4 Démonstrations
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 2/43
Annulation d’une fonction
f (x) = 0.
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 3/43
Rappels : Dérivée
Le signe de la dérivée f ′ (x) d’une fonction x → f (x) indique son sens de variation.
Dérivée
f ′ (x) = −1 − 3 exp(−3x) < 0
(car e u ≥ 0).
On a
lim f (x) = +∞ et lim f (x) = −∞,
x→−∞ x→+∞
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 4/43
Méthode par dichotomie
(0) (0)
xmin < x ∗ < xmax
et une précision ϵ.
(h−1) (h−1)
Itération h : Calculer x (h) = (xmin + xmax )/2.
(h−1) (h−1)
Si f (x (h) ) est du même signe que f (xmin ) (f (x (h) )f (xmin ) > 0), alors
(h−1) (h−1)
Si f (x (h) ) est du même signe que f (xmax ) (f (x (h) )f (xmax ) > 0), alors
(h) (h−1) (h)
xmin = xmin , xmax = x (h) .
(h) (h)
Arrêt : Quand xmax − xmin < ϵ.
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 5/43
Méthode par dichotomie : exemple
Fonction f (x) = 1 − x + exp(−3x)
On vérifie
f (1/2) ≃ 5.98169 > 0 et f (3/2) ≃ −0.488891 < 0
(h) (h)
pour choisir xmin = −1/2 et xmax = 3/2
(h) (h) (h) (h)
h xmin xmax x (h) f (xmin ) f (xmax ) f (x (h) )
0 -5.00000e-01 1.50000e+00 5.00000e-01 5.982e+00 -4.889e-01 7.231e-01
1 5.00000e-01 1.50000e+00 1.00000e+00 7.231e-01 -4.889e-01 4.979e-02
2 1.00000e+00 1.50000e+00 1.25000e+00 4.979e-02 -4.889e-01 -2.265e-01
3 1.00000e+00 1.25000e+00 1.12500e+00 4.979e-02 -2.265e-01 -9.079e-02
. . . . . . .
. . . . . . .
. . . . . . .
18 1.04367e+00 1.04368e+00 1.04367e+00 2.924e-06 -5.704e-06 -1.390e-06
19 1.04367e+00 1.04367e+00 1.04367e+00 2.924e-06 -1.390e-06 7.673e-07
20 1.04367e+00 1.04367e+00 1.04367e+00 7.673e-07 -1.390e-06 -3.113e-07
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 6/43
Méthode du point fixe
g(x) = x.
g(x) = f (x) + x.
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 7/43
Méthode du point fixe : exemple
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 8/43
Méthode du point fixe : conditions de convergence (1/3)
Remarque. L’algorithme du point fixe ne converge pas systématiquement vers une solution de
l’équation x = g(x).
Fonction f (x) = xe x − 1 − x
On cherche la solution de l’équation
Cette équation admet en fait deux solutions : x1∗ ≃ −1.35 et x2∗ ≃ 0.806.
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 9/43
Méthode du point fixe : conditions de convergence (2/3)
Fonction f (x) = xe x − 1 − x, g(x) = xe x − 1
x (0) = −4 x (0) = 0
Le comportement dépend du
point initial x (0) :
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 10/43
Méthode du point fixe : conditions de convergence (3/3)
(La démonstration de cette propriété fait appelle au théorème des valeurs intermédiaires.)
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 11/43
Rappels : Tangente
Tangente
La tangente en x0 à la courbe d’équation y = f (x) est la droite de pente f ′ (x0 ) passant par le
point (x0 , f (x0 )).
Équation de la tangente
La tangente en x0 à la courbe y = f (x) a pour équation
Soit x0 = 0 :
f (x0 ) = 2, f ′ (x0 ) = −4
Tangente à f en x0 :
y = 2 − 4x.
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 12/43
Méthode de Newton (Newton-Raphson)
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 13/43
Méthode de Newton : itération
Itération Newton
Le point d’intersection de la tangente en x0 à la fonction f a pour abscisse
f (x0 )
x1 = x0 − . (2)
f ′ (x0 )
x (0) = 0
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 14/43
Méthode de Newton : algorithme
Algorithme de Newton
h x (h) f (x (h) )
0 0.000000e+00 2.000000e+00
1 5.000000e-01 7.231302e-01
2 9.331702e-01 1.276697e-01
3 1.041134e+00 2.872884e-03
4 1.043672e+00 1.272217e-06
5 1.043673e+00 2.486900e-13
6 1.043673e+00 2.220446e-16
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 15/43
Méthode de Newton : point initial (1/2)
Remarques.
L’algorithme de Newton ne converge pas systématiquement vers une solution de
l’équation.
Le résultat final peut dépendre du choix du point de départ x (0) , notamment quand il
existe plusieurs solutions
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 16/43
Méthode de Newton : point initial (2/2)
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 17/43
Cours #5 : Optimisation numérique d’une fonction
Plan du cours
4 Démonstrations
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 18/43
Minimisation d’une fonction
Objectif. On cherche le minimum de la fonction f (x).
L’extremum d’une fonction f continuement dérivable annule f ′ :
f ′ (x) = 0.
La dérivée
f ′ (x) = 2x + exp(x)
donc
f ′ s’annule en un seul x ∗
x est un minimum (puisque f ′ (x) < 0 pour
x < x ∗ et f ′ (x) > 0 pour x > x ∗ ).
L’objectif est de déterminer x ∗ .
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 19/43
Adaptation de la méthode de Newton
f (x0 )
x1 = x0 − .
f ′ (x0 )
f ′ (x0 )
x1 = x0 − .
f ′′ (x0 )
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 20/43
Algorithme de Newton pour la minimisation
Algorithme de Newton pour la minimisation d’une fonction
x (0) = 0
h x (h) f (x (h) ) f ′ (x (h) ) f ′′ (x (h) )
0 0.000e+00 1.000e+00 1.000e+00 3.000e+00
1 -3.333e-01 8.276e-01 4.986e-02 2.717e+00
2 -3.517e-01 8.272e-01 1.200e-04 2.703e+00
3 -3.517e-01 8.272e-01 6.928e-10 2.703e+00
4 -3.517e-01 8.272e-01 1.110e-16 2.703e+00
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 21/43
Méthode de Newton : dépendance au point de départ
x∗ f (x ∗ ) f ′ (x ∗ ) f ′′ (x ∗ ) x∗ f (x ∗ ) f ′ (x ∗ ) f ′′ (x ∗ )
-1 1 0 8 1 1 0 8
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 22/43
Méthode de Newton : minimum ou maximum ?
La dérivée est nulle pour un maximum ou un minimum : le signe de la dérivée seconde f ′′ (x ∗ )
indique s’il s’agit d’un maximum (f ′′ (x ∗ ) < 0) ou d’un minimum (f ′′ (x ∗ ) > 0).
x∗ f (x ∗ ) f ′ (x ∗ ) f ′′ (x ∗ ) x∗ f (x ∗ ) f ′ (x ∗ ) f ′′ (x ∗ )
0 2 0 -4 1 1 0 8
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 23/43
Application : Ajustement d’une fonction
Objectif. Déterminer la “meilleure” valeur d’un paramètre a pour ajuster une fonction
y ≃ ga (x)
à partir des observations
x = [x1 . . . xn ]⊤ , y = [y1 . . . yn ]⊤ .
Données :
i xi yi
1 0.000 0.103
2 0.250 1.376
3 0.500 3.007
4 0.750 0.560
5 1.000 1.934
6 1.250 2.531
.. .. ..
. . .
On cherche
yi ≃ e axi .
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 24/43
Critère des moindres carrés
De façon analogue à la régression linéaire, on peut considérer le critère
n
X
C (a) = (yi − ga (xi ))2 = C (a; x, y).
i=1
n
X
C (a) = (yi − e axi )2
i=1
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 25/43
Méthode de Newton pour les moindres carrés
La méthode de Newton requiert les dérivées première et seconde de ce critère par rapport à a
(et non par rapport aux xi ).
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 26/43
Méthode de Newton pour les moindres carrés : exemple (1/2)
Fonction ga (x) = e ax
hxi (a) = e axi , hx′ i (a) = xi e axi , hx′′i (a) = xi2 e axi
donc
n
X
C ′ (a) = −2 xi e axi (yi − e axi ),
i=1
Xn n
X
C ′′ (a) = −2 xi2 e axi (yi − e axi ) − xi2 e 2axi = −2 xi2 e axi (yi − 2e axi ) .
i=1 i=1
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 27/43
Méthode de Newton pour les moindres carrés : exemple (2/2)
Fonction ga (x) = e ax
Partant de a(0) = 1 :
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 28/43
Cours #5 : Optimisation numérique d’une fonction
Plan du cours
4 Démonstrations
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 29/43
Méthode de Newton par coordonnée
puis y :
v ′ (h) (y (h−1) )
x
y (h) = y (h−1) − .
v ′′(h) (y (h−1) )
x
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 30/43
Moindres carrés
Objectif. Déterminer les “meilleurs” paramètres a et b pour ajuster une fonction
y ≃ ga,b (x)
à partir d’observations de la forme
x = [x1 . . . xn ]⊤ , y = [y1 . . . yn ]⊤ .
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 31/43
Critère des moindres carrés
On définit le critère analogue au cas à un paramètre :
n
X
C (a, b) = (yi − ga,b (xi ))2 .
i=1
n
X 2
C (a, b) = yi − a 1 − e −bxi
i=1
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 32/43
Critère des moindres carrés : dérivées
On obtient alors
Ub (a), Ub′ (a), Ub′′ (a) en remplaçant hxi (a) par ub,xi (a) et
Vb (a), Vb′ (a), Vb′′ (a) en remplaçant hxi (a) par va,xi (b)
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 33/43
Moindres carrés : exemple (1/2)
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 34/43
Moindres carrés : exemple (2/2)
(Les dérivées premières sont proches de 0, les dérivées secondes sont positives.)
Courbe “ajustée”
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 35/43
Dérivées partielles
Intuition. La minimisation est d’autant plus rapide que l’algorithme se déplace dans la direction
de plus grande variation de la fonction multivariée f (u1 , u2 , . . . ud ).
Cette direction est donnée par le gradient dont la définition repose sur celle de dérivée partielle.
Dérivée partielle
La dérivée partielle ∂uj f de la fonction f de Rd dans R au point u = (u1 , u2 , . . . ud ) est la
fonction de Rd dans R qui associe à u la dérivée de par rapport à uj (1 ≤ j ≤ d), calculée au
point u, les autres coordonnées uk (k ̸= j) étant fixes.
1 u1
∂u1 f (u1 , u2 ) = , ∂u2 f (u1 , u2 ) = − .
u2 u22
Fonction f (a, x) = e ax
∂a f (a, x) = xe ax , ∂x f (a, x) = ae ax .
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 36/43
Gradient
Vecteur gradient
Le vecteur gradient de la fonction f de Rd dans R au point u = (u1 , u2 , . . . ud ) est le vecteur
de ses dérivées partielles au point u :
⊤
∇f (u) = ∂u1 f (u) ∂u2 f (u) . . . ∂ud f (u) .
Vecteur gradient de la perte quadratique pour la fonction ga,b (x) = a(1 − e −bx )
n
X
C (a, b) = (yi − ga,b (xi ))2 .
i=1
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 37/43
Descente de gradient
Vecteur gradient de la perte quadratique pour la fonction ga,b (x) = a(1 − e −bx )
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 38/43
Algorithme de descente du gradient
Recherche du minimum d’une fonction multivariée par descente de gradient
Résultat final
a∗ b∗ ub′ ∗ (a∗ ) va′ ∗ (b∗ ) C (a∗ , b∗ )
2.0325 0.9995 0.0004 -0.0001 0.1590
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 39/43
Descente du gradient : choix du pas (1/3)
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 40/43
Descente du gradient : choix du pas (2/3)
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 41/43
Descente du gradient : choix du pas (3/3)
un pas γ trop faible produit un comportement régulier au prix d’un grand nombre
d’itérations,
Elles permettent notamment de faire varier le pas γ au cours des itérations (γ devient alors
γ (h) ).
Exemple. Dans le cas d’une fonction d’une variable, l’algorithme de Newton est un algorithme
de descente de gradient de pas
1
γ (h) = ′′ (h)
f (x )
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 42/43
Á retenir: cours 5
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 43/43
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 44/43
Si le temps le permet
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 45/43
Critère des moindres carrés : dérivées
et on obtient
n
X n
X
Ub (a) = C (a, b) = (yi − ga,b (xi ))2 = (yi − ub,xi (a))2 ,
i=1 i=1
n
X n
X
Ub′ (a) = ′
2(−ub,x i
(a))(yi − ub,xi (a)) = −2 ′
ub,xi
(a)(yi − ub,xi (a)),
i=1 i=1
n
X
Ub′′ (a) = −2 ′′
ub,x i
′
(a)(yi − ub,xi (a)) − (ub,xi
(a))2 .
i=1
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 46/43
Dérivées de C (a, b) pour ga,b (x) = a(1 − e −bx )
Fonction ga,b (x) = a(1 − e −bx )
Dérivées de Ub :
n
X
Ub′ (a) = −2 (1 − e −bxi )(yi − a(1 − e −bxi )),
i=1
Xn
Ub′′ (a) = −2 0 × (yi − a(1 − e −bxi ) − (1 − e −bxi )2
i=1
n
X
=2 (1 − e −bxi )2 ,
i=1
Dérivées de Va :
n
X n
X
Va′ (b) = −2 axi e −bxi (yi − a(1 − e −bxi )) = −2a xi e −bxi (yi − a(1 − e −bxi )),
i=1 i=1
Xn
Va′′ (b) = −2 −axi2 e −bxi (yi − a(1 − e −bxi )) − (axi e −bxi )2
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 47/43
Cours #5 : Optimisation numérique d’une fonction
Plan du cours
4 Démonstrations
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 48/43
Démonstrations
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 49/43
Rappels
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 50/43
Méthode de Newton
Stéphane Robin — Cours #5 : Optimisation numérique d’une fonction — Sciences des données — 2023–2024 51/43