Chức năng mục tiêu của PCA là gì?


42

Phân tích thành phần chính có thể sử dụng phân tách ma trận, nhưng đó chỉ là một công cụ để đạt được điều đó.

Làm thế nào bạn sẽ tìm thấy các thành phần chính mà không sử dụng đại số ma trận?

Hàm mục tiêu (mục tiêu) là gì và các ràng buộc là gì?


1
Có thể tôi đang thiếu một cái gì đó vì vậy xin vui lòng sửa cho tôi nếu tôi sai, nhưng có thể (ít nhất là về nguyên tắc) để xây dựng những gì được thực hiện trong PCA bằng cách sử dụng ma trận như một vấn đề lập trình tuyến tính (phức tạp), nhưng tôi không biết làm thế nào bạn nêu tất cả các ràng buộc cần thiết. Ngoài ra tôi không chắc chắn rằng sẽ rất đơn giản để làm so với việc chỉ sử dụng PCA. Tại sao bạn cố gắng tránh ma trận?
Chris Simokat

@Chris Tôi không thấy cách người ta có thể gặp vấn đề về lập trình tuyến tính. Tôi cũng không hiểu rằng ma trận nên tránh trong tính toán . Câu hỏi đặt ra là loại vấn đề nào được PCA giải quyết, và không phải là cách nó được thực hiện (ví dụ bằng cách tính toán SVD). Giải pháp của hồng y nói rằng bạn tìm thấy các hướng trực giao liên tiếp của phương sai cực đại . Giải pháp tôi đã trình bày nói rằng bạn tìm thấy hyperplanes với lỗi tái cấu trúc tối thiểu.
NRH

@chris Tôi hy vọng tìm được một cách khác để xem PCA, không có đại số ma trận, để tăng thêm sự hiểu biết của tôi về nó.
Neil McGuigan

1
@Chris, Bạn có hàm mục tiêu bậc hai và ràng buộc đẳng thức . Ngoài ra, theo công thức trong câu trả lời của @ NRH, bạn có ràng buộc thứ hạng ma trận. Điều đó sẽ không đánh bại chính nó đối với một vấn đề lập trình tuyến tính. @NRH cung cấp một số trực giác tốt, và trên thực tế, có một mối liên hệ rất chặt chẽ giữa hai quan điểm về PCA đã được đưa ra. Có lẽ hợp tác với @NRH, chúng tôi có thể thêm nó vào bài đăng của anh ấy / cô ấy để làm cho toàn bộ câu trả lời đầy đủ hơn. 2
Đức hồng y

1
@NRH, Thực ra, tôi như ESL rất nhiều, nhưng tôi nghĩ rằng việc điều trị có của chủ đề này là khá hời hợt, vì nó là đối với nhiều người trong những chủ đề trong cuốn sách. Cụ thể, họ không chứng minh (hoặc thậm chí chỉ định là một bài tập) phần quan trọng của giải pháp cho vấn đề tối ưu hóa bạn đưa ra.
Đức hồng y

Câu trả lời:


41

Không cần cố gắng đưa ra một đoạn mồi đầy đủ trên PCA, từ quan điểm tối ưu hóa, chức năng mục tiêu chính là thương số Rayleigh . Ma trận mà số liệu trong thương số là (một số bội số) ma trận hiệp phương sai mẫu trong đó mỗi là một vector của tính năng và là ma trận như vậy mà thứ hàng là .

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

PCA tìm cách giải quyết một chuỗi các vấn đề tối ưu hóa. Đầu tiên trong chuỗi là vấn đề không bị ràng buộc

maximizeuTSuuTu,uRp.

Vì, vấn đề không bị ràng buộc ở trên tương đương với vấn đề bị ràng buộc uTu=u22=uu

maximizeuTSusubject touTu=1.

Đây là nơi đại số ma trận xuất hiện. Vì là ma trận bán nguyệt dương đối xứng (bằng cách xây dựng!), Nó có phân rã giá trị riêng có dạng trong đó là một Ma trận trực giao (vì vậy ) và là ma trận đường chéo với các mục không âm sao cho .S

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

Do đó, . Vì bị ràng buộc trong bài toán có định mức là một, nên kể từ , nhờ là trực giao.uTSu=uTQΛQTu=wTΛw=i=1pλiwi2uww2=QTu2=u2=1Q

Nhưng, nếu chúng ta muốn tối đa hóa số lượng theo các ràng buộc mà , thì cách tốt nhất chúng ta có thể làm là đặt , nghĩa là, và cho .i=1pλiwi2i=1pwi2=1w=e1w1=1wi=0i>1

Bây giờ, sao lưu tương ứng , đó là những gì chúng tôi đã tìm kiếm ở vị trí đầu tiên, chúng tôi nhận được rằng trong đó biểu thị cột đầu tiên của , nghĩa là eigenvector tương ứng với eigenvalue lớn nhất của . Giá trị của hàm mục tiêu sau đó cũng dễ dàng được nhìn thấy là .u

u=Qe1=q1
q1QSλ1

Các vectơ thành phần chính còn lại sau đó được tìm thấy bằng cách giải quyết chuỗi (được lập chỉ mục bởi ) các vấn đề tối ưu hóa Vì vậy, vấn đề là như nhau, ngoại trừ việc chúng ta thêm các ràng buộc bổ sung rằng giải pháp phải trực giao với tất cả các giải pháp trước đó trong chuỗi. Nó không phải là khó khăn để mở rộng tranh luận trên quy nạp để chứng minh rằng các giải pháp của thứ vấn đề là, quả thật vậy, , các th eigenvector của .i

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

Giải pháp PCA cũng thường được thể hiện dưới dạng phân tách giá trị số ít của . Để xem lý do tại sao, chúng ta hãy . Khi đó và vì vậy (nói đúng ra, lên tới ký lật) và .XX=UDVTnS=XTX=VD2VTV=QΛ=D2/n

Các thành phần chính được tìm thấy bằng cách chiếu lên các vectơ thành phần chính. Từ công thức SVD vừa được đưa ra, dễ dàng nhận thấy rằng X

XQ=XV=UDVTV=UD.

Sự đơn giản của việc biểu diễn cả vectơ thành phần chính và chính các thành phần chính về mặt SVD của ma trận các tính năng là một lý do khiến các tính năng SVD nổi bật trong một số phương pháp điều trị PCA.


Nếu chỉ cần một vài giá trị / vectơ đầu tiên là cần thiết, Nash và Shlien đưa ra thuật toán gợi nhớ đến phương pháp công suất thông thường để tính toán các giá trị riêng vượt trội. Điều này có thể được OP quan tâm.
JM không phải là một thống kê

@NRH, Cảm ơn bạn đã bắt (và sửa) lỗi chính tả của tôi trước khi tôi quản lý để xem chúng!
Đức hồng y

1
Xin chào @cardinal, cảm ơn bạn đã trả lời. Nhưng có vẻ như bạn đã không đưa ra bước chứng minh tại sao tối ưu hóa tuần tự dẫn đến tối ưu toàn cầu. Bạn có thể vui lòng giải thích về điều đó? Cảm ơn!
Lifu Huang

21

Giải pháp được trình bày bởi hồng y tập trung vào ma trận hiệp phương sai mẫu. Một điểm khởi đầu khác là lỗi tái cấu trúc dữ liệu bởi một siêu phẳng q -chiều. Nếu p chiều điểm dữ liệu là mục tiêu là để giải quyếtx1,,xn

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

cho matrix với các cột trực giao và . Điều này cho phép các bậc tốt nhất q -reconstruction được đo bằng tiên đề Ơclit, và các cột của giải pháp là người đầu tiên q vectơ thành phần chính.p×qVqλiRqVq

Đối với cố định , giải pháp cho và (đây là hồi quy) là Vqμλi

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

Để dễ ghi chú, giả sử rằng đã được căn giữa trong các tính toán sau. Sau đó chúng ta phải giảm thiểu xi

i=1n||xiVqVqTxi||2

trên với các cột trực giao. Lưu ý rằng là hình chiếu lên không gian cột q chiều. Do đó, vấn đề tương đương với việc giảm thiểu trên bậc q dự báo . Nghĩa là, chúng ta cần tối đa hóa trên xếp hạng q dự đoán , trong đó là ma trận hiệp phương thức mẫu. Hiện nayVqP=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
trong đó là các cột (trực giao) trong và các đối số được trình bày trong câu trả lời của @ cardinal cho thấy mức tối đa đạt được bằng cách lấy ' s là eigenvector cho với giá trị riêng lớn nhất.u1,,uqqVquiqSq

Lỗi tái cấu trúc cho thấy một số khái quát hóa hữu ích, ví dụ như các thành phần chính thưa thớt hoặc tái cấu trúc bởi các đa tạp chiều thấp thay vì hyperplanes. Để biết chi tiết, xem Phần 14,5 trong Các yếu tố của học thống kê .


(+1) Điểm tốt. Một số gợi ý: Sẽ rất tốt nếu xác định và sẽ thực sự tốt khi đưa ra một bằng chứng ngắn về kết quả. Hoặc, thay vào đó, nó có thể được kết nối với vấn đề tối ưu hóa liên quan đến chỉ số Rayleight. Tôi nghĩ rằng sẽ làm cho câu trả lời cho câu hỏi này rất đầy đủ! λi
Đức hồng y

@cardinal, tôi tin rằng tôi đã hoàn thành các bước còn thiếu trong việc chuyển từ công thức tái cấu trúc sang vấn đề bạn giải quyết.
NRH

Công việc tốt đẹp. Tôi tin rằng khoảng cách duy nhất còn lại là trong tuyên bố cuối cùng của bạn. Không rõ ràng ngay lập tức rằng tối ưu hóa tổng số cũng giống như thực hiện chuỗi tối ưu hóa trong câu trả lời của tôi. Trên thực tế, tôi không nghĩ rằng nó đi theo trực tiếp, nói chung. Nhưng, nó cũng không cần phải giải quyết ở đây.
Đức hồng y

@cardinal, nó theo cảm ứng. Bạn cung cấp bắt đầu cảm ứng và trong bước cảm ứng, chọn các vectơ trực giao tối đa hóa tổng và sắp xếp nó sao cho là một vectơ đơn vị trực giao với . Sau đó, bằng kết quả của bạn và theo giả định cảm ứng . Tất nhiên, cơ sở không phải là một cơ sở duy nhất cho không gian ba chiều. Bạn cũng có thể khái quát hóa "đối số kết hợp lồi" mà bạn sử dụng để đưa ra một bằng chứng trực tiếp. w1,,wqwqu1,,uq1wqTSwquqTSuqi=1q1wiTSwii=1q1uiTSuiq
NRH

1
@cardinal, tôi không bắt buộc lồng, chỉ sử dụng xem xét kích thước. Nếu chúng ta có một không gian con chiều, bạn luôn có thể chọn trong không gian đó sao cho nó trực giao với không gian con hai chiều . Sau đó, bạn điền vào -bocation theo bất kỳ cách nào bạn muốn. qwq(q1)w
NRH

4

Xem NIPALS ( wiki ) để biết một thuật toán không sử dụng phân tách ma trận rõ ràng. Tôi cho rằng đó là những gì bạn muốn nói khi bạn nói rằng bạn muốn tránh đại số ma trận vì bạn thực sự không thể tránh đại số ma trận ở đây :)

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.