Was ist der Hauptunterraum in der probabilistischen PCA?

10

Wenn X eine beobachtete Datenmatrix ist und Y eine latente Variable ist, dann

X=WY+μ+ϵ

Wobei μ der Mittelwert der beobachteten Daten ist und ϵ der Gaußsche Fehler / Rauschen in Daten ist und W als Hauptunterraum bezeichnet wird.

Meine Frage ist, wenn normale PCA verwendet wird, würden wir einen Satz orthonormaler Eigenvektoren E für die Folgendes gilt

Y=EX

In PPCA ist W jedoch weder orthonormal noch Eigenvektor. Wie kann ich Hauptkomponenten von W ?

Meinem Instinkt folgend suchte ich in MATLAB nach ppca , wo ich auf diese Zeile stieß:

Bei der Konvergenz überspannen die Spalten von W den Unterraum, sind jedoch nicht orthonormal. ppca erhält die orthonormalen Koeffizienten Koeffizient für die Komponenten durch Orthogonalisierung von W.

Ich habe den ppca-Code ein wenig geändert, um das W zu erhalten , habe es ausgeführt und nach der Orthogonalisierung habe ich P von W erhalten .

Warum ergab diese Orthogonalisierung Eigenvektoren, entlang derer der größte Teil der Varianz sichtbar wird?

Ich gehe davon aus, dass die Orthogonalisierung mir eine Reihe von orthogonalen / orthonormalen Vektoren gibt, die den Hauptunterraum überspannen, aber warum ist diese orthogonalisierte resultierende Matrix gleich der Eigenmatrix (ich weiß, dass die Eigenmatrix in pca auch orthonormal ist)? Kann ich annehmen, dass der Hauptunterraum nur von einem eindeutigen Satz orthonormaler Vektoren überspannt wird? In diesem Fall stimmen beide Ergebnisse immer überein.

user3086871
quelle
1
Um meine Verwirrung zu beseitigen, habe ich genau überprüft, wo das W berechnet wird, und es einem neuen Ausgabeparameter namens prin_sub zugewiesen. Ich weiß, dass ppca W in SW zurückgibt, aber um ganz klar zu sein, habe ich das redundant gemacht. und in dem Dokument wurde ein Beispiel mit Daten 'hald' gegeben, ich habe ihren Code verwendet: P = orth (SW) auch @amoeba Ich habe meine anderen Fragen gelöscht.
user3086871

Antworten:

19

Dies ist eine ausgezeichnete Frage.

Probabilistic PCA (PPCA) ist das folgende latente Variablenmodell wobei eine Beobachtung und eine latente ist variabler Vektor; normalerweise . Beachten Sie, dass sich dies von der Faktoranalyse nur in einem kleinen Detail unterscheidet: Die Fehlerkovarianzstruktur in PPCA ist und in FA ist es eine beliebige diagonale Matrix .

zN(0,I)xN(Wz+μ,σ2I),
xRpzRqqpσ2IΨ

Tipping & Bishop, 1999, Probabilistic Principal Component Analysis beweisen den folgenden Satz: Die Maximum-Likelihood-Lösung für PPCA kann analytisch erhalten werden und ist gegeben durch (Gleichung 7): wobei eine Matrix von führenden Hauptrichtungen (Eigenvektoren der Kovarianzmatrix) ist, ist die Diagonalmatrix der entsprechenden Eigenwerte, ist auch durch eine explizite Formel gegeben, und ist eine beliebige Rotationsmatrix (entsprechend Rotationen im latenten Raum). U q q Λ q σ 2 M L R q×q

WML=Uq(ΛqσML2I)1/2R,
UqqΛqσML2Rq×q

Die ppca()Funktion implementiert einen Erwartungsmaximierungsalgorithmus, der zum Modell passt, aber wir wissen, dass er wie oben angegeben zum konvergieren muss .WML

Ihre Frage ist: wie man , wenn Sie wissen .W M L.UqWML

Die Antwort ist, dass Sie einfach die Singularwertzerlegung von . Die obige Formel hat bereits die Form orthogonale Matrix mal diagonale Matrix mal orthogonale Matrix, ergibt also die SVD, und da sie eindeutig ist, erhalten Sie als linke Singularvektoren von .U q W M L.WMLUqWML

Genau das macht Matlabs ppca()Funktion in Zeile 305:

% Orthogonalize W to the standard PCA subspace
[coeff,~] = svd(W,'econ');

Kann ich annehmen, dass der Hauptunterraum nur von einem eindeutigen Satz orthonormaler Vektoren überspannt wird?

Nein! Es gibt unendlich viele orthogonale Basen, die sich über denselben Hauptunterraum erstrecken. Wenn Sie einen beliebigen Orthogonalisierungsprozess auf anwenden , wird nicht garantiert, dass Sie . Aber wenn Sie SVD oder etwas Äquivalentes verwenden, wird es funktionieren.U qWMLUq

Amöbe
quelle
1
Was für eine hervorragende Antwort! Du bist ziemlich großartig! Große Hilfe! Ich danke dir sehr. @amoeba
user3086871