Was ist der Unterschied zwischen Bootstrapping und Kreuzvalidierung?

20

Ich habe die K-fache Kreuzvalidierung angewendet, um meine Modelle für maschinelles Lernen zuverlässig zu bewerten. Aber ich bin mir auch der Existenz der Bootstrapping-Methode für diesen Zweck bewusst. Ich kann jedoch den Hauptunterschied zwischen ihnen in Bezug auf die Leistungsschätzung nicht erkennen.

Soweit ich sehe, erzeugt Bootstrapping auch eine bestimmte Anzahl von zufälligen Trainings- und Test-Teilmengen (wenn auch auf andere Weise). Was ist also der Sinn und Vorteil der Verwendung dieser Methode gegenüber dem Lebenslauf? Das einzige, was ich herausfinden konnte, war, dass man beim Bootstrapping künstlich praktisch eine beliebige Anzahl solcher Teilmengen erzeugen könnte, während für CV die Anzahl der Instanzen eine Art Grenze dafür ist. Aber dieser Aspekt scheint ein sehr kleines Ärgernis zu sein.

Fredrik
quelle

Antworten:

16

Sowohl die Kreuzvalidierung als auch das Bootstrapping sind Resampling- Methoden.

  • Bootstrap-Resamples mit Ersetzung (und erzeugen normalerweise neue "Ersatz" -Datensätze mit der gleichen Anzahl von Fällen wie der ursprüngliche Datensatz). Aufgrund der Zeichnung mit Ersetzung kann ein Bootstrap-Datensatz mehrere Instanzen derselben Originalfälle enthalten und andere Originalfälle vollständig weglassen.
  • Die Kreuzvalidierung wird ersatzlos neu abgetastet und erzeugt so Ersatzdatensätze, die kleiner als das Original sind. Diese Datensätze werden systematisch erstellt, so dass nach einer vorgegebenen Anzahl von Ersatzdatensätzen jeder der n ursprünglichen Fälle genau einmal weggelassen wurde. Dies wird k-fache Kreuzvalidierung genannt oder leave- x -out Kreuzvalidierung mit x = nkn , z. B. eine einmalige Kreuzvalidierung, lässt 1 Fall für jeden Ersatzsatz weg, dhk=n.x=nkk=n

  • Wie der Name Cross Validation andeutet, besteht sein Hauptzweck darin, die Leistung eines Modells zu messen (zu verallgemeinern). Im Gegensatz dazu wird Bootstrapping hauptsächlich verwendet, um empirische Verteilungsfunktionen für einen weit verbreiteten Bereich von Statistiken zu etablieren (weit verbreitet, beispielsweise im Bereich von der Variation des Mittelwerts bis zur Variation von Modellen in Bagged-Ensemble-Modellen).

  • Das ausgelassene Analogon der Bootstrag-Prozedur heißt Jackknifing (und ist tatsächlich älter als Bootstrapping).

  • Das Bootstrap-Analogon zu Kreuzvalidierungsschätzungen des Generalisierungsfehlers wird als Out-of-Bootstrap- Schätzung bezeichnet (da die Testfälle diejenigen sind, die aus dem neu abgetasteten Bootstrap-Trainingssatz herausgelassen wurden).

[Kreuzvalidierung vs. Out-of-Bootstrap-Validierung] Ich kann jedoch den Hauptunterschied zwischen ihnen in Bezug auf die Leistungsschätzung nicht erkennen.

k

Es gibt eine Reihe von Versuchen, die OOB-Verzerrung zu verringern (.632-Bootstrap, .632 + -Bootstrap), aber ob sie die Situation tatsächlich verbessern, hängt von der jeweiligen Situation ab.

Literatur:


Das einzige, was ich herausfinden konnte, war, dass man beim Bootstrapping künstlich praktisch eine beliebige Anzahl solcher Teilmengen erzeugen könnte, während für CV die Anzahl der Instanzen eine Art Grenze dafür ist.

nk

  • (nk)k
  • (2n- -1n)
cbeleites unterstützt Monica
quelle
3

Bootstrapping ist ein Test oder eine Metrik, die auf Zufallsstichproben mit Ersetzung beruht. Es ist eine Methode, die in vielen Situationen wie der Validierung der Leistung eines Vorhersagemodells, Ensemble-Methoden, Schätzung der Verzerrung und Varianz der Parameter eines Modells usw. hilfreich ist Durchführen einer Probenahme mit Ersetzen aus dem Originaldatensatz und gleichzeitig unter der Annahme, dass die nicht ausgewählten Datenpunkte der Testdatensatz sind. Wir können diesen Vorgang mehrmals wiederholen und die durchschnittliche Punktzahl als Schätzung unserer Modellleistung berechnen. Bootstrapping hängt auch mit den Ensemble-Trainingsmethoden zusammen, da wir mit jedem Bootstrap-Datensatz ein Modell erstellen und diese Modelle in einem Ensemble mit der Mehrheitsentscheidung (zur Klassifizierung) oder der Berechnung des Durchschnitts (für numerische Vorhersagen) für alle zusammenfassen können Diese Modelle als unser Endergebnis.

Die Kreuzvalidierung ist ein Verfahren zur Validierung der Leistung eines Modells und erfolgt durch Aufteilen der Trainingsdaten in k Teile. Wir gehen davon aus, dass das k-1-Teil das Trainingsset ist und verwenden das andere Teil unser Testset. Wir können das k-mal wiederholen und jedes Mal einen anderen Teil der Daten heraushalten. Schließlich nehmen wir den Durchschnitt der k-Werte als unsere Leistungsschätzung. Die Kreuzvalidierung kann unter Verzerrung oder Varianz leiden. Wenn Sie die Anzahl der Teilungen erhöhen, nimmt auch die Varianz zu und die Vorspannung nimmt ab. Wenn wir andererseits die Anzahl der Teilungen verringern, nimmt die Vorspannung zu und die Varianz ab.

Zusammenfassend teilt die Kreuzvalidierung das verfügbare Dataset auf, um mehrere Datasets zu erstellen, und die Bootstrapping-Methode verwendet das ursprüngliche Dataset, um nach dem erneuten Abtasten mit Ersetzen mehrere Datasets zu erstellen. Das Bootstrapping ist nicht so stark wie die Kreuzvalidierung, wenn es für die Modellvalidierung verwendet wird. Beim Bootstrapping geht es mehr darum, Ensemble-Modelle zu erstellen oder nur Parameter zu schätzen.

Christos Karatsalos
quelle
2

Die Kreuzvalidierung ist eine Technik, mit der ermittelt werden soll, wie gut sich Ihr Modell auf Daten verallgemeinert, mit denen nicht trainiert wurde. Es wirkt sich nicht auf Ihre Algorithmusergebnisse aus, sondern wertet sie nur aus.

Bootstrapping ist eine Ensemble-Methode , die die Ausgaben mehrerer Modelle, z. B. Entscheidungsbäume, aggregiert, um eine gemittelte Ausgabe zu erstellen . Technisch gesehen reduziert es die Varianz eines Klassifizierungsalgorithmus, der auf einem einzelnen Modell basiert, da es die Ausgabe über die Ausgaben mehrerer Varianten derselben Modellstruktur (mit unterschiedlichen Parametern) mittelt. Es ändert daher die Leistung des Klassifizierungsalgorithmus und bewertet ihn nicht.

Mit anderen Worten : Die Kreuzvalidierung bewertet, wie gut ein Algorithmus verallgemeinert wird, während das Bootstrapping dem Algorithmus tatsächlich hilft, besser zu verallgemeinern.

Sie können die Kreuzvalidierung für ein Bootstrap-Modell verwenden, um festzustellen, wie gut es verallgemeinert wird.

pcko1
quelle
3
Das ist Bagging nicht Bootstrapping richtig?
elemolotiv
0
  • Kreuzvalidierung: Geben Sie Schätzungen des Testfehlers an.
  • Bootstrap: Liefert den Standardfehler der Schätzungen.
Hangyu Tian
quelle