Qu'est-ce que le surajustement ?
Le surajustement est un comportement indésirable du machine learning qui se produit lorsque le modèle de machine learning fournit des prédictions précises pour les données d’entraînement mais pas pour les nouvelles données. Lorsque les data scientists utilisent des modèles d'apprentissage automatique pour établir des prévisions, ils entraînent d'abord le modèle sur un ensemble de données connu. Ensuite, sur la base de ces informations, le modèle tente de prédire les résultats pour de nouveaux ensembles de données. Un modèle de surajustement peut donner des prévisions inexactes et ne pas être performant pour tous les types de nouvelles données.
Pourquoi le surajustement se produit-il ?
Vous n'obtenez des prévisions précises que si le modèle de machine learning se généralise à tous les types de données de son domaine. Le surajustement se produit lorsque le modèle ne peut pas être généralisé et s'ajuste trop étroitement au jeu de données d'entraînement. Le surajustement est dû à plusieurs raisons, telles que les suivantes :
• La taille des données d'entraînement est trop petite et ne contient pas suffisamment d'échantillons de données pour représenter avec précision toutes les valeurs de données d'entrée possibles.
• Les données d'entraînement contiennent de grandes quantités d'informations non pertinentes, appelées données bruyantes.
• Le modèle s'entraîne trop longtemps sur un échantillon de jeu de données.
• La complexité du modèle est élevée, de sorte qu'il apprend le bruit contenu dans les données d'entraînement.
Exemples de surajustement
Prenons un cas d'utilisation dans lequel un modèle de machine learning doit analyser des photos et identifier celles qui contiennent des chiens. Si le modèle de machine learning a été entraîné sur un ensemble de données contenant la majorité des photos montrant des chiens à l'extérieur dans des parcs, il peut apprendre à utiliser l'herbe comme caractéristique de classification et peut ne pas reconnaître un chien à l'intérieur d'une pièce.
Un autre exemple de surajustement est un algorithme de machine learning qui prédit les résultats scolaires et les résultats d'un étudiant universitaire en analysant plusieurs facteurs tels que le revenu familial, les résultats scolaires antérieurs et les qualifications académiques des parents. Cependant, les données du test incluent uniquement les candidats d'un sexe ou d'un groupe ethnique spécifique. Dans ce cas, le surajustement entraîne une baisse de précision de la prédiction de l'algorithme pour les candidats ayant un sexe ou une origine ethnique en dehors du jeu de données de test.
Comment détecter le surajustement ?
La meilleure méthode pour détecter les modèles de surajustement consiste à tester les modèles de machine learning sur davantage de données avec une représentation complète des valeurs et des types de données d'entrée possibles. Généralement, une partie des données d'entraînement est utilisée comme données de test pour vérifier le surajustement. Un taux d'erreur élevé dans les données de test indique un surajustement. Une méthode de test du surajustement est présentée ci-dessous.
Validation croisée de K échantillons
La validation croisée est l'une des méthodes de test utilisées dans la pratique. Dans cette méthode, les scientifiques des données divisent le jeu d'entraînements en K sous-ensembles de taille égale ou exemples de jeux appelés échantillons. Le processus d'entraînement consiste en une série d'itérations. Au cours de chaque itération, les étapes sont les suivantes :
1. Conservez un sous-ensemble comme données de validation et entraînez le modèle de machine learning sur les sous-ensembles K-1 restants.
2. Observez les performances du modèle par rapport à l'exemple de validation.
3. Évaluez les performances du modèle sur la base de la qualité des données de sortie.
Les itérations se répètent jusqu'à ce que vous testiez le modèle sur chaque exemple de jeu. Vous faites ensuite la moyenne des scores sur toutes les itérations pour obtenir l'évaluation finale du modèle prédictif.
Comment prévenir le surajustement ?
Vous pouvez éviter le surajustement en diversifiant et en adaptant votre jeu de données d'entraînement ou en utilisant d'autres stratégies de science des données, comme celles présentées ci-dessous.
Arrêt anticipé
L'arrêt anticipé interrompt la phase d'entraînement avant que le modèle de machine learning n'apprenne le bruit des données. Cependant, il est important de choisir le bon moment, sinon le modèle ne donnera toujours pas de résultats précis.
Élagage
Vous pouvez identifier plusieurs caractéristiques ou paramètres qui ont un impact sur la prévision finale lorsque vous créez un modèle. La sélection des caractéristiques (ou élagage) identifie les fonctionnalités les plus importantes du jeu d'entraînement et élimine celles qui ne sont pas pertinentes. Par exemple, pour prédire si une image est celle d'un animal ou d'un humain, vous pouvez examiner divers paramètres d'entrée tels que la forme du visage, la position des oreilles, la structure du corps, etc. Vous pouvez donner la priorité à la forme du visage et ignorer la forme des yeux.
Régularisation
La régularisation est un ensemble de techniques d'entraînement/optimisation visant à réduire le surajustement. Ces méthodes visent à éliminer les facteurs qui n'ont pas d'impact sur les résultats des prévisions en évaluant les entités en fonction de leur importance. Par exemple, les calculs mathématiques appliquent une valeur de pénalité aux entités ayant un impact minimal. Prenons l'exemple d'un modèle statistique qui tente de prédire les prix des logements d'une ville en 20 ans. La régularisation donnerait une valeur de pénalité inférieure à des caractéristiques telles que la croissance démographique et le revenu annuel moyen, mais une valeur de pénalité plus élevée à la température annuelle moyenne de la ville.
Assemblage
L'assemblage combine des prédictions issues de plusieurs algorithmes de machine learning distincts. Certains modèles sont appelés apprenants faibles parce que leurs résultats sont souvent inexacts. Les méthodes d'ensemble combinent tous les apprenants faibles pour obtenir des résultats plus précis. Elles utilisent plusieurs modèles pour analyser des échantillons de données et sélectionner les résultats les plus précis. Les deux principales méthodes d'ensemble sont le bagging et le boosting. Le boosting entraîne différents modèles de machine learning les uns après les autres pour obtenir le résultat final, tandis que le bagging les entraîne en parallèle.
Augmentation des données
L'augmentation des données est une technique de machine learning qui modifie légèrement les exemples de données chaque fois que le modèle les traite. Pour ce faire, vous pouvez modifier légèrement les données d'entrée. Lorsqu'elle est effectuée avec modération, l'augmentation des données fait en sorte que les jeux d'entraînement apparaissent comme uniques par rapport au modèle et empêche le modèle d'apprendre leurs caractéristiques. Par exemple, en appliquant des transformations telles que la translation, le retournement et la rotation aux images d'entrée.
Qu'est-ce que le sous-ajustement ?
Le sous-ajustement est un autre type d'erreur qui se produit lorsque le modèle ne peut pas déterminer une relation significative entre les données d'entrée et de sortie. Vous obtenez des modèles sous-ajustés s'ils n'ont pas été entraînés pendant la durée appropriée sur un grand nombre de points de données.
Comparaison entre sous-ajustement et surajustement
Les modèles sous-ajustés présentent un biais élevé : ils donnent des résultats inexacts à la fois pour les données d'entraînement et pour le jeu de tests. D'autre part, les modèles de surajustement présentent une variance élevée : ils donnent des résultats précis pour le jeu d'entraînement, mais pas pour le jeu de tests. Un entraînement plus intensif du modèle entraîne moins de biais, mais la variance peut augmenter. Les scientifiques des données cherchent à trouver le juste milieu entre le sous-ajustement et le surajustement lors de l'ajustement d'un modèle. Un modèle bien ajusté peut rapidement établir la tendance dominante pour les jeux de données visibles et invisibles.
Comment AWS peut-il minimiser les erreurs de surajustement dans vos modèles de machine learning ?
Vous pouvez utiliser Amazon SageMaker pour créer, entraîner et déployer des modèles de machine learning pour tous les cas d'utilisation avec une infrastructure, des outils et des flux de travail entièrement gérés. Amazon SageMaker dispose d'une fonctionnalité intégrée appelée Amazon SageMaker Debugger qui analyse automatiquement les données générées pendant l'entraînement, telles que les entrées, les sorties et les transformations. Par conséquent, elle peut détecter et signaler le surajustement et d'autres inexactitudes sans intervention manuelle.
Par exemple, vous pouvez :
- arrêter automatiquement le processus d'entraînement lorsque la précision souhaitée est atteinte ;
- capturer les métriques d'entraînement en temps réel ;
- recevoir des alertes lorsqu'un surajustement est détecté.
Réduisez le temps et le coût de formation des modèles de machine learning. Commencez à utiliser le machine learning sur AWS en créant un compte gratuit dès aujourd'hui.