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.
Pourquoi le surapprentissage se produit-il#
La principale cause 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. D'autres facteurs contributifs incluent :
- 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 véritable signal.
- Durée d'entraînement prolongée : s'entraîner pendant trop 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. Cela est souvent surveillé à l'aide de données de validation.
Surapprentissage vs Sous-apprentissage#
Il est important de distinguer le surapprentissage du sous-apprentissage. Alors que le surapprentissage implique d'apprendre 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 obtient de mauvaises performances à la fois sur les données d'entraînement et sur les nouvelles données, ce qui entraîne souvent un biais élevé. L'équilibrage de ces deux extrêmes est connu sous le nom de compromis biais-variance.
Pré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 telles que la régularisation L1/L2 ou l'ajout de couches de dropout introduisent des pénalités ou de l'aléas pendant l'entraînement, empêchant le modèle de devenir trop dépendant de caractéristiques spécifiques.
- Arrêt prématuré : la surveillance de la fonction de perte sur un ensemble de validation permet d'interrompre l'entraînement dès que les performances sur des données non vues cessent de s'améliorer, même si la précision de l'entraînement continue d'augmenter.
- Augmentation des données : augmenter artificiellement la taille et la diversité de l'ensemble d'entraînement à l'aide de l'augmentation des données rend plus difficile pour le modèle la mémorisation d'images exactes.
- Validation croisée : l'utilisation de techniques telles que 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.
Exemples concrets#
Le surapprentissage peut avoir de graves conséquences lors du déploiement de l'IA dans des environnements de production :
- Diagnostic médical : en IA dans la santé, un modèle entraîné pour détecter le cancer de la peau peut surapprendre les conditions d'éclairage ou les repères de règle présents dans les images d'entraînement. Lorsqu'il est déployé dans une clinique avec un éclairage ou un équipement différent, le modèle peut échouer à identifier correctement les lésions malignes parce qu'il s'est appuyé 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é.
Exemple de code : Arrêt précoce avec YOLO26#
En utilisant la plateforme Ultralytics ou des scripts d'entraînement locaux, tu peux éviter le surapprentissage en définissant une patience d'arrêt prématuré. Cela arrête l'entraînement si la métrique 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)Concepts 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.






