Meine Frage ist dreifach
Im Kontext von "Kernelized" unterstützen Vektormaschinen
- Ist die Auswahl von Variablen / Merkmalen wünschenswert - insbesondere, da wir den Parameter C regulieren, um eine Überanpassung zu verhindern, und das Hauptmotiv für die Einführung von Kerneln in eine SVM darin besteht, die Dimensionalität des Problems zu erhöhen. In einem solchen Fall erscheint die Reduzierung der Dimensionen durch Parameterreduzierung kontraintuitiv
- Wenn die Antwort auf die erste Frage "NEIN" lautet, unter welchen Bedingungen würde sich die Antwort ändern, die man beachten sollte?
- Gibt es gute Methoden, mit denen versucht wurde, die Funktionsreduzierung für SVMs in der Python-Scikit-Lernbibliothek zu verbessern? Ich habe die SelectFpr-Methode ausprobiert und suche nach Personen mit Erfahrungen mit verschiedenen Methoden.
svm
feature-selection
scikit-learn
Nitin Srivastava
quelle
quelle
Antworten:
Persönlich teile ich die Funktionsauswahl gerne in zwei Teile:
Unüberwachte Funktionsauswahl sind Dinge wie Clustering oder PCA, bei denen Sie den am wenigsten redundanten Funktionsbereich auswählen (oder Funktionen mit geringer Redundanz erstellen). Überwachte Funktionsauswahl sind Dinge wie Lasso, bei denen Sie die Funktionen mit der größten Vorhersagekraft auswählen.
Ich persönlich bevorzuge normalerweise das, was ich als überwachte Funktionsauswahl bezeichne. Wenn ich also eine lineare Regression verwende, würde ich Features basierend auf Lasso auswählen. Ähnliche Methoden existieren, um in neuronalen Netzen Spärlichkeit zu induzieren.
Aber in der Tat sehe ich nicht, wie ich das in einer Methode mit Kerneln machen würde, also ist es wahrscheinlich besser, wenn Sie das verwenden, was ich als unbeaufsichtigte Funktionsauswahl bezeichne.
EDIT: Sie haben auch nach Regularisierung gefragt. Ich sehe Regularisierung vor allem deshalb als hilfreich an, weil wir mit endlichen Stichproben arbeiten und die Verteilung von Training und Test immer etwas unterschiedlich ist und Sie möchten, dass Ihr Modell nicht überpasst. Ich bin nicht sicher, ob es die Notwendigkeit beseitigt, die Auswahl von Funktionen zu vermeiden (wenn Sie tatsächlich zu viele haben). Ich denke, dass die Auswahl von Features (oder das Erstellen einer kleineren Teilmenge davon) dazu beiträgt, die Features, die Sie haben, robuster zu machen und zu vermeiden, dass das Modell aus falschen Korrelationen lernt. Regularisierung hilft zwar, ist sich aber nicht sicher, ob es sich um eine vollständige Alternative handelt. Aber ich habe nicht gründlich genug darüber nachgedacht.
quelle