Ist die Kreuzvalidierung ein geeigneter Ersatz für das Validierungsset?


27

In der Textklassifikation habe ich ein Trainingsset mit ca. 800 Samples und ein Testset mit ca. 150 Samples. Das Test-Set wurde noch nie verwendet und wartet darauf, bis zum Ende verwendet zu werden.

Ich verwende das gesamte 800-Muster-Trainingsset mit 10-facher Kreuzvalidierung, während ich Klassifikatoren und Funktionen abstimme und optimiere. Dies bedeutet, dass ich kein separates Validierungsset habe, aber jedes Mal, wenn das Zehnfache verstrichen ist, wird automatisch ein Validierungsset ausgewählt.

Nachdem ich mit allem zufrieden bin und in die letzte Bewertungsphase eintreten möchte, trainiere ich meine Klassifikatoren an den gesamten 800 Proben. Und testen Sie das 150-Proben-Testset.

Ist nach meinem Verständnis die Verwendung der Kreuzvalidierung in der Textklassifizierung korrekt? Ist diese Praxis gültig?

Eine andere Frage zur Kreuzvalidierung ist:

anstelle des 10-fachen habe ich auch versucht, einen als allgemeinen Leistungsindikator wegzulassen. Da es für "Lass eins aus" nicht möglich ist, Informationen über f1 / Präzision / Rückruf zu haben, frage ich mich, in welchem ​​Verhältnis die Genauigkeit von "Lass eins aus" zu den 10-fachen Metriken steht.

Alle Einsichten wäre sehr dankbar.


Bearbeiten:

Dies ist eine schöne Einführung in die Kreuzvalidierung. Es verweist auch auf andere Forschungsarbeiten.


3
Ausgelassene Schätzer sind unvoreingenommen, während eine 10-fache Kreuzvalidierung tendenziell zu einer Verzerrung führt (in Richtung geringerer Fehler). Die Unparteilichkeit geht jedoch mit einer hohen Varianz einher.
blubb

@ Simon, ich denke es hängt von der Komplexität des Problems ab. Nicht wahr
Biostat

@blubb: LOO kann in bestimmten Situationen eine große pessimistische Tendenz aufweisen. Die Varianz von LOO und ein einzelner Lauf mit 10-fachem CV sind normalerweise sehr ähnlich. Die optimistische Verzerrung (zu niedrige Fehlerschätzungen) beruht hier nicht auf der Wahl des Resamplings, sondern auf der Tatsache, dass die Kreuzvalidierung bereits für die datengetriebene Optimierung verwendet wird. Danach ist eine weitere unabhängige Validierung erforderlich. Das kann auch eine "äußere" Schleife der Kreuzvalidierung sein (ohne optimistische Vorurteile!)
cbeleites unterstützt Monica

Antworten:


15

Sie haben die Arbeitsweise mit der Kreuzvalidierung in der Tat richtig beschrieben. Tatsächlich haben Sie das Glück, am Ende eine vernünftige Validierung festgelegt zu haben, da häufig eine Kreuzvalidierung verwendet wird, um ein Modell zu optimieren, aber keine "echte" Validierung durchgeführt wird.

Wie @Simon Stelling in seinem Kommentar sagte, führt die Kreuzvalidierung zu geringeren geschätzten Fehlern (was sinnvoll ist, weil Sie die Daten ständig wiederverwenden), aber zum Glück ist dies bei allen Modellen der Fall, so dass Katastrophen ausgeschlossen sind (dh Fehler werden nur reduziert) Bei einem "schlechten" Modell ist die Auswahl des Modells, das bei einem kreuzvalidierten Kriterium am besten abschneidet, in der Regel auch das beste Modell "für den Ernstfall".

Eine Methode, die manchmal verwendet wird, um die niedrigeren Fehler etwas zu korrigieren, insbesondere wenn Sie nach sparsamen Modellen suchen, ist die Auswahl des kleinsten Modells / der einfachsten Methode, für die der kreuzvalidierte Fehler innerhalb einer SD vom (kreuzvalidierten) Optimum liegt. Da es sich bei der Kreuzvalidierung selbst um eine Heuristik handelt, sollte sie mit Bedacht verwendet werden. (Wenn dies eine Option ist: Zeichnen Sie Ihre Fehler anhand Ihrer Optimierungsparameter auf. Dadurch erhalten Sie eine ungefähre Vorstellung davon, ob Sie akzeptable Ergebnisse erzielen.)

Angesichts der Abwärtsneigung der Fehler ist es wichtig , die Fehler oder andere Leistungsindikatoren aus der Kreuzvalidierung nicht zu veröffentlichen, ohne zu erwähnen, dass diese aus der Kreuzvalidierung stammen (obwohl ehrlich gesagt: Ich habe zu viele Veröffentlichungen gesehen, in denen das nicht erwähnt wird Leistungsmessung wurde von der Überprüfung der Leistung auf dem ursprünglichen Datensatz entweder erhalten --- so erwähnensKreuzValidierung Ihrer Ergebnisse wert tatsächlich macht mehr ). Für Sie ist dies kein Problem, da Sie einen Validierungssatz haben.

Eine letzte Warnung: Wenn Ihre Modellanpassung einige enge Konkurrenten hervorbringt, ist es eine gute Idee, deren Leistung im Nachhinein anhand Ihres Validierungssatzes zu überprüfen, aber gründen Sie Ihre endgültige Modellauswahl nicht darauf Gewissensbisse, aber Ihr "endgültiges" Modell muss ausgewählt worden sein, bevor Sie sich jemals das Validierungsset ansehen.

Zu Ihrer zweiten Frage: Ich glaube, Simon hat Ihnen in seinem Kommentar alle Antworten gegeben, die Sie benötigen, aber um das Bild zu vervollständigen: Wie so oft kommt es auf den Kompromiss zwischen Voreingenommenheit und Varianz an. Wenn Sie wissen, dass Sie im Durchschnitt das richtige Ergebnis erzielen (Unparteilichkeit), ist der Preis in der Regel so, dass jede Ihrer individuellen Berechnungen ziemlich weit davon entfernt ist (hohe Varianz). In den alten Tagen war Unparteilichkeit das A und O, in den heutigen Tagen hat man manchmal eine (kleine) Abweichung akzeptiert (so dass Sie nicht einmal wissen, dass der Durchschnitt Ihrer Berechnungen zum richtigen Ergebnis führt), wenn dies der Fall ist führt zu einer geringeren Varianz. Die Erfahrung hat gezeigt, dass das Gleichgewicht bei 10-facher Kreuzvalidierung akzeptabel ist. Für Sie wäre die Verzerrung nur ein Problem für Ihre Modelloptimierung, da Sie das Kriterium anschließend (unvoreingenommen) auf dem Validierungssatz abschätzen können. Daher gibt es kaum einen Grund, die Kreuzvalidierung nicht zu verwenden.


"Aber Ihr" letztes "Modell muss ausgewählt worden sein, bevor Sie sich den Validierungssatz ansehen." Nett.
Mooncrater
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.