Lorsque vous essayez d'adapter des modèles à un jeu de données volumineux, il est généralement conseillé de partitionner les données en trois parties: le jeu de données d'apprentissage, de validation et de test.
En effet, les modèles ont généralement trois "niveaux" de paramètres: le premier "paramètre" est la classe du modèle (par exemple, SVM, réseau de neurones, forêt aléatoire), le second ensemble de paramètres est constitué des paramètres de "régularisation" ou "hyperparamètres" ( par exemple le coefficient de pénalité de lasso, le choix du noyau, la structure du réseau neuronal) et le troisième ensemble sont ce qui est généralement considéré comme les "paramètres" (par exemple les coefficients pour les covariables).
A partir d'une classe de modèle et d'un choix d'hyperparamètres, on sélectionne les paramètres en choisissant les paramètres minimisant les erreurs sur le set d'apprentissage. Avec une classe de modèle, on règle les hyperparamètres en minimisant les erreurs sur le jeu de validation. On sélectionne la classe de modèle en fonction des performances sur l'ensemble de test.
Mais pourquoi pas plus de partitions? Souvent, on peut diviser les hyperparamètres en deux groupes et utiliser une "validation 1" pour s’adapter au premier et une "validation 2" pour s’adapter au second. On pourrait même considérer la taille des données d’entraînement / de validation divisée comme un hyperparamètre à ajuster.
Est-ce déjà une pratique courante dans certaines applications? Existe-t-il des travaux théoriques sur le partitionnement optimal des données?
la source
C'est une question intéressante, et j'ai trouvé que c'était utile avec la réponse de @Wayne.
A ma connaissance, la division du jeu de données en une partition différente dépend du but de l'auteur et des exigences du modèle dans les applications du monde réel.
Normalement, nous avons deux problèmes: la formation et les tests. La formation est utilisée pour trouver les paramètres des modèles ou pour s’adapter aux modèles. Le test est utilisé pour évaluer les performances du modèle dans une donnée invisible (ou réelle).
Si nous ne faisons qu'une étape dans la formation, il est évident qu'il existe un processus de formation et de test (ou de validation).
Cependant, cette façon de procéder risque de poser un problème de sur-adaptation lorsque le modèle est formé avec un seul jeu de données, une fois. Cela peut entraîner une instabilité du modèle dans le problème du monde réel. Un moyen de résoudre ce problème consiste à valider le modèle dans le jeu de données d'apprentissage. Cela signifie que nous divisons le datset d'entraînement en différents plis et en gardons un pour tester le modèle formé avec d'autres plis. Le gagnant est maintenant celui qui donne le minimum de pertes (basé sur notre propre fonction objective) dans le processus de CV complet. De cette manière, nous pouvons nous assurer de minimiser les risques de sur-adaptation dans le processus de formation et de sélectionner le bon gagnant. L'ensemble de test est à nouveau utilisé pour évaluer le gagnant dans les données invisibles.
la source