Aus Wikipedia,
Dimensionsreduktion oder Dimensionsreduktion ist der Prozess der Reduzierung der Anzahl der betrachteten Zufallsvariablen und kann in Merkmalsauswahl und Merkmalsextraktion unterteilt werden.
Was ist der Unterschied zwischen Merkmalsauswahl und Merkmalsextraktion?
Was ist ein Beispiel für eine Dimensionsreduktion bei einer Natural Language Processing-Aufgabe?
Bei der Dimensionsreduzierung wird in der Regel eine Basis oder mathematische Darstellung ausgewählt, in der Sie die meisten, jedoch nicht alle Abweichungen in Ihren Daten beschreiben können, um die relevanten Informationen zu erhalten und gleichzeitig die für die Darstellung erforderliche Informationsmenge zu reduzieren. Es gibt eine Vielzahl von Techniken für diese einschließlich , aber nicht darauf beschränkt zu tun
PCA
,ICA
undMatrix Feature Factorization
. Dadurch werden vorhandene Daten auf die am meisten diskriminierenden Komponenten reduziert. Auf diese Weise können Sie die meisten Informationen in Ihrem Datensatz mit weniger, mehr diskriminierenden Merkmalen darstellen.Feature Selection (Merkmalsauswahl) ist die manuelle Auswahl von Merkmalen, die stark voneinander abhängen. Dies hat viel mehr mit Feature-Engineering als mit Analyse zu tun und erfordert vom Datenwissenschaftler erheblich mehr Arbeit. Es erfordert ein Verständnis dafür, welche Aspekte Ihres Datensatzes für die von Ihnen getroffenen Vorhersagen wichtig sind und welche nicht. Beim Extrahieren von Features werden normalerweise neue Features generiert, die aus vorhandenen Features zusammengesetzt sind. Beide Techniken fallen in die Kategorie des Feature Engineerings. Im Allgemeinen ist Feature-Engineering wichtig, wenn Sie die besten Ergebnisse erzielen möchten, da dabei Informationen erstellt werden, die möglicherweise nicht in Ihrem Datensatz vorhanden sind, und der Rauschabstand erhöht wird.
quelle
Dimensionality Reduction
Klausel einverstanden , unterscheide mich aber ein wenig in derFeature Engineering
Verwendung - was von dem, was ich gesehen habe, nur istFeature Extraction
:Feature Selection
wird separat betrachtet. Es ist nur ein Unterschied in der Terminologie.Wie in @damienfrancois geht es bei der Auswahl von Antwortfunktionen um die Auswahl einer Teilmenge von Funktionen. In NLP würde es sich also um die Auswahl einer Reihe spezifischer Wörter handeln (das typische Merkmal in NLP ist, dass jedes Wort ein Merkmal darstellt, dessen Wert der Häufigkeit des Wortes oder einem anderen Gewicht entspricht, das auf TF / IDF oder ähnlichem basiert).
Die Dimensionsreduzierung ist die Einführung eines neuen Merkmalsraums, in dem die ursprünglichen Merkmale dargestellt werden. Der neue Raum hat eine geringere Dimension als der ursprüngliche Raum. Im Fall von Text wäre ein Beispiel der Hashing-Trick, bei dem ein Text auf einen Vektor von wenigen Bits (z. B. 16 oder 32) oder Bytes reduziert wird. Das Erstaunliche ist, dass die Geometrie des Raums erhalten bleibt (mit genügend Bits), sodass die relativen Abstände zwischen Dokumenten dieselben bleiben wie im ursprünglichen Raum, sodass Sie Standardtechniken für maschinelles Lernen anwenden können, ohne sich mit ungebundenen (und riesigen Mengen) zu befassen von) Abmessungen im Text gefunden.
quelle
Bei der Merkmalsauswahl geht es darum, einige Merkmale auf der Grundlage einer statistischen Bewertung auszuwählen, bei der Merkmalsextraktion werden jedoch Techniken verwendet, um Informationen der zweiten Schicht aus den Daten zu extrahieren, z. B. interessante Frequenzen eines Signals unter Verwendung einer Fourier-Transformation.
Bei der Dimensionalitätsreduktion geht es darum, Daten in einen niedrigdimensionalen Raum zu verwandeln, in dem die Daten ihre euklidische Struktur beibehalten, jedoch nicht unter dem Fluch der Dimensionalität leiden. Angenommen, Sie extrahieren einige Wortmerkmale aus einem Datensatz, in dem jedes Dokument als Punkt im n-dimensionalen Raum modelliert werden kann und n zu groß ist (ein Spielzeugbeispiel). In diesem Fall arbeiten viele Algorithmen nicht entsprechend der Abstandsverzerrung des hochdimensionalen Raums. Jetzt müssen Sie die Dimensionalität reduzieren, indem Sie entweder die informativsten Features auswählen oder sie mithilfe von Dimensionalitätsreduktionsmethoden, z. B. PCA, LLE usw., in eine niedrig dimensionierte Mannigfaltigkeit umwandeln.[x1,...,xn]
quelle
Um Damiens Antwort zu vervollständigen, ist ein Beispiel für die Reduzierung der Dimensionalität in NLP ein Themenmodell , bei dem Sie das Dokument durch einen Vektor darstellen, der die Gewichtung der konstituierenden Themen angibt.
quelle
Um eine korrekte Überprüfung und Definition zu erhalten, werfen Sie einen Blick auf Dimensionsreduzierung vs. Variablenauswahl, auch in dem Buch Feature-Extraktion Grundlagen und Anwendungen. Die Feature-Extraktion wird in zwei Schritte zerlegt: Feature-Konstruktion und Feature-Auswahl.
quelle
A1. Was ist Dimensionsreduzierung? Wenn Sie an Daten in einer Matrix denken, in der Zeilen Instanzen und Spalten Attribute (oder Features) sind, ordnet die Dimensionsreduzierung diese Datenmatrix einer neuen Matrix mit weniger Spalten zu. Wenn Sie sich zur Visualisierung jede Matrixspalte (Attribut) als Dimension im Feature-Space vorstellen, ist die Dimensionsreduktion die Projektion von Instanzen aus dem höherdimensionalen Raum (mehr Spalten) in einen tieferdimensionalen Unterraum (weniger Spalten). Ein typisches Ziel für diese Transformation besteht darin, (1) Informationen in der Datenmatrix zu erhalten und gleichzeitig den Rechenaufwand zu verringern; (2) Verbesserung der Trennbarkeit verschiedener Datenklassen.
A2. Dimensionsreduktion als Merkmalsauswahl oder Merkmalsextraktion: Ich verwende den allgegenwärtigen Iris-Datensatz , der wohl die „Hallo-Welt“ der Datenwissenschaft ist. Kurz gesagt, der Iris-Datensatz verfügt über 3 Klassen und 4 Attribute (Spalten). Ich werde die Merkmalsauswahl und -extraktion für die Aufgabe der Reduzierung der Iris-Dataset-Dimensionalität von 4 auf 2 veranschaulichen.
Ich berechne die paarweise Kovarianz dieses Datensatzes mit der Bibliothek in Python namens seaborn. Der Code lautet: sns.pairplot (Iris, Farbton = "Spezies", Markierungen = ["o", "s", "D"]) Die Zahl, die ich erhalte, ist, dass ich das Attributpaar (2 Dimensionen) auswählen kann , das bereitgestellt wird mir die größte Trennung zwischen den 3 Klassen (Arten) im Iris-Datensatz. Dies wäre ein Fall der Merkmalsauswahl.
Als Nächstes folgt die Feature-Extraktion. Hier projiziere ich den 4-dimensionalen Merkmalsraum von Iris auf einen neuen 2-dimensionalen Unterraum, der nicht achsenausgerichtet mit dem ursprünglichen Raum ist. Dies sind neue Attribute. Sie basieren typischerweise auf der Verteilung im ursprünglichen hochdimensionalen Raum. Die bekannteste Methode ist die Hauptkomponentenanalyse, bei der Eigenvektoren im ursprünglichen Raum berechnet werden. Offensichtlich sind wir nicht darauf beschränkt, nur eine lineare und globale Projektion auf einen auf Eigenvektoren basierenden Unterraum zu verwenden. Wir können auch nichtlineare Projektionsmethoden verwenden. Hier ist ein Beispiel für eine nichtlineare PCA mit neuronalen Netzen. Die Attribute (Dimensionen) im letzten Beispiel werden extrahiertvon den ursprünglichen 4 Attributen mit neuronalen Netzen. Mit diesem pca-Methodencode können Sie mit verschiedenen PCA-Varianten für Iris-Datasets experimentieren .
Zusammenfassung: Während die Methoden zum Extrahieren von Features in der Leistung der Featureauswahl überlegen zu sein scheinen, wird die Auswahl von der Anwendung vorausgesetzt. Die Attribute aus der Merkmalsextraktion verlieren in der Regel ihre physikalische Interpretation, was je nach vorliegender Aufgabe ein Problem sein kann oder nicht. Wenn Sie beispielsweise eine sehr teure Datenerfassungsaufgabe mit kostspieligen Sensoren entwerfen und die Attribute (Anzahl der verschiedenen Sensoren) einsparen müssen, möchten Sie eine kleine Pilotprobe mit allen verfügbaren Sensoren erfassen und dann die Sensoren auswählen, die diese enthalten sind am informativsten für die Big-Data-Erfassungsaufgabe.
quelle
Extrahiert aus dem praktischen maschinellen Lernen mit Scikit-Learn & Tensorflow
quelle
Einige gute Antworten auf diese Frage, insbesondere die Antwort von @ damienfrancois, fasst die allgemeine Idee sehr gut zusammen.
Ich sehe jedoch keine Beispiele für Feature-Engineering für relationale Daten oder Zeitreihendaten. In diesem Fall extrahieren Datenwissenschaftler im Allgemeinen statistische Muster über Beziehungen und Zeiträume hinweg. Um beispielsweise vorherzusagen, was Kunden in Zukunft in einer E-Commerce-Datenbank erwarten, können Mengen wie der durchschnittliche historische Kaufbetrag oder die Häufigkeit früherer Käufe extrahiert werden.
Ich habe einen Artikel zu diesem Thema geschrieben, der mit mehreren Beispielen ausführlicher beschrieben wird: https://www.featurelabs.com/blog/feature-engineering-vs-feature-selection/
quelle
Lassen Sie mich in umgekehrter Reihenfolge beginnen, welche Merkmale extrahiert werden und warum eine Merkmalsauswahl und Dimensionsreduzierung erforderlich ist.
Beginnend mit der Verwendung der Merkmalsextraktion, die hauptsächlich zu Klassifizierungszwecken dient. Bei der Klassifizierung wird entschieden, zu welcher Kategorie ein bestimmtes Objekt gehört. Es besteht aus zwei Phasen: i) Trainingsphase, in der anhand der Daten oder Objekte ihre Eigenschaften mithilfe eines Prozesses (Merkmalsextraktion) gelernt werden. Ii) Testphase, in der das unbekannte Objekt anhand der in der vorherigen (Trainings-) Phase gelernten Merkmale klassifiziert wird.
Die Merkmalsextraktion ist, wie der Name vermuten lässt, angesichts des Ziels der Daten, das zugrunde liegende Muster zu finden. Dieses zugrunde liegende Muster, das als Merkmal bezeichnet wird, entspricht den jeweiligen Daten. Für die Feature-Extraktion stehen verschiedene Methoden zur Verfügung, z. B. Support Vector Machine (SVM).
Jetzt sollte die Merkmalsextraktion Merkmale erzeugen, die sein sollten
Merkmalsauswahl: Ein bestimmter Datensatz kann entweder durch ein einzelnes Merkmal oder einen Satz von Merkmalen dargestellt werden. Im Klassifizierungsprozess wird ein System für mindestens zwei Klassen trainiert. Das Trainingssystem generiert also entweder eine einzelne Funktion oder eine Reihe von Funktionen. Diese Merkmale sollten die oben angegebenen Eigenschaften besitzen.
Das Problem tritt auf, wenn für jede Klasse ein Feature-Set vorhanden ist und eine Korrelation zwischen einigen der Features besteht. Dies impliziert, dass unter diesen korrelierenden Merkmalen eines oder wenige zur Darstellung ausreichen, und hier kommt die Merkmalsauswahl ins Spiel. Außerdem müssen diese Merkmale gespeichert werden, wenn sich auch der Bedarf an Merkmalssatzspeicher erhöht.
Dann kommt die Dimensionsreduktion, die nichts anderes als der Teil des Merkmalsauswahlprozesses ist. Es ist der Prozess der Auswahl des optimalen Satzes von Merkmalen, die die Daten am besten beschreiben. Es gibt viele Techniken dafür, wie z. B. Hauptkomponentenanalyse, unabhängige Komponentenanalyse und Matrixfaktorisierung usw.
quelle
Beispiel: Wenn Sie ein landwirtschaftliches Land besitzen, ist die Auswahl eines bestimmten Gebiets dieses Landes eine Merkmalsauswahl. Wenn Sie die betroffenen Pflanzen in diesem Gebiet finden möchten, müssen Sie jede Pflanze anhand eines bestimmten Merkmals beobachten, das häufig vorkommt in jeder Pflanze, um die Abnormalitäten zu finden ... dafür würden Sie die Merkmalsextraktion in Betracht ziehen. In diesem Beispiel entspricht die ursprüngliche landwirtschaftliche Fläche der Dimensionsreduktion.
quelle