Merkmalsauswahl im maschinellen Lernen

Hallo, Habra!

Wir bei „Rexoft“ haben einen Artikel ins Deutsche übersetzt Merkmalsauswahl im Maschinenlernen. Wir hoffen, dass es für alle von Nutzen sein wird, die sich für das Thema interessieren.

In der realen Welt sind Daten nicht immer so sauber, wie es manchmal von Geschäftskunden angenommen wird. Daher ist die intelligente Datenanalyse (Data Mining und Datenaufbereitung) sehr gefragt. Sie hilft, fehlende Werte und Muster in strukturierten Daten zu identifizieren, die nicht von Menschen erkannt werden können. Um diese Muster zu finden und für die Vorhersage von Ergebnissen anhand der entdeckten Zusammenhänge in den Daten zu nutzen, ist maschinelles Lernen (Machine Learning) nützlich.

Um einen Algorithmus zu verstehen, ist es notwendig, alle Variablen in den Daten zu betrachten und herauszufinden, was diese Variablen darstellen. Das ist äußerst wichtig, da die Begründung der Ergebnisse auf dem Verständnis der Daten beruht. Wenn die Daten 5 oder sogar 50 Variablen enthalten, kann man alle studieren. Aber was ist, wenn es 200 sind? Dann bleibt einfach nicht genug Zeit, jede einzelne Variable zu untersuchen. Darüber hinaus funktionieren einige Algorithmen nicht für kategoriale Daten, und in diesem Fall müssen alle kategorialen Spalten in quantitative Variablen umgewandelt werden (sie können quantitativ aussehen, aber die Metriken zeigen, dass sie kategorial sind), um sie in das Modell einzuführen. So erhöht sich die Anzahl der Variablen auf etwa 500. Was ist jetzt zu tun? Man könnte denken, dass die Antwort in der Dimensionsreduktion liegt. Algorithmen zur Dimensionsreduktion verringern die Anzahl der Parameter, haben aber negative Auswirkungen auf die Interpretierbarkeit. Was, wenn es andere Techniken gibt, die Merkmale ausschließen und gleichzeitig die verbleibenden leicht verständlich machen?

Je nachdem, ob die Analyse auf Regression oder Klassifikation basiert, können die Algorithmen zur Merkmalsauswahl unterschiedlich sein, aber die Hauptidee ihrer Umsetzung bleibt die gleiche.

Stark korrelierte Variablen

Stark korrelierte Variablen geben dem Modell dieselbe Information, daher ist es nicht nötig, sie alle für die Analyse zu verwenden. Wenn beispielsweise ein Datensatz die Merkmale "Online-Zeit" und "Verwendeter Traffic" enthält, kann angenommen werden, dass sie bis zu einem gewissen Grad korreliert sein werden, und wir werden eine starke Korrelation feststellen, selbst wenn wir eine unvoreingenommene Datenprobe wählen. In diesem Fall benötigt das Modell nur eine dieser Variablen. Wenn beide verwendet werden, wird das Modell überangepasst (overfit) und zeigt eine Verzerrung gegenüber einem bestimmten Merkmal.

P-Werte

In Algorithmen wie der linearen Regression ist es immer eine gute Idee, ein anfängliches statistisches Modell zu verwenden. Es hilft, die Wichtigkeit der Merkmale anhand ihrer P-Werte zu zeigen, die mit diesem Modell erhalten wurden. Durch Festlegung des Signifikanzniveaus überprüfen wir die erhaltenen P-Werte, und wenn ein Wert unter dem festgelegten Signifikanzniveau liegt, wird dieses Merkmal als signifikant angesehen, was bedeutet, dass eine Änderung seines Wertes wahrscheinlich zu einer Änderung des Zielwertes führt.

Vorwärtsauswahl

Vorwärtsauswahl ist eine Technik, die in der schrittweisen Regression angewendet wird. Der Modellaufbau beginnt von Grund auf, also mit einem leeren Modell, und dann wird in jeder Iteration eine Variable hinzugefügt, die das entstehende Modell verbessert. Welche Variable in das Modell aufgenommen wird, bestimmt ihre Signifikanz. Dies kann unter Verwendung verschiedener Metriken berechnet werden. Die gebräuchlichste Methode besteht darin, P-Werte zu verwenden, die im ursprünglichen statistischen Modell unter Verwendung aller Variablen erhalten wurden. Manchmal kann die Vorwärtsauswahl zu einer Überanpassung des Modells führen, da stark korrelierte Variablen im Modell enthalten sein können, selbst wenn sie dem Modell dieselbe Information liefern (das Modell jedoch gleichzeitig eine Verbesserung zeigt).

Rückwärtsauswahl

Die rückwärtsgerichtete Auswahl besteht ebenfalls aus schrittweiser Ausschluss von Merkmalen, jedoch in entgegengesetzter Richtung im Vergleich zur direkten Auswahl. In diesem Fall umfasst das anfängliche Modell alle unabhängigen Variablen. Danach werden die Variablen ausschließende (eine nach der anderen pro Iteration), wenn sie für das neue Regressionsmodell in jeder Iteration keinen Wert haben. Dem Ausschluss von Merkmalen liegen die p-Werte des anfänglichen Modells zugrunde. Auch in dieser Methode gibt es Unsicherheiten beim Entfernen von stark korrelierten Variablen.

Rekursive Merkmalsauswahl

RFE ist eine weit verbreitete Technik/Algorithmus zur Auswahl einer genauen Anzahl von signifikanten Merkmalen. Manchmal wird die Methode verwendet, um eine bestimmte Anzahl von "wichtigsten" Merkmalen zu erklären, die die Ergebnisse beeinflussen; manchmal auch, um eine sehr große Anzahl von Variablen (etwa 200-400) zu reduzieren und nur die zu belassen, die einen gewissen Beitrag zum Modell leisten, während alle anderen ausgeschlossen werden. RFE verwendet ein Rangsystem. Den Merkmalen im Datensatz werden Ränge zugewiesen. Diese Ränge werden dann für den rekursiven Ausschluss von Merkmalen in Abhängigkeit von der Kollinearität zwischen ihnen und der Bedeutung dieser Merkmale im Modell verwendet. Neben der Rangordnung der Merkmale kann RFE auch zeigen, ob diese Merkmale selbst für eine gegebene Anzahl von Merkmalen wichtig sind oder nicht (da sehr wahrscheinlich ist, dass die gewählte Anzahl von Merkmalen nicht optimal sein kann und die optimale Anzahl sowohl größer als auch kleiner als die gewählte sein kann).

Bedeutungsdiagramm der Merkmale

Wenn über die Interpretierbarkeit von Algorithmen des maschinellen Lernens gesprochen wird, werden normalerweise lineare Regressionen (die es ermöglichen, die Signifikanz von Merkmalen mithilfe von p-Werten zu analysieren) und Entscheidungsbäume (die die Bedeutung von Merkmalen in Form eines Baumes und gleichzeitig deren Hierarchie darstellen) diskutiert. Auf der anderen Seite wird in Algorithmen wie Random Forest, LightGBM und XG Boost häufig ein Diagramm zur Merkmalsbedeutung verwendet, das heißt, es wird ein Diagramm der Variablen und ihrer "Bedeutung" erstellt. Dies ist besonders nützlich, wenn ein strukturiertes Argument zur Bedeutung von Merkmalen in Bezug auf ihren Einfluss auf das Geschäft bereitgestellt werden muss.

Regulierung

Die Regularisierung wird durchgeführt, um das Gleichgewicht zwischen Verzerrung (Bias) und Varianz (Variance) zu kontrollieren. Die Verzerrung zeigt, wie sehr das Modell überangepasst (overfit) ist, basierend auf dem Trainingsdatensatz. Die Varianz zeigt, wie unterschiedlich die Vorhersagen zwischen dem Trainings- und dem Testdatensatz waren. Idealerweise sollten sowohl die Verzerrung als auch die Varianz gering sein. Hier kommt die Regularisierung ins Spiel! Es gibt zwei Haupttechniken:

L1-Regularisierung — Lasso: Lasso bestraft die Gewichtungskoeffizienten des Modells, um deren Bedeutung für das Modell zu verändern, und kann sie sogar auf null setzen (d.h. diese Variablen aus dem endgültigen Modell entfernen). Lasso wird normalerweise verwendet, wenn der Datensatz eine große Anzahl von Variablen enthält und einige davon ausgeschlossen werden müssen, um besser zu verstehen, wie wichtige Merkmale das Modell beeinflussen (d.h. die Merkmale, die von Lasso ausgewählt wurden und deren Bedeutung festgelegt ist).

L2-Regularisierung — Ridge-Methoden: Die Aufgabe von Ridge besteht darin, alle Variablen zu erhalten und ihnen gleichzeitig eine Bedeutung basierend auf ihrem Beitrag zur Wirksamkeit des Modells zuzuweisen. Ridge ist eine gute Wahl, wenn der Datensatz eine geringe Anzahl von Variablen enthält und alle für die Interpretation der Schlussfolgerungen und Ergebnisse benötigt werden.

Da Ridge alle Variablen beibehält und Lasso besser deren Bedeutung festlegt, wurde ein Algorithmus entwickelt, der die besten Eigenschaften beider Regularisierungen kombiniert und als Elastic-Net bekannt ist.

Es gibt noch viele weitere Methoden zur Merkmalsauswahl für das maschinelle Lernen, aber die Hauptidee bleibt immer dieselbe: Die Wichtigkeit der Variablen zu demonstrieren und dann einige davon basierend auf der erhaltenen Wichtigkeit auszuschließen. Wichtigkeit ist ein sehr subjektiver Begriff, da es sich nicht um eine einzige, sondern um eine ganze Reihe von Metriken und Diagrammen handelt, die zur Identifizierung von Schlüsselfunktionen verwendet werden können.

Vielen Dank fürs Lesen! Viel Spaß beim Lernen!

Quelle: habr.com

60GB SSD 8Gb DDR4