Blame

0ad9b6 lugonthier 2026-07-10 12:03:30
Remove "07 Regularization and high-dimensional inference" chapter and add "07 Support Vector Machines" and "08 Decision trees and ensemble methods" chapters with corresponding images.
1
# 4. Régression linéaire
2
3
La régression linéaire prédit une cible continue à partir d'un score linéaire. Ce module suit un seul fil de bout en bout : poser le modèle, l'ajuster à des données bruitées par moindres carrés, justifier cet objectif par le maximum de vraisemblance, le régulariser par le maximum a posteriori (ridge, puis son cousin sélectif le lasso), puis élargir le modèle avec les fonctions de base et les prédictions multiples, où les deux mêmes formes closes reviennent inchangées.
4
5
**Objectifs**
6
- Écrire le modèle linéaire et lire sa prédiction comme une droite, un plan ou un hyperplan.
7
- Poser le problème d'ajustement sur données bruitées et énoncer l'objectif des moindres carrés.
8
- Montrer que le maximum de vraisemblance sous bruit gaussien est exactement les moindres carrés, et dériver l'équation normale.
9
- Dériver la régression ridge (weight decay) du maximum a posteriori, en forme close.
10
- Opposer les pénalités ridge et lasso : rétrécir ou sélectionner.
11
- Généraliser le modèle avec des fonctions de base et aux sorties multiples, en gardant les mêmes formes closes.
12
13
## 4.1 Le modèle linéaire
14
15
L'hypothèse est linéaire en l'entrée augmentée $x \in \mathbb{R}^{n+1}$ avec $x_0 = 1$, la convention de l'[Introduction](/fr/Machine%20Learning/01%20Introduction) :
16
17
$$\boxed{ h_\theta(x) = \theta^T x = \theta_0 + \theta_1 x_1 + \dots + \theta_n x_n }$$
18
19
$\theta_0$ est le biais (l'ordonnée à l'origine) et les autres coordonnées sont les poids, et replier le biais dans le produit scalaire est exactement ce que la convention $x_0 = 1$ apporte. Géométriquement, la prédiction est une droite pour $n = 1$, un plan pour $n = 2$, un hyperplan au-delà.
20
21
![La prédiction est une droite, puis un plan](/fr/Machine%20Learning/04%20Linear%20regression/a/line-and-plane.png)
22
23
*Avec une caractéristique le modèle trace une droite à travers les données, avec deux un plan, et au-delà un hyperplan que l'on ne peut plus dessiner.*
24
25
## 4.2 Le problème à résoudre
26
27
Étant donné l'ensemble d'entraînement $\{(x^{(i)}, y^{(i)})\}_{i=1}^{m}$, on voudrait idéalement $h_\theta(x^{(i)}) = y^{(i)}$ en chaque point. Les cibles réelles sont bruitées (erreurs de mesure, facteurs non modélisés), aucune droite ne passe donc par toutes, et le but devient de commettre la plus petite erreur totale. Les moindres carrés prennent le résidu au carré comme erreur et le somment sur l'ensemble d'entraînement :
28
29
$$\boxed{ \theta^{*} = \arg\min_\theta \; \sum_{i=1}^{m}\left(\theta^T x^{(i)} - y^{(i)}\right)^2 }$$
30
31
![Cibles idéales et cibles bruitées](/fr/Machine%20Learning/04%20Linear%20regression/a/ideal-vs-noisy.png)
32
33
*À gauche : si les cibles étaient sans bruit, le modèle pourrait passer par chaque point. À droite : les cibles réelles se dispersent autour de la tendance, chaque point laisse donc un résidu entre $y^{(i)}$ et la prédiction $h_\theta(x^{(i)})$, et l'ajustement minimise leur somme des carrés (segments gris).*
34
35
*Remarque :* pourquoi le carré plutôt que, disons, la valeur absolue ? Parce que ce choix est prouvé optimal quand le bruit est gaussien, une question d'entrevue classique que la section suivante décortique.
36
37
## 4.3 Maximum de vraisemblance : les moindres carrés justifiés
38
39
Donnons aux données une histoire générative, avec le principe d'estimation de la [Formulation probabiliste](/fr/Machine%20Learning/03%20Probabilistic%20formulation) : chaque cible est la prédiction linéaire plus un bruit gaussien indépendant,
40
41
$$\boxed{ y^{(i)} = \theta^T x^{(i)} + \varepsilon^{(i)}, \quad \varepsilon^{(i)} \sim \mathcal{N}(0, \sigma^2) }$$
42
43
donc $p(y^{(i)} \mid x^{(i)}; \theta) = \mathcal{N}(\theta^T x^{(i)}, \sigma^2)$. La log-vraisemblance des $m$ exemples i.i.d. se sépare en une constante et la somme des carrés :
44
45
$$\ell(\theta) = \sum_{i=1}^{m} \log \mathcal{N}\!\left(y^{(i)} \mid \theta^T x^{(i)}, \sigma^2\right) = -\frac{m}{2}\log(2\pi\sigma^2) \;-\; \frac{1}{2\sigma^2}\sum_{i=1}^{m}\left(y^{(i)} - \theta^T x^{(i)}\right)^2$$
46
47
Ni la constante ni le facteur positif $\tfrac{1}{2\sigma^2}$ ne déplacent l'argmax, donc :
48
49
$$\boxed{ \arg\max_\theta \; \ell(\theta) = \arg\min_\theta \; \sum_{i=1}^{m}\left(y^{(i)} - \theta^T x^{(i)}\right)^2 }$$
50
51
*Remarque :* cette équivalence est le fait le plus important du module. Les moindres carrés ne sont pas une convention commode, ils sont l'estimation du maximum de vraisemblance sous bruit gaussien.
52
53
Le maximiseur a une forme close. En écrivant l'objectif avec la matrice de conception $X$ et en annulant le gradient,
54
55
$$\nabla_\theta\, \lVert X\theta - y \rVert^2 = 2\,X^T(X\theta - y) = 0$$
56
57
$$\boxed{ \theta_{\mathrm{MV}} = (X^T X)^{-1}X^T y }$$
58
59
l'équation normale, une résolution matricielle entre les données et le modèle.
60
61
## 4.4 Maximum a posteriori : la régression ridge
62
63
Le maximum de vraisemblance peut surapprendre, surtout quand le modèle est flexible. L'estimation du maximum a posteriori maximise plutôt l'a posteriori, qui par la règle de Bayes est la vraisemblance multipliée par un a priori sur les paramètres, ici une gaussienne centrée :
64
65
$$\theta_{\mathrm{MAP}} = \arg\max_\theta \; p(y \mid X, \theta)\, p(\theta), \qquad \theta \sim \mathcal{N}(0, \tau^2 I)$$
66
67
Prendre le logarithme ajoute $-\lVert \theta \rVert^2 / 2\tau^2$ à la log-vraisemblance, et éliminer les constantes laisse des moindres carrés pénalisés :
68
69
$$\boxed{ \theta_{\mathrm{MAP}} = \arg\min_\theta \; \sum_{i=1}^{m}\left(y^{(i)} - \theta^T x^{(i)}\right)^2 + \lambda \lVert \theta \rVert_2^2, \quad \lambda = \frac{\sigma^2}{\tau^2} }$$
70
71
avec, par le même calcul de gradient nul, la forme close :
72
73
$$\boxed{ \theta_{\mathrm{MAP}} = (X^T X + \lambda I)^{-1}X^T y }$$
74
75
C'est la régression ridge, et la pénalité est souvent appelée weight decay. L'a priori gaussien est devenu la pénalité L2 de [Concepts généraux](/fr/Machine%20Learning/02%20General%20concepts), exactement le lien a priori vers pénalité de la [Formulation probabiliste](/fr/Machine%20Learning/03%20Probabilistic%20formulation).
76
77
*Remarque :* $\lambda \to 0$ retrouve le maximum de vraisemblance, et un $\lambda$ croissant rétrécit $\theta$ vers zéro et combat le surapprentissage. Un a priori plus fort (petit $\tau$) signifie un $\lambda$ plus grand. Notons aussi que $X^T X + \lambda I$ est toujours inversible pour $\lambda > 0$, ce qui sauve les moindres carrés exactement là où ils s'effondrent : des caractéristiques fortement corrélées, ou plus de caractéristiques que d'exemples.
78
79
## 4.5 Le lasso : une pénalité qui sélectionne
80
81
La pénalité ridge venait d'un a priori gaussien. Un a priori de Laplace donne plutôt la pénalité L1, le lien noté dans la [Formulation probabiliste](/fr/Machine%20Learning/03%20Probabilistic%20formulation) :
82
83
$$\boxed{ \theta_{\mathrm{lasso}} = \arg\min_\theta \; \sum_{i=1}^{m}\left(y^{(i)} - \theta^T x^{(i)}\right)^2 + \lambda \lVert \theta \rVert_1 }$$
84
85
Le changement paraît minime et sa conséquence est grande : le lasso met certains coefficients exactement à zéro, il sélectionne donc les variables tout en ajustant. Contrairement au ridge il n'a pas de forme close (la pénalité n'est pas dérivable en zéro), il s'ajuste donc par des solveurs convexes. La raison de la sélection est géométrique. La région de contrainte $\lVert \theta \rVert_1 \le t$ est un losange dont les coins sont sur les axes, et les contours elliptiques de l'erreur quadratique tendent à la toucher d'abord en un coin, où une coordonnée est nulle. La boule L2 arrondie n'a pas de coins, le ridge rétrécit donc chaque coefficient doucement sans jamais en annuler un : le ridge stabilise, le lasso sélectionne.
86
87
![Géométrie des contraintes L1 et L2](/fr/Machine%20Learning/04%20Linear%20regression/a/l1-l2-geometry.png)
88
89
*La boule L2 arrondie est touchée hors des axes, gardant chaque coefficient non nul, tandis que le losange L1 est touché en un coin, mettant un coefficient exactement à zéro.*
90
91
À mesure que $\lambda$ grandit, davantage de coefficients passent à zéro, traçant le chemin de régularisation du modèle complet jusqu'au modèle vide.
92
93
![Chemin de régularisation du lasso](/fr/Machine%20Learning/04%20Linear%20regression/a/regularization-path.png)
94
95
*Chaque coefficient rétrécit quand $\lambda$ augmente puis atteint exactement zéro, si bien que le lasso fournit un sous-ensemble compact et interprétable de régresseurs.*
96
97
*Remarque :* l'elastic net mêle les deux pénalités, $\lambda\left(\alpha \lVert \theta \rVert_1 + (1-\alpha)\lVert \theta \rVert_2^2\right)$, gardant la sélection du lasso avec la stabilité du ridge face aux caractéristiques corrélées. Comme toujours, $\lambda$ se choisit par la validation croisée de [Concepts généraux](/fr/Machine%20Learning/02%20General%20concepts), en prenant souvent le plus grand $\lambda$ à un écart-type du meilleur pour un modèle plus simple.
98
99
*Remarque :* prédire n'est pas inférer. Sélectionner des variables par lasso puis rapporter les écarts-types des manuels sur les mêmes données est invalide, la malédiction du vainqueur encore : les intervalles ignorent que les données ont déjà choisi les variables. Une inférence honnête demande une division de l'échantillon ou un estimateur débiaisé, la porte d'entrée du machine learning causal.
100
101
## 4.6 Fonctions de base : non linéaire en $x$, linéaire en $\theta$
102
103
Une droite est souvent trop rigide : le sous-apprentissage de [Concepts généraux](/fr/Machine%20Learning/02%20General%20concepts) apparaissait précisément quand un modèle à faible capacité rencontrait une tendance courbe. La solution n'est pas d'abandonner la machinerie linéaire mais de projeter l'entrée dans un espace plus grand, là où la relation est linéaire :
104
105
$$\boxed{ h_\theta(x) = \theta^T \phi(x) = \sum_{j=0}^{M-1} \theta_j\, \phi_j(x), \qquad \phi_0(x) = 1 }$$
106
107
Les $\phi_j$ sont des fonctions de base, fixées avant l'entraînement. Avec $\phi(x) = (1, x, x^2, \dots, x^d)$ elles donnent la régression polynomiale, l'exemple fil rouge de [Concepts généraux](/fr/Machine%20Learning/02%20General%20concepts), et l'identité $\phi(x) = x$ retrouve tout ce qui précède. Le modèle peut désormais être follement non linéaire en $x$ tout en restant linéaire en $\theta$, rien ne change donc dans l'ajustement : on empile les $\phi(x^{(i)})^T$ comme lignes de la matrice de conception $\Phi \in \mathbb{R}^{m \times M}$ et les deux formes closes reviennent telles quelles :
108
109
$$\boxed{ \theta_{\mathrm{MV}} = (\Phi^T \Phi)^{-1}\Phi^T y, \qquad \theta_{\mathrm{MAP}} = (\Phi^T \Phi + \lambda I)^{-1}\Phi^T y }$$
110
111
*Remarque :* la base (sa famille et sa taille $M$) est un hyperparamètre, choisi avant l'entraînement, tandis que $\theta$ est appris. Choisir $M$ et $\lambda$ est le problème de sélection de modèle réglé par la validation croisée de [Concepts généraux](/fr/Machine%20Learning/02%20General%20concepts).
112
113
## 4.7 Prédictions multiples
114
115
Rien ne restreint la cible à un seul nombre. Pour prédire $K$ valeurs à la fois (disons le prix d'une maison, son coût de chauffage et ses taxes à partir des mêmes caractéristiques), on prend $y^{(i)} \in \mathbb{R}^K$ et on donne à chaque sortie sa propre colonne de paramètres, rassemblées dans une matrice $W \in \mathbb{R}^{M \times K}$ :
116
117
$$\boxed{ h_W(x) = W^T \phi(x) \in \mathbb{R}^{K} }$$
118
119
En empilant les cibles comme lignes de $Y \in \mathbb{R}^{m \times K}$, les mêmes dérivations donnent les mêmes formes closes, qui résolvent les $K$ régressions d'un coup :
120
121
$$\boxed{ W_{\mathrm{MV}} = (\Phi^T \Phi)^{-1}\Phi^T Y, \qquad W_{\mathrm{MAP}} = (\Phi^T \Phi + \lambda I)^{-1}\Phi^T Y }$$
122
123
*Remarque :* le facteur coûteux $(\Phi^T \Phi)^{-1}$ ne dépend pas des cibles, il se calcule donc une seule fois et se partage entre les $K$ sorties.
124
125
## 4.8 Résumé
126
127
| | Formule |
128
| --- | --- |
129
| Modèle | $h_\theta(x) = \theta^T \phi(x)$ |
130
| Maximum de vraisemblance (moindres carrés) | $\theta_{\mathrm{MV}} = (\Phi^T \Phi)^{-1}\Phi^T y$ |
131
| Maximum a posteriori (ridge) | $\theta_{\mathrm{MAP}} = (\Phi^T \Phi + \lambda I)^{-1}\Phi^T y$ |
132
| Paramètres, appris | $\theta$ (ou $W$ pour $K$ sorties) |
133
| Hyperparamètres, choisis par validation | la base $\phi$ et sa taille $M$, la pénalité $\lambda$ |
134
135
*Le même score linéaire, passé dans une fonction de compression au lieu d'être lu directement, transforme la régression en classification, le sujet du module suivant.*
136
137
---
138
Suivant : [Classification linéaire](/fr/Machine%20Learning/05%20Linear%20classification) · [Vue d'ensemble du cours](/fr/Machine%20Learning)