Wenn Sie versuchen, Modelle an ein großes Dataset anzupassen, besteht der allgemeine Rat darin, die Daten in drei Teile zu unterteilen: das Training, die Validierung und das Test-Dataset.
Dies liegt daran, dass die Modelle normalerweise drei "Parameterebenen" haben: Der erste "Parameter" ist die Modellklasse (z. B. SVM, neuronales Netzwerk, zufällige Gesamtstruktur), der zweite Parametersatz sind die "Regularisierungs" -Parameter oder "Hyperparameter" ( (zB Lasso-Strafkoeffizient, Wahl des Kernels, neuronale Netzwerkstruktur) und die dritte Menge werden üblicherweise als "Parameter" angesehen (zB Koeffizienten für die Kovariaten).
Bei einer gegebenen Modellklasse und einer Auswahl von Hyperparametern wählt man die Parameter aus, indem man die Parameter auswählt, die den Fehler auf dem Trainingssatz minimieren. Bei einer gegebenen Modellklasse werden die Hyperparameter durch Minimieren von Fehlern im Validierungssatz optimiert. Man wählt die Modellklasse nach Leistung auf dem Testset.
Aber warum nicht mehr Partitionen? Oft kann man die Hyperparameter in zwei Gruppen aufteilen und eine "Validierung 1" für die erste und eine "Validierung 2" für die zweite verwenden. Oder man könnte sogar die Größe der aufgeteilten Trainingsdaten / Validierungsdaten als einen zu stimmenden Hyperparameter behandeln.
Ist dies in einigen Anwendungen bereits gängige Praxis? Gibt es theoretische Arbeiten zur optimalen Aufteilung von Daten?