Sommaire

Phénomènes de surapprentissage (overfitting)  et de sous-apprentissage (underfitting)

Lorsque l’on cherche une solution à un problème en Machine Learning, nous souhaitons que celle-ci soit généralisable.

C’est-à-dire que la solution trouvée doit être applicable sur des données inconnues de celles utilisées lors de l’apprentissage. Pour cela, il faut que les données utilisées lors de la phase d’apprentissage soient les plus proches possible de la réalité et du problème à résoudre.

Le Surapprentissagesurapprentissage (overfitting) est un phénomène se traduisant par le fait que la solution est trop adaptée aux données d’apprentissage et ne se généralise pas à de nouvelles données qui lui sont inconnues. Ainsi, si pour un algorithme nous obtenons une précision 99 % sur les données d’apprentissage et que nous obtenons une valeur de 20 % sur les données de tests, il y fort à parier que nous sommes en présence d’un surapprentissage. C’est pourquoi il est conseillé de mesurer la précision à la fois sur les données d’apprentissage et sur les données de validation :

predictions = algorithme.predict(X_VALIDATION) 
precision_apprentissage = 
algorithme.score(X_APPRENTISSAGE,Y_APPRENTISSAGE) 
precision = r2_score(Y_VALIDATION, predictions)

Quant au phénomène ...