Surapprentissage
Explorez les causes et les symptômes du surapprentissage dans l'apprentissage automatique. Apprenez à prévenir la variance élevée et à améliorer la généralisation à l'aide Ultralytics .
Le surajustement se produit dans l'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 des données sous-jacentes. Au lieu d'apprendre des modèles généraux applicables à de nouvelles
données non vues, un modèle surajusté mémorise en fait les exemples spécifiques de l'ensemble d'apprentissage. Il en résulte d'
excellentes performances sur les données d'apprentissage, mais une mauvaise généralisation aux scénarios du monde réel. On parle souvent de
« variance élevée », ce qui signifie que les prédictions du modèle varient considérablement en fonction de l'ensemble de données spécifique utilisé
pour l'apprentissage.
Pourquoi le surapprentissage se produit-il ?
La cause principale du surajustement est la 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'apprentissage. Parmi les autres facteurs contributifs, on peut citer :
-
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 ont tendance à apprendre ces modèles 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, l'amenant à
ajuster ses paramètres internes pour s'adapter aux anomalies plutôt qu'au signal réel.
-
Durée de formation prolongée: une formation sur un trop grand nombre d'
époches permet au modèle de continuer à affiner ses poids
jusqu'à ce qu'il s'adapte au bruit dans l'ensemble de formation. Ceci est souvent surveillé à l'aide de
données de validation.
Surapprentissage vs. Sous-apprentissage
Il est important de distinguer le surajustement du
sous-ajustement. Alors que le surajustement implique d'apprendre trop de
détails (y compris le bruit), le sous-ajustement se produit lorsqu'un modèle est trop simple pour saisir la structure sous-jacente des
données. Un modèle sous-ajusté 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.
Prévenir le surajustement
Les ingénieurs utilisent plusieurs techniques pour atténuer le surajustement et améliorer la robustesse des modèles :
-
Régularisation: des techniques telles que la régularisation L1/L2 ou l'ajout de
couches de dropout introduisent des pénalités ou un caractère aléatoire
pendant l'entraînement, empêchant ainsi le modèle de devenir trop dépendant de caractéristiques spécifiques.
-
Arrêt précoce: la surveillance de la
fonction de perte sur un ensemble de validation permet d'interrompre l'entraînement
dès que les performances sur les 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 de mémoriser des 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, ce qui permet d'obtenir une estimation plus fiable de ses performances.
Exemples concrets
Le surajustement 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 appliquée à la santé, un modèle entraîné à detect
le
cancer de la peau pourrait être trop sensible aux conditions d'éclairage ou aux repères présents sur 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 ne pas identifier correctement les lésions malignes, car
il s'appuie sur des indices contextuels non pertinents.
-
Prévisions financières: un modèle de prévision du cours des actions peut être surajusté par rapport aux tendances historiques du marché
qui ont été influencées par un événement spécifique et non reproductible (comme une crise économique ponctuelle). Un tel modèle serait susceptible de
ne pas prédire avec précision les mouvements futurs des actions, car il mémorise les anomalies passées plutôt que d'apprendre
les dynamiques fondamentales du marché.
Exemple de code : arrêt précoce avec YOLO26
À l'aide de la Ultralytics ou de scripts d'entraînement locaux, vous pouvez
éviter le surajustement en définissant une patience d'arrêt précoce. Cela permet d'arrêter l'entraînement si l'aptitude 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 connexes
-
Généralisation: capacité d'un modèle à s'adapter et à fonctionner correctement sur des données nouvelles, jamais vues auparavant,
ce qui est le contraire du surapprentissage.
-
Validation croisée: technique permettant d'évaluer dans quelle mesure les résultats d'une analyse statistique peuvent
être généralisés à 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 à l'ensemble d'apprentissage donné
et éviter le surajustement.