Linear Regression
La régression linéaire prédit une valeur numérique sous forme de somme pondérée de caractéristiques ajustées par les moindres carrés. Découvre son fonctionnement, ses hypothèses, ses variantes et du code Python.
La régression linéaire est une méthode d’apprentissage supervisé qui prédit une valeur continue, comme un prix, une température ou la demande du mois suivant, sous la forme d’une somme pondérée des caractéristiques d’entrée plus une constante. Avec une seule caractéristique, elle ajuste une droite, ŷ = w·x + b ; avec plusieurs, elle ajuste un plan ou un hyperplan, ŷ = w₁x₁ + w₂x₂ + … + wₙxₙ + b. Adrien-Marie Legendre a publié en 1805 la méthode des moindres carrés utilisée pour cet ajustement, puis Carl Friedrich Gauss a publié sa propre description en 1809. Elle reste le premier modèle habituel pour la modélisation prédictive numérique, car son entraînement ne prend que quelques millisecondes, elle fonctionne avec peu de données et chaque poids indique dans quelle mesure la prédiction varie par unité de sa caractéristique.
Fonctionnement de la régression linéaire#
L’entraînement choisit les poids et l’ordonnée à l’origine qui rapprochent le plus les prédictions des cibles réelles des données d’entraînement. Les moindres carrés ordinaires mesurent cet écart en additionnant les résidus au carré, c’est-à-dire les différences entre les cibles et les prédictions. Cela revient à minimiser l’erreur quadratique moyenne (MSE), la fonction de perte standard de la régression. L’erreur quadratique donne à la perte une forme de cuvette lisse avec un minimum unique ; les meilleurs poids ont donc une solution de forme fermée, l’équation normale w = (XᵀX)⁻¹Xᵀy. Les bibliothèques la calculent à l’aide de factorisations matricielles stables, comme QR ou SVD, plutôt qu’avec une inversion explicite. Pour les jeux de données trop volumineux, la descente de gradient ou la descente de gradient stochastique retrouve itérativement les mêmes poids et converge plus vite lorsque les caractéristiques sont normalisées sur des échelles similaires.
Chaque poids correspond à la variation de la prédiction pour une augmentation d’une unité de sa caractéristique, toutes les autres caractéristiques restant constantes ; le modèle est ainsi facile à auditer. L’estimateur LinearRegression de scikit-learn ajuste les moindres carrés ordinaires. Cet exemple génère des prix de maisons à partir de coefficients connus et vérifie dans quelle mesure l’ajustement les retrouve :
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import r2_score
from sklearn.model_selection import train_test_split
# 500 synthetic homes: price = $50,000 + $150 per sq ft - $2,000 per year of age + noise
rng = np.random.default_rng(0)
X = np.column_stack([rng.uniform(800, 3000, 500), rng.uniform(0, 50, 500)])
y = 50_000 + 150 * X[:, 0] - 2_000 * X[:, 1] + rng.normal(0, 20_000, 500)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
# Fit by ordinary least squares
model = LinearRegression()
model.fit(X_train, y_train)
print(f"Per sq ft: {model.coef_[0]:.1f}, per year: {model.coef_[1]:.0f}, intercept: {model.intercept_:.0f}")
print(f"Test R^2: {r2_score(y_test, model.predict(X_test)):.3f}")L’ajustement retrouve 147.7 $ par pied carré, contre 150 $ en réalité, et −1 992 $ par année d’ancienneté, contre −2 000 $ en réalité. Il explique 96.2 % de la variance des prix de test (R² = 0.962). R² représente la part de variance de la cible expliquée par le modèle, et la racine de l’erreur quadratique moyenne (RMSE) indique l’erreur typique dans les unités de la cible.
Hypothèses et diagnostics#
La régression linéaire suppose que la cible moyenne est une somme pondérée des entrées, que les erreurs sont indépendantes et que leur dispersion reste à peu près constante sur toute la plage des prédictions ; les intervalles de confiance et les valeurs p des poids supposent également des erreurs à peu près normales. Les entrées peuvent être n’importe quelle transformation fixe des caractéristiques brutes : l’ajout de termes au carré, de logarithmes ou de produits de caractéristiques par ingénierie des caractéristiques permet donc toujours d’obtenir une régression linéaire, capable de suivre une courbe. Le tracé des résidus en fonction des prédictions est le contrôle standard : une courbe indique qu’un terme non linéaire manque, tandis qu’une forme en éventail signifie que les erreurs augmentent avec la prédiction, ce qu’une transformation logarithmique de la cible corrige souvent. L’erreur quadratique permet aussi à quelques valeurs aberrantes d’attirer l’ajustement vers elles, et les fonctions de perte robustes comme la perte de Huber réduisent leur influence.
Lorsque les caractéristiques sont fortement corrélées entre elles, de petites variations des données font beaucoup fluctuer leurs poids. La régression ridge ajoute une pénalité sur les poids au carré qui les réduit ; le lasso ajoute une pénalité sur les poids absolus qui en ramène certains exactement à zéro, sélectionnant ainsi les caractéristiques ; et le filet élastique combine les deux. Ces formes de régularisation acceptent un léger biais en échange d’une variance plus faible — le compromis biais-variance — et limitent le surapprentissage lorsque le nombre de caractéristiques est élevé par rapport au nombre d’échantillons.
Régression linéaire en apprentissage profond#
Un réseau de neurones qui prédit des nombres se termine généralement par une couche linéaire : sa dernière étape est donc une régression linéaire appliquée aux caractéristiques apprises par les couches précédentes. Un réseau sans couche cachée entraîné avec l’erreur quadratique moyenne est exactement une régression linéaire. Les modèles de détection d’objets utilisent cette approche pour les coordonnées des boîtes. Dans YOLO26, chaque branche de boîte de la tête de détection se termine par une convolution 1×1 qui associe linéairement les caractéristiques à chaque emplacement de la grille à quatre distances entre cet emplacement et les bords d’une boîte englobante, et l’entraînement pénalise ces distances avec une perte L1, en plus d’une perte CIoU sur le chevauchement des boîtes.
Applications#
- Prévision : Les détaillants et les services publics modélisent les ventes ou la demande d’électricité par régression en fonction des prix, des promotions, de la température et des indicateurs calendaires ; une droite de tendance ajustée sert souvent de référence pour des modèles de prévision plus complexes.
- Tarification et évaluation : Les modèles de tarification hédonique régressent les prix des maisons en fonction de leur superficie, de leur âge et de leur emplacement ; chaque poids représente la valeur marchande d’une unité supplémentaire de cette caractéristique.
- Estimation d’effet : Les économistes et les chercheurs en santé régressent un résultat, comme le salaire ou la tension artérielle, sur un facteur d’intérêt et des variables de contrôle afin d’estimer comment le résultat évolue en fonction de ce facteur, les autres étant maintenus constants.
- Courbes d’étalonnage : Les laboratoires régressent les mesures d’un instrument sur les concentrations connues d’échantillons de référence, puis inversent la droite ajustée pour convertir les mesures de nouveaux échantillons en concentrations.
Régression linéaire et méthodes apparentées#
- Régression logistique : Résout les problèmes de classification en faisant passer la même somme pondérée par une fonction sigmoïde pour obtenir une probabilité comprise entre 0 et 1, et s’entraîne avec la perte logarithmique plutôt qu’avec l’erreur quadratique.
- Régression polynomiale : Ajuste des puissances d’une caractéristique, comme x et x², et correspond à une régression linéaire appliquée à ces caractéristiques développées.
- Arbres de décision et arbres boostés comme XGBoost : Ils divisent l’espace des caractéristiques en régions et apprennent les effets non linéaires et les interactions sans caractéristiques conçues à la main, mais prédisent une constante dans chaque région et ne peuvent donc pas extrapoler une tendance au-delà de la plage d’entraînement.
- Corrélation : Le coefficient de corrélation de Pearson r mesure symétriquement la force d’une relation linéaire, et la pente d’une régression linéaire simple de y sur x est égale à r multiplié par le rapport des écarts-types de y et de x.










