Wie oft sollten wir einen K-fach Lebenslauf wiederholen?

17

Ich bin auf diesen Thread gestoßen und habe mir die Unterschiede zwischen Bootstrapping und Cross Validation angesehen - tolle Antwort und Referenzen übrigens. Was mich jetzt wundert, ist, wenn ich einen wiederholten 10-fachen Lebenslauf durchführen sollte, um die Genauigkeit eines Klassifikators zu berechnen, wie oft n sollte ich ihn wiederholen?

Hängt n von der Anzahl der Falten ab? Auf der Stichprobengröße? Gibt es eine Regel dafür?

(In meinem Fall habe ich Stichproben mit einer Größe von bis zu 5000. Wenn ich etwas Größeres als n = 20 auswähle, dauert die Berechnung auf meinem Computer viel zu lange.)

Neodyme
quelle

Antworten:

9

Der Einflussfaktor ist, wie stabil Ihr Modell ist - oder genauer: die Vorhersagen der Surrogate.

Wenn die Modelle vollständig stabil sind, liefern alle Ersatzmodelle dieselbe Vorhersage für denselben Testfall. In diesem Fall sind keine Iterationen / Wiederholungen erforderlich, und es werden keine Verbesserungen erzielt.

Da Sie die Stabilität der Vorhersagen messen können, gehen Sie folgendermaßen vor:

  • Richten Sie die gesamte Prozedur so ein, dass die Ergebnisse jeder Wiederholung / Iteration der Kreuzvalidierung gespeichert werden, z. B. auf der Festplatte
  • Beginnen Sie mit einer großen Anzahl von Iterationen
  • Nachdem einige Iterationen abgeschlossen sind, rufen Sie die vorläufigen Ergebnisse ab und sehen Sie sich die Stabilität / Variation der Ergebnisse für jeden Lauf an.
  • Entscheiden Sie dann, wie viele weitere Iterationen Sie die Ergebnisse verfeinern möchten.

  • Natürlich können Sie beispielsweise 5 Iterationen ausführen und dann die endgültige Anzahl der Iterationen festlegen, die Sie ausführen möchten.

(Randnotiz: Ich verwende normalerweise> 1000 Ersatzmodelle, so dass die typische Anzahl von Wiederholungen / Iterationen zwischen 100 und 125 liegt.)

cbeleites unterstützt Monica
quelle
13

Stellen Sie einem Statistiker eine Frage, und ihre Antwort lautet "es kommt darauf an".

Kommt drauf an . Abgesehen von der Art des Modells (gute Punkte!), Der Anzahl der Trainingssollwerte und der Anzahl der Prädiktoren? Wenn das Modell für die Klassifizierung vorgesehen ist, würde ein großes Klassenungleichgewicht dazu führen, dass ich die Anzahl der Wiederholungen erhöhe. Wenn ich ein Feature-Auswahlverfahren erneut abtaste, würde ich mich auf weitere Resamples ausrichten.

Denken Sie bei jeder in diesem Zusammenhang verwendeten Resampling-Methode daran, dass Sie (im Gegensatz zum klassischen Bootstrapping) nur genügend Iterationen benötigen, um eine "genau genug" Schätzung des Verteilungsmittelwerts zu erhalten. Das ist subjektiv, aber jede Antwort wird es sein.

Nehmen wir an, Sie halten eine Sekunde lang an der Klassifizierung mit zwei Klassen fest und erwarten / hoffen, dass die Genauigkeit des Modells bei etwa 0,80 liegt. Da der Neuabtastungsprozess die Genauigkeitsschätzung abtastet (sagen wir p), ist der Standardfehler, sqrt[p*(1-p)]/sqrt(B)wo Bdie Anzahl der Neuabtastungen ist. Denn B = 10der Standardfehler der Genauigkeit liegt bei ca. 0,13 und damit bei B = 100ca. 0,04. Sie können diese Formel als grobe Richtlinie für diesen speziellen Fall verwenden.

Bedenken Sie auch, dass in diesem Beispiel die Varianz der Genauigkeit umso größer ist, je näher Sie an 0,50 heranrücken. Ein genaues Modell sollte daher weniger Replikationen erfordern, da der Standardfehler niedriger sein sollte als Modelle, die schwache Lernende sind.

HTH,

Max

topepo
quelle
2
Ich wäre hier äußerst vorsichtig, wenn ich in diesem Zusammenhang irgendeine Art von Standardfehlerberechnung anwenden würde, da es hier zwei Varianzquellen gibt (Instabilität des Modells + endliche Menge von Testfällen), und ich denke, dass die Validierung der erneuten Abtastung den endlichen Test nicht umgehen wird Varianz einstellen: Kreuzvalidierung berücksichtigen. In jedem Lauf werden alle Testfälle genau einmal getestet. Daher muss die Varianz zwischen den Läufen des iterierten CV auf Instabilität zurückzuführen sein. Sie werden die Varianz aufgrund des so eingestellten endlichen Tests nicht beobachten (noch reduzieren!), Aber das Ergebnis ist natürlich weiterhin davon abhängig.
cbeleites unterstützt Monica am