Overfitting
Explore les causes et les symptômes du surapprentissage en apprentissage automatique. Découvre comment prévenir une variance élevée et améliorer la généralisation avec Ultralytics YOLO26.
Le surapprentissage se produit en apprentissage automatique lorsqu'un modèle apprend trop bien les données d'entraînement, en capturant le bruit et les fluctuations aléatoires plutôt que la distribution sous-jacente des données. Au lieu d'apprendre des schémas généraux applicables à de nouvelles données inédites, un modèle en surapprentissage mémorise efficacement 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 mauvaise capacité de généralisation dans des scénarios réels. On le décrit souvent comme une « variance élevée », ce qui signifie que les prédictions du modèle varient considérablement selon l'ensemble de données utilisé pour l'entraînement.
Pourquoi le surapprentissage se produit#
La principale cause du surapprentissage est une complexité excessive du modèle par rapport à la quantité de données disponibles. Si un réseau neuronal est trop grand — c'est-à-dire s'il comporte trop de couches ou de paramètres — il peut facilement mémoriser les exemples d'entraînement. Parmi les autres facteurs contributifs figurent :
- 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 générale. Les modèles entraînés sur des données limitées ont tendance à apprendre ces schémas accidentels.
- Bruit et valeurs aberrantes dans les données : 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 et l'amener à ajuster ses paramètres internes pour s'adapter aux anomalies plutôt qu'au véritable signal.
- Durée d'entraînement prolongée : entraîner le modèle pendant un trop grand nombre d'époques lui permet de continuer à affiner ses poids jusqu'à ce qu'il s'adapte au bruit présent dans l'ensemble d'entraînement. Ce phénomène est souvent surveillé à l'aide de données de validation.
Surapprentissage et sous-apprentissage#
Il est important de distinguer le surapprentissage du sous-apprentissage. Alors que le surapprentissage consiste à 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 se traduit souvent par un biais élevé. L'équilibre entre ces deux extrêmes est appelé compromis biais-variance.
Prévenir le surapprentissage#
Les ingénieurs utilisent plusieurs techniques pour limiter le surapprentissage et améliorer la robustesse des modèles :
- Régularisation : des techniques comme la régularisation L1/L2 ou l'ajout de couches de dropout introduisent des pénalités ou de l'aléatoire pendant l'entraînement, empêchant le modèle de dépendre excessivement de caractéristiques spécifiques.
- Arrêt anticipé : surveiller la fonction de perte sur un ensemble de validation permet d'arrêter l'entraînement dès que les performances sur les données inédites cessent de s'améliorer, même si la précision sur les données d'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 la mémorisation des images exactes par le modèle.
- Validation croisée : utiliser des techniques comme la validation croisée k-fold garantit que le modèle est testé sur différents sous-ensembles de données, fournissant ainsi 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 : dans le domaine de l'IA dans les soins de santé, un modèle entraîné à détecter le cancer de la peau peut être victime de surapprentissage en se basant sur les conditions d'éclairage ou les graduations d'une 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 peut ne pas identifier correctement les lésions malignes, car il s'appuyait sur des caractéristiques d'arrière-plan non pertinentes.
- Prévisions financières : un modèle de prédiction du cours d'une action peut être victime de surapprentissage en se basant sur des tendances historiques du marché provoquées par un événement spécifique et non reproductible, comme une crise économique ponctuelle. Un tel modèle ne parviendrait probablement pas à prédire avec précision les futurs mouvements boursiers, car il aurait mémorisé les anomalies passées au lieu d'apprendre les dynamiques fondamentales du marché.
Exemple de code : arrêt anticipé avec Ultralytics YOLO26#
En utilisant l'Ultralytics Platform ou des scripts d'entraînement locaux, tu peux prévenir le surapprentissage en définissant une patience pour l'arrêt anticipé. 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)Concepts associés#
- Généralisation : capacité d'un modèle à s'adapter à de nouvelles données inédites et à fournir de bonnes performances sur celles-ci, ce qui est l'opposé du surapprentissage.
- Validation croisée : technique permettant d'évaluer dans quelle mesure les résultats d'une analyse statistique se généraliseront à un ensemble de données indépendant.
- Régularisation : méthodes utilisées pour réduire les erreurs en ajustant correctement une fonction à l'ensemble d'entraînement fourni et pour éviter le surapprentissage.









