K-fach vs. Monte Carlo Kreuzvalidierung

29

Ich versuche verschiedene Kreuzvalidierungsmethoden zu erlernen, hauptsächlich mit der Absicht, sie auf überwachte multivariate Analysetechniken anzuwenden. Zwei, auf die ich gestoßen bin, sind K-Fold- und Monte-Carlo-Kreuzvalidierungstechniken. Ich habe gelesen, dass K-Fold eine Variation von Monte Carlo ist, aber ich bin mir nicht sicher, was genau die Definition von Monte Carlo ausmacht. Könnte jemand bitte den Unterschied zwischen diesen beiden Methoden erklären?

Liam
quelle
Würde ich also zu Recht sagen, dass Monte Carlo eine zufällige Größe der Trainings- und Testsätze ist, während k-fach eine definierte Größe der Sätze ist? Ich habe die obige Seite gesehen, aber nicht ganz verstanden, was der Unterschied war.
Liam
Ich kenne verschiedene Arten der Kreuzvalidierung und der Validierung außerhalb des Bootstraps, bin jedoch noch nicht auf den Begriff der Monte-Carlo-Kreuzvalidierung gestoßen (ich kenne ihn möglicherweise unter einem anderen Namen). Können Sie eine Beschreibung der Funktionsweise der Monte-Carlo-Kreuzvalidierung verlinken oder zitieren?
cbeleites unterstützt Monica
Die einfachste und frei zugängliche Beschreibung von Monte Carlo finden Sie im Wiki . Ich sehe anscheinend keinen Unterschied zwischen der K-Fold- und der Monte-Carlo-Methode.
Liam

Antworten:

36

k fache Kreuzvalidierung

Angenommen, Sie haben 100 Datenpunkte. Für Kreuzvalidierung -fach werden diese 100 Punkte unterteilt gleich große und gegenseitig ausschließenden ‚Falten‘. Für = 10 können Sie Punkte 1-10 zuweisen, um Nr. 1 zu folden, 11-20, um Nr. 2 zu folden, und so weiter, indem Sie Punkte 91-100 zuweisen, um Nr. 10 zu folden. Als nächstes wählen wir eine Falte aus, um als Test-Set zu fungieren, und verwenden die verbleibenden Falten, um die Trainingsdaten zu bilden. Für den ersten Lauf können Sie die Punkte 1-10 als Testsatz und 11-100 als Trainingssatz verwenden. Der nächste Lauf verwendet dann die Punkte 11-20 als Testsatz und trainiert die Punkte 1-10 plus 21-100 usw., bis jede Falte einmal als Testsatz verwendet wird.k k k - 1kkkk1

Monte-Carlo-Kreuzvalidierung

Monte Carlo arbeitet etwas anders. Sie wählen zufällig (ohne Ersatz) einen Teil Ihrer Daten aus, um den Trainingssatz zu bilden, und weisen dann die restlichen Punkte dem Testsatz zu. Dieser Vorgang wird dann mehrmals wiederholt, wobei jedes Mal (nach dem Zufallsprinzip) neue Trainings- und Testpartitionen erstellt werden. Angenommen, Sie möchten 10% Ihrer Daten als Testdaten verwenden. Dann könnte Ihr Testsatz für Wiederholung Nr. 1 die Punkte 64, 90 , 63, 42 , 65, 49, 10, 64, 96 und 48 sein. Beim nächsten Durchlauf könnte Ihr Testsatz 90 , 60, 23, 67 sein. 16, 78, 42 , 17, 73 und 26. Da die Partitionen für jeden Lauf unabhängig durchgeführt werden, kann derselbe Punkt mehrmals im Testsatz erscheinen.Das ist der Hauptunterschied zwischen Monte Carlo und Kreuzvalidierung .

Vergleich

Jede Methode hat ihre Vor- und Nachteile. Bei der Kreuzvalidierung wird jeder Punkt genau einmal getestet, was fair erscheint. Bei der Kreuzvalidierung werden jedoch nur einige der Möglichkeiten untersucht, wie Ihre Daten partitioniert werden könnten. Mit Monte Carlo können Sie etwas mehr mögliche Partitionen untersuchen, obwohl es unwahrscheinlich ist, dass Sie alle erhalten - es gibt Möglichkeiten, einen 100-Datenpunkt zu 50/50 aufzuteilen einstellen(!).(10050)1028

Wenn Sie versuchen, eine Inferenz zu erstellen (dh zwei Algorithmen statistisch zu vergleichen), erhalten Sie durch Mitteln der Ergebnisse eines fachen Kreuzvalidierungslaufs eine (nahezu) unvoreingenommene Schätzung der Leistung des Algorithmus, jedoch mit einer hohen Varianz (wie Sie es möchten) erwarten Sie von nur 5 oder 10 Datenpunkten). Da Sie es im Prinzip so lange ausführen können, wie Sie es sich leisten können, kann die Monte-Carlo-Kreuzvalidierung zu einer weniger variablen, aber voreingenommeneren Schätzung führen.k

Einige Ansätze verschmelzen die beiden, wie bei der 5x2-Kreuzvalidierung (siehe Dietterich (1998) für die Idee, obwohl ich glaube, dass es seitdem einige weitere Verbesserungen gegeben hat) oder durch Korrektur der Verzerrung (z. B. Nadeau und Bengio, 2003 ). .

Matt Krause
quelle
2
Jemand fragte über die vorgeschlagene Bearbeitungswarteschlange, ob Monte Carlo mit oder ohne Ersatz ausgeführt wird. Für jeden Monte-Carlo-Lauf werden der Trainings- und Testsatz ersatzlos gezogen (dh jeder Punkt wird genau einmal entweder dem Zug oder dem Testsatz zugewiesen). Die Läufe werden jedoch unabhängig voneinander durchgeführt, sodass ein bestimmtes Beispiel mehrere Male im selben Satz angezeigt werden kann. Dies ist der Hauptunterschied zwischen Monte Carlo und der k-fachen Kreuzvalidierung!
Matt Krause
13

Nehmen wir an, ist die Größe des Datensatzes, ist die Anzahl der Teilmengen, ist die Größe des Trainingssatzes und ist die Größe des Validierungssatzes. Daher ist für die fache Kreuzvalidierung und für die Monte-Carlo-Kreuzvalidierung.k k n t n v N = k × n v k N = n t + n vNkkntnvN=k×nvkN=nt+nv

k fache Kreuzvalidierung (kFCV) unterteilt die Datenpunkte in gegenseitig ausschließende Teilmengen gleicher Größe. Der Prozess lässt dann eine der Teilmengen als Validierungsmenge aus und trainiert die verbleibenden Teilmengen. Dieser Vorgang wird Mal wiederholt , wobei jedes Mal eine der Teilmengen ausgelassen wird. Die Größe von kann im Bereich von bis ( wird als Auslass-Kreuzvalidierung bezeichnet). Die Autoren in [2] schlagen vor, oder .k k k k k N 2 k = N k = 5 10NkkkkkN2k=Nk=510

Die Monte-Carlo-Kreuzvalidierung (MCCV) teilt die Datenpunkte einfach in die beiden Teilmengen und indem ersatzlos Datenpunkte werden. Das Modell wird dann auf Teilmenge trainiert und validiert Teilmenge .Es exist einzigartige Trainingssätze, aber MCCV vermeidet die Notwendigkeit , so viele Iterationen auszuführen. Zhang [3] zeigt, dass das Ausführen von MCCV für Iterationen über alle eindeutigen Trainingssätze hinweg zu Ergebnissen führt, die einer Kreuzvalidierung nahe kommen . Es ist anzumerken, dass in der Literatur die Forschung für großes N. fehlt. Nn v n t n t n v ( NntnvntntnvN2(N(Nnt)N2(Nnt)

Die Wahl von und beeinflusst den Bias / Varianz-Kompromiss. Je größer oder , geringer ist die Vorspannung und höher ist die Varianz. Größere Trainingssätze sind zwischen den Iterationen ähnlicher und passen daher zu stark an die Trainingsdaten an. Weitere Informationen zu dieser Diskussion finden Sie in [2]. Die Vorspannung und Varianz von kFCV und MCCV sind unterschiedlich, aber die Vorspannung der beiden Methoden kann durch Auswahl geeigneter Pegel von und . Die Werte des Bias und der Varianz für beide Methoden sind in [1] angegeben (in diesem Artikel wird MCCV als Testmodell für wiederholtes Lernen bezeichnet).n t k n t k n tkntkntknt


[1] Burman, P. (1989). Eine vergleichende Studie der normalen Kreuzvalidierung, der fachen Kreuzvalidierung und der wiederholten Lerntestmodellmethoden. Bometrika 76 503-514.v

[2] Hastie, T., Tibshirani, R. und Friedman, J. (2011). Die Elemente des statistischen Lernens: Data Mining, Inferenz und Vorhersage. Zweite Ausgabe New York: Springer.

[3] Zhang, P. (1993). Modellauswahl über Muiltfold Cross Validation. Ann. Stat. 21 299–313

ein Datenkopf
quelle
7

Die anderen beiden Antworten sind großartig. Ich füge nur zwei Bilder sowie ein Synonym hinzu.


K-fach Kreuzvalidierung (kFCV):

Bildbeschreibung hier eingeben

Monte-Carlo-Kreuzvalidierung (MCCV) = Wiederholte Stichprobenvalidierung (RRSSV):

Bildbeschreibung hier eingeben


Verweise:

Die Bilder stammen aus (1) ( Seiten 64 und 65 ) und das Synonym wird in (1) und (2) erwähnt.

Franck Dernoncourt
quelle