Quervalidierung einschließlich Schulung, Validierung und Prüfung. Warum brauchen wir drei Teilmengen?


28

Ich habe eine Frage zum Cross-Validation-Prozess. Ich bin mitten in einem Kurs des Maschinellen Lernens auf der Cursera. Eines der Themen ist die Kreuzvalidierung. Ich fand es etwas schwierig zu folgen. Ich weiß, warum wir einen Lebenslauf benötigen, weil wir möchten, dass unsere Modelle auch für zukünftige (unbekannte) Daten geeignet sind und der Lebenslauf keine Überanpassung zulässt. Der Prozess selbst ist jedoch verwirrend.

Ich habe verstanden, dass ich Daten in drei Untergruppen aufspalte: Training, Validierung und Test. Train and Validation ist es, die optimale Komplexität eines Modells zu finden. Was ich nicht verstehe, ist die dritte Untergruppe. Ich verstehe, dass ich eine Reihe von Funktionen für das Modell nehme, es trainiere und in der Teilmenge Validierung validiere und nach der Mindestkostenfunktion suche, wenn ich die Struktur ändere. Als ich es gefunden habe, teste ich das Modell in der Teilmenge Test. Wenn ich bereits die minimale Kostenfunktion für die Teilmenge "Validierung" gefunden habe, warum muss ich sie dann erneut in der Teilmenge "Test" testen?

Könnte das bitte jemand für mich klären?

Vielen Dank


Sie werden das Papier und die Diskussion in [1] für Ihre Frage nicht irrelevant finden. Aus dem Gedächtnis werden drei Teilmengen erwähnt: die erste zur Formulierung eines Modells, die zweite zur Schätzung seiner Parameter und die dritte zur Validierung durch Vorhersage. [1] Chatfield, C. Modellunsicherheit, Data Mining und statistische Inferenz (mit Diskussion) Journal der Royal Statistical Society. Serie A (Statistik in der Gesellschaft), 1995, 158, 419-466
Winterschlaf


Prost! Der Thread hinter diesem Link ist auch eine gute Quelle für das Verständnis dieser :)
Celdor

Antworten:


37
  • Das Trainingsset wird verwendet, um die optimalen Parameter für ein bestimmtes Modell auszuwählen. Beachten Sie, dass einige gegebenen Satz von Parametern die Bewertung der Trainingssatz verwenden , sollten Sie eine unvoreingenommene Schätzung der Kostenfunktion geben - es ist der Akt der Wahl der Parameter , die Optimierung der Schätzung der Kostenfunktion basierend auf dem Trainingssatz , dass spannt die Schätzung sie bieten . Es wurden die Parameter ausgewählt, die am besten auf dem Trainingssatz abschneiden. Daher ist die scheinbare Leistung dieser Parameter, wie sie auf dem Trainingssatz bewertet wird, zu optimistisch.
  • Nach dem Training mit dem Trainingsset wird anhand des Validierungssets das beste Modell ausgewählt. Beachten Sie erneut, dass die Bewertung eines bestimmten Modells mithilfe des Validierungssatzes eine repräsentative Schätzung der Kostenfunktion liefern sollte. Es ist der Vorgang der Auswahl des Modells, das am besten mit dem Validierungssatz funktioniert, der die von ihnen bereitgestellte Schätzung beeinflusst. Es wurde das Modell ausgewählt, das am besten für den Validierungssatz geeignet ist. Daher ist die im Validierungssatz ermittelte scheinbare Leistung dieses Modells zu optimistisch.
  • Nachdem trainierte jedes Modell mit dem Trainingssatz und gewählt das beste Modell mit dem Validierungssatz, sagt das Test - Set Ihnen , wie gut Sie Ihre endgültige Wahl des Modells ist. Sie erhalten eine unvoreingenommene Schätzung der tatsächlichen Leistung, die Sie zur Laufzeit erhalten. Dies ist aus vielen Gründen wichtig. Sie können das Trainingsset hierfür nicht verwenden, da die Parameter darauf ausgerichtet sind. Und Sie können das Validierungsset dafür nicht verwenden, da das Modell selbst auf diese ausgerichtet ist. Daher die Notwendigkeit eines dritten Satzes.

Ich kann das jetzt sehen. Vielen Dank. Ich habe nicht darüber nachgedacht, dass ich eine weitere Teilmenge benötigen würde, um eine unvoreingenommene Leistung in Bezug auf die Modellstruktur zu erzielen. Prost :) Es ist eine sehr gute Erklärung.
Celdor

Bedeutet dies, dass das endgültige Testset keine Rolle bei der Optimierung des Modells oder der Auswahl des besten Modells spielt?
Anmol Singh Jaggi

1
Tatsächlich sollte es nur zur Schätzung der erwarteten Leistung verwendet werden. Wenn Sie also das Ergebnis der Leistung auf dem Testset nicht mögen, sollten Sie wirklich den Drang vermeiden, Ihr Modell zu optimieren, um das Testergebnis zu optimieren, da Ihr Modell erneut voreingenommen wäre.
Ytsen de Boer

12

Wenn ich bereits die minimale Kostenfunktion für die Teilmenge "Validierung" gefunden habe, warum muss ich sie dann erneut für die Teilmenge "Test" testen?

Wegen zufälliger Fehler: Normalerweise haben Sie nur eine begrenzte Anzahl von Fällen.

Die Optimierung der Validierungsleistung (innerer Test) bedeutet, dass Sie möglicherweise zu stark an diesen inneren Test angepasst sind. Der innere Testsatz trägt zur Schätzung des endgültigen Modells bei und ist daher nicht unabhängig vom Modell.

Dies bedeutet, dass Sie einen anderen (äußeren) Testsatz benötigen, der vom gesamten Modellierungsverfahren unabhängig ist (einschließlich aller Optimierungs- und datengesteuerten Vorverarbeitungs- oder Modellauswahlprozesse), wenn Sie die Generalisierungseigenschaften schätzen möchten.

Ich empfehle Ihnen, eine Simulation durchzuführen und die drei verschiedenen möglichen Fehlerschätzungen zu vergleichen

  • Resubstitution: Die Vorhersage des Zugsatzes
    misst die Anpassungsgüte
  • Innerer Test (in Ihrer Nomenklatur: Validierung) festgelegt: Die Qualität, die der Optimierer für erreicht hält
  • äußerer Testsatz: Generalisierungsfehler, unabhängig vom Modelltraining.

In einer Simulation können Sie sie problemlos auch mit einem geeigneten, großen, unabhängig erstellten Testsatz vergleichen. Wenn der Aufbau korrekt ist, sollte der äußere Test unverzerrt sein (bezogen auf das ausgewertete Ersatzmodell, nicht auf ein "endgültiges" Modell, das auf dem gesamten Datensatz basiert). Der innere Test ist in der Regel optimistisch und die Resubstitution noch optimistischer.

In meinem Bereich würde der innere Test den Verallgemeinerungsfehler leicht um einen Faktor von 2 - 5 unterschätzen (viel mehr für aggressive Optimierungsschemata).


Hinweis: Die Nomenklatur der Sätze ist nicht universell. In meinem Fachgebiet (analytische Chemie) bedeutet Validierung normalerweise den Nachweis der Leistung des endgültigen Verfahrens - also mehr, was Ihr "Test" -Set als was Ihr "Validierungs" -Set tut.

Ich spreche daher lieber vom inneren und äußeren Testsatz oder vom Optimierungstestsatz (= innerer Testsatz), und dann würde der Validierungssatz den äußeren Testsatz bedeuten.


2

Während des Trainings des Modells muss man Metaparameter für das Modell auswählen (zum Beispiel Regularisierungsparameter) oder sogar aus mehreren Modellen auswählen. In diesem Fall wird die Validierungsuntermenge für die Parameterauswahl verwendet, die Testuntermenge jedoch für die endgültige Vorhersageschätzung.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.