Welche Variablen- / Merkmalsauswahl bevorzugen Sie für die binäre Klassifizierung, wenn der Lernsatz viel mehr Variablen / Merkmale als Beobachtungen enthält? Ziel ist es, zu diskutieren, durch welches Merkmalauswahlverfahren der Klassifizierungsfehler am besten reduziert wird.
Wir können Notationen fix für Konsistenz: für , lassen Sie { x i 1 , ... , x i n i } wird die Lern Reihe von Beobachtungen aus der Gruppe i . So n 0 + n 1 = n ist die Größe des Lernsatzes. Wir setzen p als die Anzahl der Merkmale (dh die Dimension des Merkmalsraums). Sei x [ i ] die i- te Koordinate von x .
Bitte geben Sie vollständige Referenzen an, wenn Sie die Details nicht angeben können.
BEARBEITEN (kontinuierlich aktualisiert): In den Antworten unten vorgeschlagene Verfahren
- Gierige Vorwärtsauswahl Variablenauswahlverfahren für die binäre Klassifizierung
- Rückwärtseliminierung Variablenauswahlverfahren für die binäre Klassifizierung
- Metropolis Scanning / MCMC Variablenauswahlverfahren für die binäre Klassifizierung
- bestrafte logistische Regression Variablenauswahlverfahren für die binäre Klassifikation
Da dies Community-Wiki ist, kann es mehr Diskussionen und Updates geben
Ich habe eine Bemerkung: In gewissem Sinne geben Sie alle eine Prozedur an, die die Reihenfolge der Variablen, aber nicht die Auswahl der Variablen erlaubt (Sie sind bei der Auswahl der Anzahl der Features ziemlich ausweichend, ich vermute, Sie alle verwenden die Kreuzvalidierung?). Können Sie dies verbessern? die antworten in diese richtung? (Da dies Community - Wiki ist, müssen Sie nicht der Antwortschreiber sein, um Informationen zum Auswählen der Anzahl der Variablen hinzuzufügen. Ich habe hier eine Frage in diese Richtung gestellt. Kreuzvalidierung in sehr hoher Dimension (zum Auswählen der Anzahl der Variablen) verwendete Variablen in sehr hochdimensionaler Klassifikation) )
quelle
Antworten:
Ein sehr populärer Ansatz ist die bestrafte logistische Regression, bei der man die Summe der log-Wahrscheinlichkeit und eines Bestrafungsterms maximiert, der aus der L1-Norm ("Lasso"), der L2-Norm ("Kamm") und einer Kombination der beiden besteht ("elastisch") oder eine Strafe für Gruppen von Variablen ("Gruppen-Lasso"). Dieser Ansatz hat mehrere Vorteile:
quelle
Ich bevorzuge Random Forests von Leo Breiman & Adele Cutleer aus mehreren Gründen:
Einige Autoren argumentierten, dass es SVM- oder Gradient-Boosting-Maschinen nicht nur bestraft, sondern auch bestrafte (siehe z. B. Cutler et al., 2009, zu letzterem Punkt).
Eine vollständige Beschreibung seiner Anwendungen oder Vorteile ist möglicherweise nicht Gegenstand des Themas. Ich empfehle daher die Elemente des statistischen Lernens von Hastie et al. (Kap. 15) und Sayes et al. (2007) für weitere Lesungen.
Last but not least hat es eine schöne Implementierung in R, mit dem randomForest- Paket. Andere R-Pakete erweitern oder verwenden es ebenfalls, z . B. Party und Caret .
Verweise:
Cutler, A., Cutler, DR, und Stevens, JR (2009). Baumbasierte Methoden in der hochdimensionalen Datenanalyse in der Krebsforschung , Li, X. und Xu, R. (Hrsg.), S. 83-101, Springer.
Saeys, Y., Inza, I. und Larrañaga, P. (2007). Ein Überblick über Techniken zur Merkmalsauswahl in der Bioinformatik. Bioinformatics , 23 (19) : 2507 & ndash ; 2517.
quelle
Metropolis-Scannen / MCMC
dE
der Differenz wird der Fehler des neuen Satzes abzüglich des Fehlers des vorherigen Satzes gespeichert .min(1;exp(-beta*dE))
Akzeptieren Sie diese Änderung mit größter Wahrscheinlichkeit , lehnen Sie sie ansonsten ab und versuchen Sie es mit einer anderen zufälligen Änderung.Sie können es mit einer klügeren Kontrolle der
beta
Parameter erweitern. Einfacher ist es, simuliertes Tempern zu verwenden, wenn Siebeta
die Temperatur im Laufe der Zeit erhöhen (in physikalischer Analogie senken), um Schwankungen zu reduzieren und den Algorithmus auf ein Minimum zu reduzieren. Es ist schwieriger, den Austausch von Replikaten zu verwenden .quelle
Wenn Sie nur an der Generalisierungsleistung interessiert sind, ist es wahrscheinlich besser, keine Feature-Auswahl vorzunehmen und stattdessen Regularisierung zu verwenden (z. B. Ridge-Regression). In der Community des maschinellen Lernens gab es mehrere offene Herausforderungen bei der Featureauswahl, und Methoden, die auf Regularisierung und nicht auf Featureauswahl beruhen, weisen im Allgemeinen mindestens die gleiche Leistung auf, wenn nicht sogar eine bessere.
quelle
Gierige Vorauswahl.
Die Schritte für diese Methode sind:
quelle
Eliminierung rückwärts.
Beginnen Sie mit dem vollständigen Satz, trainieren Sie den Klassifizierer dann iterativ mit den verbleibenden Merkmalen und entfernen Sie das Merkmal mit der geringsten Wichtigkeit. Halten Sie an, wenn der Klassifiziererfehler schnell zunimmt / unannehmbar hoch wird.
Die Wichtigkeit kann sogar dadurch erreicht werden, dass jedes Merkmal iterativ entfernt und die Fehlererhöhung überprüft oder aus dem Klassifikator angepasst wird, wenn es erzeugt wird (wie im Fall von Random Forest).
quelle
(n - k - p) / (k - 1) * ...
mitn
der Anzahl der Beobachtungen,k
die Anzahl der Klassen (2 hier) undp
der Anzahl der Variablen.n - 2 - p < 0
wannn < p + 2
(was hier der Fall ist) was dazu führtF < 0
. Wäre das nicht ein Problem?