Overfitting
Explore les causes et symptômes du surapprentissage (overfitting) en apprentissage automatique. Apprends comment prévenir la variance élevée et améliorer la généralisation en utilisant Ultralytics YOLO26.
Le surapprentissage (overfitting) se produit en apprentissage automatique lorsqu'un modèle apprend trop bien les données d'entraînement, capturant le bruit et les fluctuations aléatoires plutôt que la distribution sous-jacente des données. Au lieu d'apprendre des modèles généraux applicables à de nouvelles données inconnues, un modèle en surapprentissage mémorise effectivement les exemples spécifiques de l'ensemble d'entraînement. Cela se traduit par d'excellentes performances sur les données d'entraînement, mais par une piètre généralisation aux scénarios réels. On le décrit souvent comme ayant une « variance élevée », ce qui signifie que les prédictions du modèle varient considérablement selon l'ensemble de données spécifique utilisé pour l'entraînement.
Link to this sectionPourquoi le surapprentissage se produit-il#
La cause principale du surapprentissage est une complexité excessive du modèle par rapport à la quantité de données disponibles. Si un réseau de neurones est trop grand — c'est-à-dire s'il possède trop de couches ou de paramètres — il peut facilement mémoriser les exemples d'entraînement. Parmi les autres facteurs contributifs, on trouve :
- Données d'entraînement insuffisantes : Les petits ensembles de données peuvent contenir des corrélations fallacieuses qui n'existent pas dans la population plus large. Les modèles entraînés sur des données limitées sont enclins à apprendre ces modèles accidentels.
- Bruit des données et valeurs aberrantes : Des niveaux élevés de bruit ou des valeurs aberrantes non représentatives dans les données d'entraînement peuvent induire le modèle en erreur, le poussant à ajuster ses paramètres internes pour s'adapter aux anomalies plutôt qu'au signal réel.
- Durée d'entraînement prolongée : Un entraînement sur un nombre trop élevé d'époques permet au modèle de continuer à affiner ses poids jusqu'à ce qu'il s'adapte au bruit de l'ensemble d'entraînement. Ceci est souvent surveillé à l'aide de données de validation.
Link to this sectionSurapprentissage vs Sous-apprentissage#
Il est important de distinguer le surapprentissage du sous-apprentissage. Alors que le surapprentissage implique l'apprentissage de trop de détails (y compris le bruit), le sous-apprentissage se produit lorsqu'un modèle est trop simple pour capturer la structure sous-jacente des données. Un modèle en sous-apprentissage fonctionne mal à la fois sur les données d'entraînement et sur les nouvelles données, ce qui entraîne souvent un biais élevé. L'équilibre entre ces deux extrêmes est connu sous le nom de compromis biais-variance.
Link to this sectionPrévenir le surapprentissage#
Les ingénieurs utilisent plusieurs techniques pour atténuer le surapprentissage et améliorer la robustesse du modèle :
- Régularisation : Des techniques comme la régularisation L1/L2 ou l'ajout de couches de dropout introduisent des pénalités ou du hasard durant l'entraînement, empêchant le modèle de devenir trop dépendant de caractéristiques spécifiques.
- Arrêt précoce (Early Stopping) : La surveillance de la fonction de perte sur un ensemble de validation permet d'arrêter l'entraînement dès que les performances sur des données inconnues cessent de s'améliorer, même si la précision de l'entraînement continue d'augmenter.
- Augmentation des données : L'augmentation artificielle de la taille et de la diversité de l'ensemble d'entraînement via l'augmentation de données rend plus difficile pour le modèle la mémorisation d'images exactes.
- Validation croisée : L'utilisation de techniques comme la validation croisée k-fold garantit que le modèle est testé sur différents sous-ensembles de données, fournissant une estimation plus fiable de ses performances.
Link to this sectionExemples concrets#
Le surapprentissage peut avoir de graves conséquences lors du déploiement de l'IA dans des environnements de production :
- Diagnostic médical : Dans le domaine de l'IA dans la santé, un modèle entraîné à détecter le cancer de la peau pourrait faire du surapprentissage sur les conditions d'éclairage ou les marques de règle présentes dans les images d'entraînement. Une fois déployé dans une clinique avec un éclairage ou un équipement différent, le modèle pourrait échouer à identifier correctement les lésions malignes car il s'est reposé sur des indices d'arrière-plan non pertinents.
- Prévisions financières : Un modèle de prédiction du cours des actions pourrait faire du surapprentissage sur les tendances historiques du marché entraînées par un événement spécifique et non reproductible (comme une crise économique ponctuelle). Un tel modèle échouerait probablement à prédire avec précision les mouvements futurs du marché car il aurait mémorisé des anomalies passées plutôt que d'apprendre les dynamiques fondamentales du marché.
Link to this sectionExemple de code : Arrêt précoce avec YOLO26#
En utilisant la plateforme Ultralytics ou des scripts d'entraînement locaux, tu peux prévenir le surapprentissage en configurant une patience pour l'arrêt précoce. Cela arrête l'entraînement si la fitness de validation ne s'améliore pas pendant un nombre défini d'époques.
from ultralytics import YOLO
# Load the YOLO26 model (latest generation)
model = YOLO("yolo26n.pt")
# Train with early stopping enabled (patience=50 epochs)
# If validation metrics don't improve for 50 epochs, training stops.
results = model.train(data="coco8.yaml", epochs=100, patience=50)Link to this sectionConcepts associés#
- Généralisation : La capacité d'un modèle à s'adapter et à bien fonctionner sur de nouvelles données jamais vues auparavant, ce qui est l'opposé du surapprentissage.
- Validation croisée : Une technique permettant d'évaluer comment les résultats d'une analyse statistique vont se généraliser à un ensemble de données indépendant.
- Régularisation : Méthodes utilisées pour réduire les erreurs en ajustant une fonction de manière appropriée sur l'ensemble d'entraînement donné et pour éviter le surapprentissage.






