Fonctions de plusieurs variables
Gradient
Introduction à l’apprentissage automatique
Master Sciences Cognitives
Aix Marseille Université
Alexis Nasr
1 / 25
Motivations
Les fonctions vues jusque là étaient de la forme f ( x ) = y avec
x ∈ R.
Les fonctions qui nous intéressent, en particulier la fonction
d’erreur, possèdent plusieurs inconnues : f ( x1 , . . . , xn ).
On aimerait trouver les valeurs des variables pour lesquelles la
valeur de la fonction f est minimale.
x∗ = arg min f (x)
x ∈Rn
Une méthode générale permettant de trouver ces valeurs, dans
certaines conditions, est l’algorithme de descente du gradient,
qui, comme son nom l’indique repose sur la notion de gradient.
2 / 25
Objectifs
Comprendre la notion de dérivée partielle et de dérivée
directionnelle d’une fonction.
Comprendre la notion de gradient d’une fonction.
Comprendre le principe de l’algorithme de descente du
gradient.
3 / 25
Plan
Fonctions de plusieurs variables
Dérivée partielle
gradient
Descente du gradient
4 / 25
Fonctions de plusieurs variables
Dans certains cas, une quantité peut dépendre de plusieurs
autres.
Exemple : on peut considérer que la température T en un point
de la surface terrestre dépend de la longitude x et de la latitude y
du point
On peut alors voir T comme une fonction des deux variables x et
y.
T = f ( x, y)
Si f est une fonction de deux variables, alors de graphe de f est
l’ensemble des points ( x, y, z) ∈ R3 avec z = f ( x, y)
Le graphe de la fonction f se présente sous la forme d’une
surface.
5 / 25
Température sur la surface terrestre le 19 décembre
2019
T = f ( x, y)
6 / 25
f ( x, y) = ax + by
10
5
−10
0
−4
−2 0
2
4 −5
f est linéaire en x et en y
Le graphe de f est un plan.
7 / 25
f ( x, y) = xy
20
5
−20
0
−4
−2 0
2
4 −5
8 / 25
f ( x, y) = x2 + y2
40
20
5
0
0
−4
−2 0
2
4 −5
9 / 25
Dérivées partielles en un point
Soit f une fonction de deux variables x et y.
On se demande comment varie f si on ne modifie qu’une seule
variable : x ou y.
La réponse est donnée par la dérivée partielle de f par rapport à
cette variable.
Si on fait varier x en gardant une valeur constante de y (par
exemple y = b) alors on peut voir f comme une fonction d’une
seule variable x.
On peut écrire g( x ) = f ( x, b).
Si g est dérivable en a (pour x = a), alors on appelle cette
dérivée, la dérivée partielle de f par rapport à x en ( a, b) que l’on
note f x ( a, b)
f x ( a, b) = g0 ( a)
10 / 25
Dérivées partielles en un point
par définition de la dérivée, on a :
g( a + h) − g( a)
g0 ( a) = lim
h →0 h
ou bien :
f ( a + h, b) − f ( a, b)
f x ( a, b) = lim
h →0 h
11 / 25
Dérivée partielle
Si on fait varier le point ( a, b), f x et f y deviennent des fonctions
de deux variables.
Si f est une fonction de deux variables, alors ses dérivées
partielles sont les fonctions f x et f y définies de la façon suivante :
f ( x + h, y) − f ( x, y)
f x ( x, y) = lim
h →0 h
f ( x, y + h) − f ( x, y)
f y ( x, y) = lim
h →0 h
Les règles de calcul des dérivées partielles sont celles des
fonctions d’une seule variable !
Notation de Leibnitz :
∂
f x ( x, y) est notée ∂x f ( x, y)
∂
f y ( x, y) est notée ∂y f ( x, y)
12 / 25
Exemples
f ( x, y) = ax + by
∂
f ( x, y) = a
∂x
∂
f ( x, y) = b
∂y
f ( x, y) = xy
∂
f ( x, y) = y
∂x
∂
f ( x, y) = x
∂y
13 / 25
Exemple
T = f ( x, y) est la température en un point de la surface terrestre
de longitude x et de latitude y.
∂
∂x f ( x, y) est la variation de température lorsque x augmente :
lorsqu’on se dirige vers l’est.
∂
∂y f ( x, y) est la variation de température lorsque y augmente :
lorsqu’on se dirige vers le nord.
14 / 25
Dérivée directionnelle
On souhaite déterminer la variation de f ( x, y) lorsqu’on se
déplace dans la direction du vecteur 1 u = [ a, b] T .
Cette variation est appelée dérivée directionnelle de la fonction
f , dans la direction du vecteur u.
La dérivée directionnelle est notée ∇u f ( x, y), elle est définie de
la façon suivante :
∂ ∂
∇u f ( x, y) = f ( x, y) a + f ( x, y)b
∂x ∂y
1. Pour des raisons techniques, que l’on comprendra plus tard, on considère que u est
un vecteur unitaire (sa norme est égale à 1)
15 / 25
Exemple
T = f ( x, y) est la température en un point de la surface terrestre
de longitude x et de latitude y.
∂
∂x f ( x, y) est la variation de température lorsque x augmente :
lorsqu’on se dirige vers l’est.
∂
∂y f ( x, y) est la variation de température lorsque y augmente :
lorsqu’on se dirige vers le nord.
h√ √ i
Si on se déplace vers le nord est, u = 22 , 22 , la variation de
température est donnée par la dérivée directionnelle :
√ √
∂ 2 ∂ 2
∇u f ( x, y) = f ( x, y) + f ( x, y)
∂x 2 ∂y 2
h√ √ i
Si on se déplace vers le sud est, u = 22 , − 22 , la variation de
température est donnée par la dérivée directionnelle :
√ √
∂ 2 ∂ 2
∇u f ( x, y) = f ( x, y) − f ( x, y)
∂x 2 ∂y 2
16 / 25
Gradient
La dérivée directionnelle peut être vue comme le produit scalaire
de deux vecteurs :
∂ ∂
∇u f ( x, y) = f ( x, y) a + f ( x, y)b
∂x ∂y
T
∂ ∂
= f ( x, y), f ( x, y) · [ a, b] T
∂x ∂y
T
∂ ∂
= f ( x, y), f ( x, y) · u
∂x ∂y
Le premier vecteur est appelé gradient de la fonction f ( x, y), il
est noté ∇ f ( x, y) :
T
∂ ∂
∇ f ( x, y) = f ( x, y), f ( x, y)
∂x ∂y
La dérivée directionnelle s’écrit donc :
∇u f ( x, y) = ∇ f ( x, y) · u
17 / 25
Gradient
Le gradient se généralise naturellement aux fonctions possédant
un nombre quelconque n de variables.
La dimension du gradient (le nombre de composantes) est égal
au nombre de variables de la fonction.
T
∂ ∂
∇ f (x) = f ( x ), . . . , f (x)
∂x1 ∂xn
18 / 25
Maximisation de la dérivée directionnelle
Etant donné une fonction de plusieurs variables f (x)
Les dérivées directionnelles en un point P donnent la variation
de f dans toutes les directions possibles u.
Quelle est la direction u∗ pour laquelle la variation de f est la
plus grande possible ?
u∗ = arg max ∇u f (x)
u ∈Rn
Quelle est la valeur de cette variation ?
19 / 25
Maximisation de la dérivée directionnelle
∇u f (x) = ∇ f (x) · u
= |∇ f (x)| × |u| × cos(θ )
= |∇ f (x)| × cos(θ )
θ est l’angle entre ∇ f et u
La valeur maximale de cos(θ ) est 1
Elle est atteinte pour θ = 0, en d’autres termes lorsque ∇ f et u
ont la même direction.
Dans ce cas, ∇u f (x) = |∇ f (x)|
20 / 25
Points critiques et extremums d’une fonction à
plusieurs variables
Un point critique d’une fonction f (x) est un point a tel que :
∇ f (a) = 0
Les extremums locaux de f sont des points critiques de f .
Mais tout point critique ne constitue pas forcément un
extremum.
La recherche des extremums de f suppose donc de résoudre
l’équation :
∇ f (x) = 0
Dans certains cas, on peut trouver une solution exacte de
l’équation.
Mais la plupart du temps (dans notre cas) on a recours à une
méthode itérative qui donnera une solution approchée de
l’équation.
21 / 25
Descente du gradient : idée générale
Le gradient de la fonction f , calculé au point x : ∇ f (x), indique
comment faire varier le vecteur x pour aboutir à l’augmentation
maximale de f .
Conséquences :
x0 = x + η ∇ f (x) ⇒ f (x0 ) ≥ f (x)
x0 = x − η ∇ f (x) ⇒ f (x0 ) ≤ f (x)
η est appelé pas d’apprentissage, il permet de contrôler la
variation de x.
22 / 25
Exemple
fonction
f ( x, y) = ( x + y) × (y + 1) = xy + x + y2 + y
dérivées partielles
∂
f ( x, y) = y + 1
∂x
∂
f ( x, y) = x + 2y + 1
∂y
gradient : ∇ f ( x, y) = [y + 1, x + 2y + 1] T
gradient au point (3, 5) :∇ f (3, 5) = [6, 14] T
mise à jour (η = 0.1)
x = 3 − 0.1 × 6
y = 5 − 0.1 × 14
23 / 25
Exemple : f ( x, y) = ( x + y) × (y + 1), η = 0.1
60
40
i x y f ( x, y)
20 0 3 5 48
0 5
1 2.4 3.66 28.24
−4
0 2 1.934 2.635 16.605
−2 0
2
4 −5
3 1.571 1.851 9.75
4 1.285 1.252 5.714
5 1.060 0.796 3.332
6 0.881 0.448 1.925
7 0.736 0.185 1.091
8 0.617 -0.014 1.091
24 / 25
Sources
Stewart, James. Essential calculus : Early transcendentals.
Cengage Learning, 8ème édition, 2012
Tom Mitchell, Machine Learning, McGraw Hill, 1997.
25 / 25