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?
29
Antworten:
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 - 1k k k k−1
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 ). .
quelle
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 vN k k nt nv N=k×nv k N=nt+nv
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.N n v n t n t n v ( Nnt nv nt nt nv N2(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 tk nt k nt k nt
[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
quelle
Die anderen beiden Antworten sind großartig. Ich füge nur zwei Bilder sowie ein Synonym hinzu.
K-fach Kreuzvalidierung (kFCV):
Monte-Carlo-Kreuzvalidierung (MCCV) = Wiederholte Stichprobenvalidierung (RRSSV):
Verweise:
Die Bilder stammen aus (1) ( Seiten 64 und 65 ) und das Synonym wird in (1) und (2) erwähnt.
(1) Remesan, Renji und Jimson Mathew. Hydrologische datengetriebene Modellierung: Ein Fallstudienansatz . Vol. 1. Springer, 2014.
(2) Dubitzky, Werner, Martin Granzow und Daniel P. Berrar, Hrsg. Grundlagen des Data Mining in Genomics und Proteomics . Springer Science & Business Media, 2007.
quelle