Was ist eine intuitive Erklärung dafür, wie sich PCA von einem geometrischen Problem (mit Abständen) zu einem linearen Algebraproblem (mit Eigenvektoren) entwickelt?


54

Ich habe viel über PCA gelesen, einschließlich verschiedener Tutorials und Fragen (wie diese , diese , diese und diese ).

Das geometrische Problem, das PCA zu optimieren versucht, ist mir klar: PCA versucht, die erste Hauptkomponente durch Minimierung des Rekonstruktionsfehlers (Projektionsfehlers) zu finden, wodurch gleichzeitig die Varianz der projizierten Daten maximiert wird.

Bildbeschreibung hier eingeben

Als ich das zum ersten Mal las, dachte ich sofort an eine lineare Regression. Vielleicht können Sie es bei Bedarf mit einem Gefälle lösen.

Als ich las, dass das Optimierungsproblem durch die Verwendung der linearen Algebra und das Auffinden von Eigenvektoren und Eigenwerten gelöst wird, war ich jedoch völlig außer mir. Ich verstehe einfach nicht, wie diese Verwendung der linearen Algebra ins Spiel kommt.

Meine Frage lautet also: Wie kann PCA von einem geometrischen Optimierungsproblem zu einem linearen Algebraproblem werden? Kann jemand eine intuitive Erklärung liefern?

Ich suche nicht nach einer Antwort wie dieser , die besagt: "Wenn Sie das mathematische Problem der PCA lösen, ist es am Ende gleichbedeutend mit dem Finden der Eigenwerte und Eigenvektoren der Kovarianzmatrix." Erklären Sie, warum Eigenvektoren die Hauptkomponenten darstellen und warum die Eigenwerte die Varianz der darauf projizierten Daten darstellen

Ich bin übrigens ein Software-Ingenieur und kein Mathematiker.

Hinweis: Die obige Abbildung wurde aus diesem PCA-Tutorial übernommen und modifiziert .


2
In dem langen Thread hinter Ihrem ersten Link finden Sie die Antwort von @amoeba mit Animation, die den Kern der Sache erklärt. PCA ist die Rotation der Datenachsen (Spalten), bis sie als Datenvektoren (Variablen) unkorreliert werden. Eine solche Rotationsmatrix wird über eigendecomposition oder Singulärwertzerlegung gefunden und heißt Eigenvektormatrix.
TTNPHNS

2
Selbst wenn Sie kein Mathematiker sind (ich auch nicht), haben Sie wahrscheinlich gehört, dass lineare Algebra und euklidische Geometrie eng miteinander verknüpft sind. Sie werden sogar zusammen als Disziplin namens analytische Geometrie studiert.
TTNPHNS

1
optimization problemJa, das PCA-Problem könnte meines Erachtens durch (iterative, konvergente) Optimierungsansätze gelöst werden. Aber da es eine mathematisch geschlossene Lösung gibt, warum nicht diese einfachere, effiziente Lösung verwenden?
TTNPHNS

Du fragst nach provide an intuitive explanation. Ich frage mich, warum eine intuitive und klare Antwort von Amoeba, zu der ich verlinkt habe, nicht zu Ihnen passt. Du fragst _why_ eigenvectors come out to be the principal components...warum? Per Definition! Eigenvektoren sind die Hauptrichtungen einer Datenwolke.
TTNPHNS

6
@ttnphns: Ich denke eigentlich, dass die Frage vernünftig ist. So verstehe ich es. PCA möchte die Richtung der maximalen Varianz der Projektion finden. Diese Richtung wird (per Definition) die erste Hauptrichtung genannt. Andererseits ist ein Eigenvektor der Kovarianzmatrix (per Definition) ein solcher Vektor w, dass C w = λ w ist . Warum gibt also der Eigenvektor mit dem größten Eigenwert die erste Hauptrichtung vor? Was ist die Intuition hier? Es ist sicherlich nicht per definitionem. Ich habe darüber nachgedacht und weiß, wie ich es beweisen kann, aber es ist schwer, es intuitiv zu erklären. CwCw=λw
Amöbe sagt Reinstate Monica

Antworten:


54

Problemstellung

Das geometrische Problem, das PCA zu optimieren versucht, ist mir klar: PCA versucht, die erste Hauptkomponente durch Minimierung des Rekonstruktionsfehlers (Projektionsfehlers) zu finden, wodurch gleichzeitig die Varianz der projizierten Daten maximiert wird.

Stimmt. Ich erkläre den Zusammenhang zwischen diesen beiden Formulierungen in meiner Antwort hier (ohne Mathe) oder hier (mit Mathe).

Nehmen wir die zweite Formulierung: PCA versucht, die Richtung so zu finden, dass die Projektion der Daten darauf die höchstmögliche Varianz aufweist. Diese Richtung wird per Definition die erste Hauptrichtung genannt. Wir können es wie folgt formalisieren: Wenn die Kovarianzmatrix C , suchen wir nach einem Vektor w mit der Längeneinheit w=1 , so dass wCw maximal ist.

(Nur für den Fall, dass dies nicht klar ist: Wenn X die zentrierte Datenmatrix ist, dann ist die Projektion durch Xw und ihre Varianz ist 1n1(Xw)Xw=w(1n1XX)w=wCw.)

Andererseits ist ein Eigenvektor von C per Definition ein beliebiger Vektor v so dass Cv=λv .

Es zeigt sich, dass die erste Hauptrichtung durch den Eigenvektor mit dem größten Eigenwert gegeben ist. Dies ist eine nicht triviale und überraschende Aussage.


Beweise

Wenn man ein Buch oder Tutorial auf PCA aufschlägt, kann man dort den folgenden fast einzeiligen Beweis der obigen Aussage finden. Wir wollen wCw unter der Bedingung maximieren , dass w=ww=1 ; dies kann durch Einführen eines Lagrange-Multiplikators und Maximieren von wCwλ(ww1) ; differenzierend erhalten wir Cwλw=0 , was die Eigenvektorgleichung ist. Wir sehen, dass λmuss tatsächlich der größte Eigenwert sein, indem diese Lösung in die Zielfunktion eingesetzt wird, was ergibt, dass wCwλ(ww1)=wCw=λww=λ . Aufgrund der Tatsache, dass diese Zielfunktion maximiert werden soll, muss λ der größte Eigenwert QED sein.

Dies ist für die meisten Menschen nicht sehr intuitiv.

Ein besserer Beweis (siehe z. B. diese übersichtliche Antwort von @ cardinal ) besagt, dass C in seiner Eigenvektorbasis diagonal ist , weil es eine symmetrische Matrix ist. (Dies wird eigentlich Spektralsatz genannt .) Wir können also eine orthogonale Basis wählen, nämlich diejenige, die durch die Eigenvektoren gegeben ist, wobei C diagonal ist und Eigenwerte λi auf der Diagonale hat. Auf dieser Basis vereinfacht sich wCw zu λichwich2 , oder mit anderen Worten, die Varianz ist durch die gewichtete Summe der Eigenwerte gegeben. Es ist fast unmittelbar, dass man zur Maximierung dieses Ausdrucks einfach w nehmen solltew=(1,0,0,,0) , dh der erste Eigenvektor, der die Varianzλ1 ergibt(in der Tat, wenn man von dieser Lösung abweicht und Teile des größten Eigenwerts gegen Teile der kleineren Teile "tauscht", führt dies nur zu insgesamt kleineren Werten Varianz). Beachten Sie, dass der Wert vonwCw nicht von der Basis abhängt! Der Wechsel auf die Eigenvektorbasis ist eine Drehung. In 2D kann man sich also vorstellen, einfach ein Stück Papier mit dem Streudiagramm zu drehen. Dies kann natürlich keine Abweichungen ändern.

Ich halte dies für ein sehr intuitives und nützliches Argument, das sich jedoch auf den Spektralsatz stützt. Das eigentliche Problem hier ist meiner Meinung nach: Was ist die Intuition hinter dem Spektralsatz?


Spektralsatz

Nehmen eine symmetrische Matrix C . Nimm seinen Eigenvektor w1 mit dem größten Eigenwert λ1 . Machen Sie diesen Eigenvektor zum ersten Basisvektor und wählen Sie andere Basisvektoren nach dem Zufallsprinzip (so dass alle orthonormal sind). Wie wird auf dieser Basis aussehen?C

Es wird λ1 in der oberen linken Ecke haben, weil w1=(1,0,00) auf dieser Basis und Cw1=(C11,C21,Cp1) gleich sein muss λ1w1=(λ1,0,00) .

Aus demselben Grund wird es in der ersten Spalte unter λ1 Nullen geben .

Aber weil es symmetrisch ist, hat es auch nach λ1 Nullen in der ersten Reihe . So wird es aussehen:

C=(λ10000),

Wobei leerer Raum bedeutet, dass sich dort ein Block einiger Elemente befindet. Da die Matrix symmetrisch ist, ist auch dieser Block symmetrisch. Wir können also genau dasselbe Argument anwenden, indem wir effektiv den zweiten Eigenvektor als zweiten Basisvektor verwenden und λ1 und λ2 auf die Diagonale setzen. Dies kann fortgesetzt werden, bis C diagonal ist. Das ist im Wesentlichen der Spektralsatz. (Beachten Sie, wie es nur funktioniert, weil C symmetrisch ist.)


Hier ist eine abstraktere Neuformulierung genau des gleichen Arguments.

Wir wissen, dass Cw1=λ1w1 , daher definiert der erste Eigenvektor einen eindimensionalen Unterraum, in dem C als skalare Multiplikation fungiert. Nehmen wir nun einen beliebigen Vektor v senkrecht zu w1 . Dann ist es fast unmittelbar, dass Cv auch orthogonal zu w1 . Tatsächlich:

w1Cv=(w1Cv)=vCw1=vCw1=λ1vw1=λ10=0.

Dies bedeutet, dass C auf den gesamten verbleibenden Teilraum senkrecht zu w1 einwirkt, so dass er von w1 getrennt bleibt . Dies ist die entscheidende Eigenschaft von symmetrischen Matrizen. Also können wir den größten Eigenvektor dort finden, w2 , und auf die gleiche Weise vorgehen, um schließlich eine orthonormale Basis von Eigenvektoren zu konstruieren.


"Lagrange Multiplikator" ist für mich wirklich klar. Können Sie mir jedoch sagen, warum wir eine Längenbeschränkung für Einheiten benötigen? Danke
Haitao Du

2
@ hxd1011 Genau diese Frage gibt es hier schon, aber kurz gesagt : Das liegt daran, dass Sie ansonsten mit einer beliebigen Zahl multiplizieren können und w C w um das Quadrat dieser Zahl zunimmt. Das Problem wird also unklar: Das Maximum dieses Ausdrucks ist unendlich. In der Tat ist die Varianz der Projektion auf die Richtung w ist w C w nur dann , wenn w ist Längeneinheit. wwCwwwCww
Amöbe sagt Reinstate Monica

n1

@amoeba: Danke für die Antwort. Ich bin durch einige Ihrer Notation verwirrt. Mit w geben Sie den Einheitslängenvektor an, der sich als erster Eigenvektor (Hauptkomponente) herausstellt. Wenn ich PCA in R (zB prcomp(iris[,1:4], center=T, scale=T)) laufen lasse , sehe ich Einheitslängen-Eigenvektoren mit einer Reihe von Floats wie (0.521, -0.269, 0.580, 0.564). In Ihrer Antwort unter "Beweise" schreiben Sie jedoch: Es ist fast unmittelbar, dass Sie zur Maximierung dieses Ausdrucks einfach w = (1,0,0,…, 0) nehmen, dh den ersten Eigenvektor . Warum sieht der Eigenvektor in Ihrem Beweis so wohlgeformt aus?
Stackoverflowuser2010

1
w1Cv

5

Es gibt ein Ergebnis aus dem Jahr 1936 von Eckart und Young ( https://ccrma.stanford.edu/~dattorro/eckart%26young.1936.pdf ), in dem Folgendes angegeben ist

1rdkukvkT=einrGmichnX^ϵM(r)||X-X^||F2

wobei M (r) die Menge der Rang-r-Matrizen ist, was im Grunde genommen bedeutet, dass die ersten r Komponenten der SVD von X die beste Näherung der niedrigrangigen Matrix von X ergeben und am besten durch die quadratische Frobenius-Norm definiert sind - die Summe der Quadrate Elemente einer Matrix.

Dies ist ein allgemeines Ergebnis für Matrizen und hat auf den ersten Blick nichts mit Datensätzen oder Dimensionsreduktion zu tun.

XXX^


4

Spectral TheoremS=ADA1D=diag(λ1,λ2,,λn) . A ist die Änderung der Basismatrix. Das heißt, wenn unsere ursprüngliche Basis x 1 war , bedeutet dies in Matrixausdrücken, dass X ( v iλ1λ2λnx1,x2,,xnA(x1),A(x2),A(xn)A(xi)||A(xi)||=λiA(xi)
n>prk(X)=pX=UΣVtΣ=(sichj)s11s22spp>0X(vich)=sichichuichichpsichich=0ich>nvichΣVt


4

"Das maximiert gleichzeitig die Varianz der projizierten Daten." Haben Sie von Rayleigh Quotient gehört ? Vielleicht ist das eine Art, das zu sehen. Der Rayleigh-Quotient der Kovarianzmatrix gibt Ihnen die Varianz der projizierten Daten an. (und die Wiki-Seite erklärt, warum Eigenvektoren den Rayleigh-Quotienten maximieren)


1

@amoeba gibt ordentliche Formalisierung und Beweis von:

Wir können es wie folgt formalisieren: Wenn die Kovarianzmatrix C gegeben ist, suchen wir nach einem Vektor w mit der Längeneinheit lengthw‖ = 1, so dass w T Cw maximal ist.

Aber ich denke, es gibt einen intuitiven Beweis für:

Es zeigt sich, dass die erste Hauptrichtung durch den Eigenvektor mit dem größten Eigenwert gegeben ist. Dies ist eine nicht triviale und überraschende Aussage.

Wir können w T Cw als ein Punktprodukt zwischen dem Vektor w und Cw interpretieren , das durch Durchlaufen der Transformation C erhalten wird:

w T Cw = ‖w‖ * ‖Cw‖ * cos (w, Cw)

Da w eine feste Länge hat, benötigen wir zur Maximierung von w T Cw:

  1. maximiere ‖Cw‖
  2. cos maximieren (w, Cw)

Wenn wir w als Eigenvektor von C mit dem größten Eigenwert annehmen, können wir beide gleichzeitig archivieren:

  1. ‖Cw‖ ist max. (Wenn w von diesem Eigenvektor abweicht und entlang orthogonaler Eigenvektoren zerlegt wird, sollte sich ‖Cw‖ verringern.)
  2. w und Cw in gleicher Richtung, cos (w, Cw) = 1, max

Da Eigenvektoren orthogonal sind, bilden sie zusammen mit den anderen Eigenvektoren von C eine Menge von Hauptkomponenten zu X.


nachweis von 1

zerlegen w in orthogonale primäre und sekundäre Eigenvektoren v1 und v2 , vorausgesetzt, ihre Länge ist v1 bzw. v2. wir wollen beweisen

1 w) 2 > ((λ 1 v1) 2 + (λ 2 v2) 2 )

da λ 1 > λ 2 , haben wir

((λ 1 v1) 2 + (λ 2 v2) 2 )

<((λ 1 v1) 2 + (λ 1 v2) 2 )

= (λ 1 ) 2 * (v1 2 + v2 2 )

= (& lgr; 1 ) 2 · w 2

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.