Apa subruang utama dalam PCA probabilistik?

10

jika diamati matriks data dan adalah variabel laten makaXY

X=WY+μ+ϵ

Di mana adalah rata-rata dari data yang diamati, dan adalah kesalahan Gaussian / noise dalam data, dan disebut subruang utama.μϵW

Pertanyaan saya adalah ketika PCA biasa digunakan kita akan mendapatkan satu set ortonormal vektor eigen yang berikut benarE

Y=EX

Tetapi dalam PPCA, bukan vektor ortonormal atau eigen. Jadi bagaimana saya bisa mendapatkan komponen utama dari ?WW

Mengikuti insting saya, saya mencari ppca di MATLAB, tempat saya menemukan baris ini:

Pada konvergensi, kolom W merentang subruang, tetapi tidak ortonormal. ppca memperoleh koefisien ortonormal, koefisien, untuk komponen dengan ortogonisasi W.

Saya memodifikasi kode ppca sedikit untuk mendapatkan W , berlari dan setelah orthogonalization aku mendapatkan P dari W .

Mengapa orthogonalization ini memberikan vektor eigen, di mana sebagian besar varian akan terlihat?

Saya berasumsi, ortogonalisasi memberi saya satu set vektor ortogonal / ortonormal yang membentang subruang utama, tetapi mengapa matriks hasil ortogonalisasi ini sama dengan eigenmatrix (saya tahu bahwa eigenmatrix di pca juga ortonormal)? Dapatkah saya menganggap subruang utama hanya direntang oleh satu set vektor ortonormal yang unik? Dalam hal ini, kedua hasil akan selalu bertepatan.

pengguna3086871
sumber
1
Hanya untuk menghapus kebingungan saya, saya memeriksa dengan tepat di mana W dihitung, dan menugaskannya ke parameter output baru yang disebut prin_sub. Saya tahu ppca mengembalikan W dalam SW, tetapi hanya untuk benar-benar jelas saya melakukan itu secara berlebihan. dan dalam dokumen itu diberikan contoh menggunakan data 'hald', saya menggunakan kode mereka: P = orth (SW) juga @amoeba saya menghapus pertanyaan saya yang lain.
user3086871

Jawaban:

19

Ini adalah pertanyaan yang sangat bagus.

Probabilistic PCA (PPCA) adalah model variabel laten berikut mana adalah satu pengamatan dan adalah laten vektor variabel; biasanya . Perhatikan bahwa ini berbeda dari analisis faktor hanya dalam satu detail kecil: struktur kovarians galat di PPCA adalah dan di FA merupakan matriks diagonal sewenang-wenang .

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

Tipping & Bishop, 1999, Analisis Komponen Utama Probabilistik membuktikan teorema berikut: solusi kemungkinan maksimum untuk PPCA dapat diperoleh secara analitis dan diberikan oleh (Persamaan 7): mana adalah matriks dari arah utama utama (vektor eigen dari matriks kovarians), adalah matriks diagonal dari nilai eigen yang sesuai, juga diberikan oleh rumus eksplisit, dan adalah matriks rotasi berubah-ubah (sesuai dengan rotasi dalam ruang laten).

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

The ppca()algoritma mengimplementasikan fungsi harapan-maksimisasi untuk menyesuaikan model, tetapi kita tahu bahwa itu harus konvergen ke seperti yang diberikan di atas.WML

Pertanyaan Anda adalah: bagaimana cara mendapatkan jika Anda tahu .UqWML

Jawabannya adalah Anda cukup menggunakan dekomposisi nilai singular dari . Rumus di atas sudah dalam bentuk matriks ortogonal kali matriks diagonal kali matriks ortogonal, sehingga memberikan SVD, dan karena unik, Anda akan mendapatkan sebagai vektor tunggal kiri dari .WMLUqWML

Itulah ppca()fungsi yang dilakukan Matlab di baris 305:

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

Dapatkah saya menganggap subruang utama hanya direntang oleh satu set vektor ortonormal yang unik?

Tidak! Ada jumlah tak terbatas dari basis ortogonal yang mencakup ruang bagian utama yang sama. Jika Anda menerapkan beberapa proses sewenang-wenang ke Anda tidak dijamin untuk mendapatkan . Tetapi jika Anda menggunakan SVD atau sesuatu yang setara, maka itu akan berhasil.WMLUq

amuba
sumber
1
Jawaban yang luar biasa! Kamu sangat mengagumkan! Bantuan besar! Terima kasih banyak. @amoeba
user3086871