Warum kann ich den Testsatz nicht als Validierungssatz verwenden?

8

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?

John77
quelle
8
Mein Kunde hat gerade Anzeigen in vier verschiedenen Umschlagfarben verschickt, 1000 von jeder Farbe. Die Renditen der orangefarbenen Umschläge betrugen 12 von 1000, während die Renditen der anderen drei Farben zwischen 8 und 11 von 1000 lagen. Mein Modell sagt daher voraus, dass orangefarbene Umschläge die besten Renditen erzielen. Ich werde beweisen, dass dies ein gutes Modell ist, indem ich es auf meine Daten anwende: Ja, es ist zu 100% korrekt; Die Renditen waren am besten auf den orangefarbenen Umschlägen. Jetzt kann ich mein Marketingbuch veröffentlichen, da ich weiß, dass sein Rat statistisch belegt ist. (Dies ist ein echtes Beispiel aus einem echten Buch.)
whuber
4
Können Sie definieren, wie Sie die Begriffe "Testsatz" und "Validierungssatz" verwenden? (Unterschiedliche Menschen meinen damit unterschiedliche Dinge.) Haben Sie auch ein "Trainingsset"? Wie gelangen Daten in diese verschiedenen Gruppen? Usw.
gung - Reinstate Monica
@gung 1000 Trainingsdaten, 1000 Testdaten. Ich trainiere das Modell, nach jeder Epoche versuche ich das Modell anhand von Validierungsdaten = Testdaten. Eine Alternative sind 950 Trainingsdaten, 50 Validierungsdaten. Nach jeder Epoche versuche ich das Modell anhand von Validierungsdaten. Was ist der Unterschied hier?
John77
@ john77 Ich denke, meine Antwort erklärt, was der Unterschied ist - um zu beurteilen, wie sich das Modell auf neue Daten auswirkt, müssen Sie Daten verwenden, die nicht zur Entwicklung des Modells verwendet wurden (z. B. um zu entscheiden, wann das Training
abgebrochen werden soll

Antworten:

7

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 .

RM
quelle
5

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.

seanv507
quelle