Gegenvalidierung in Klartext?


Antworten:


54

Betrachten Sie die folgende Situation:

Ich möchte mit der U-Bahn in mein Büro fahren. Mein Plan ist, mein Auto zu nehmen, in der U-Bahn zu parken und dann mit dem Zug zu meinem Büro zu fahren. Mein Ziel ist es, jeden Tag um 8.15 Uhr mit dem Zug zu fahren, damit ich pünktlich in mein Büro komme. Ich muss Folgendes entscheiden: (a) die Zeit, zu der ich von meinem Zuhause abreisen muss, und (b) die Route, die ich nehmen werde, um zum Bahnhof zu fahren.

Im obigen Beispiel habe ich zwei Parameter (dh Abfahrtszeit und Route zur Station) und muss diese Parameter so wählen, dass ich die Station um 8.15 Uhr erreiche.

Um das obige Problem zu lösen, kann ich montags, mittwochs und freitags verschiedene Sätze von 'Parametern' (dh unterschiedliche Kombinationen von Abfahrts- und Routenzeiten) ausprobieren, um zu sehen, welche Kombination die 'beste' ist. Die Idee ist, dass ich die beste Kombination, die ich gefunden habe, jeden Tag verwenden kann, um mein Ziel zu erreichen.

Problem der Überanpassung

Das Problem mit dem obigen Ansatz besteht darin, dass ich möglicherweise überanpasse, was im Wesentlichen bedeutet, dass die beste Kombination, die ich identifiziere, in gewissem Sinne für Mo, Mi und Freitag eindeutig sein kann und diese Kombination möglicherweise nicht für Di und Do funktioniert. Eine Überanpassung kann auftreten, wenn ich bei der Suche nach der besten Kombination von Zeiten und Routen einen Aspekt der Verkehrssituation am Montag / Mittwoch / Freitag ausnutze, der am Dienstag und Donnerstag nicht auftritt.

Eine Lösung zur Überanpassung: Cross-Validation

Die Kreuzvalidierung ist eine Lösung für die Überanpassung. Die Idee ist, dass wir, sobald wir unsere beste Parameterkombination (in unserem Fall Zeit und Route) identifiziert haben, die Leistung dieses Parametersatzes in einem anderen Kontext testen. Aus diesem Grund möchten wir möglicherweise auch am Dienstag und Donnerstag testen, um sicherzustellen, dass unsere Auswahl auch für diese Tage funktioniert.

Ausweitung der Analogie auf die Statistik

In der Statistik haben wir ein ähnliches Problem. Wir verwenden häufig einen begrenzten Datensatz, um die unbekannten Parameter abzuschätzen, die wir nicht kennen. Wenn wir eine Überanpassung vornehmen, funktionieren unsere Parameterschätzungen für die vorhandenen Daten sehr gut, jedoch nicht so gut, wenn wir sie in einem anderen Kontext verwenden. Daher hilft die Kreuzvalidierung dabei, das oben genannte Problem der Überanpassung zu vermeiden, indem sie uns die Gewissheit gibt, dass die Parameterschätzungen nicht nur für die Daten gelten, die wir zu ihrer Schätzung verwendet haben.

Kreuzvalidierung ist natürlich nicht perfekt. Wenn wir noch einmal auf unser Beispiel der U-Bahn zurückgreifen, kann es vorkommen, dass unsere beste Auswahl an Parametern auch nach einer Kreuzvalidierung einen Monat später aufgrund verschiedener Probleme (z. B. Bauarbeiten, Änderungen des Verkehrsaufkommens im Laufe der Zeit usw.) nicht funktioniert.


2
Technisch gesehen ist dies eine Holdout-Validierung, aber man kann sich vorstellen, das U-Bahn-Beispiel auf einen Cross-Validation-Kontext auszudehnen. Wenn es hilft, werde ich das Beispiel und den Rest des Textes neu schreiben, um spezifisch für die Kreuzvalidierung zu sein.

@ srikant..das Wort Überanpassung als ein Wort deutet darauf hin, dass etwas "übertrieben" getan ist, was bedeutet ..mehr als erforderlich..so was ist übertrieben getan? Ist es keine von Variablen? Es tut mir leid, dass ich diesen Begriff schon oft gehört habe und ich würde diese Gelegenheit nutzen, um dies mit Ihnen zu klären.
Ayush Biyani

1
Ich denke, diese Antwort könnte durch Hinzufügen des Konzepts der Falten verbessert werden. Dies ist der Schlüssel dazu, wie sich der Lebenslauf von Holdout-Tests unterscheidet. Im Beispiel (mit der Abkürzung M für Montag, T für Dienstag, ..., R für Donnerstag, ...): Schauen Sie sich also TWRF für die beste Kombination an und sehen Sie, wie das bei M funktioniert, dann MWRF und sehen Sie, wie es funktioniert Funktioniert mit T usw. Also wird jeder Tag als Teil des Problems viermal und als Überprüfung des Problems einmal verwendet, aber niemals als Problem und Überprüfung in derselben Runde.
Wayne

43

Ich denke, dass dies am besten mit dem folgenden Bild (in diesem Fall mit k-facher Kreuzvalidierung) beschrieben werden kann:

Alt-Text

Die Kreuzvalidierung ist eine Technik zum Schutz vor Überanpassung in einem Vorhersagemodell, insbesondere in einem Fall, in dem die Datenmenge begrenzt sein kann. Bei der Kreuzvalidierung erstellen Sie eine feste Anzahl von Falten (oder Partitionen) der Daten, führen die Analyse für jede Falte durch und mitteln dann die Gesamtfehlerschätzung.


2
An anderen Stellen auf dieser Website scheint es Diskussionen zu geben, wonach die k-fache Kreuzvalidierung nur eine Art der Kreuzvalidierung ist und deren Beschreibung nicht die allgemeine Aufgabe der Beschreibung der Kreuzvalidierung erfüllt.
Russellpierce

3
@drknexus: Das ist fair, aber ich erwähne, dass es k-fach ist und ich wollte eine Visualisierung des Prozesses zur Verfügung stellen, um es zu erklären.
Shane

Schnelle Klarstellung: Ist es der Fall, dass nfold = 4 25% für den Testsatz bedeutet? nfold = 5 bedeutet 20% für den Testsatz; nfold = 10 bedeutet 10% für die Testmenge und so weiter: nfold = n bedeutet 100 / n Prozent geht in die Testmenge?
Johnjps111

9

"Vermeiden Sie es, Ihre Trainingsdaten auswendig zu lernen, indem Sie sicherstellen, dass das trainierte Modell bei unabhängigen Daten eine gute Leistung erbringt."


3
Dies ist eher eine Motivation für den Lebenslauf als eine Beschreibung des Lebenslaufs selbst.
Jbaums

6

Nehmen wir an, Sie untersuchen einen Prozess. Sie haben einige Daten gesammelt, die diese beschreiben, und Sie haben ein Modell erstellt (entweder statistisch oder ML, spielt keine Rolle). Aber jetzt, wie soll man beurteilen, ob es in Ordnung ist? Wahrscheinlich passt es verdächtig gut zu den Daten, auf denen es aufgebaut wurde, sodass niemand glauben wird, dass Ihr Modell so großartig ist, wie Sie denken.
Die erste Idee ist, eine Teilmenge Ihrer Daten zu trennen und damit das von Ihrer Methode erstellte Modell für den Rest der Daten zu testen. Jetzt ist das Ergebnis definitiv überpassungsfrei, trotzdem hätten Sie (besonders bei kleinen Sets) (Pech) haben und (weniger) einfachere Fälle zum Testen ziehen können, was die Vorhersage (schwieriger) macht ... Auch Ihre Genauigkeit / Die Fehler- / Güte-Schätzung ist für den Modellvergleich / die Modelloptimierung unbrauchbar, da Sie wahrscheinlich nichts über die Verteilung wissen.
Wenn Sie Zweifel haben, wenden Sie rohe Gewalt an. Replizieren Sie einfach den obigen Prozess, sammeln Sie einige Schätzungen für Genauigkeit / Fehler / Güte und mitteln Sie sie - und Sie erhalten eine Kreuzvalidierung. Neben einer besseren Schätzung erhalten Sie auch ein Histogramm, mit dem Sie die Verteilung approximieren oder einige nichtparametrische Tests durchführen können.
Und das ist es; Die Details der Aufteilung von Testzügen sind der Grund für die unterschiedlichen CV-Typen. Abgesehen von seltenen Fällen und kleinen Stärkendifferenzen sind sie jedoch eher gleichwertig. In der Tat ist es ein großer Vorteil, weil es eine kugelsichere Methode ist. es ist sehr schwer, es zu betrügen.


3

Da Sie zum Zeitpunkt des Trainings keinen Zugriff auf die Testdaten haben und Ihr Modell mit den unsichtbaren Testdaten eine gute Leistung erbringen soll, "tun" Sie so, als hätten Sie Zugriff auf einige Testdaten, indem Sie einen kleinen Teil von wiederholt unterabtasten Halten Sie diesen Satz beim Trainieren des Modells aus und behandeln Sie ihn dann als Ersatz für die Testdaten (und wählen Sie Modellparameter aus, die die beste Leistung für die ausgesetzten Daten liefern). Sie hoffen, dass Sie durch zufälliges Abtasten verschiedener Teilmengen aus den Trainingsdaten bewirken können, dass sie den Testdaten (im Sinne eines durchschnittlichen Verhaltens) ähneln, und dass daher die erlernten Modellparameter auch für die Testdaten (dh Ihr Modell) gut sind verallgemeinert gut für unsichtbare Daten).

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.