Die principal component analysis (PCA) ist eine im Internet viel diskutierte Methode des maschinellen Lernens . Und obwohl es einige großartige Artikel darüber gibt, gehen viele zu sehr ins Detail. Im Folgenden erklären wir die Funktionsweise der principal component analysis auf einfache Weise Schritt für Schritt, sodass jeder sie verstehen und nutzen kann – auch diejenigen ohne fundierte mathematische Kenntnisse.
Die principal component analysis kann in fünf Schritte unterteilt werden. Ich gehe jeden Schritt durch, gebe logische Erklärungen, was die PCA macht, und vereinfache mathematische Konzepte wie Standardisierung , Kovarianz , Eigenvektoren und Eigenwerte, ohne mich darauf zu konzentrieren, wie man sie berechnet.
Zunächst sind einige grundlegende (und kurze) Hintergrundinformationen zum Kontext erforderlich.
Was ist principal component analysis?
Die principal component analysis (PCA) ist eine Methode zur Dimensionsreduzierung , die häufig verwendet wird, um die Dimensionalität großer Datensätze zu reduzieren . Dazu wird ein großer Satz von Variablen in einen kleineren Satz umgewandelt, der noch immer die meisten Informationen des großen Satzes enthält.
Die Reduzierung der Anzahl der Variablen eines Datensatzes geht natürlich auf Kosten der Genauigkeit, aber der Trick bei der Dimensionsreduzierung besteht darin, ein wenig Genauigkeit gegen Einfachheit einzutauschen. Denn kleinere Datensätze sind leichter zu untersuchen und zu visualisieren und machen die Analyse von Datenpunkten für maschinelle Lernalgorithmen ohne die zu verarbeitenden Fremdvariablen viel einfacher und schneller.
Zusammenfassend lässt sich also sagen, dass die Idee der PCA einfach ist: Reduzieren Sie die Anzahl der Variablen eines Datensatzes, während Sie gleichzeitig so viele Informationen wie möglich erhalten.
Was sind Hauptkomponenten?
Hauptkomponenten sind neue Variablen, die als lineare Kombinationen oder Mischungen der Anfangsvariablen konstruiert werden. Diese Kombinationen werden so vorgenommen, dass die neuen Variablen (d. h. Hauptkomponenten) unkorreliert sind und die meisten Informationen innerhalb der Anfangsvariablen in die ersten Komponenten gequetscht oder komprimiert werden. Die Idee ist also, dass 10-dimensionale Daten 10 Hauptkomponenten ergeben, aber PCA versucht, so viele Informationen wie möglich in die erste Komponente zu packen, dann so viele verbleibende Informationen wie möglich in die zweite und so weiter, bis etwas wie im folgenden Scree-Plot dargestellt herauskommt.
Durch die Organisation von Informationen in Hauptkomponenten auf diese Weise können Sie die Dimensionalität reduzieren, ohne viele Informationen zu verlieren. Dies tun Sie, indem Sie die Komponenten mit geringen Informationen verwerfen und die verbleibenden Komponenten als Ihre neuen Variablen betrachten.
Wichtig ist hierbei zu beachten, dass die Hauptkomponenten weniger interpretierbar sind und keine wirkliche Bedeutung haben, da sie als lineare Kombinationen der Anfangsvariablen konstruiert sind.
Geometrisch gesehen stellen Hauptkomponenten die Richtungen der Daten dar, die eine maximale Varianz erklären , also die Linien, die die meisten Informationen der Daten erfassen. Die Beziehung zwischen Varianz und Information besteht hier darin, dass je größer die Varianz einer Linie ist, desto größer ist die Streuung der Datenpunkte entlang dieser Linie, und je größer die Streuung entlang einer Linie ist, desto mehr Informationen enthält sie. Um das alles einfach auszudrücken: Stellen Sie sich Hauptkomponenten als neue Achsen vor, die den besten Winkel zum Betrachten und Auswerten der Daten bieten, sodass die Unterschiede zwischen den Beobachtungen besser sichtbar sind.
Wie PCA die Hauptkomponenten konstruiert
Da es so viele Hauptkomponenten wie Variablen in den Daten gibt, werden die Hauptkomponenten so konstruiert, dass die erste Hauptkomponente die größtmögliche Varianz im Datensatz ausmacht. Nehmen wir beispielsweise an, dass das Streudiagramm unseres Datensatzes wie unten dargestellt aussieht. Können wir die erste Hauptkomponente erraten? Ja, es ist ungefähr die Linie, die den violetten Markierungen entspricht, da sie durch den Ursprung verläuft und die Linie ist, in der die Projektion der Punkte (rote Punkte) am weitesten auseinander liegt. Oder mathematisch ausgedrückt ist es die Linie, die die Varianz maximiert (der Durchschnitt der quadrierten Entfernungen von den projizierten Punkten (rote Punkte) zum Ursprung).
Die zweite Hauptkomponente wird auf die gleiche Weise berechnet, unter der Bedingung, dass sie nicht mit der ersten Hauptkomponente korreliert (d. h. senkrecht zu ihr steht) und dass sie für die nächsthöhere Varianz verantwortlich ist.
Dies wird so lange fortgesetzt, bis insgesamt p Hauptkomponenten berechnet wurden, was der ursprünglichen Anzahl der Variablen entspricht.
Schritt-für-Schritt-Erklärung der PCA
Schritt 1: Standardisierung
Das Ziel dieses Schritts besteht darin, den Bereich der kontinuierlichen Ausgangsvariablen zu standardisieren, sodass jede von ihnen gleichermaßen zur Analyse beiträgt.
Genauer gesagt ist es deshalb so wichtig, vor der PCA eine Standardisierung durchzuführen, weil letztere sehr empfindlich auf die Varianzen der Ausgangsvariablen reagiert. Das heißt, wenn es große Unterschiede zwischen den Bereichen der Ausgangsvariablen gibt, dominieren die Variablen mit den größeren Bereichen gegenüber denen mit den kleineren Bereichen (zum Beispiel dominiert eine Variable im Bereich zwischen 0 und 100 gegenüber einer Variable im Bereich zwischen 0 und 1), was zu verzerrten Ergebnissen führt. Dieses Problem kann also durch die Transformation der Daten in vergleichbare Skalen vermieden werden.
Mathematisch kann dies durch Subtrahieren des Mittelwerts und Dividieren durch die Standardabweichung für jeden Wert jeder Variablen erfolgen.
Sobald die Standardisierung abgeschlossen ist, werden alle Variablen auf denselben Maßstab transformiert.
Schritt 2: Berechnung der Kovarianzmatrix
Ziel dieses Schritts ist es, zu verstehen, wie die Variablen des Eingabedatensatzes im Verhältnis zueinander vom Mittelwert abweichen, oder anders gesagt, festzustellen, ob eine Beziehung zwischen ihnen besteht. Denn manchmal sind Variablen so stark korreliert, dass sie redundante Informationen enthalten. Um diese Korrelationen zu identifizieren, berechnen wir also die Kovarianzmatrix .
Die Kovarianzmatrix ist eine p × p symmetrische Matrix (wobei p die Anzahl der Dimensionen ist), die als Einträge die Kovarianzen aller möglichen Paare der Ausgangsvariablen enthält. Für einen dreidimensionalen Datensatz mit 3 Variablen x , y und z ist die Kovarianzmatrix beispielsweise eine 3×3-Datenmatrix wie folgt:
Da die Kovarianz einer Variable mit sich selbst ihre Varianz ist (Cov(a,a)=Var(a)), haben wir in der Hauptdiagonale (von oben links nach unten rechts) tatsächlich die Varianzen jeder Ausgangsvariable. Und da die Kovarianz kommutativ ist (Cov(a,b)=Cov(b,a)), sind die Einträge der Kovarianzmatrix in Bezug auf die Hauptdiagonale symmetrisch, was bedeutet, dass der obere und der untere Dreiecksabschnitt gleich sind.
Was sagen uns die Kovarianzen, die wir als Einträge der Matrix haben, über die Korrelationen zwischen den Variablen?
Tatsächlich kommt es auf das Vorzeichen der Kovarianz an:
- Wenn positiv, dann: Die beiden Variablen nehmen gemeinsam zu oder ab (korreliert)
- Wenn negativ, dann: Einer steigt, wenn der andere sinkt (umgekehrt korreliert)
Nachdem wir nun wissen, dass die Kovarianzmatrix nichts weiter als eine Tabelle ist, die die Korrelationen zwischen allen möglichen Variablenpaaren zusammenfasst, fahren wir mit dem nächsten Schritt fort.
Schritt 3: Berechnen Sie die Eigenvektoren und Eigenwerte der Kovarianzmatrix, um die Hauptkomponenten zu identifizieren
Eigenvektoren und Eigenwerte sind die Konzepte der linearen Algebra , die wir aus der Kovarianzmatrix berechnen müssen, um die Hauptkomponenten der Daten zu bestimmen.
Was Sie zunächst über Eigenvektoren und Eigenwerte wissen müssen, ist, dass sie immer paarweise auftreten, sodass jeder Eigenvektor einen Eigenwert hat. Außerdem entspricht ihre Anzahl der Anzahl der Dimensionen der Daten. Beispielsweise gibt es für einen dreidimensionalen Datensatz 3 Variablen, daher gibt es 3 Eigenvektoren mit 3 entsprechenden Eigenwerten.
Hinter der ganzen Magie der Hauptkomponenten stecken Eigenvektoren und Eigenwerte, denn die Eigenvektoren der Kovarianzmatrix sind eigentlich die Richtungen der Achsen, in denen die größte Varianz (die meisten Informationen) vorhanden ist und die wir Hauptkomponenten nennen. Und Eigenwerte sind einfach die Koeffizienten, die den Eigenvektoren zugeordnet sind und die den Varianzbetrag angeben, der in jeder Hauptkomponente enthalten ist .
Indem Sie Ihre Eigenvektoren in der Reihenfolge ihrer Eigenwerte (vom höchsten zum niedrigsten) ordnen, erhalten Sie die Hauptkomponenten in der Reihenfolge ihrer Bedeutung.
Beispiel für eine principal component analysis:
Nehmen wir an, dass unser Datensatz zweidimensional ist und zwei Variablen x, y aufweist und dass die Eigenvektoren und Eigenwerte der Kovarianzmatrix wie folgt lauten:
Wenn wir die Eigenwerte in absteigender Reihenfolge ordnen, erhalten wir λ1>λ2, was bedeutet, dass der Eigenvektor, der der ersten Hauptkomponente (PC1) entspricht, v1 ist und derjenige, der der zweiten Hauptkomponente (PC2) entspricht, v2 ist.
Nachdem wir die Hauptkomponenten ermittelt haben, können wir den Prozentsatz der Varianz (Information) berechnen, der auf jede Komponente entfällt. Dazu teilen wir den Eigenwert jeder Komponente durch die Summe der Eigenwerte. Wenn wir dies auf das obige Beispiel anwenden, stellen wir fest, dass PC1 und PC2 96 Prozent bzw. 4 Prozent der Varianz der Daten tragen.
Schritt 4: Erstellen Sie einen Feature-Vektor
Wie wir im vorherigen Schritt gesehen haben, können wir durch Berechnen der Eigenvektoren und Sortieren nach ihren Eigenwerten in absteigender Reihenfolge die Hauptkomponenten in der Reihenfolge ihrer Bedeutung finden. In diesem Schritt entscheiden wir, ob wir alle diese Komponenten behalten oder diejenigen mit geringerer Bedeutung (mit niedrigen Eigenwerten) verwerfen und mit den verbleibenden eine Matrix von Vektoren bilden, die wir Merkmalsvektor nennen .
Der Merkmalsvektor ist also einfach eine Matrix, die als Spalten die Eigenvektoren der Komponenten enthält, die wir behalten möchten. Dies ist der erste Schritt zur Dimensionsreduzierung, denn wenn wir uns dafür entscheiden, nur p Eigenvektoren (Komponenten) von n zu behalten , wird der endgültige Datensatz nur p Dimensionen haben.
Beispiel für eine principal component analysis :
Wenn wir das Beispiel aus dem vorherigen Schritt fortsetzen, können wir entweder einen Merkmalsvektor mit den beiden Eigenvektoren v 1 und v 2 bilden:
Oder verwerfen Sie den Eigenvektor v 2, der die geringere Bedeutung hat, und bilden Sie einen Merkmalsvektor nur mit v 1:
Das Verwerfen des Eigenvektors v2 reduziert die Dimensionalität um 1 und führt folglich zu einem Informationsverlust im endgültigen Datensatz. Da v 2 jedoch nur 4 Prozent der Informationen enthielt, ist der Verlust daher nicht wichtig und wir verfügen immer noch über 96 Prozent der Informationen, die v 1 enthält dependency injection.
Wie wir im Beispiel gesehen haben, liegt es also an Ihnen, ob Sie alle Komponenten beibehalten oder die weniger signifikanten verwerfen möchten, je nachdem, wonach Sie suchen. Denn wenn Sie Ihre Daten nur anhand neuer Variablen (Hauptkomponenten) beschreiben möchten, die nicht korreliert sind, ohne die Dimensionalität zu reduzieren, ist es nicht erforderlich, weniger signifikante Komponenten wegzulassen.
Schritt 5: Neuformulierung der Daten entlang der Hauptkomponentenachsen
In den vorherigen Schritten nehmen Sie, abgesehen von der Standardisierung, keinerlei Änderungen an den Daten vor, sondern wählen lediglich die Hauptkomponenten aus und bilden den Merkmalsvektor, der Eingangsdatensatz bleibt jedoch hinsichtlich der ursprünglichen Achsen (also hinsichtlich der Ausgangsvariablen) stets erhalten.
In diesem letzten Schritt geht es darum, den Merkmalsvektor, der aus den Eigenvektoren der Kovarianzmatrix gebildet wird, zu verwenden, um die Daten von den ursprünglichen Achsen auf die Achsen umzuorientieren, die durch die Hauptkomponenten dargestellt werden (daher der Name principal component analysis). Dies kann erreicht werden, indem die Transponierte des ursprünglichen Datensatzes mit der Transponierten des Merkmalsvektors multipliziert wird.
Verweise :
- [Steven M. Holland, Univ. of Georgia]: principal component analysis
- [skymind.ai]: Eigenvektoren, Eigenwerte, PCA, Kovarianz und Entropie
- [Lindsay I. Smith]: Ein Tutorial zur principal component analysis
Häufig gestellte Fragen
Ein principal component analysis-Diagramm (PCA) zeigt Ähnlichkeiten zwischen Stichprobengruppen in einem Datensatz. Jeder Punkt in einem PCA-Diagramm stellt eine Korrelation zwischen einer Anfangsvariablen und der ersten und zweiten Hauptkomponente dar.
PCA reduziert die Anzahl der Variablen oder Merkmale in einem Datensatz, während die wichtigsten Informationen wie wichtige Trends oder Muster erhalten bleiben. Diese Reduzierung kann die zum Trainieren eines maschinellen Lernmodells benötigte Zeit verkürzen und hilft, Überanpassung in einem Modell zu vermeiden.