Ich habe irgendwo festgestellt, dass der Testsatz nicht als Validierungssatz verwendet werden darf. Warum?
Der Validierungssatz wird angewendet, wenn die Modellparameter festgelegt sind und das Lernen nur durch Backprop auf dem Trainingsstapel erfolgt.
Warum kann ich Testdaten nicht als Validierungsdaten verwenden?
Antworten:
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 .
quelle
Ich werde mich an neuronale Netze halten. Beachten Sie, dass einige Personen die Validierung und den Test austauschen.
In neuronalen Netzen trainieren Sie, bis sich Ihre Leistung im Validierungssatz verschlechtert ("Training gestoppt"). Daher werden die Gewichte durch den Validierungssatz beeinflusst (nur nicht durch Backprop).
Jetzt testen Sie Ihr Netzwerk mit brandneuen Daten (dem Testsatz), die im Modellierungsprozess überhaupt nicht verwendet wurden. Der gleiche Ansatz gilt auch für die Auswahl von Hyperparametern, z. B. Dropout-Level / L2-Regularisierungsparameter usw.
quelle