Les dérivées : la pente
La pente d'une courbe
Tu marches sur une colline dans le brouillard. Tu ne vois pas le sommet, ni le fond de la vallée. Mais sous tes pieds, tu sens si le sol monte ou descend, et à quel point. Cette information locale, la pente, suffit pour trouver le fond de la vallée : il suffit de toujours marcher vers le bas.
C'est l'idée qui fait apprendre presque tous les modèles de machine learning. Il faut d'abord savoir mesurer la pente.
Pour une courbe, la pente change à chaque endroit. Sur la courbe y = x² (une parabole en forme de U) : à gauche du creux elle descend, à droite elle monte, et tout au fond, en x = 0, elle est plate.
La calculer avec un ordinateur
On peut l'approcher très simplement : on avance d'un tout petit pas h, on regarde de combien la fonction a changé, et on divise par h.
f'(x) ≈ ( f(x + h) - f(x) ) / h, avec h très petit, par exemple 0,000001.
def f(x):
return x ** 2
h = 0.000001
x = 3
print((f(x + h) - f(x)) / h) # environ 6.000001
Au lycée, tu as peut-être appris les règles exactes : la dérivée de x² est 2x. En x = 3, elle vaut 6 : la dérivée numérique retrouve bien ce résultat.
Exercice : Une fonction qui dérive les autres
Écris derivee(f, x) qui renvoie la dérivée numérique de la fonction f au point x, avec h = 0,000001.
Oui, en Python, on peut passer une fonction en paramètre à une autre fonction, comme n'importe quelle valeur : c'est ce que tu faisais déjà avec key= dans sorted et max.
Voir une solution
def derivee(f, x):
"""Renvoie la pente de la courbe de f au point x (dérivée numérique)."""
h = 0.000001
return (f(x + h) - f(x)) / h
def carre(x):
return x ** 2
print(derivee(carre, 3))Dans l'appli, ton code est exécuté et corrigé automatiquement. Faire l'exercice
Trouver le minimum
Au fond de la vallée, le sol est plat : la pente vaut 0. C'est vrai pour toute courbe en U : son minimum est l'endroit où la dérivée s'annule.
Et ailleurs, le signe de la dérivée dit dans quel sens aller :
| Dérivée | La courbe... | Pour descendre, il faut... |
|---|---|---|
| positive | monte vers la droite | aller à gauche (diminuer x) |
| négative | descend vers la droite | aller à droite (augmenter x) |
| nulle | est plate | rester : on est au fond |
Dans les deux cas, on va dans le sens opposé au signe de la dérivée. En une formule :
nouveau x = x - pas x dérivée
C'est la descente de gradient, le moteur de l'apprentissage. Si la dérivée est grande, on fait un grand pas ; si elle est petite, on est presque au fond, on fait un petit pas.
Teste-toi
En x = 4, la dérivée d'une fonction vaut -2. Pour se rapprocher de son minimum, il faut...
- diminuer x
- augmenter x (bonne réponse)
- ne rien changer, on est au minimum
- doubler la fonction