Surapprentissage

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Surapprentissage dans un apprentissage supervisé. En rouge, l'erreur sur l'ensemble de validation. En bleu, l'erreur d'apprentissage. Si l'erreur de validation augmente alors que l'erreur d'apprentissage continue à diminuer alors il y a un risque de surapprentissage.

Le surapprentissage ou sur-ajustement (en anglais « overfitting ») est un problème pouvant survenir dans les méthodes mathématiques et informatiques d'apprentissage automatique supervisé comme, par exemple, les réseaux de neurones. Il est en général provoqué par un mauvais dimensionnement de la structure utilisée pour classifier. De par sa trop grande capacité à stocker des informations, une structure dans une situation de surapprentissage aura de la peine à généraliser les caractéristiques des données. Elle se comporte alors comme une table contenant tous les échantillons utilisés lors de l'apprentissage et perd ses pouvoirs de prédiction sur de nouveaux échantillons.

Éviter le surapprentissage[modifier | modifier le code]

Pour limiter ce genre de problèmes dans le cas des réseaux de neurones, on doit veiller à utiliser un nombre adéquat de neurones et de couches cachées. Cependant, ces paramètres sont difficiles à déterminer à l'avance.

Validation croisée[modifier | modifier le code]

Pour détecter un surapprentissage, on sépare les données en deux sous-ensembles : l'ensemble d'apprentissage et l'ensemble de validation. L'ensemble d'apprentissage comme son nom l'indique permet de faire évoluer les poids du réseau de neurones avec par exemple une rétropropagation. L'ensemble de validation n'est pas utilisé pour l'apprentissage mais permet de vérifier la pertinence du réseau avec des échantillons qu'il ne connait pas.

On peut vraisemblablement parler de surapprentissage si l'erreur de prédiction du réseau sur l'ensemble d'apprentissage diminue alors que l'erreur sur la validation augmente de manière significative. Cela signifie que le réseau continue à améliorer ses performances sur les échantillons d'apprentissage mais perd son pouvoir de prédiction sur ceux provenant de la validation.

Pour avoir un réseau qui généralise bien, on arrête l'apprentissage dès que l'on observe cette divergence entre les deux courbes. On peut aussi diminuer la taille du réseau et recommencer l'apprentissage. Les méthodes de régularisation comme le weight decay permettent également de limiter la spécialisation.

Régularisation[modifier | modifier le code]

Une autre méthode permettant d'éviter le surapprentissage est d'utiliser une forme de régularisation. Durant l'apprentissage, on pénalise les valeurs extrêmes des paramètres, car ces valeurs correspondent souvent à un surapprentissage.

Voir aussi[modifier | modifier le code]

Voir notamment la page Rasoir d'Ockham pour des phénomènes semblables au surapprentissage dans d'autres domaines.