Wenn eine beobachtete Datenmatrix ist und eine latente Variable ist, dann
Wobei der Mittelwert der beobachteten Daten ist und der Gaußsche Fehler / Rauschen in Daten ist und als Hauptunterraum bezeichnet wird.
Meine Frage ist, wenn normale PCA verwendet wird, würden wir einen Satz orthonormaler Eigenvektoren für die Folgendes gilt
In PPCA ist jedoch weder orthonormal noch Eigenvektor. Wie kann ich Hauptkomponenten von ?
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.
quelle
Antworten:
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 .
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
DieWML
ppca()
Funktion implementiert einen Erwartungsmaximierungsalgorithmus, der zum Modell passt, aber wir wissen, dass er wie oben angegeben zum konvergieren muss .Ihre Frage ist: wie man , wenn Sie wissen .W M L.Uq WML
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.WML Uq WML
Genau das macht Matlabs
ppca()
Funktion in Zeile 305: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 qWML Uq
quelle