← Tous les articles

Comprendre la descente de gradient

·1 min de lecture

La descente de gradient est l'algorithme qui permet à un modèle d'apprendre. L'idée est simple : ajuster les paramètres pas à pas dans la direction qui réduit l'erreur.

L'intuition

Imaginez une bille lâchée sur une surface vallonnée. Elle roule naturellement vers le bas. La descente de gradient fait pareil avec la fonction de coût : on cherche son minimum.

La formulation mathématique

On note θ\theta les paramètres du modèle et J(θ)J(\theta) la fonction de coût. La règle de mise à jour est :

θθηθJ(θ)\theta \leftarrow \theta - \eta \, \nabla_\theta J(\theta)

η\eta est le taux d'apprentissage (learning rate) et θJ(θ)\nabla_\theta J(\theta) le gradient du coût par rapport aux paramètres.

Le rôle du taux d'apprentissage

  • Si η\eta est trop petit, la convergence est lente.
  • Si η\eta est trop grand, l'algorithme peut diverger.

Une implémentation minimale

Voici une descente de gradient sur une régression linéaire en Python :

gradient_descent.py
import numpy as np
 
def gradient_descent(X, y, lr=0.01, epochs=100):
    theta = np.zeros(X.shape[1])
    n = len(y)
    for _ in range(epochs):
        error = X @ theta - y
        grad = (2 / n) * X.T @ error
        theta -= lr * grad
    return theta

Les lignes surlignées correspondent au cœur de l'algorithme : calcul de l'erreur, du gradient, puis mise à jour des paramètres.

Pour aller plus loin

En pratique on utilise des variantes : descente de gradient stochastique (SGD), mini-batch, ou des optimiseurs adaptatifs comme Adam.