Ich nehme an, Sie verstehen bereits, warum die Leistung des Trainingssatzes nicht repräsentativ für die tatsächliche Leistung des trainierten Modells ist: Überanpassung. Die Parameter, die Sie während des Trainings lernen, sind auf den Trainingssatz optimiert. Wenn Sie nicht aufpassen, können Sie die Parameter überoptimieren, was zu einem Modell führt, das auf dem Trainingssatz wirklich, wirklich gut ist, aber nicht auf völlig unsichtbare reale Daten verallgemeinert.
In der Praxis müssen nicht nur die "Parameter" der Trainingsmethode für ein Lernbeispiel angegeben werden. Sie haben auch Hyperparameter. Diese Hyperparameter sind möglicherweise ein expliziter Teil der Modellanpassung (wie die Lernrate), aber Sie können auch andere Optionen als "Hyperparameter" anzeigen: Wählen Sie eine SVM oder ein neuronales Netzwerk? Wenn Sie ein vorzeitiges Anhalten implementieren, an welchem Punkt hören Sie auf?
Genau wie bei der Überanpassung der Parameter im Trainingssatz können Sie die Hyperparameter an den Validierungssatz anpassen . Sobald Sie die Ergebnisse der Methode im Validierungssatz verwenden, um zu informieren, wie Sie modellieren, haben Sie jetzt die Möglichkeit, sich an die Kombination aus Training und Validierungssatz anzupassen. Vielleicht ist dieser spezielle Validierungssatz mit einer SVM besser als der allgemeine Fall.
Dies ist der Hauptgrund, warum Benutzer die Validierungs- und Testsätze trennen. Wenn Sie während der Modellanpassung ein Set verwenden - selbst bei der Stufe "hmm, diese Methode funktioniert nicht so gut, vielleicht sollte ich es versuchen ..." - sind die Ergebnisse, die Sie mit diesem Set erhalten, nicht vollständig bezeichnend für das Allgemeine Ergebnisse erhalten Sie mit völlig neuen Daten. Deshalb halten Sie einen Bruchteil der Daten , bis die aus sehr Ende, vorbei an dem Punkt , wo Sie Entscheidungen machen was zu tun ist .