Was ist die objektive Funktion von PCA?


42

Die Hauptkomponentenanalyse kann eine Matrixzerlegung verwenden, dies ist jedoch nur ein Werkzeug, um dorthin zu gelangen.

Wie würden Sie die Hauptkomponenten ohne die Verwendung von Matrixalgebra finden?

Was ist die objektive Funktion (Ziel) und welche Einschränkungen gibt es?


1
Vielleicht fehlt mir etwas, bitte korrigieren Sie mich, wenn ich falsch liege, aber es sollte (zumindest im Prinzip) möglich sein, das, was in PCA gemacht wird, mit Matrizen als (kompliziertem) linearem Programmierproblem zu konstruieren, aber ich nicht wissen, wie Sie alle erforderlichen Einschränkungen angeben würden. Ich bin mir auch nicht sicher, ob das sehr einfach ist, verglichen mit der Verwendung von PCA. Warum versuchen Sie, Matrizen zu vermeiden?
Chris Simokat

@ Chris Ich verstehe nicht, wie man zu einem linearen Programmierproblem kommen kann. Es war auch nicht mein Verständnis, dass Matrizen bei der Berechnung vermieden werden sollten . Die Frage war, welche Art von Problem von PCA gelöst wird und nicht wie es gemacht wird (zum Beispiel durch Berechnung der SVD). Die Lösung von Kardinal besagt, dass Sie aufeinanderfolgende orthogonale Richtungen maximaler Varianz finden . Die Lösung, die ich vorgestellt habe, besagt, dass Sie Hyperebenen mit minimalen Rekonstruktionsfehlern finden.
NRH

@chris Ich hoffe, einen anderen Weg zu finden, um PCA ohne die Matrixalgebra anzuzeigen, um mein Verständnis davon zu verbessern.
Neil McGuigan

1
@ Chris, Sie haben eine quadratische Zielfunktion und eine ell_2-Normgleichheitsbedingung . Alternativ haben Sie unter der Formulierung in der Antwort von @ NRH eine Matrixrangbeschränkung. Das wird sich nicht auf ein lineares Programmierproblem beschränken. @NRH vermittelt eine gute Vorstellung, und tatsächlich besteht ein sehr enger Zusammenhang zwischen den beiden Perspektiven auf PCA, die gegeben wurden. Vielleicht können wir dies in Zusammenarbeit mit @NRH zu seinem Beitrag hinzufügen, um die Gesamtheit der Antworten zu vervollständigen. 2
Kardinal

1
@NRH, Eigentlich mag ich ESL sehr, aber ich denke, dass die Behandlung dieses Themas dort ziemlich oberflächlich ist, wie es für viele der Themen in dem Buch der Fall ist. Insbesondere beweisen sie den wichtigen Teil der Lösung für das Optimierungsproblem, das Sie geben, nicht (oder weisen ihn nicht einmal als Übung zu).
Kardinal

Antworten:


41

Ohne zu versuchen, auf PCA einen vollständigen Primer zu geben, ist vom Standpunkt der Optimierung die primäre Zielfunktion der Rayleigh-Quotient . Die im Quotienten angegebene Matrix ist (ein Vielfaches davon) die Beispiel-Kovarianzmatrix wobei jedes ein Vektor von Merkmalen ist und die Matrix ist, so dass die te Zeile .

S=1ni=1nxixiT=XTX/n
xipXixiT

PCA versucht, eine Folge von Optimierungsproblemen zu lösen. Das erste in der Sequenz ist das uneingeschränkte Problem

maximizeuTSuuTu,uRp.

Daist das obige uneingeschränkte Problem gleichbedeutend mit dem eingeschränkten Problem uTu=u22=uu

maximizeuTSusubject touTu=1.

Hier kommt die Matrixalgebra ins Spiel. Da eine symmetrisch positive semidefinite Matrix ist (konstruktionsbedingt!), Hat sie eine Eigenwertzerlegung der Form wobei eine ist orthogonale Matrix (also ) und ist eine diagonale Matrix mit nichtnegativen Einträgen so dass .S

S=QΛQT,
QQQT=IΛλiλ1λ2λp0

Daher ist . Da im Problem auf eine Norm von eins beschränkt ist, gilt dies auch für da , da orthogonal ist.uTSu=uTQΛQTu=wTΛw=i=1pλiwi2uww2=QTu2=u2=1Q

Aber wenn wir die Menge unter den Bedingungen , dann ist das Beste, was wir tun können, zu setze , und für .i=1pλiwi2i=1pwi2=1w=e1w1=1wi=0i>1

Wenn wir nun das entsprechende , nach dem wir zuerst gesucht haben, erhalten wir Folgendes: wobei bezeichnet die erste Spalte von , dh den Eigenvektor, der dem größten Eigenwert von . Der Wert der Zielfunktion wird dann auch leicht als .u

u=Qe1=q1
q1QSλ1

Die verbleibenden Hauptkomponentenvektoren werden dann durch Lösen der mit indizierten Folge von Optimierungsproblemen gefunden. Das Problem ist also dasselbe, außer dass wir die zusätzliche Einschränkung hinzufügen, dass die Lösung zu allen vorherigen Lösungen in der Sequenz orthogonal sein muss . Es ist nicht schwierig , das Argument oben induktiv zu zeigen , zu verlängern , dass die Lösung der - ten Problem ist in der Tat , der - te Eigenvektor .i

maximizeuiTSuisubject touiTui=1uiTuj=01j<i.
iqiiS

Die PCA-Lösung wird häufig auch als Singularwertzerlegung von ausgedrückt . Um zu sehen , warum, lassen . Dann ist und so (Streng genommen bis zum Signieren von Flips) und .XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n

Die Hauptkomponenten werden durch Projizieren von auf die Hauptkomponentenvektoren gefunden. Aus der gerade gegebenen SVD-Formulierung ist leicht ersichtlich, dass X

XQ=XV=UDVTV=UD.

Die Einfachheit der Darstellung sowohl der Hauptkomponentenvektoren als auch der Hauptkomponenten selbst in Bezug auf die SVD der Merkmalsmatrix ist ein Grund, warum die SVD bei einigen Behandlungen von PCA so prominent ist.


Wenn nur die ersten paar singulären Werte / Vektoren benötigt werden, geben Nash und Shlien einen Algorithmus an, der an die übliche Potenzmethode zur Berechnung dominanter Eigenwerte erinnert. Dies könnte für das OP von Interesse sein.
JM ist kein Statistiker

@NRH, Danke, dass du meine Tippfehler abgefangen (und korrigiert) hast, bevor ich sie sehen konnte!
Kardinal

1
Hallo Kardinal, danke für deine Antwort. Aber es scheint, dass Sie nicht den Schritt gegeben haben, zu beweisen, warum die sequentielle Optimierung zu einem globalen Optimum führt. Könnten Sie das bitte näher erläutern? Vielen Dank!
Lifu Huang

21

Die von cardinal vorgestellte Lösung konzentriert sich auf die Kovarianzmatrix der Stichprobe. Ein weiterer Ausgangspunkt ist der Rekonstruktionsfehler der Daten durch eine q- dimensionale Hyperebene. Wenn die p- dimensionalen Datenpunkte das Ziel zu lösenx1,,xn

minμ,λ1,,λn,Vqi=1n||xiμVqλi||2

für eine Matrix mit orthonormalen Spalten und . Dies ergibt die beste Rang- q- Rekonstruktion, gemessen durch die euklidische Norm, und die Spalten der Lösung sind die ersten q Hauptkomponentenvektoren.p×qVqλiRqVq

Für festes lautet die Lösung für und (dies ist eine Regression) Vqμλi

μ=x¯=1ni=1nxiλi=VqT(xix¯)

Nehmen wir zur Vereinfachung der Notation an, dass in den folgenden Berechnungen zentriert wurde. Wir müssen dann minimieren xi

i=1n||xiVqVqTxi||2

über mit orthonormalen Spalten. Beachten Sie, dass die Projektion auf den q- dimensionalen Spaltenraum ist. Daher ist das Problem äquivalent zum Minimieren von über Rang q Projektionen . Das heißt, wir müssen Maximierungs über Rang q- Projektionen , wobei die Beispiel-Kovarianzmatrix ist. JetztVqP=VqVqT

i=1n||xiPxi||2=i=1n||xi||2i=1n||Pxi||2
P
i=1n||Pxi||2=i=1nxiTPxi=tr(Pi=1nxixiT)=ntr(PS)
PS
tr(PS)=tr(VqTSVq)=i=1quiTSui
wobei die (orthonormalen) Spalten in sind und die in der Antwort von @ cardinal dargestellten Argumente zeigen, dass das Maximum erhalten wird, indem man das 'nimmt. s ist Eigenvektoren für mit den größten Eigenwerten.u1,,uqqVquiqSq

Der Rekonstruktionsfehler weist auf eine Reihe nützlicher Verallgemeinerungen hin, beispielsweise auf spärliche Hauptkomponenten oder Rekonstruktionen durch niedrigdimensionale Mannigfaltigkeiten anstelle von Hyperebenen. Einzelheiten finden Sie in Abschnitt 14.5 unter Die Elemente des statistischen Lernens .


(+1) Gute Punkte. Einige Vorschläge: Es wäre gut, zu definieren, und es wäre wirklich nett, einen kurzen Beweis für das Ergebnis zu liefern. Alternativ kann es mit dem Optimierungsproblem verbunden sein, das Rayleight-Quotienten umfasst. Ich denke, das würde die Antworten auf diese Frage sehr vollständig machen! λi
Kardinal

@ Cardinal, ich glaube, ich habe die fehlenden Schritte abgeschlossen, um von der Rekonstruktionsformulierung zu dem von Ihnen gelösten Problem zu gelangen.
NRH

Gute Arbeit. Ich glaube, die einzige verbleibende Lücke ist in Ihrer letzten Erklärung. Es ist nicht sofort ersichtlich, dass das Optimieren der Summe mit dem Ausführen der Optimierungssequenz in meiner Antwort identisch ist. Tatsächlich denke ich nicht, dass es im Allgemeinen direkt folgt. Aber es muss auch hier nicht angesprochen werden.
Kardinal

@ Kardinal, es folgt durch Induktion. Sie geben den Induktionsstart vor und wählen im Induktionsschritt orthonormale Vektoren , die die Summe maximieren, und ordnen sie so an, dass ein zu orthogonaler Einheitsvektor ist . Dann durch Ihre Ergebnisse und durch die Induktionsannahme . Natürlich ist die Basis keine eindeutige Basis für den dimensionalen Raum. Sie können auch das "konvexe Kombinationsargument" verallgemeinern, das Sie verwenden, um einen direkten Beweis zu liefern. w1,,wqwqu1,,uq1wqTSwquqTSuqi=1q1wiTSwii=1q1uiTSuiq
NRH

1
@ Kardinal, ich erzwinge keine Verschachtelung, sondern verwende lediglich eine Dimensionsüberlegung. Wenn wir einen dimensionalen Unterraum haben, können Sie in diesem Raum immer so wählen , dass es orthogonal zu einem -dimensionalen Unterraum ist. Dann füllen Sie die Basis nach Belieben auf. qwq(q1)w
NRH

4

In NIPALS ( Wiki ) finden Sie einen Algorithmus, der keine explizite Matrixzerlegung verwendet. Ich nehme an, das meinst du, wenn du sagst, dass du Matrixalgebra vermeiden willst, da du Matrixalgebra hier wirklich nicht vermeiden kannst :)

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.