Warum verwenden Forscher eine 10-fache Kreuzvalidierung, anstatt einen Validierungssatz zu testen?
On November 30, 2020 by adminIch habe viele Forschungsarbeiten zur Stimmungsklassifizierung und verwandten Themen gelesen.
Die meisten von ihnen verwenden eine 10-fache Kreuzvalidierung, um Klassifikatoren zu trainieren und zu testen. Dies bedeutet, dass keine separate Prüfung / Validierung durchgeführt wird. Warum ist das so?
Was sind die Vor- und Nachteile dieses Ansatzes, insbesondere für diejenigen, die Forschung betreiben?
Kommentare
- Sind Sie sicher, nein Es wurden separate Tests durchgeführt?
- +1. Ich habe das gleiche bemerkt. Oft ist die 10-fache Kreuzvalidierung das Endergebnis.
Antwort
Dies ist keine Problem, wenn der Lebenslauf verschachtelt ist, dh alle Optimierungen, Funktionsauswahlen und Modellauswahlen, unabhängig davon, ob sie selbst Lebenslauf verwenden oder nicht, sind in einem großen Lebenslauf verpackt.
Wie ist dies im Vergleich zu einem zusätzlichen Validierungssatz? Während der Validierungssatz normalerweise nur ein mehr oder weniger zufällig ausgewählter Teil der gesamten Daten ist, entspricht er einfach einer Iteration des Lebenslaufs. Zu diesem Zweck ist es tatsächlich eine schlechtere Methode, da sie leicht durch (hoffentlich) glücklicherweise / unglücklicherweise ausgewählte oder von Kirschen gepflückte Validierungssätze verzerrt werden kann.
Die einzige Ausnahme hiervon sind Zeitreihen und andere Daten, bei denen die Objektreihenfolge von Bedeutung ist; In beiden Fällen ist jedoch eine spezielle Behandlung erforderlich.
Antwort
Der Hauptgrund ist, dass der k-fache Kreuzvalidierungsschätzer a hat Geringere Varianz als bei einem einzelnen Hold-Out-Set-Schätzer. Dies kann sehr wichtig sein, wenn die verfügbare Datenmenge begrenzt ist. Wenn Sie einen einzelnen Hold-Out-Satz haben, bei dem 90% der Daten für das Training und 10% für das Testen verwendet werden, ist der Testsatz sehr klein, sodass die Leistungsschätzung für verschiedene Datenstichproben stark variiert. oder für verschiedene Partitionen der Daten, um Trainings- und Testsätze zu bilden. Die k-fache Validierung reduziert diese Varianz durch Mittelung über k verschiedene Partitionen, sodass die Leistungsschätzung weniger empfindlich auf die Partitionierung der Daten reagiert. Sie können noch weiter gehen, indem Sie die k-fache Kreuzvalidierung wiederholen, wobei die Kreuzvalidierung unter Verwendung verschiedener Partitionen der Daten durchgeführt wird, um k Teilmengen zu bilden, und dann auch den Durchschnitt darüber nehmen.
Beachten Sie jedoch, dass alle Schritte des Modellanpassungsverfahrens (Modellauswahl, Merkmalsauswahl usw.) unabhängig in jeder Falte des Kreuzvalidierungsverfahrens ausgeführt werden müssen. Andernfalls wird die resultierende Leistungsschätzung optimistisch verzerrt.
Antwort
[BEARBEITET im Lichte des Kommentars]
Ich denke, es gibt ein Problem, wenn Sie CV-Ergebnisse zur Auswahl verwenden mehrere Modelle.
Mit CV können Sie den gesamten Datensatz verwenden, um ein Modell / eine Methode zu trainieren und zu testen, während Sie eine vernünftige Vorstellung davon haben, wie gut es verallgemeinert wird. Wenn Sie jedoch mehrere Modelle vergleichen, ist mein Instinkt, dass der Modellvergleich die zusätzliche Stufe der Isolation von Zugtests verbraucht, die CV Ihnen bietet, sodass das Endergebnis keine vernünftige Schätzung der Genauigkeit des ausgewählten Modells darstellt.
Ich würde also vermuten, dass Sie, wenn Sie mehrere Modelle erstellen und eines anhand seines Lebenslaufs auswählen, zu optimistisch sind, was Sie gefunden haben. Ein weiterer Validierungssatz wäre erforderlich, um zu sehen, wie gut das Modell ist Gewinner verallgemeinert.
Kommentare
- Vielen Dank. Das ist richtig. Aber meine Frage war insbesondere, warum Forschungsarbeiten keine endgültige Validierung haben? Gibt es eine Richtiger Grund? Geht es um weniger Daten oder weil der Lebenslauf gute Arbeit leistet und eine separate Validierung ‚ nicht erforderlich ist?
- Der Ansatz der Datenaufteilung ist hoch ineffizient. Bis sowohl die Trainings- als auch die Testsätze enorm sind, ist der mittlere quadratische Fehler für eine Schätzung der wahrscheinlichen zukünftigen Leistung für ein Vorhersagemodell mit Bootstrapping oder Witz kleiner h 100 Wiederholungen der 10-fachen Kreuzvalidierung, vorausgesetzt, die Resampling-Verfahren hatten Zugriff auf alle Modellierungsschritte, die $ Y $ betrafen. Verwenden Sie die Datenaufteilung, wenn Sie auch den Messprozess, das Vermessungsinstrument oder andere Verfahren im Zusammenhang mit der Bedeutung der Daten validieren müssen. Eine gute Verwendung der Datenaufteilung ist, wenn die Instrumentierung von Land zu Land unterschiedlich ist.
Antwort
-
Nach meiner Erfahrung liegt der Hauptgrund normalerweise darin, dass Sie nicht genügend Proben haben.
In meinem Bereich (Klassifizierung von biologischen / medizinischen Proben) wird manchmal ein Testsatz getrennt gehalten, aber oft umfasst er nur wenige Fälle In diesem Fall sind die Konfidenzintervalle normalerweise zu groß, um von Nutzen zu sein. -
Ein weiterer Vorteil der wiederholten / iterierten Kreuzvalidierung oder der Validierung außerhalb des Bootstraps besteht darin, dass Sie eine Reihe von Validierungen erstellen „Ersatz“ -Modelle. Diese werden als gleich angenommen. Wenn dies nicht der Fall ist, sind die Modi instabil.Sie können diese Instabilität tatsächlich messen (in Bezug auf den Austausch einiger Trainingsfälle), indem Sie entweder die Ersatzmodelle selbst oder die Vorhersagen vergleichen, die verschiedene Ersatzmodelle für denselben Fall treffen.
-
Dieses Papier von Esbensen & Geladi enthält eine nette Diskussion einiger Einschränkungen der Kreuzvalidierung.
Sie können vorsichtig sein von den meisten von ihnen, aber ein wichtiger Punkt, der durch Resampling-Validierung nicht angegangen werden kann, ist die Drift, die mit dem Punkt von mbq zusammenhängt:Die einzige Ausnahme Dazu gehören Zeitreihen und andere Daten, bei denen die Objektreihenfolge von Bedeutung ist.
Drift bedeutet, dass sich beispielsweise die Reaktion / die wahre Kalibrierung eines Instruments im Laufe der Zeit langsam ändert. Daher ist der Generalisierungsfehler für unbekannte Fälle möglicherweise nicht der gleiche wie für unbekannte zukünftige Fälle. Sie erhalten Anweisungen wie „Kalibrierung täglich / wöchentlich / … wiederholen“, wenn Sie während der Validierung eine Abweichung feststellen. Dies erfordert jedoch Testsätze, die systematisch später als die Trainingsdaten erfasst werden.
(Sie können „spezielle“ Aufteilungen vornehmen, die berücksichtigt werden Kontoerfassungszeit, wenn Ihr Experiment entsprechend geplant ist, dies jedoch normalerweise nicht so viel Zeit abdeckt, wie Sie für die Drifterkennung testen möchten)
Antwort
Warum sollten wir eine Kreuzvalidierung durchführen, anstatt einen separaten Validierungssatz zu verwenden?
Aurélien Géron spricht darüber in seinem Buch
Um zu vermeiden, dass zu viele Trainingsdaten in Validierungssätzen „verschwendet“ werden, wird häufig eine Kreuzvalidierung verwendet.
Warum bevorzugen wir anstelle anderer k-Werte die Verwendung von k = 10 bei der Kreuzvalidierung?
Um th zu beantworten Zunächst möchte ich mich bei Jason Brownlee, PhD für für sein großartiges Tutorial bedanken auf k-fache Kreuzvalidierung. Ich zitiere eines seiner zitierten Bücher.
Kuhn & Johnson sprach über die Wahl des k-Werts in ihrem Buch .
Die Wahl von k ist normalerweise 5 oder 10, aber es gibt keine formale Regel. Wenn k größer wird, wird der Größenunterschied zwischen dem Trainingssatz und den Resampling-Teilmengen kleiner. Wenn dieser Unterschied abnimmt, wird die Vorspannung der Technik kleiner (d. H. Die Vorspannung ist für k = 10 kleiner als k = 5). In diesem Zusammenhang ist die Verzerrung die Differenz zwischen den geschätzten und wahren Leistungswerten
Dann kann man sagen, warum wir nicht Leave-One verwenden -out Kreuzvalidierung (LOOCV), da der k-Wert dort maximal ist und daher die Vorspannung dort am geringsten ist. In diesem Buch haben sie auch darüber gesprochen, warum wir einen 10-fachen Lebenslauf anstelle von LOOCV bevorzugen können.
Aus praktischer Sicht sind größere Werte von k größer rechenintensiv. Im Extremfall ist LOOCV am rechenintensivsten, da es so viele Modellanpassungen wie Datenpunkte erfordert und jede Modellanpassung eine Teilmenge verwendet, die nahezu der Größe des Trainingssatzes entspricht. Molinaro (2005) stellte fest, dass das Auslassen und die 10-fache Kreuzvalidierung ähnliche Ergebnisse ergaben, was darauf hinweist, dass k = 10 mehr ist Unter dem Gesichtspunkt der Recheneffizienz attraktiv. Auch kleine Werte von k, z. B. 2 oder 3, weisen eine hohe Vorspannung auf, sind jedoch sehr rechnerisch effizient.
Ich habe viele Forschungsarbeiten über Stimmungsklassifizierung und verwandte Themen gelesen. Die meisten von ihnen verwenden eine 10-fache Kreuzvalidierung, um Klassifikatoren zu trainieren und zu testen. Dies bedeutet, dass keine separate Prüfung / Validierung durchgeführt wird. Warum ist das so?
Wenn wir keine Kreuzvalidierung (CV) verwenden, um eines der mehreren Modelle auszuwählen (oder nicht) CV zum Einstellen der Hyperparameter) , wir müssen keinen separaten Test durchführen. Der Grund ist, dass der Zweck der Durchführung eines separaten Tests hier im CV erreicht wird (durch eine der k-Falten in jeder Iteration). Verschiedene SE-Threads haben viel darüber gesprochen. Sie können dies überprüfen.
Am Ende können Sie mich gerne fragen, ob Ihnen etwas, das ich geschrieben habe, nicht klar ist.
Schreibe einen Kommentar