Généralisation et sélection de modèleGeneralization and Model Selection · Cours 8 (10/6)
Les chapitres 1 à 3 apprenaient à minimiser une erreur d'entraînement dans une classe de modèles fixée. Ce chapitre répond à une seule question : comment choisir la classe de modèles (degré, $\lambda$, $C$, noyau…) et annoncer honnêtement sa performance, alors que la vraie erreur sur de nouvelles données est inconnue ? Au début de chaque section, un encadré Où on en est fait le point.
Feuille de route
Plan des slides : (1) l'erreur de généralisation (§1–2) ; (2) sur-/sous-apprentissage et régularisation (§3) ; (3) sélection et évaluation : train / validation / test (§4) ; (4) la validation croisée (§5). La chaîne complète, cliquable :
Le raisonnement, maillon par maillon
- ①Le problème. Trois polynômes ajustés aux mêmes points : le plus complexe a toujours la plus petite erreur d'entraînement (les classes sont emboîtées). Donc l'erreur d'entraînement ne peut pas servir à choisir. → Il faut dire précisément ce qu'on veut mesurer.
- ②La bonne cible. L'erreur de généralisation $L(f)$ : la perte moyenne sur un nouvel exemple tiré de la même loi $P$. On montre que l'erreur d'entraînement du modèle appris la sous-estime en moyenne (il a vu ces points), alors que l'erreur sur des données indépendantes est sans biais — avec une incertitude en $1/\sqrt m$.
- ③Comprendre l'écart. En faisant varier la complexité, la taille $N$ et la pénalité $\lambda$, on voit les deux modes d'échec : sous-apprentissage (les deux erreurs sont hautes) et sur-apprentissage (train bas, généralisation haute). Les bons réglages dépendent des données : il faut les choisir avec des données.
- ④La procédure. Paramètres appris sur l'entraînement, hyperparamètres choisis sur la validation, performance annoncée sur le test, mis de côté dès le début. Piège : choisir le minimum de plusieurs erreurs de validation bruitées donne un chiffre optimiste ; c'est pourquoi le test doit rester intact.
- ⑤Économiser les données. Avec peu d'exemples, une seule validation gaspille des données et donne un choix instable. La validation croisée fait tourner l'ensemble de validation et moyenne : plus coûteuse ($K$ entraînements par candidat), mais plus stable.
- définir $L(f)$, $\hL_S(f)$ et l'écart de généralisation, et dire lesquels sont aléatoires ;
- prouver que $\E_S[\hL_S(f)] = L(f)$ pour $f$ fixé, et expliquer pourquoi c'est faux pour $\hat f = A(S)$ ;
- reconnaître sous- et sur-apprentissage sur des courbes, et le rôle de $N$ et de $\lambda$ ;
- distinguer paramètres et hyperparamètres, et décrire la procédure ajuster / sélectionner / réajuster / évaluer ;
- expliquer pourquoi l'erreur de validation du modèle choisi est optimiste ;
- écrire le score de validation croisée et comparer holdout et CV.
Notations du chapitre
| Symbole | Se lit / signifie | Nature | Où |
|---|---|---|---|
| Données et loi | |||
| $P$ | la vraie loi (inconnue) des couples $(x,y)$ ; $\mathcal D$ au chapitre 2, $p(x,y)$ au chapitre 1 | loi | partout |
| $S\sim P^N$ | l'échantillon d'entraînement : $N$ tirages indépendants de $P$. Aléatoire | ensemble de couples | §1 → |
| $(x,y)\sim P$ | un nouvel exemple, indépendant de $S$ | couple | §1 → |
| $S_{\text{train}},\ S_{\text{val}},\ S_{\text{test}}$ | ensembles d'entraînement, de validation, de test | ensembles | §4 |
| $S_{\text{eval}},\ m$ | un ensemble d'évaluation indépendant ; sa taille | ensemble ; entier | §2 |
| $S_{\text{dev}},\ S_k,\ K$ | données de développement (tout sauf le test) ; $k$-ième pli ; nombre de plis | ensembles ; entier | §5 |
| $f^\star,\ \sigma$ | la vraie fonction de notre exemple ($= \E[y\mid x]$) ; l'écart-type du bruit | fonction ; réel | exemple |
| Modèles et algorithmes | |||
| $\mathcal H$ | classe d'hypothèses (ex. polynômes de degré $\le d$) | ensemble de fonctions | §1 |
| $d$ | degré du polynôme ($M$ dans le HW1) | entier | exemple |
| $A,\ \hat f = A(S)$ | algorithme d'apprentissage ; prédicteur appris sur $S$ (donc aléatoire) | procédure ; fonction | §2 |
| $f^*_{\mathcal H}$ | meilleur prédicteur de la classe : $\argmin_{f\in\mathcal H}L(f)$ (fixé) | fonction | §2 (preuve) |
| $\ell(y,\hat y)$ | perte d'un exemple (carrée, 0-1, cross-entropy, hinge…) | réel $\ge0$ | partout |
| $\lambda,\ \Omega(\bw)$ | force et forme de la pénalité ($\Omega = \|\bw\|^2$ pour ridge) | réel ; fonction | §3 |
| $\psi,\ \Psi$ | un hyperparamètre ($d$, $\lambda$, $(C,\sigma)$…) ; la liste des candidats | valeur ; ensemble fini | §4 → |
| $\hat f_\psi,\ \hat\psi$ | modèle entraîné avec $\psi$ ; hyperparamètre sélectionné | fonction ; valeur | §4 → |
| $\hat f_\psi^{(-k)}$ | modèle entraîné sans le pli $k$ | fonction | §5 |
| $f_{\text{final}}$ | modèle final (éventuellement réajusté sur train ∪ val) | fonction | §4 |
| Erreurs | |||
| $L(f)$ | erreur de généralisation $\E_{(x,y)\sim P}[\ell(y,f(x))]$ (sans chapeau = vraie, inconnue) | réel | §2 → |
| $\hL_S(f)$ | erreur empirique de $f$ sur l'ensemble $S$ (avec chapeau = calculée sur des données) | réel | §1 → |
| $\hL_{\text{val}},\ \hL_{\text{test}},\ \hL_{\text{eval}}$ | la même chose sur la validation, le test, un ensemble d'évaluation | réels | §2, §4 |
| $L(\hat f)-\hL_S(\hat f)$ | écart de généralisation (generalization gap) | réel | §2 |
| $\hL_{\text{CV}}(\psi)$ | score de validation croisée : moyenne des $K$ erreurs de validation | réel | §5 |
| $\E_S[\cdot]$ | moyenne sur les tirages possibles de l'échantillon $S$ (≠ $\E_{(x,y)\sim P}$, moyenne sur un nouvel exemple) | opérateur | §2 |
- $L$ a changé de sens : ici $L(f)$ est l'erreur attendue (vraie), et le chapeau $\hL$ marque l'erreur calculée sur des données. Au chapitre 2, $L(\bw)$ était la somme empirique des pertes.
- Deux espérances : $\E_{(x,y)\sim P}$ moyenne sur un nouvel exemple ($f$ fixé) ; $\E_S$ moyenne sur les échantillons d'entraînement possibles (alors $\hat f$ change avec $S$).
- Trois « meilleures » fonctions : $f^\star$ (vraie fonction de notre exemple, $= \E[y\mid x]$), $f^*_{\mathcal H}$ (la meilleure de la classe), $\hat f$ (celle qu'on apprend).
- $K$ = nombre de plis (au chapitre 2 : nombre de classes). $m$ = taille d'un ensemble d'évaluation (chapitre 2 : la marge ; chapitre 3 : le nombre de contraintes).
- $d$ = degré du polynôme (dans les slides du chapitre 1, $d$ était une dimension ; dans le HW1 le degré s'appelle $M$).
- $\lambda$ et $C$ vont en sens inverse : grand $\lambda$ = forte régularisation ; grand $C$ = faible régularisation.
1Quel modèle choisir ?
Trois polynômes (degrés 1, 3, 12), chacun minimisant la MSE d'entraînement dans sa classe. Le degré 12 a la plus petite erreur d'entraînement… mais on sent qu'il ne prédira pas bien un nouveau point. Quelle mesure utiliser pour choisir ?
Les objets en jeu
- $\mathcal H$
- ensemble de fonctionsLa classe d'hypothèses (hypothesis class) : par ex. tous les polynômes de degré $\le d$. Le choix de $\mathcal H$ est lui-même une décision — c'est le sujet du chapitre.
- $\ell(y,\hat y)$
- perte $\ge0$Carrée en régression (ch. 1), cross-entropy en logistique (ch. 2), hinge pour les SVM (ch. 3), 0-1 pour compter les erreurs.
- $S$
- échantillon aléatoireLe jeu d'entraînement. Point clé du chapitre : $S$ est aléatoire (un autre tirage donnerait d'autres points), donc $\hat f$ aussi.
- $\hL_S(f)$
- nombreLe risque empirique de $f$ mesuré sur $S$.
- $\hat f = A(S)$
- fonction appriseLe résultat de l'algorithme d'apprentissage $A$ appliqué à $S$ (moindres carrés, GD, SMO…).
Les objets en jeu
- $P$
- loi sur $\mathcal X\times\mathcal Y$La vraie loi des couples (entrée, étiquette) — la « vraie loi jointe $p(x,y)$ » du chapitre 1. Dans l'exemple : $x$ uniforme sur $[-1,1]$, puis $y$ gaussien autour de $f^\star(x)$.
- $P^N$
- loi d'un échantillon$N$ tirages indépendants de $P$ : c'est ce que signifie « i.i.d. ».
- « indépendant de $S$ »
- hypothèseLe nouvel exemple n'a pas servi à l'entraînement. Toute la difficulté de l'évaluation vient du fait que les données d'entraînement, elles, ne sont pas indépendantes de $\hat f$.
2Erreur de généralisation, erreur d'entraînement, écart
Les objets en jeu
- $L(f)$
- nombre (pour $f$ fixé)Moyenne de la perte sur un nouvel exemple tiré de $P$. Pour $f$ fixé, l'espérance porte seulement sur $(x,y)$. Dans l'exemple : $L(f) = \E_x[(f^\star(x)-f(x))^2] + \sigma^2$ (ch. 1, décomposition de la MSE).
- $L(\hat f)$
- variable aléatoireSi $f = \hat f = A(S)$, alors $L(\hat f)$ dépend du tirage de $S$ : c'est un nombre aléatoire. $\E_S[L(A(S))]$ est sa moyenne sur les échantillons possibles.
- $L(\hat f) - \hL_S(\hat f)$
- écart de généralisation(generalization gap) De combien l'erreur d'entraînement sous-estime l'erreur sur de nouvelles données.
Pourquoi l'erreur d'entraînement est trop optimiste
Le prédicteur appris utilise les mêmes données pour s'ajuster et pour être évalué : il peut coller au bruit propre à cet échantillon. La scène tire 400 échantillons $S$ indépendants et, pour chacun, calcule l'erreur d'entraînement de $\hat f = A(S)$ et son erreur de généralisation exacte. À gauche : les deux nuages (et leurs moyennes) ; à droite : le même calcul pour un $f$ fixé à l'avance, où les deux moyennes coïncident.
Preuve — pour $f$ fixé, l'erreur empirique est sans biais
Preuve — pour l'ERM, l'erreur d'entraînement est en moyenne $\le$ l'erreur de généralisation hors slides
Exemple chiffré (réponse à « Can you give an example? », slide 8) Hors slides. Moindres carrés avec $p$ paramètres, entrées fixées, bruit de variance $\sigma^2$ et vraie fonction dans la classe : $\E[\text{MSE d'entraînement}] = \sigma^2\big(1 - \frac pN\big)$ alors que l'erreur sur de nouvelles sorties aux mêmes entrées vaut $\sigma^2\big(1 + \frac pN\big)$. Avec $p = N$ (interpolation) l'erreur d'entraînement vaut 0 quel que soit le bruit. Cas extrême encore plus simple : un modèle qui mémorise les étiquettes (« table de consultation ») a une erreur d'entraînement nulle et ne prédit rien de mieux que le hasard ailleurs.
Preuve — $\E[\text{MSE train}] = \sigma^2(1 - p/N)$
Estimer l'erreur de généralisation avec des données indépendantes
Preuve — sans biais, et variance en $1/m$
3Complexité, sous- et sur-apprentissage
Caltech — Yaser Abu-MostafaLecture 11 - OverfittingCe qu'est vraiment le sur-apprentissage : ajuster le bruit, rôle de N et de la complexité (cours au tableau).▶
StatQuestMachine Learning Fundamentals: Bias and VarianceSous- et sur-apprentissage vus comme biais et variance, en 6 minutes, sans équations.Sur-apprentissage (overfitting) : le modèle s'adapte aux fluctuations propres à l'échantillon et fait moins bien sur de nouvelles données (degré 12 : erreur d'entraînement plus basse, prédictions sensibles à l'échantillon particulier).
Le sur-apprentissage ne dépend pas que de la complexité du modèle, mais aussi de la quantité de données et de la régularisation.
La courbe classique : l'erreur d'entraînement ne peut que baisser quand le degré augmente (classes emboîtées), l'erreur de généralisation descend puis remonte. Change $N$ : avec beaucoup plus de données ($N = 200$), le même degré 12 ne sur-apprend presque plus (slide 13).
Preuve — classes emboîtées : l'erreur d'entraînement minimale décroît avec $d$ (slide 11)
Courbes d'apprentissage Hors slides DL §9.3
Autre façon de lire le rôle de $N$ : fixer le degré et tracer erreurs d'entraînement et de généralisation en fonction de $N$ (moyennées sur de nombreux tirages). Les deux courbes convergent vers la même limite — l'erreur du meilleur modèle de la classe. Modèle simple : elles se rejoignent vite mais haut (biais). Modèle complexe : elles finissent plus bas, mais il faut beaucoup de données pour fermer l'écart (variance).
La régularisation contrôle le modèle ajusté
Les objets en jeu
- $\Omega(\bw)$
- pénalité $\ge0$Mesure de « complexité » des paramètres : $\|\bw\|^2$ (ridge), $\|\bw\|_1$ (lasso)…
- $\lambda$
- hyperparamètreRègle le compromis ajustement / simplicité. Il ne peut pas être choisi en minimisant l'erreur d'entraînement (on prendrait toujours $\lambda = 0$) — ni avec la courbe de population, inconnue. Quelles données doivent guider ce choix ? → section suivante.
Degré fixé à 12, $\lambda$ variable : la courbe de généralisation est en U en fonction de $\lambda$ (slide 15).
4Sélection de modèle et évaluation
Paramètres et hyperparamètres
| Modèle | Paramètres (appris par l'entraînement) | Hyperparamètres (choisis par la sélection) |
|---|---|---|
| Régression polynomiale | coefficients $\bw$ | degré $d$ |
| Ridge | coefficients $\bw$ | pénalité $\lambda$ |
| SVM | $\bw, b$ ou coefficients duaux $\boldsymbol\alpha$ | $C$, noyau, largeur $\sigma$ du noyau |
Les objets en jeu
- paramètres
- ajustés par $A$Ce que l'entraînement calcule pour un modèle et une procédure donnés (le $\bw$ des moindres carrés, les $\alpha_i$ du dual…).
- $\psi\in\Psi$
- hyperparamètre, ensemble de candidatsCe qui définit la classe de modèles, la régularisation ou la procédure ($\psi = d$, $\lambda$, $(C,\sigma)$…). $\Psi$ est la liste finie de candidats qu'on compare.
- $\hat f_\psi$
- prédicteurLe modèle entraîné avec l'hyperparamètre $\psi$ : $\hat f_\psi = \mathrm{Train}(S_{\text{train}};\psi)$.
Les hyperparamètres sont aussi choisis à partir de données — donc leur sélection peut, elle aussi, sur-apprendre.
Sélection par un ensemble de validation
Peut-on publier l'erreur de validation du modèle choisi comme évaluation finale ? Non : elle sous-estime l'erreur de généralisation, parce que le modèle a été choisi avec ces mêmes données de validation.
Sur-apprendre l'ensemble de validation
Simulation des slides : 100 candidats tous aussi bons (vraie erreur 20 %), évalués chacun sur 100 exemples de validation. Le hasard seul fait apparaître un « meilleur » candidat à ~11 %. Un modèle peut être choisi parce qu'il a eu de la chance sur la validation — il faut des données fraîches pour l'évaluation finale.
Preuve — le minimum des erreurs de validation est biaisé vers le bas
Entraînement, validation, test
| Ensemble | Rôle | Ce qu'il détermine |
|---|---|---|
| Entraînement (training) | ajuster chaque candidat | les paramètres |
| Validation | comparer les candidats | le modèle / les hyperparamètres |
| Test | évaluer le modèle final | la performance publiée |
- Mettre le test de côté avant d'ajuster ou de sélectionner quoi que ce soit.
- La validation peut guider le développement du modèle, dont le choix des hyperparamètres.
- Régler sur le test puis publier son score comme évaluation indépendante, c'est « tricher ». Ce qui compte est l'usage des données, pas le nom du fichier.
L'exemple de la slide 21 est exactement ce que fait la scène de validation ci-dessus : 24 exemples d'entraînement, 100 de validation, degré choisi par la MSE de validation, réajustement sur les 124, puis MSE sur 1000 exemples de test jamais touchés.
5Validation croisée
Pourquoi ? Avec peu de données, une grande validation laisse peu d'exemples pour l'entraînement, et une petite validation donne des estimations bruitées. Et le classement des modèles peut changer avec le découpage train/validation. L'idée : faire tourner l'ensemble de validation et moyenner.
Les objets en jeu
- $S_{\text{dev}}$
- données de développementTout ce qui n'est pas le test. Le test reste en dehors de tous les plis.
- $S_k$
- $k$-ième pliSert de validation au tour $k$ ; les $K-1$ autres servent à l'entraînement.
- $\hat f_\psi^{(-k)}$
- prédicteurEntraîné sans le pli $k$ (« moins $k$ ») avec l'hyperparamètre $\psi$.
- $\hL_{\text{CV}}(\psi)$
- score de validation croiséeMoyenne des $K$ erreurs de validation. Chaque exemple est utilisé une fois en validation et $K-1$ fois en entraînement.
- $K$
- entierTypiquement 5 ou 10. $K = N$ : leave-one-out. Coût : $K$ entraînements par candidat.
Dans la scène : les points sont colorés par pli ; choisis le tour $k$ pour voir quel pli sert de validation ; les courbes fines sont les erreurs par pli, la courbe épaisse leur moyenne (le score CV). Bouton « nouveau découpage » : la courbe holdout (un seul découpage) saute beaucoup plus que la courbe CV.
Pour quantifier la stabilité : on répète 200 découpages aléatoires et on compte quel degré est choisi par une validation simple (holdout) et par la CV à 5 plis. La CV choisit de façon beaucoup plus régulière.
Remarque — preprocessing et fuite d'information (slide 25)
Validation simple ou validation croisée ?
| Validation simple (holdout) | $K$-fold CV | |
|---|---|---|
| Entraînements par candidat | 1 | $K$ |
| Exemples de validation | un sous-ensemble mis de côté | chaque exemple de développement, une fois |
| Usage naturel | beaucoup de données / entraînement coûteux | peu de données / réentraînements abordables |
Les deux approches ont besoin d'une évaluation finale indépendante (le test).
6Résumé & question de la slide 28
Une faible erreur d'entraînement ne garantit pas de bonnes prédictions. Capacité du modèle, régularisation et taille d'échantillon gouvernent sous- et sur-apprentissage. Le test reste indépendant de toutes les décisions d'entraînement et de sélection.
Réponse
Le degré (hyperparamètre) est choisi avec les données de validation (ou par validation croisée sur les données de développement) : chaque degré est ajusté sur l'entraînement, comparé sur la validation. Le prédicteur final (éventuellement réajusté sur entraînement + validation) est évalué une seule fois sur le test, mis de côté dès le début et jamais utilisé pour ajuster ni choisir. Utiliser l'erreur de validation du degré choisi comme performance finale serait optimiste (scène « sur-apprendre la validation »).
Pour s'entraîner : exercices à trous (filtre « 4 · sélection »).



