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?