Der Zweck dieses Beitrags ist es, eine vollständige und vereinfachte Erklärung des Principal-Component-Analyse, und vor allem zu sagen, wie es funktioniert Schritt durch Schritt, so dass jeder kann es verstehen und nutzen, ohne unbedingt einen starken mathematischen hintergrund.
PCA ist eigentlich eine weit verbreitete Methode im Web, und es gibt einige großartige Artikel darüber, aber nur wenige von ihnen gehen direkt auf den Punkt und erklären, wie es funktioniert, ohne zu viel in die technischen Details und das „Warum“ der Dinge einzutauchen., Aus diesem Grund habe ich beschlossen, meinen eigenen Beitrag zu erstellen, um ihn vereinfacht darzustellen.
Bevor Sie zur Erklärung gelangen, enthält dieser Beitrag logische Erklärungen, was PCA in jedem Schritt tut, und vereinfacht die dahinter stehenden mathematischen Konzepte wie Standardisierung, Kovarianz, Eigenvektoren und Eigenwerte, ohne sich darauf zu konzentrieren, wie sie berechnet werden.
Was Ist Principal Component Analysis?,
Die Hauptkomponentenanalyse oder PCA ist eine Methode zur Dimensionsreduzierung, die häufig verwendet wird, um die Dimensionalität großer Datensätze zu reduzieren, indem eine große Menge von Variablen in eine kleinere umgewandelt wird, die immer noch die meisten Informationen enthält in der großen Menge.
Die Reduzierung der Anzahl der Variablen eines Datensatzes geht natürlich zu Lasten der Genauigkeit, aber der Trick bei der Dimensionalitätsreduktion besteht darin, ein wenig Genauigkeit aus Gründen der Einfachheit zu handeln., Weil kleinere Datensätze einfacher zu erforschen und zu visualisieren sind und die Analyse von Daten für maschinelle Lernalgorithmen ohne fremde Variablen viel einfacher und schneller machen.
Zusammenfassend ist die Idee von PCA einfach: Reduzieren Sie die Anzahl der Variablen eines Datensatzes und bewahren Sie so viele Informationen wie möglich auf.
Schritt für Schritt Erklärung von PCA
Schritt 1: Standardisierung
Ziel dieses Schrittes ist es, den Bereich der kontinuierlichen Anfangsvariablen so zu standardisieren, dass jede von ihnen gleichermaßen zur Analyse beiträgt.,
Der Grund, warum es wichtig ist, eine Standardisierung vor PCA durchzuführen, ist, dass letztere hinsichtlich der Varianzen der Anfangsvariablen ziemlich empfindlich ist. Das heißt, wenn es große Unterschiede zwischen den Bereichen der Anfangsvariablen gibt, dominieren diese Variablen mit größeren Bereichen gegenüber denen mit kleinen Bereichen (z. B. dominiert eine Variable, die zwischen 0 und 100 liegt, über eine Variable, die zwischen 0 und 1 liegt), was zu voreingenommenen Ergebnissen führt. Durch die Umwandlung der Daten in vergleichbare Skalen kann dieses Problem 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 in den gleichen Maßstab transformiert.
Schritt 2: Kovarianzmatrixberechnung
Ziel dieses Schritts ist es zu verstehen, wie sich die Variablen des Eingabedatensatzes vom Mittelwert in Bezug auf einander unterscheiden, oder mit anderen Worten, um zu sehen, 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 die Kovarianzmatrix.
Die Kovarianzmatrix ist eine symmetrische p × p-Matrix (wobei p die Anzahl der Dimensionen ist), die als Einträge die Kovarianzen enthält, die allen möglichen Paaren der Anfangsvariablen zugeordnet sind., Für einen 3-dimensionalen Datensatz mit 3 Variablen x, y und z ist die Kovarianzmatrix beispielsweise eine 3×3-Matrix aus:
Da die Kovarianz einer Variablen mit sich selbst seine Varianz (Cov(a, a)=Var(a)), in der Hauptdiagonale (von links oben nach rechts unten) haben wir tatsächlich die Varianzen jeder Anfangsvariablen., Und da die Kovarianz kommutativ ist(Cov(a,b)=Cov (b,a)), sind die Einträge der Kovarianzmatrix symmetrisch in Bezug auf die Hauptdiagonale, was bedeutet, dass der obere und der untere dreieckige Teil gleich sind.
Was sagen uns die Kovarianzen, die wir als Einträge der Matrix haben, über die Korrelationen zwischen den Variablen?,
Es ist eigentlich das Vorzeichen der Kovarianz, auf das es ankommt:
- wenn positiv, dann: Die beiden Variablen nehmen zusammen zu (korreliert)
- wenn negativ, dann : Eine nimmt zu, wenn die andere abnimmt (umgekehrt korreliert)
Nun, da wir wissen, dass die Kovarianzmatrix nicht mehr als eine Tabelle ist, die die Korrelationen zwischen allen möglichen Variablenpaaren zusammenfasst, gehen wir zum nächsten Schritt über.,
Schritt 3: Berechnen Sie die Eigenvektoren und Eigenwerte der Kovarianzmatrix, um die Hauptkomponenten zu identifizieren
Eigenvektoren und Eigenwerte sind die linearen Algebra-Konzepte, die wir aus der Kovarianzmatrix berechnen müssen, um die Hauptkomponenten der Daten zu bestimmen. Bevor wir zur Erklärung dieser Konzepte gelangen, wollen wir zuerst verstehen, was wir unter Hauptkomponenten verstehen.
Hauptkomponenten sind neue Variablen, die als lineare Kombinationen oder Mischungen der Anfangsvariablen aufgebaut sind., Diese Kombinationen werden so ausgeführt, dass die neuen Variablen (d. H. Hauptkomponenten) nicht korreliert sind und die meisten Informationen innerhalb der Anfangsvariablen in die ersten Komponenten gepresst oder komprimiert werden. Die Idee ist also, dass 10-dimensionale Daten 10 Hauptkomponenten enthalten, aber PCA versucht, maximal mögliche Informationen in die erste Komponente, dann maximal verbleibende Informationen in die zweite usw. einzufügen, bis etwas wie im Gerölldiagramm unten gezeigt wird.,
Wenn Sie Informationen in Hauptkomponenten auf diese Weise organisieren, können Sie die Dimensionalität reduzieren, ohne viele Informationen zu verlieren, und dies, indem Sie die Komponenten mit geringen Informationen verwerfen und die verbleibenden Komponenten als neue Variablen betrachten.,
Eine wichtige Sache, die hier zu erkennen ist, ist, dass die Hauptkomponenten weniger interpretierbar sind und keine wirkliche Bedeutung haben, da sie als lineare Kombinationen der Anfangsvariablen konstruiert sind.
Geometrisch gesehen repräsentieren Hauptkomponenten die Richtungen der Daten, die eine maximale Varianz erklären, dh die Linien, die die meisten Informationen der Daten erfassen., Die Beziehung zwischen Varianz und Information besteht hier darin, dass je größer die Varianz ist, die von einer Linie getragen wird, desto größer ist die Streuung der Datenpunkte entlang dieser und je größer die Streuung entlang einer Linie ist, desto mehr Informationen hat sie. Um all dies einfach auszudrücken, stellen Sie sich einfach die Hauptkomponenten als neue Achsen vor, die den besten Winkel zum Sehen und Auswerten der Daten bieten, damit die Unterschiede zwischen den Beobachtungen besser sichtbar sind.
Melden Sie sich kostenlos an, um weitere datenwissenschaftliche Geschichten wie diese zu erhalten.,
Wie PCA die Hauptkomponenten konstruiert
Da es so viele Hauptkomponenten wie Variablen in den Daten gibt, sind die Hauptkomponenten so aufgebaut, dass die erste Hauptkomponente die größtmögliche Varianz im Datensatz ausmacht. Nehmen wir zum Beispiel an, dass das Streudiagramm unseres Datensatzes wie unten gezeigt ist, können wir die erste Hauptkomponente erraten ?, Ja, es ist ungefähr die Linie, die mit den violetten Markierungen übereinstimmt, weil sie den Ursprung durchläuft, und es ist die Linie, in der die Projektion der Punkte (rote Punkte) am weitesten verbreitet ist. Oder mathematisch gesehen ist es die Linie, die die Varianz maximiert (der Durchschnitt der quadratischen Abstände 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 ist (dh senkrecht dazu steht) und dass sie die nächsthöhere Varianz ausmacht.,
Dies wird so lange fortgesetzt, bis insgesamt p-Hauptkomponenten berechnet wurden, die der ursprünglichen Anzahl von Variablen entsprechen.
Nachdem wir nun verstanden haben, was wir unter Hauptkomponenten verstehen, kehren wir zu Eigenvektoren und Eigenwerten zurück. Was Sie zuerst über sie wissen müssen, ist, dass sie immer paarweise kommen, so dass jeder Eigenvektor einen Eigenwert hat. Und ihre Anzahl ist gleich der Anzahl der Dimensionen der Daten. Zum Beispiel gibt es für einen dreidimensionalen Datensatz 3 Variablen, daher gibt es 3 Eigenvektoren mit 3 entsprechenden Eigenwerten.,
Ohne weiteres stehen Eigenvektoren und Eigenwerte hinter all der oben erläuterten Magie, da die Eigenvektoren der Kovarianzmatrix tatsächlich die Richtungen der Achsen sind, in denen die größte Varianz besteht(die meisten Informationen) und die wir als Hauptkomponenten bezeichnen. Und Eigenwerte sind einfach die Koeffizienten, die Eigenvektoren beigefügt sind, die den Varianzbetrag angeben, der in jeder Hauptkomponente getragen wird.
Indem Sie Ihre Eigenvektoren in der Reihenfolge ihrer Eigenwerte von der höchsten bis zur niedrigsten rangieren, erhalten Sie die Hauptkomponenten in der Reihenfolge ihrer Signifikanz.,
Beispiel:
Nehmen wir an,dass unser Datensatz 2-dimensional mit 2 Variablen x, y ist und dass die Eigenvektoren und Eigenwerte der Kovarianzmatrix wie folgt sind:
Wenn wir die Eigenwerte in absteigender Reihenfolge einordnen, erhalten wir λ1>λ2, was bedeutet, dass der Eigenvektor, der der Kovarianzmatrix entspricht, die erste Hauptkomponente (PC1) ist v1 und die, die der zweiten Komponente (PC2) entspricht, istv2.,
Nachdem wir die Hauptkomponenten haben, teilen wir den Eigenwert jeder Komponente durch die Summe der Eigenwerte, um den Prozentsatz der Varianz (Information) zu berechnen, die von jeder Komponente berücksichtigt wird. Wenn wir dies auf das obige Beispiel anwenden, stellen wir fest, dass PC1 und PC2 jeweils 96% und 4% der Varianz der Daten tragen.
Schritt 4: Merkmalsvektor
Wie wir im vorherigen Schritt gesehen haben, können wir die Eigenvektoren berechnen und nach ihren Eigenwerten in absteigender Reihenfolge ordnen, um die Hauptkomponenten in der Reihenfolge ihrer Signifikanz zu finden., In diesem Schritt wählen wir, ob all diese Komponenten beibehalten oder diejenigen von geringerer Bedeutung (von niedrigen Eigenwerten) verworfen und mit den verbleibenden eine Matrix von Vektoren gebildet werden sollen, die wir Merkmalsvektor nennen.
Der Merkmalsvektor ist also einfach eine Matrix, die die Eigenvektoren der Komponenten als Spalten enthält, die wir behalten möchten. Dies macht es zum ersten Schritt zur Dimensionalitätsreduktion, denn wenn wir uns dafür entscheiden, nur p Eigenvektoren (Komponenten) von n fernzuhalten, hat der endgültige Datensatz nur p Dimensionen.,
Beispiel:
Wenn wir mit dem Beispiel aus dem vorherigen Schritt fortfahren, können wir entweder mit den beiden Eigenvektoren v1 und v2 einen Merkmalsvektor bilden:
Oder den Eigenvektor v2, der von geringerer Bedeutung ist, verwerfen und nur mit v1 einen Merkmalsvektor bilden:
Den Eigenvektor v2 reduziert die Dimensionalität um 1 und führt folglich zu einem Informationsverlust im endgültigen Datensatz., Da v2 jedoch nur 4% der Informationen enthielt, ist der Verlust daher nicht wichtig und wir haben immer noch 96% der Informationen, die v1 trägt.
Wie wir im Beispiel gesehen haben, liegt es an Ihnen, zu entscheiden, ob alle Komponenten beibehalten oder diejenigen von geringerer Bedeutung verworfen werden sollen, je nachdem, wonach Sie suchen. Denn wenn Sie Ihre Daten nur in Bezug auf neue Variablen (Hauptkomponenten) beschreiben möchten, die nicht korreliert sind, ohne die Dimensionalität zu reduzieren, ist es nicht erforderlich, weniger signifikante Komponenten wegzulassen.,
Letzter Schritt: Neufassung der Daten entlang der Hauptkomponentenachsen
In den vorherigen Schritten nehmen Sie neben der Standardisierung keine Änderungen an den Daten vor, sondern wählen nur die Hauptkomponenten aus und bilden den Merkmalsvektor, aber der Eingabedatensatz bleibt immer in Bezug auf die ursprünglichen Achsen (dh in Bezug auf die Anfangsvariablen).,
In diesem Schritt, der der letzte ist, besteht das Ziel darin, den mit den Eigenvektoren der Kovarianzmatrix gebildeten Merkmalsvektor zu verwenden, um die Daten von den ursprünglichen Achsen auf die durch die Hauptkomponenten dargestellten auszurichten (daher der Name Principal Components Analysis). Dies kann durch Multiplikation der Transponierung des ursprünglichen Datensatzes mit der Transponierung des Merkmalsvektors erfolgen.
* * *
Zakaria Jaadi ist ein data scientist und machine learning engineer. Schauen Sie sich mehr seiner Inhalte zu Data Science-Themen auf Medium an.
Leave a Reply