Module 2 — Régression linéaire et régularisation Ridge et Lasso
La régression linéaire est le point de départ obligé : simple, rapide, interprétable, et déjà porteuse de tous les concepts — coût, optimisation, régularisation — qu'on retrouvera dans les modèles les plus complexes. Elle est aussi le modèle de référence contre lequel on jugera tout le reste.
Le modèle : une somme pondérée de variables
La régression linéaire prédit la cible comme une combinaison des variables, chacune multipliée par un coefficient :
Chaque coefficient dit de combien la prédiction change quand la variable augmente d'une unité, toutes choses égales par ailleurs. C'est ce qui rend le modèle si lisible : on peut lire les coefficients comme l'influence de chaque variable. L'entraînement cherche les coefficients qui minimisent l'erreur quadratique moyenne, par la descente de gradient du cours de mathématiques.
from sklearn.linear_model import LinearRegression
model = LinearRegression().fit(X_train, y_train)
model.coef_ # un coefficient par variable
model.intercept_ # le biais b
Interpréter les coefficients avec prudence
Un coefficient n'est lisible que si les variables sont à la même échelle. Sinon, un grand coefficient peut simplement refléter une variable de petite amplitude, et non son importance. D'où le réflexe de standardiser avant de comparer des coefficients — écho direct des normes du cours de mathématiques. Attention aussi : les coefficients mesurent une association, pas une causalité, et deux variables corrélées se « partagent » un effet de façon parfois trompeuse (colinéarité).
Pourquoi régulariser : dompter la variance
Quand les variables sont nombreuses ou corrélées, la régression linéaire ordinaire peut produire des coefficients énormes et instables : elle colle au bruit de l'échantillon. C'est de la variance excessive — le sur-apprentissage du cours de mathématiques. La régularisation ajoute au coût une pénalité sur la taille des coefficients, forçant le modèle à rester sobre :
Le paramètre règle la force du frein : à zéro, on retrouve la régression ordinaire ; trop grand, le modèle devient trop simple (biais excessif). C'est le compromis biais-variance, réglé par un curseur.
Ridge et Lasso : deux pénalités, deux comportements
from sklearn.linear_model import Ridge, Lasso
Ridge(alpha=1.0).fit(X_train, y_train) # pénalité L2
Lasso(alpha=0.1).fit(X_train, y_train) # pénalité L1
| Pénalité | Effet sur les coefficients | Usage typique | |
|---|---|---|---|
| Ridge | (somme des carrés) | les rétrécit tous, sans les annuler | variables corrélées, garder toutes les infos |
| Lasso | (somme des valeurs absolues) | en met certains exactement à zéro | sélection automatique de variables |
La distinction est concrète et précieuse. Ridge stabilise face à la colinéarité sans écarter de variable. Lasso fait de la sélection : en annulant les coefficients les moins utiles, il produit un modèle creux, ne gardant que les variables qui comptent — un atout majeur quand on en a des centaines. La géométrie derrière (le « coin » de la boule qui touche les axes) explique pourquoi seule la pénalité annule des coefficients.
Quand on hésite — beaucoup de variables et de la colinéarité —, Elastic Net combine les deux pénalités et offre le meilleur des deux mondes : la sélection du Lasso et la stabilité du Ridge. En pratique, on essaie Ridge et Lasso comme références, puis Elastic Net si aucun ne domine clairement. Dans tous les cas, (nommé alpha dans scikit-learn) se règle par validation croisée, jamais à l'œil.
En résumé
- La régression linéaire prédit une somme pondérée des variables ; ses coefficients, lisibles, mesurent une association et exigent des variables à la même échelle.
- Sans garde-fou, elle sur-apprend quand les variables sont nombreuses ou corrélées : c'est de la variance excessive.
- La régularisation pénalise la taille des coefficients ; règle le compromis biais-variance.
- Ridge () rétrécit tous les coefficients ; Lasso () en annule certains et sélectionne les variables ; Elastic Net combine les deux.
Module suivant : la régression logistique, qui adapte cette mécanique linéaire à la classification et introduit la notion de frontière de décision.