Warum gibt es nur

22

Wenn in PCA die Anzahl der Dimensionen größer als (oder sogar gleich) die Anzahl der Abtastwerte , warum haben Sie dann höchstens Nicht-Null-Eigenvektoren? Mit anderen Worten, der Rang der Kovarianzmatrix unter den Dimensionen ist .dNN1dNN1

Beispiel: Ihre Stichproben sind vektorisierte Bilder mit der Dimension , aber Sie haben nur Bilder.d=640×480=307200N=10

GrokingPCA
quelle
5
Stellen Sie sich Punkte in 2D oder in 3D vor. Was ist die Dimensionalität der Mannigfaltigkeit, die diese Punkte einnehmen? Die Antwort lautet N - 1 = 1 : Zwei Punkte liegen immer auf einer Linie (und eine Linie ist eindimensional). Die exakte Dimension des Raums spielt keine Rolle (solange er größer als N ist ), Ihre Punkte belegen nur einen eindimensionalen Unterraum. Die Varianz ist also nur in diesem Unterraum "verteilt", dh entlang einer Dimension. Dies bleibt wahr für alle N . N=2N1=1NN
Amöbe sagt Reinstate Monica
1
Ich würde dem Kommentar von @ amoeba nur eine zusätzliche Genauigkeit hinzufügen. Der Ursprungspunkt ist ebenfalls wichtig. Wenn Sie also N = 2 + Ursprung haben, beträgt die Anzahl der Dimensionen höchstens 2 (nicht 1). In PCA zentrieren wir jedoch normalerweise die Daten, was bedeutet, dass wir den Ursprung in den Raum der Datenwolke legen - dann wird eine Dimension verbraucht und die Antwort lautet "N-1", wie von Amöbe gezeigt.
ttnphns
Das verwirrt mich. Es ist nicht die Zentrierung an sich, die die Dimension zerstört, oder? Wenn Sie genau N Abtastwerte und N Dimensionen haben, haben Sie auch nach dem Zentrieren noch N Eigenvektoren.
GrokingPCA
2
Warum? Es ist die Zentrierung, die eine Dimension zerstört. Durch die Zentrierung (arithmetisch gemittelt) wird der Ursprung von "außen" in den von den Daten "aufgespannten" Raum "verschoben". Am Beispiel von N = 2. 2 Punkte + etwas Ursprung überspannen im Allgemeinen eine Ebene. Wenn Sie diese Daten zentrieren, legen Sie den Ursprung auf einer geraden Linie zwischen den beiden Punkten. Die Daten erstrecken sich also nur noch über die Leitung.
ttnphns
3
Das wusste Euklid bereits vor 2300 Jahren: Zwei Punkte bestimmen eine Linie, drei Punkte bestimmen eine Ebene. Verallgemeinernd bestimmen Punkte einen N - 1 dimensionalen euklidischen Raum . NN1
whuber

Antworten:

20

Überlegen Sie, was PCA macht. Einfach ausgedrückt, PCA (wie am häufigsten ausgeführt) erstellt ein neues Koordinatensystem durch:

  1. Verlagerung des Ursprungs auf den Schwerpunkt Ihrer Daten,
  2. drückt und / oder streckt die Achsen, um sie gleich lang zu machen, und
  3. Dreht Ihre Achsen in eine neue Ausrichtung.

(Weitere Informationen finden Sie in diesem hervorragenden CV-Thread: Machen Sie Sinn mit der Analyse von Hauptkomponenten, Eigenvektoren und Eigenwerten .) Es dreht jedoch nicht nur Ihre Achsen auf irgendeine Weise. Ihr neues (die erste Hauptkomponente) ist auf die maximale Variationsrichtung Ihrer Daten ausgerichtet. Die zweite Hauptkomponente ist in der Richtung der nächstgrößeren Variationsgröße ausgerichtet , die orthogonal zur ersten Hauptkomponente ist . Die übrigen Hauptkomponenten werden ebenfalls gebildet. X1

Schauen wir uns in diesem Sinne das Beispiel von @ amoeba an . Hier ist eine Datenmatrix mit zwei Punkten in einem dreidimensionalen Raum:
Sehen wir uns diese Punkte in einem (pseudo-) dreidimensionalen Streudiagramm an:

X=[111222]

Bildbeschreibung hier eingeben

(1.5,1.5,1.5)(0,0,0)(3,3,3)(0,0,3)(3,3,0)(0,3,0)(3,0,3)

N=2N1=1

gung - Wiedereinsetzung von Monica
quelle