A propos des ensembles de train, de validation et de test dans l’apprentissage automatique
On octobre 17, 2021 by adminCet article vise à être une courte introduction pour tous ceux qui ont besoin de connaître la différence entre les diverses divisions de l’ensemble de données tout en formant des modèles d’apprentissage automatique.
Pour cet article, je citerais les définitions de base de l’excellent article de Jason Brownlee sur le même sujet, il est assez complet, consultez-le pour plus de détails.
Données d’entraînement : L’échantillon de données utilisé pour ajuster le modèle.
Le jeu de données réel que nous utilisons pour former le modèle (poids et biais dans le cas d’un réseau neuronal). Le modèle voit et apprend à partir de ces données.
Jeu de données de validation
Jeu de données de validation : L’échantillon de données utilisé pour fournir une évaluation non biaisée de l’ajustement d’un modèle sur l’ensemble de données d’entraînement tout en réglant les hyperparamètres du modèle. L’évaluation devient plus biaisée à mesure que l’habileté sur l’ensemble de données de validation est incorporée dans la configuration du modèle.
L’ensemble de validation est utilisé pour évaluer un modèle donné, mais c’est pour une évaluation fréquente. En tant qu’ingénieurs en apprentissage automatique, nous utilisons ces données pour affiner les hyperparamètres du modèle. Par conséquent, le modèle voit occasionnellement ces données, mais il n’en tire jamais de « leçons ». Nous utilisons les résultats de l’ensemble de validation et mettons à jour les hyperparamètres de niveau supérieur. L’ensemble de validation affecte donc un modèle, mais seulement indirectement. L’ensemble de validation est également connu sous le nom d’ensemble de développement ou d’ensemble de développement. Cela a du sens puisque cet ensemble de données aide pendant la phase de « développement » du modèle.
Ensemble de données de test
Ensemble de données de test : L’échantillon de données utilisé pour fournir une évaluation non biaisée d’un modèle final ajusté sur l’ensemble de données d’entraînement.
L’ensemble de données de test fournit l’étalon-or utilisé pour évaluer le modèle. Il n’est utilisé qu’une fois qu’un modèle est complètement formé(en utilisant les ensembles de formation et de validation). L’ensemble de test est généralement utilisé pour évaluer les modèles concurrents (par exemple, dans de nombreuses compétitions Kaggle, l’ensemble de validation est publié initialement avec l’ensemble de formation et l’ensemble de test réel n’est publié que lorsque la compétition est sur le point de se terminer, et c’est le résultat du modèle sur l’ensemble de test qui décide du gagnant). Souvent, le jeu de validation est utilisé comme jeu de test, mais ce n’est pas une bonne pratique. L’ensemble de test est généralement bien conservé. Il contient des données soigneusement échantillonnées qui couvrent les différentes classes auxquelles le modèle serait confronté, lorsqu’il est utilisé dans le monde réel.
A propos du ratio de division des ensembles de données
Maintenant que vous savez ce que font ces ensembles de données, vous pourriez chercher des recommandations sur la façon de diviser votre ensemble de données en ensembles Train, Validation et Test.
Cela dépend principalement de 2 choses. Premièrement, le nombre total d’échantillons dans vos données et deuxièmement, sur le modèle réel que vous entraînez.
Certains modèles ont besoin de données substantielles pour s’entraîner, donc dans ce cas, vous optimiserez pour les plus grands ensembles d’entraînement. Les modèles avec très peu d’hyperparamètres seront faciles à valider et à régler, donc vous pouvez probablement réduire la taille de votre ensemble de validation, mais si votre modèle a beaucoup d’hyperparamètres, vous voudriez avoir un grand ensemble de validation aussi bien(bien que vous devriez également considérer la validation croisée). De plus, s’il se trouve que vous avez un modèle sans hyperparamètres ou ceux qui ne peuvent pas être facilement réglés, vous n’avez probablement pas besoin d’un ensemble de validation aussi !
En somme, comme beaucoup d’autres choses dans l’apprentissage automatique, le rapport de division formation-test-validation est également assez spécifique à votre cas d’utilisation et il devient plus facile de faire le juge ment comme vous vous entraînez et construisez de plus en plus de modèles.
Note sur la validation croisée : De nombreuses fois, les gens divisent d’abord leur ensemble de données en 2 – Train et Test. Après cela, ils gardent de côté l’ensemble de test, et choisissent aléatoirement X% de leur ensemble de données de formation pour être l’ensemble de formation réel et le reste (100-X) % pour être l’ensemble de validation, où X est un nombre fixe (disons 80%), le modèle est alors itérativement formé et validé sur ces différents ensembles. Il existe plusieurs façons de procéder, et c’est ce qu’on appelle communément la validation croisée. En gros, vous utilisez votre ensemble d’entraînement pour générer plusieurs divisions des ensembles d’entraînement et de validation. La validation croisée évite le surajustement et devient de plus en plus populaire, la validation croisée K-fold étant la méthode la plus populaire de validation croisée. Consultez cette page pour en savoir plus.
Laisser un commentaire