Không gian con chính trong PCA xác suất là gì?


10

nếu được quan sát ma trận dữ liệu và là biến tiềm ẩn thìYXY

X=WY+μ+ϵ

Trong đó là giá trị trung bình của dữ liệu được quan sát và là lỗi / nhiễu Gaussian trong dữ liệu và được gọi là không gian con chính.ε WμϵW

Câu hỏi của tôi là khi PCA bình thường được sử dụng, chúng ta sẽ có được một tập hợp các hàm riêng trực giao mà sau đây là đúngE

Y=EX

Nhưng trong PPCA, không phải là trực giao cũng không phải là hàm riêng. Vậy làm thế nào tôi có thể nhận được các thành phần chính từ ?WWW

Theo bản năng của tôi, tôi đã tìm kiếm ppca trong MATLAB, nơi tôi bắt gặp dòng này:

Khi hội tụ, các cột của W kéo dài không gian con, nhưng chúng không trực giao. ppca thu được các hệ số trực giao, coeff, cho các thành phần bằng cách trực giao của W.

Tôi đổi mã ppca một chút để có được W , chạy nó và sau orthogonalization tôi đã nhận được P từ W .

Tại sao sự trực giao hóa này lại mang lại cho người bản địa, dọc theo đó phần lớn phương sai sẽ được nhìn thấy?

Tôi giả sử, trực giao hóa cho tôi một tập các vectơ trực giao / trực giao kéo dài không gian con chính, nhưng tại sao ma trận kết quả trực giao này lại bằng với eigenmatrix (tôi biết rằng eigenmatrix trong pca cũng là trực giao)? Tôi có thể giả sử không gian con chính chỉ được kéo dài bởi một tập các vectơ trực giao duy nhất không? Trong trường hợp đó cả hai kết quả sẽ trùng khớp luôn.


1
Chỉ để xóa sự nhầm lẫn của tôi, tôi đã kiểm tra chính xác nơi W được tính toán và gán nó cho một tham số đầu ra mới gọi là prin_sub. Tôi biết ppca trả về W trong SW, nhưng để hoàn toàn rõ ràng, tôi đã làm điều đó một cách thừa thãi. và trong tài liệu, một ví dụ đã được đưa ra bằng cách sử dụng dữ liệu 'hald', tôi đã sử dụng mã của họ: P = orth (SW) cũng @amoeba Tôi đã xóa các câu hỏi khác của mình.
dùng3086871

Câu trả lời:


19

Đây là một câu hỏi tuyệt vời.

PCA xác suất (PPCA) là mô hình biến tiềm ẩn sau đây started trong đó là một quan sát và là một tiềm ẩn vectơ biến; thường là . Lưu ý rằng điều này khác với phân tích nhân tố chỉ trong một chi tiết nhỏ: cấu trúc hiệp phương sai trong PPCA là và trong FA, nó là một ma trận đường chéo tùy ý . xRpzRqq«pσ2TôiΨ

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

Tipping & Bishop, 1999, Phân tích thành phần chính xác suất chứng minh định lý sau: giải pháp khả năng tối đa cho PPCA có thể thu được bằng phân tích và được đưa ra bởi (Eq. 7): trong đó là một ma trận gồm các hướng chính của (hàm riêng của ma trận hiệp phương sai), là ma trận đường chéo của các giá trị riêng tương ứng, cũng được đưa ra bởi một công thức rõ ràng và là ma trận xoay vòng tùy ý (tương ứng với các phép quay trong không gian tiềm ẩn). U q q Λ q σ 2 M L R q×q

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

Các ppca()thuật toán cụ chức năng mong đợi-tối đa hóa để phù hợp với mô hình, nhưng chúng ta biết rằng nó phải hội tụ vào như được đưa ra ở trên.WML

Câu hỏi của bạn là: làm thế nào để có được nếu bạn biết .W M LUqWML

Câu trả lời là bạn chỉ có thể sử dụng phân tách giá trị số ít của . Công thức ở trên đã có dạng ma trận trực giao lần ma trận đường chéo lần ma trận trực giao, do đó, nó cung cấp cho SVD, và vì nó là duy nhất, bạn sẽ nhận được dưới dạng các vectơ đơn trái của .U q W M LWMLUqWML

Đó chính xác là những gì ppca()chức năng của Matlab đang làm trong dòng 305:

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

Tôi có thể giả sử không gian con chính chỉ được kéo dài bởi một tập các vectơ trực giao duy nhất không?

Không! Có một số lượng vô hạn các cơ sở trực giao trải dài trên cùng một không gian con chính. Nếu bạn áp dụng một số quy trình trực giao tùy ý cho bạn không được đảm bảo có được . Nhưng nếu bạn sử dụng SVD hoặc một cái gì đó tương đương, thì nó sẽ hoạt động.U qWMLUq


1
Thật là một câu trả lời tuyệt vời! Bạn thật tuyệt vời! Giúp đỡ lớn Cảm ơn bạn rất nhiều. @amoeba
user3086871
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.