Stummel Was ist Dimensionsreduktion? - Unite.AI
Vernetzen Sie sich mit uns

AI 101

Was ist Dimensionsreduktion?

mm
Aktualisiert on

Was ist Dimensionsreduktion?

Dimensionsreduzierung ist ein Prozess, der verwendet wird, um die Dimensionalität eines Datensatzes zu reduzieren, indem viele Features übernommen und als weniger Features dargestellt werden. Beispielsweise könnte die Dimensionsreduktion verwendet werden, um einen Datensatz mit zwanzig Merkmalen auf nur wenige Merkmale zu reduzieren. Die Dimensionsreduktion wird häufig verwendet in unbeaufsichtigtes Lernen Aufgaben, um aus vielen Funktionen automatisch Klassen zu erstellen. Um es besser zu verstehen warum und wie Dimensionsreduktion verwendet wirdwerfen wir einen Blick auf die Probleme, die mit hochdimensionalen Daten verbunden sind, und auf die gängigsten Methoden zur Reduzierung der Dimensionalität.

Mehr Dimensionen führen zu einer Überanpassung

Dimensionalität bezieht sich auf die Anzahl der Features/Spalten innerhalb eines Datensatzes.

Es wird oft angenommen, dass beim maschinellen Lernen mehr Funktionen besser sind, da dadurch ein genaueres Modell erstellt wird. Allerdings führen mehr Funktionen nicht zwangsläufig zu einem besseren Modell.

Die Merkmale eines Datensatzes können hinsichtlich ihrer Nützlichkeit für das Modell stark variieren, wobei viele Merkmale von geringer Bedeutung sind. Darüber hinaus gilt: Je mehr Features der Datensatz enthält, desto mehr Stichproben werden benötigt, um sicherzustellen, dass die verschiedenen Kombinationen von Features in den Daten gut dargestellt werden. Daher steigt die Anzahl der Stichproben proportional zur Anzahl der Merkmale. Mehr Stichproben und mehr Funktionen bedeuten, dass das Modell komplexer sein muss, und wenn die Modelle komplexer werden, reagieren sie empfindlicher auf Überanpassung. Das Modell lernt die Muster in den Trainingsdaten zu gut und kann nicht auf Daten außerhalb der Stichprobe verallgemeinern.

Die Reduzierung der Dimensionalität eines Datensatzes hat mehrere Vorteile. Wie bereits erwähnt, neigen einfachere Modelle weniger zu einer Überanpassung, da das Modell weniger Annahmen darüber treffen muss, wie Merkmale zueinander in Beziehung stehen. Darüber hinaus bedeuten weniger Dimensionen, dass weniger Rechenleistung zum Trainieren der Algorithmen erforderlich ist. Ebenso wird für einen Datensatz mit kleinerer Dimensionalität weniger Speicherplatz benötigt. Durch die Reduzierung der Dimensionalität eines Datensatzes können Sie möglicherweise auch Algorithmen verwenden, die für Datensätze mit vielen Funktionen ungeeignet sind.

Gängige Methoden zur Dimensionsreduktion

Die Reduzierung der Dimensionalität kann durch Feature-Auswahl oder Feature-Engineering erfolgen. Bei der Merkmalsauswahl identifiziert der Ingenieur die relevantesten Merkmale des Datensatzes Feature Engineering ist der Prozess des Erstellens neuer Features durch Kombinieren oder Transformieren anderer Features.

Die Auswahl und Entwicklung von Funktionen kann programmgesteuert oder manuell erfolgen. Bei der manuellen Auswahl und Konstruktion von Features ist die Visualisierung der Daten typisch, um Korrelationen zwischen Features und Klassen zu ermitteln. Die Durchführung einer Dimensionsreduzierung auf diese Weise kann sehr zeitintensiv sein. Daher umfassen einige der gängigsten Methoden zur Dimensionsreduzierung die Verwendung von Algorithmen, die in Bibliotheken wie Scikit-learn für Python verfügbar sind. Zu diesen gängigen Algorithmen zur Dimensionsreduktion gehören: Hauptkomponentenanalyse (PCA), Singularwertzerlegung (SVD) und lineare Diskriminanzanalyse (LDA).

Die bei der Dimensionsreduktion für unüberwachte Lernaufgaben verwendeten Algorithmen sind typischerweise PCA und SVD, während die für die Dimensionsreduktion beim überwachten Lernen genutzten Algorithmen typischerweise LDA und PCA sind. Bei überwachten Lernmodellen werden die neu generierten Merkmale lediglich in den Klassifikator für maschinelles Lernen eingespeist. Beachten Sie, dass es sich bei den hier beschriebenen Verwendungen nur um allgemeine Anwendungsfälle und nicht um die einzigen Bedingungen handelt, unter denen diese Techniken verwendet werden können. Die oben beschriebenen Algorithmen zur Dimensionsreduzierung sind lediglich statistische Methoden und werden außerhalb von Modellen für maschinelles Lernen verwendet.

Hauptkomponentenanalyse

Foto: Matrix mit identifizierten Hauptkomponenten

Hauptkomponentenanalyse (PCA) ist eine statistische Methode, die die Merkmale/Merkmale eines Datensatzes analysiert und die einflussreichsten Merkmale zusammenfasst. Die Merkmale des Datensatzes werden zu Darstellungen zusammengefasst, die die meisten Merkmale der Daten beibehalten, aber über weniger Dimensionen verteilt sind. Man kann sich das so vorstellen, dass man die Daten von einer höherdimensionalen Darstellung auf eine Darstellung mit nur wenigen Dimensionen „zerquetscht“.

Als Beispiel für eine Situation, in der PCA nützlich sein könnte, denken Sie über die verschiedenen Arten nach, wie man Wein beschreiben könnte. Während es möglich ist, Wein anhand vieler hochspezifischer Merkmale wie CO2-Gehalt, Belüftungsgrad usw. zu beschreiben, können solche spezifischen Merkmale bei der Identifizierung einer bestimmten Weinsorte relativ nutzlos sein. Stattdessen wäre es sinnvoller, den Typ anhand allgemeinerer Merkmale wie Geschmack, Farbe und Alter zu identifizieren. PCA kann verwendet werden, um spezifischere Funktionen zu kombinieren und Funktionen zu erstellen, die allgemeiner und nützlicher sind und weniger wahrscheinlich zu einer Überanpassung führen.

PCA wird durchgeführt, indem ermittelt wird, wie die Eingabemerkmale im Verhältnis zueinander vom Mittelwert abweichen, und ermittelt wird, ob zwischen den Merkmalen Beziehungen bestehen. Zu diesem Zweck wird eine Kovariantenmatrix erstellt, die aus den Kovarianzen in Bezug auf die möglichen Paare der Datensatzmerkmale besteht. Dies wird verwendet, um Korrelationen zwischen den Variablen zu bestimmen, wobei eine negative Kovarianz eine inverse Korrelation und eine positive Korrelation eine positive Korrelation anzeigt.

Die wichtigsten (einflussreichsten) Komponenten des Datensatzes werden durch die Erstellung linearer Kombinationen der Anfangsvariablen erstellt, was mithilfe sogenannter linearer Algebra-Konzepte erfolgt Eigenwerte und Eigenvektoren. Die Kombinationen werden so erstellt, dass die Hauptkomponenten nicht miteinander korrelieren. Die meisten der in den Anfangsvariablen enthaltenen Informationen werden in die ersten paar Hauptkomponenten komprimiert, was bedeutet, dass neue Features (die Hauptkomponenten) erstellt wurden, die die Informationen aus dem Originaldatensatz in einem kleineren Dimensionsraum enthalten.

Einzelwertzerlegung

Foto: Von Cmglee – Eigene Arbeit, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=67853297

Singulärwertzerlegung (SVD) is Wird verwendet, um die Werte innerhalb einer Matrix zu vereinfachen, wodurch die Matrix auf ihre Bestandteile reduziert wird und Berechnungen mit dieser Matrix einfacher werden. SVD kann sowohl für Matrizen mit reellen Werten als auch für komplexe Matrizen verwendet werden. Im Rahmen dieser Erklärung wird jedoch untersucht, wie eine Matrix mit reellen Werten zerlegt wird.

Angenommen, wir haben eine Matrix, die aus realen Daten besteht, und unser Ziel besteht darin, die Anzahl der Spalten/Merkmale innerhalb der Matrix zu reduzieren, ähnlich dem Ziel von PCA. Wie PCA komprimiert SVD die Dimensionalität der Matrix und behält gleichzeitig so viel Variabilität der Matrix wie möglich bei. Wenn wir mit Matrix A operieren möchten, können wir Matrix A als drei weitere Matrizen mit den Namen U, D und V darstellen. Matrix A besteht aus den ursprünglichen x * y-Elementen, während Matrix U aus Elementen X * X besteht (es ist). eine orthogonale Matrix). Matrix V ist eine andere orthogonale Matrix, die y * y-Elemente enthält. Matrix D enthält die Elemente x * y und ist eine Diagonalmatrix.

Um die Werte für Matrix A zu zerlegen, müssen wir die ursprünglichen singulären Matrixwerte in die Diagonalwerte konvertieren, die in einer neuen Matrix gefunden werden. Bei der Arbeit mit orthogonalen Matrizen ändern sich deren Eigenschaften nicht, wenn sie mit anderen Zahlen multipliziert werden. Daher können wir Matrix A approximieren, indem wir uns diese Eigenschaft zunutze machen. Wenn wir die orthogonalen Matrizen mit einer Transponierten der Matrix V multiplizieren, ist das Ergebnis eine äquivalente Matrix zu unserem Original A.

Wenn Matrix a in die Matrizen U, D und V zerlegt wird, enthalten diese die in Matrix A enthaltenen Daten. Die Spalten ganz links der Matrizen enthalten jedoch den Großteil der Daten. Wir können nur diese ersten paar Spalten nehmen und eine Darstellung von Matrix A erhalten, die weitaus weniger Dimensionen und die meisten Daten in A hat.

Lineare Diskriminanzanalyse

 

Links: Matrix vor LDA, rechts: Achse nach LDA, jetzt trennbar

Lineare Diskriminanzanalyse (LDA) ist ein Prozess, der Daten aus einem mehrdimensionalen Diagramm übernimmt und projiziert es auf einen linearen Graphen. Sie können sich dies vorstellen, indem Sie sich einen zweidimensionalen Graphen vorstellen, der mit Datenpunkten gefüllt ist, die zu zwei verschiedenen Klassen gehören. Gehen Sie davon aus, dass die Punkte verstreut sind, sodass keine Linie gezogen werden kann, die die beiden verschiedenen Klassen sauber trennt. Um diese Situation zu bewältigen, können die im 2D-Diagramm gefundenen Punkte auf ein 1D-Diagramm (eine Linie) reduziert werden. Über diese Linie sind alle Datenpunkte verteilt und sie kann hoffentlich in zwei Abschnitte unterteilt werden, die die bestmögliche Trennung der Daten darstellen.

Bei der Durchführung der LDA gibt es zwei Hauptziele. Das erste Ziel besteht darin, die Varianz für die Klassen zu minimieren, während das zweite Ziel darin besteht, den Abstand zwischen den Mittelwerten der beiden Klassen zu maximieren. Diese Ziele werden durch die Erstellung einer neuen Achse erreicht, die im 2D-Diagramm vorhanden ist. Die neu erstellte Achse dient der Trennung der beiden Klassen basierend auf den zuvor beschriebenen Zielen. Nachdem die Achse erstellt wurde, werden die im 2D-Diagramm gefundenen Punkte entlang der Achse platziert.

Es sind drei Schritte erforderlich, um die ursprünglichen Punkte entlang der neuen Achse an eine neue Position zu verschieben. Im ersten Schritt wird der Abstand zwischen den einzelnen Klassenmittelwerten (die Inter-Class-Varianz) zur Berechnung der Trennbarkeit der Klassen herangezogen. Im zweiten Schritt wird die Varianz innerhalb der verschiedenen Klassen berechnet, indem der Abstand zwischen der Stichprobe und dem Mittelwert für die jeweilige Klasse ermittelt wird. Im letzten Schritt wird der niedrigerdimensionale Raum erstellt, der die Varianz zwischen den Klassen maximiert.

Die LDA-Technik erzielt die besten Ergebnisse, wenn die Mittelwerte für die Zielklassen weit voneinander entfernt sind. LDA kann die Klassen nicht effektiv mit einer linearen Achse trennen, wenn sich die Mittelwerte der Verteilungen überschneiden.

 

Blogger und Programmierer mit Spezialisierung auf Maschinelles lernen und Tiefes Lernen Themen. Daniel hofft, anderen dabei zu helfen, die Macht der KI für das soziale Wohl zu nutzen.