Meine Frage betrifft die Kreuzvalidierung, wenn es viel mehr Variablen als Beobachtungen gibt. Um Ideen zu fixieren, schlage ich vor, mich auf den Klassifizierungsrahmen in sehr hohen Dimensionen zu beschränken (mehr Merkmale als Beobachtung).
Problem: Angenommen, Sie haben für jede Variable ein Maß für die Wichtigkeit als das Interesse des Merkmals für das Klassifizierungsproblem genau zu messen . Das Problem der Auswahl einer Teilmenge von Merkmalen zur optimalen Reduzierung des Klassifizierungsfehlers wird dann auf das Problem der Ermittlung der Anzahl von Merkmalen reduziert.T [ i ] i
Frage: Was ist in diesem Fall der effizienteste Weg, um eine Kreuzvalidierung durchzuführen (Kreuzvalidierungsschema)? Meine Frage betrifft nicht das Schreiben des Codes, sondern die Version der Kreuzvalidierung, die verwendet werden soll, um die Anzahl der ausgewählten Features zu ermitteln (um den Klassifizierungsfehler zu minimieren), sondern den Umgang mit der hohen Dimension bei der Kreuzvalidierung (daher die Das obige Problem kann ein bisschen wie ein "Spielzeugproblem" sein, um den Lebenslauf in hoher Dimension zu diskutieren.
Notationen: ist die Größe des Lernsatzes, p die Anzahl der Merkmale (dh die Dimension des Merkmalsraums). Mit sehr hoher Dimension meine ich p >> n (zum Beispiel und ).p = 10000 n = 100
quelle
Antworten:
Sie vermissen ein wichtiges Thema - es gibt fast nie so etwas wie T [i]. Stellen Sie sich ein einfaches Problem vor, bei dem die Summe zweier Attribute (mit ähnlicher Amplitude) wichtig ist. Wenn Sie einen von ihnen entfernen würden, würde die Wichtigkeit des anderen plötzlich abnehmen. Eine große Menge irrelevanter Attribute ist auch die Genauigkeit der meisten Klassifikatoren, also entlang ihrer Fähigkeit, die Wichtigkeit zu bewerten. Last but not least liefern stochastische Algorithmen stochastische Ergebnisse, sodass selbst das T [i] -Ranking instabil sein kann. Im Prinzip sollten Sie also T [i] mindestens neu berechnen, nachdem jedes (oder zumindest nachdem jedes nicht trivial redundante) Attribut entfernt wurde.
Zurück zum Thema: Die Frage, welchen Lebenslauf Sie wählen sollen, ist meist problemabhängig. Bei einer sehr geringen Anzahl von Fällen kann LOO die beste Wahl sein, da alle anderen anfangen, sich darauf zu reduzieren. noch klein ist eher n = 10 nicht n = 100. Daher würde ich nur zufälliges Subsampling (das ich am häufigsten verwende) oder K-Fold (dann mit Neuerstellung von Splits bei jedem Schritt) empfehlen. Sie sollten jedoch nicht nur den Mittelwert, sondern auch die Standardabweichung der Fehlerschätzungen erfassen. Dies kann verwendet werden, um (ungefähr) zu beurteilen, welche Änderungen des Mittelwerts signifikant sind, und um Ihnen bei der Entscheidung zu helfen, wann der Prozess abgebrochen werden soll.
quelle
Das ist eine gute Frage, und das trifft tendenziell mehr auf das, was sich auf Ensemble-Lernende und Modellmittelung bezieht (ich werde unten Links bereitstellen):
Wenn Sie sich in hochdimensionalen Einstellungen befinden, kann die Stabilität Ihrer Lösung (dh welche Funktionen / Variablen ausgewählt sind) fehlen, da einzelne Modelle unter vielen kollinearen, austauschbaren Variablen, die im Großen und Ganzen dasselbe Signal übertragen, 1 auswählen können ( unter einem von vielen Gründen). Im Folgenden finden Sie einige Strategien, wie Sie dies beheben können.
In der Bayes'schen Modellmittelung zum Beispiel,
Hoeting, Jennifer A. et al. "Bayesianische Modellmittelung: ein Tutorial." Statistical Science (1999): 382 & ndash; 401.
Sie konstruieren viele Modelle (z. B. 100), von denen jedes mit einer Teilmenge der ursprünglichen Merkmale konstruiert ist. Dann bestimmt jedes einzelne Modell, welche der Variablen, die es gesehen hat, signifikant war, und jedes Modell wird durch die Datenwahrscheinlichkeit gewichtet, was Ihnen eine schöne Zusammenfassung darüber gibt, wie die Wirksamkeit von Variablen auf eine Art "Kreuzvalidierung" "beurteilt" werden kann Wenn Sie a priori wissen, dass einige Merkmale stark korreliert sind, können Sie ein Stichprobenschema erstellen, sodass sie niemals zusammen ausgewählt werden (oder wenn Sie eine Blockkorrelationsstruktur haben, wählen Sie Elemente verschiedener Blöcke in Ihrer Varianz-Kovarianz-Matrix aus).
In einer Einstellung für maschinelles Lernen : Sehen Sie sich "Auswahl der Ensemble-Funktionen" an. Dieses Papier (ein Beispiel)
Neumann, Ursula, Nikita Genze und Dominik Heider. "EFS: Ein Tool zur Auswahl von Ensemble-Funktionen, das als R-Paket und Webanwendung implementiert ist." BioData Mining 10.1 (2017): 21.
Bestimmt die Merkmalsbedeutung über eine Vielzahl von "Wichtigkeits" -Metriken, um die endgültige Merkmalsauswahl zu treffen.
Ich würde sagen, dass der Weg des maschinellen Lernens besser sein könnte, wenn lineare b / c-Modelle (mit Merkmalsauswahl) bei p = nb / c ihrer Optimierungsumformulierung gesättigt sind (siehe diesen Beitrag. Wenn p> n, wählt das Lasso höchstens n aus Variablen ). Solange Sie jedoch ein gutes objektives Kriterium für die Kreuzvalidierung der Funktionsauswahl definieren und begründen können, haben Sie einen guten Start.
Hoffe das hilft!
quelle