Ich habe eine Frage zum Erfordernis, Merkmalsauswahlmethoden (Wichtigkeitswert für zufällige Gesamtstrukturen oder Auswahlmethoden für univariate Merkmale usw.) zu verwenden, bevor ein statistischer Lernalgorithmus ausgeführt wird.
Wir wissen, dass wir Regularisierungsstrafen für die Gewichtsvektoren einführen können, um eine Überanpassung zu vermeiden.
Wenn ich also eine lineare Regression durchführen möchte, könnte ich die Parameter L2 oder L1 oder sogar Elastic Net Regularization einführen. Um spärliche Lösungen zu erhalten, hilft die L1-Strafe bei der Featureauswahl.
Muss die Featureauswahl dann noch durchgeführt werden, bevor die L1-Regularisierung und die Regression ausgeführt werden, z. B. Lasso ?. Technisch gesehen hilft mir Lasso dabei, die Features um den L1-Nachteil zu reduzieren. Warum wird dann die Feature-Auswahl benötigt, bevor der Algo ausgeführt wird?
Ich habe einen Forschungsartikel gelesen, in dem es heißt, dass Anova und dann SVM eine bessere Leistung bringen als SVM allein. Die Frage ist nun: SVM führt inhärent eine Regularisierung unter Verwendung der L2-Norm durch. Um den Spielraum zu maximieren, wird die Gewichtsvektornorm minimiert. Es führt also eine Regularisierung in seiner objektiven Funktion durch. Dann sollten sich technisch gesehen Algorithmen wie SVM nicht um Merkmalsauswahlmethoden kümmern. Der Bericht besagt jedoch weiterhin, dass die Auswahl von univariaten Features vor der Verwendung von normalem SVM leistungsstärker ist.
Jemand mit Gedanken?
Antworten:
Die Feature-Auswahl verbessert manchmal die Leistung von regularisierten Modellen, aber meiner Erfahrung nach verschlechtert sie im Allgemeinen die Generalisierungsleistung. Der Grund dafür ist, dass je mehr Entscheidungen wir in Bezug auf unser Modell treffen (einschließlich der Werte der Parameter, der Auswahl der Features, der Einstellung der Hyperparameter, der Auswahl des Kernels ...), desto mehr Daten müssen wir treffen diese Entscheidungen zuverlässig. Im Allgemeinen treffen wir diese Auswahl, indem wir ein Kriterium minimieren, das über einen endlichen Datensatz ausgewertet wird, was bedeutet, dass das Kriterium zwangsläufig eine Abweichung ungleich Null aufweist. Wenn wir das Kriterium zu aggressiv minimieren, können wir es überanpassen, dh wir können Entscheidungen treffen, die das Kriterium aufgrund von Merkmalen minimieren, die von der jeweiligen Stichprobe abhängen, an der es ausgewertet wird, und nicht, weil es a erzeugt echte Leistungssteigerung.
Nun ist die SVM eine ungefähre Implementierung einer Beschränkung der Generalisierungsleistung, die nicht von der Dimensionalität abhängt. Daher können wir im Prinzip eine gute Leistung ohne Feature-Auswahl erwarten, vorausgesetzt, die Regularisierungsparameter sind richtig gewählt. Die meisten Methoden zur Merkmalsauswahl haben keine solchen Leistungsgarantien.
Bei L1-Methoden würde ich mich sicherlich nicht um die Auswahl von Features kümmern, da das L1-Kriterium im Allgemeinen zum Zuschneiden von Features wirksam ist. Der Grund dafür ist, dass die Reihenfolge, in der Features in das Modell eintreten und es verlassen, geändert wird. Dadurch wird die Anzahl der verfügbaren Auswahlmöglichkeiten bei der Auswahl von Features verringert und die Gefahr einer Überanpassung verringert.
Der beste Grund für die Auswahl von Funktionen besteht darin, herauszufinden, welche Funktionen relevant / wichtig sind. Der schlimmste Grund für die Auswahl von Features ist die Verbesserung der Leistung. Bei regulierten Modellen verschlimmert dies die Situation im Allgemeinen. Für einige Datasets kann dies jedoch einen großen Unterschied bedeuten. Probieren Sie es aus und verwenden Sie ein robustes, unvoreingenommenes Leistungsbewertungsschema (z. B. verschachtelte Kreuzvalidierung), um herauszufinden, ob es sich bei Ihrem Dataset um einen dieser Datasets handelt.
quelle
Es gibt jedoch noch Gründe, eine Variable vollständig zu entfernen.
quelle
Ich denke nicht, dass Überanpassung der Grund ist, warum wir zuerst die Auswahl von Funktionen benötigen. Tatsächlich tritt eine Überanpassung auf, wenn wir dem Modell nicht genügend Daten zur Verfügung stellen. Durch die Auswahl von Features wird die Datenmenge, die wir unserem Algorithmus übergeben, weiter reduziert .
Ich würde stattdessen sagen, dass die Merkmalsauswahl als Vorverarbeitungsschritt für Modelle benötigt wird, die nicht in der Lage sind, die Wichtigkeit von Merkmalen selbst zu bestimmen, oder für Algorithmen, die viel weniger effizient sind, wenn sie diese Wichtigkeitsgewichtung selbst vornehmen müssen .
Nehmen Sie zum Beispiel einen einfachen Algorithmus für den nächsten k-Nachbarn, der auf der euklidischen Entfernung basiert. Es werden immer alle Merkmale mit dem gleichen Gewicht oder der gleichen Wichtigkeit für die endgültige Klassifizierung betrachtet. Wenn Sie also 100 Funktionen angeben, aber nur drei davon für Ihr Klassifizierungsproblem relevant sind, werden die Informationen aus den drei wichtigen Funktionen durch das Rauschen dieser zusätzlichen Funktionen vollständig überdeckt, und Sie erhalten keine nützlichen Vorhersagen. Wenn Sie stattdessen die kritischen Merkmale im Voraus bestimmen und nur diese an den Klassifizierer übergeben, funktioniert dies viel besser (ganz zu schweigen davon, dass dies viel schneller ist).
Schauen Sie sich andererseits einen zufälligen Waldklassifikator an. Während des Trainings wird automatisch ermittelt, welche Funktionen am nützlichsten sind, indem aus einer Teilmenge aller Funktionen eine optimale Aufteilung ermittelt wird. Daher ist es viel besser, die 97 nutzlosen Funktionen zu durchsuchen, um die drei guten zu finden. Natürlich wird es immer noch schneller ausgeführt, wenn Sie die Auswahl im Voraus vornehmen, aber die Klassifizierungsstärke leidet normalerweise nicht darunter, wenn es viele zusätzliche Funktionen gibt, auch wenn diese nicht relevant sind.
Schauen Sie sich zum Schluss neuronale Netze an. Auch hier handelt es sich um ein Modell, bei dem irrelevante Features ignoriert werden können, und beim Training durch Backpropagation werden in der Regel die interessanten Features verwendet. Es ist jedoch bekannt, dass Standard-Trainingsalgorithmus viel schneller konvergieren, wenn die Eingaben "weiß" sind, dh auf Einheitsvarianz skaliert und mit entfernter Kreuzkorrelation (LeCun et al., 1998) . Obwohl Sie die Featureauswahl nicht unbedingt durchführen müssen, kann sich die Vorverarbeitung der Eingabedaten als reine Leistung erweisen.
Zusammenfassend würde ich sagen, dass die Merkmalsauswahl weniger mit Überanpassung als vielmehr mit der Verbesserung der Klassifizierungsleistung und der Recheneffizienz einer Lernmethode zu tun hat. Wie viel davon benötigt wird, hängt stark von der jeweiligen Methode ab.
quelle
Ich denke, wenn Sie nicht genügend Datenpunkte haben, um die Parameter robust zu optimieren, können Sie die Featureauswahl durchführen, um einige Variablen zu entfernen. Aber ich würde nicht empfehlen, zu viel davon zu tun, da Sie das Signal verlieren können, das Sie modellieren möchten.
Darüber hinaus gibt es möglicherweise bestimmte Funktionen, die Sie in Ihren Modellen aufgrund des Geschäftsverständnisses nicht benötigen und die Sie möglicherweise entfernen möchten.
quelle
Im Falle von Lasso ist die Vorverarbeitung der Daten zum Entfernen von störenden Merkmalen eigentlich ziemlich verbreitet. Ein kürzlich veröffentlichtes Papier, in dem die Möglichkeiten hierfür erläutert wurden, finden Sie unter Screening-Tests für Lasso-Probleme von Xiang et al . Die häufigste Motivation, die ich in den Veröffentlichungen gesehen habe, besteht darin, den Rechenaufwand für die Berechnung der Lösung zu verringern.
quelle