Caret - Wiederholte K-fache Kreuzvalidierung gegen verschachtelte K-fache Kreuzvalidierung, n-mal wiederholt


16

Das Caret- Paket ist eine brillante R-Bibliothek zum Erstellen mehrerer maschineller Lernmodelle und verfügt über mehrere Funktionen zum Erstellen und Bewerten von Modellen. Für die Parametereinstellung und das Modelltraining bietet das Caret-Paket "repeatedcv" als eine der Methoden an.

Als bewährte Methode kann die Parameteroptimierung mithilfe einer verschachtelten K-fach-Kreuzvalidierung durchgeführt werden, die wie folgt funktioniert:

  1. Unterteilen Sie den Trainingssatz in K-Teilmengen
  2. Nehmen Sie in jeder Iteration 'K minus 1' Teilmengen für das Modelltraining und behalten Sie 1 Teilmenge (Holdout-Set) für Modelltests bei.
  3. Unterteilen Sie den Trainingssatz 'K minus 1' weiter in 'K' Untersätze und verwenden Sie iterativ den neuen Untersatz 'K minus 1' und den 'Validierungssatz' für die Parametereinstellung (Rastersuche). Der in diesem Schritt festgelegte beste Parameter wird zum Testen des in Schritt 2 festgelegten Holdouts verwendet.

Andererseits gehe ich davon aus, dass die wiederholte K-fache Kreuzvalidierung die Schritte 1 und 2 so oft wiederholt, wie wir uns dafür entscheiden, die Modellvarianz zu ermitteln.

Wenn Sie jedoch den Algorithmus im Caret-Handbuch durchgehen, sieht es so aus, als würde die Methode "repeatcv" zusätzlich zur wiederholten Kreuzvalidierung auch eine verschachtelte K-fache Kreuzvalidierung durchführen.

Caret-Train-Algorithmus https://topepo.github.io/caret/training.html

Meine Fragen sind:

  1. Ist mein Verständnis der Caret-Wiederholungsmethode korrekt?
  2. Wenn nicht, können Sie bitte ein Beispiel für die Verwendung der verschachtelten K-fachen Kreuzvalidierung mit der Wiederholungsmethode unter Verwendung des Caret-Pakets angeben?

Bearbeiten:

In diesem Artikel zur Methodik werden verschiedene Kreuzvalidierungsstrategien erläutert und verglichen.

Krstajic D, Buturovic LJ, Leahy DE und Thomas S : Fallstricke bei der Kreuzvalidierung bei der Auswahl und Bewertung von Regressions- und Klassifizierungsmodellen . Journal of Cheminformatics 2014 6 (1): 10. doi: 10.1186 / 1758-2946-6-10

Ich interessiere mich für „Algorithmus 2: Wiederholte geschichtete verschachtelte Kreuzvalidierung“ und „Algorithmus 3: Wiederholte Kreuzvalidierung der Rastersuche zur Variablenauswahl und Parameteroptimierung“ mit dem Caret-Paket.

Antworten:


2

An dem vorgestellten (verschachtelten) Algorithmus ist nichts auszusetzen, und tatsächlich würde er wahrscheinlich eine gute Leistung bei angemessener Robustheit für das Bias-Varianz-Problem bei verschiedenen Datensätzen erbringen. Sie haben jedoch nie gesagt, dass der Leser davon ausgehen sollte, dass die von Ihnen verwendeten Funktionen die "optimalsten" sind. Wenn dies nicht bekannt ist, gibt es einige Probleme bei der Funktionsauswahl, die zuerst behoben werden müssen.

FEATURE / PARAMETER AUSWAHL

Eine weniger voreingenommene Herangehensweise besteht darin, den Klassifizierer / das Modell niemals in die Nähe von irgendetwas zu bringen, das mit der Auswahl von Merkmalen / Parametern im Zusammenhang steht, da Sie nicht möchten, dass der Fuchs (Klassifizierer, Modell) der Wächter der Hühner (Merkmale, Parameter) ist. Ihre Methode zur Auswahl von Features (Parametern) ist ein bei dem die Feature-Auswahl in iterativem Lernen gebündelt ist, das vom Klassifizierer / Modell ausgeführt wird. Im Gegenteil, ich verwende immer einen Feature- , der eine andere Methode verwendet, die weit vom Klassifikator / Modell entfernt ist, um die Verzerrung der Feature- (Parameter-) Auswahl zu minimieren. Bei der Merkmalsauswahl (GJ McLachlan) wird der Zeilenumbruch im Vergleich zur Filterung und Auswahlverzerrung nachgeschlagen.wreinpperfichlter

Es gibt immer ein Hauptproblem bei der Merkmalsauswahl, für das die Lösung darin besteht, eine Methode zur Objektpartitionierung (Falten) aufzurufen, bei der die Objekte in verschiedene Gruppen unterteilt werden. Simulieren Sie beispielsweise eine Datenmatrix mit 100 Zeilen und 100 Spalten und simulieren Sie dann eine binäre Variable (0,1) in einer anderen Spalte - nennen Sie dies die Gruppierungsvariable. Führen Sie als Nächstes t-Tests für jede Spalte aus, wobei Sie die binäre Variable (0,1) als Gruppierungsvariable verwenden. Einige der 100 t-Tests werden allein durch Zufall signifikant sein. Sobald Sie jedoch die Datenmatrix in zwei Faltungen aufgeteilt haben, und , von denen jedeD1D2n=50sinkt die Anzahl der signifikanten Tests. Bis Sie dieses Problem mit Ihren Daten lösen können, indem Sie die optimale Anzahl der bei der Parameterauswahl zu verwendenden Falten bestimmen, sind Ihre Ergebnisse möglicherweise verdächtig. Sie müssen also eine Art Bootstrap-Bias-Methode in Abhängigkeit von den in jeder Trainingsfalte verwendeten Stichprobengrößen zu z. B. (d. Erhöhung der beim Lernen verwendeten Stichprobengröße) kombiniert mit einer variierenden Anzahl verwendeter CV-Falten, z. B. 2, 5, 10 usw. π=0,1n,0,2n,0,3n,0,4n,0,5n

OPTIMIERUNG / MINIMIERUNG

Sie scheinen ein Optimierungs- oder Minimierungsproblem für die Funktionsapproximation wirklich zu lösen, z. B. , wobei z. B. eine Regression oder ein Vorhersagemodell mit Parametern verwendet wird undy=f(x1,x2,,xj)ywird kontinuierlich skaliert. Angesichts dessen und der Notwendigkeit, Abweichungen in Ihren Vorhersagen (Auswahlabweichung, Abweichungsvarianz, Informationsverlust beim Testen von Objekten in Trainingsobjekte usw.) zu minimieren, sollten Sie die Verwendung von Lebensläufen bei der Verwendung von Schwarmintelligenzmethoden in Betracht ziehen, z Partikelschwarmoptimierung (PSO), Ameisenkolonieoptimierung usw. PSO (siehe Kennedy & Eberhart, 1995) fügt Parameter für den sozialen und kulturellen Informationsaustausch zwischen Partikeln hinzu, wenn diese während des Lernens durch den Parameterraum fliegen. Sobald Sie mit den Methoden der Schwarmintelligenz vertraut sind, werden Sie feststellen, dass Sie viele Verzerrungen bei der Parameterbestimmung überwinden können. Schließlich weiß ich nicht, ob es einen Zufalls-Forest-Ansatz (RF, siehe Breiman, Journ. Of Machine Learning) für die Funktionsannäherung gibt, aber wenn es gibt,

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.