Hauptkomponentenanalyse (PCA) erklärt | von Aniruddh Sriram | Juni 2023

0
28


Hochdimensionale Daten bezieht sich auf Datensätze, bei denen jede Beobachtung oder jeder Datenpunkt eine große Anzahl von Merkmalen oder Variablen aufweist. Bilder sind das einfachste Beispiel für hochdimensionale Daten, wobei jedes Pixel als Dimension dient. Hochauflösende Bilder können Millionen von Pixeln haben, was zu einer enormen Anzahl von Dimensionen führt.

Die Hauptkomponentenanalyse, kurz PCA, ist eine Dimensionsreduktion Technik zur Komprimierung hochdimensionaler Daten unter Beibehaltung der größtmöglichen Informationsmenge. Mit anderen Worten: Es können 200-Tage-Vektoren in 2-Tage-Vektoren umgewandelt werden, die leicht visualisiert und interpretiert werden können.

Visualisierung der Irisblütendatensatz. Datenpunkte werden zur Visualisierung über PCA von 5 Tagen auf 2 Tage reduziert.

PCA führt eine Dimensionsreduzierung auf diese Weise durch maximiert die Varianz zwischen Datenpunkten. Wenn wir unserem vorherigen Beispiel folgen, sind zwei Punkte, wenn sie im 200d-Raum weit entfernt sind, (wahrscheinlich) auch im 2nd-Raum weit entfernt.

Die Reduzierung der Dimensionalität kann ein sehr nützlicher Schritt zur Visualisierung und Verarbeitung hochdimensionaler Datensätze sein. Beispiele für hochdimensionale Daten sind Bilddaten, Finanzdaten, Genomdaten (DNA) usw. In diesem Artikel untersuchen wir die Funktionsweise von PCA und ihre mathematischen Ableitungen.

Aufstellen

Angenommen, wir haben einen Datensatz, der durch eine Matrix dargestellt wird X mit N Reihen und M Säulen. Jede Zeile stellt einen Datenpunkt dar und die Spalten stellen Attribute/Merkmale dar. Beispielsweise können Zeilen Aktien darstellen und Spalten verschiedene Merkmale (letzter Preis, Marktsektor, durchschnittliches Handelsvolumen usw.).

Der erste Schritt von PCA ist Normalisierung, was die Standardisierung der Spalten unserer Matrix beinhaltet. Wir tun dies so, dass jede Spalte (Merkmal) einen Mittelwert von Null und eine Einheitsstandardabweichung aufweist. Dies hilft uns bei der Handhabung von Options, die Werte in verschiedenen Bereichen umfassen (z. B. kann der letzte Preis zwischen 5 und 100 US-Greenback liegen, aber das durchschnittliche Handelsvolumen könnte in die Millionen gehen). Abgesehen von der numerischen Stabilität ist dies auch für PCA erforderlich – wir werden später sehen, warum.

Motivation

Beginnen wir mit der extremsten Kind der Dimensionsreduktion. Wir wollen jeden vertreten M-dimensionalen Datenpunkt mit nur einer Zahl, und wir möchten dies effektiv tun (wobei die Varianz zwischen den Punkten so weit wie möglich erhalten bleibt).

Dies kann veranschaulicht werden durch projizieren alle Punkte X auf einen Vektor u. Unser Ziel ist es zu finden u so dass die projizierten Punkte möglichst „verteilt“ sind (Maximierung der Varianz).

Stellen Sie sich eine Aufgabe vor, bei der wir zwischen Patienten mit bösartigen (grün) und gutartigen (rot) Tumoren unterscheiden müssen. Hier ist jeder Datenpunkt ein 2D-Vektor, dessen Achsen (oder Merkmale) beispielsweise das Alter und das Gewicht des Patienten sein könnten. Unser Ziel ist es, einen Klassifikator zu entwickeln, um festzustellen, ob ein neuer Affected person einen gutartigen oder bösartigen Tumor hat.

Auf der linken Seite haben wir einen guten u-Vektor gewählt, da die projizierten Punkte immer noch getrennt und auseinanderliegen. Auf der rechten Seite ist es jedoch viel schwieriger, die Punkte zu unterscheiden. Wir halten dies für eine schlecht Projektion, da ein großer Teil der Varianz zwischen den Datenpunkten verloren geht.

Formale Problemstellung

Das bringt uns zum Kern von PCA: Wir möchten einen Vektor mit Einheitslänge finden, auf den wir unsere Datenpunkte projizieren können, sodass die Varianz maximiert wird.

Schauen wir uns zunächst an, was ich unter der Projektion von Punkten verstehe u:

Nach der Projektion sind alle Punkte (x1, x2, x3) liege auf dir. Das bedeutet, dass wir jeden von ihnen mit einer Zahl darstellen können, die einfach ihre Entfernung vom Ursprung sein könnte u. Dies ist eine „Dimensionsreduzierung“, da jeder Punkt ursprünglich mit zwei Zahlen im zweidimensionalen Raum dargestellt wurde.

Beachten Sie jedoch, dass Die Projektion verliert Informationen. Bestimmte Unterschiede zwischen den Punkten (Entfernung, Winkel usw.) gehen verloren, wenn sie auf eine durch definierte Linie projiziert werden u. Wie wir am Beispiel eines gutartigen/bösartigen Tumors gesehen haben, ist die Wahl von u hat großen Einfluss darauf, wie trennbar die projizierten Punkte sind.

Lassen Sie uns nun einen Ausdruck für die Varianz von Punkten nach der Projektion ableiten u. Varianz ist die quadratische Abweichung vom Mittelwert, additionally gilt:

Somit ist die Varianz der Punkte auf u einfach ||Xu||²

Wir haben ein Optimierungsproblem! Beachte das C ist die Kovarianzmatrix, bei der es sich um eine symmetrische, orthogonale, positiv-semidefinite Matrix handelt. Dies bedeutet, dass es eine gibt Eigenzerlegung* An C. Motiviert dadurch haben wir:

was uns das Optimum sagt u Der Vektor, auf den wir unsere Punkte projizieren, ist einfach der größte Eigenvektor der Kovarianzmatrix. Mit anderen Worten: Unser Optimierungsproblem reduziert sich auf die Auswahl einer konvexen Kombination von Eigenwerten, und diese wird maximiert, indem das gesamte Gewicht auf den größten Eigenwert gelegt wird.

Erweiterung auf PCA

Bisher haben wir das Downside gelöst, einen Projektionsvektor so auszuwählen, dass die Varianz maximiert wird. Dadurch können wir jeden Datensatz auf eine Dimension reduzieren. Aber was ist, wenn wir darauf projizieren wollen? Ok Vektoren, wo Ok > 1?

Wir können uns einfach für die Oberseite entscheiden Ok größte Eigenvektoren, die wir projizieren können M-dimensionale Datenpunkte in Ok-dimensionale Datenpunkte! Das ist PCA 🙂

Abschluss

In diesem Artikel haben wir die mathematischen Grundlagen von PCA, einer beliebten Technik zur Dimensionsreduktion, abgeleitet und verstanden. Hoffentlich bringt diese Ableitung etwas Instinct in die Beweggründe dieses Algorithmus.

*Bei der Implementierung führen wir häufig eine SVD (Singulärwertzerlegung) für X durch, im Gegensatz zur Eigenzerlegung der Kovarianzmatrix. Obwohl sie mathematisch äquivalent sind, ist die SVD-Berechnung einfacher und stabiler.



Source link

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here