Cuando se trata de ajustar modelos a un gran conjunto de datos, el consejo habitual es dividir los datos en tres partes: el conjunto de datos de entrenamiento, el de validación y el de prueba.
Esto se debe a que los modelos suelen tener tres "niveles" de parámetros: el primer "parámetro" es la clase de modelo (por ejemplo, SVM, red neuronal, bosque aleatorio), el segundo conjunto de parámetros son los parámetros de "regularización" o "hiperparámetros" (por ejemplo, el coeficiente de penalización del lazo, la elección del núcleo, la estructura de la red neuronal) y el tercer conjunto son los que suelen considerarse los "parámetros" (por ejemplo, los coeficientes de las covariables).
Dada una clase de modelo y una elección de hiperparámetros, se seleccionan los parámetros eligiendo los que minimizan el error en el conjunto de entrenamiento. Dada una clase de modelo, se afinan los hiperparámetros minimizando el error en el conjunto de validación. Se selecciona la clase de modelo en función del rendimiento en el conjunto de pruebas.
Pero, ¿por qué no más particiones? A menudo uno puede dividir los hiperparámetros en dos grupos, y utilizar una "validación 1" para ajustarse al primero y una "validación 2" para ajustarse al segundo. O incluso se podría tratar el tamaño de la división de los datos de entrenamiento/validación como un hiperparámetro a ajustar.
¿Es esto ya una práctica común en algunas aplicaciones? ¿Hay algún trabajo teórico sobre la partición óptima de los datos?