Qu'est-ce que Surapprentissage (overfitting) ?

État dans lequel un modèle a mémorisé jusqu'aux détails des données d'apprentissage et au bruit qu'elles contiennent par hasard, si bien que son erreur est faible sur ces données mais élevée sur de nouvelles données (erreur de généralisation). Il survient facilement quand un modèle complexe à nombreux paramètres est entraîné sur peu de données. On le limite en augmentant les données, en simplifiant le modèle, par la régularisation, le dropout ou l'arrêt précoce.

Nom japonais: 過学習

« Surapprentissage (overfitting) » apparaît dans 3 questions d'entraînement réparties sur 1 thèmes, dont Bases de l'apprentissage automatique.

Domaine: Bases de l'apprentissage automatique

Comment le repérer

On repère le surapprentissage en comparant les performances sur les données d'apprentissage à celles obtenues sur des données de validation mises de côté. Sur une courbe d'apprentissage, qui montre les pertes sur les données d'apprentissage et de validation en fonction du nombre de passes d'apprentissage, la perte d'apprentissage continue de baisser, tandis que la perte de validation se met à remonter à partir d'un certain moment. L'état où cet écart se creuse est le surapprentissage. À l'inverse, si les deux pertes restent élevées sans baisser, il s'agit d'un sous-apprentissage : le modèle, trop simple par exemple, ne capture pas la tendance.

Causes

Si les degrés de liberté du modèle (nombre de paramètres, profondeur d'un arbre de décision, etc.) sont grands par rapport à la quantité de données, le modèle peut s'ajuster non seulement à la tendance réelle, mais aussi au bruit que les données contiennent par hasard. Par exemple, un polynôme de degré 9 ajusté à 10 points d'abscisses différentes peut passer exactement par tous les points, mais il ondule fortement entre eux et prédit très mal les nouveaux points. Régler à de nombreuses reprises les hyperparamètres en regardant les mêmes données améliore aussi les performances apparentes et provoque le surapprentissage.

Comment le limiter

Le moyen le plus sûr est d'augmenter les données d'apprentissage. Si c'est impossible, on augmente le volume apparent des données par augmentation de données, par exemple en faisant pivoter ou en retournant les images. Du côté du modèle, on peut réduire le nombre de paramètres pour le simplifier, utiliser la régularisation, qui ajoute à la perte une pénalité liée à la taille des poids, le dropout, qui désactive au hasard des neurones pendant l'apprentissage, ou l'arrêt précoce, qui stoppe l'apprentissage quand la perte de validation commence à remonter. L'apprentissage ensembliste, qui fait la moyenne des prédictions de plusieurs modèles, réduit aussi la dispersion des prédictions.

S'entraîner : questions sur Surapprentissage (overfitting)

Quelle observation est caractéristique d'un surapprentissage (surajustement) ?

  1. AL'erreur est faible sur les données d'apprentissage mais élevée sur les données de validation
  2. BL'erreur reste élevée et ne diminue pas, aussi bien sur les données d'apprentissage que sur les données de validation
  3. CÀ mesure que l'apprentissage progresse, l'erreur sur les données d'apprentissage et celle sur les données de validation continuent de diminuer de la même façon
Afficher la réponse et l'explication

Réponse : A. L'erreur est faible sur les données d'apprentissage mais élevée sur les données de validation

Le surapprentissage est l'état où le modèle a mémorisé jusqu'aux détails et au bruit des données d'apprentissage, si bien que ses performances sur de nouvelles données (capacité de généralisation) se dégradent. Il se repère à une erreur faible sur les données d'apprentissage mais élevée sur les données de validation. Une erreur élevée même sur les données d'apprentissage signale un sous-apprentissage : le modèle, trop simple par exemple, ne capture pas la tendance. Les remèdes sont d'augmenter les données, de simplifier le modèle, la régularisation, le dropout, ou l'arrêt précoce (early stopping), qui stoppe l'apprentissage quand l'erreur sur les données de validation commence à remonter.

Quelle description des techniques destinées à limiter le surapprentissage, comme la régularisation, est correcte ?

  1. ALa régularisation L1 ajoute à la fonction de perte la somme des valeurs absolues des poids, et tend à rendre certains poids exactement nuls
  2. BLa régularisation L2 ajoute à la fonction de perte la somme des valeurs absolues des poids, et sert surtout à annuler les poids inutiles pour sélectionner les caractéristiques
  3. CLe dropout désactive à chaque passage des neurones choisis au hasard, aussi bien pendant l'apprentissage que pendant l'inférence, pour donner de la variabilité aux sorties
Afficher la réponse et l'explication

Réponse : A. La régularisation L1 ajoute à la fonction de perte la somme des valeurs absolues des poids, et tend à rendre certains poids exactement nuls

La régularisation ajoute à la fonction de perte une pénalité qui dépend de la taille des poids, pour empêcher ceux-ci de devenir trop grands et garder un modèle simple. La régularisation L1 ajoute la somme des valeurs absolues des poids ; comme elle tend à rendre certains poids exactement nuls, elle sélectionne les caractéristiques utilisées (régression Lasso). La régularisation L2 ajoute la somme des carrés des poids ; elle réduit l'ensemble des poids mais les rend rarement exactement nuls (régression ridge, weight decay). Le dropout désactive au hasard des neurones pendant l'apprentissage seulement, pour éviter de trop dépendre de certains neurones ; lors de l'inférence, tous les neurones sont utilisés.

Questions fréquentes

Quelle est la différence entre surapprentissage et sous-apprentissage ?

Le surapprentissage est l'état où le modèle s'ajuste trop aux données d'apprentissage, si bien que l'erreur est élevée sur de nouvelles données alors qu'elle est faible sur les données d'apprentissage. Le sous-apprentissage est l'état où l'erreur est élevée même sur les données d'apprentissage, parce que le modèle est trop simple ou insuffisamment entraîné. En termes de biais et de variance, le sous-apprentissage correspond à un biais élevé et le surapprentissage à une variance élevée.

Une exactitude de 100 % sur les données d'apprentissage signifie-t-elle qu'il y a surapprentissage ?

Cela ne suffit pas à le dire. Si les performances sont aussi suffisantes sur les données de validation et de test, il n'y a pas de problème. On soupçonne un surapprentissage quand l'écart de performances entre les données d'apprentissage et de validation est grand.

« Surapprentissage (overfitting) » dans les explications

Questions mentionnant « Surapprentissage (overfitting) » (3)

  1. Quelle observation est caractéristique d'un surapprentissage (surajustement) ?
  2. Quelle description des techniques destinées à limiter le surapprentissage, comme la régularisation, est correcte ?
  3. Quelle affirmation est correcte lorsque l'on décompose l'erreur d'un modèle en biais et en variance (dispersion) ?

Termes associés

Régularisation Inférence Espérance (espérance mathématique) Validation croisée (cross-validation) Algorithme des k-moyennes (k-means) Analyse en composantes principales (ACP) Apprentissage non supervisé Apprentissage par renforcement Apprentissage par transfert (transfer learning) Apprentissage supervisé

Retour au glossaire