Không, các công thức thông thường của PCA không phải là vấn đề lồi. Nhưng chúng có thể được chuyển thành một vấn đề tối ưu hóa lồi.
Cái nhìn sâu sắc và thú vị của điều này là theo dõi và hình dung ra chuỗi biến đổi thay vì chỉ nhận được câu trả lời: nó nằm trong hành trình chứ không phải đích đến. Các bước chính trong hành trình này là
Có được một biểu thức đơn giản cho hàm mục tiêu.
Phóng to miền của nó, không lồi, thành một miền.
Sửa đổi mục tiêu, không lồi, thành một mục tiêu, theo cách rõ ràng không thay đổi các điểm mà tại đó nó đạt được các giá trị tối ưu của nó.
Nếu bạn theo dõi chặt chẽ, bạn có thể thấy các số nhân SVD và Lagrange đang ẩn nấp - nhưng chúng chỉ là một màn trình diễn, ở đó để ngắm cảnh và tôi sẽ không bình luận gì thêm về chúng.
Công thức tối đa hóa phương sai tối đa của PCA (hoặc ít nhất là bước quan trọng của nó) là
Maximize f(x)= x′Ax subject to x′x=1(*)
nơi ma trận An×nA là một đối xứng, tích cực-semidefinite ma trận được xây dựng từ các dữ liệu (thường là số tiền của hình vuông và các sản phẩm ma trận, ma trận hiệp phương sai của nó, hoặc ma trận tương quan của nó).
(Tương tự, chúng ta có thể cố gắng phát huy tối đa mục tiêu không bị giới hạn Đây không chỉ là một biểu hiện nastier -. Nó không còn là một hàm bậc hai - nhưng vẽ đồ trường hợp đặc biệt sẽ nhanh chóng hiển thị nó không phải là một hàm lồi , một trong hai. Thông thường người ta quan sát chức năng này là bất biến dưới rescalings x → bước sóng x và sau đó giảm nó vào việc xây dựng bó buộc ( * ) .)x′Ax/x′xx→λx(∗)
Bất kỳ vấn đề tối ưu hóa có thể được xây dựng một cách trừu tượng như
Tìm ít nhất một làm cho hàm f : X → R càng lớn càng tốt.x∈Xf:X→R
Hãy nhớ lại rằng một vấn đề tối ưu hóa là lồi khi nó có hai thuộc tính riêng biệt:
Các miền là lồi. X⊂Rn Điều này có thể được xây dựng theo nhiều cách. Thứ nhất là bất cứ khi nào và y ∈ X và 0 ≤ λ ≤ 1 , λ x + ( 1 - λ ) y ∈ X cũng có. Về mặt hình học: bất cứ khi nào hai điểm cuối của một đoạn thẳng nằm trong X , toàn bộ đoạn nằm ở Xx∈Xy∈X0≤λ≤1λx+(1−λ)y∈XXX .
Các chức năng là lồi. f Điều này cũng có thể được xây dựng theo nhiều cách. Thứ nhất là bất cứ khi nào và y ∈ X và 0 ≤ λ ≤ 1 , f ( λ x + ( 1 - λ ) y ) ≥ λ f ( x ) + ( 1 - λ ) f ( y ) . (Chúng tôi cần Xx∈Xy∈X0≤λ≤1
f(λx+(1−λ)y)≥λf(x)+(1−λ)f(y).
Xphải lồi để điều kiện này có ý nghĩa.) Về mặt hình học: bất cứ khi nào là bất kỳ đoạn thẳng nào trong X , đồ thị của f (như bị giới hạn trong đoạn này) nằm ở trên hoặc trên đoạn kết nối ( x , f ( x ) ) và ( y , f ( y ) ) trong R n + 1xy¯Xf(x,f(x))(y,f(y))Rn+1 .
Kiểu nguyên mẫu của hàm lồi nằm ở mọi vị trí parabol với hệ số dẫn không dương: trên bất kỳ đoạn thẳng nào, nó có thể được biểu thị dưới dạng với a ≤ 0.y→ay2+by+ca≤0.
Một khó khăn với là X là đơn vị cầu S n - 1 ⊂ R n , mà là decidedly không lồi. (∗)XSn−1⊂Rn Tuy nhiên, chúng ta có thể sửa đổi vấn đề này bằng cách bao gồm các vectơ nhỏ hơn. Đó là bởi vì khi chúng ta mở rộng theo hệ λ , f được nhân với λ 2 . Khi 0 < x ' x < 1 , chúng ta có thể mở rộng x lên đến đơn vị chiều dài bằng cách nhân nó bằng λ = 1 / √xλfλ20<x′x<1x, do đó tăngfnhưng ở trong đơn vị bóngDn={x∈ R n|x'x≤1}. Do đó, chúng ta hãy định dạng lại(∗)nhưλ=1/x′x−−−√>1f Dn={x∈Rn∣x′x≤1}(∗)
Maximize f(x)= x′Ax subject to x′x≤1(**)
Miền của nó là rõ ràng là lồi, vì vậy chúng ta đang ở giữa chừng. Vẫn còn phải xem xét độ lồi của đồ thị f .X=Dnf
Cách tốt nhất để nghĩ về vấn đề này --even nếu bạn không có ý định để thực hiện các tính toán tương ứng - là trong điều khoản của Spectral lý. (∗∗) Nó nói rằng bằng phương pháp biến đổi trực giao , bạn có thể tìm thấy ít nhất một cơ sở của R n trong đó A là đường chéo: đó là,PRnA
A=P′ΣP
trong đó tất cả các mục ngoài đường chéo của bằng không. Sự lựa chọn P như vậy có thể được coi là không thay đổi gì cả về A , mà chỉ thay đổi cách bạn mô tả nó : khi bạn xoay quan điểm của mình, các trục của các siêu phẳng cấp của hàm x → x ′ A xΣPAx→x′Ax (mà luôn luôn là ellipsoids) thẳng hàng với các trục tọa độ.
Kể từ là dương-semidefinite, tất cả các mục đường chéo của Σ phải không âm. Chúng tôi có thể hoán vị hơn nữa các trục (mà chỉ là một sự biến đổi trực giao, và do đó có thể được hấp thụ vào P ) để đảm bảo rằng σ 1 ≥ σ 2 ≥ ⋯ ≥ σ n ≥ 0.AΣP
σ1≥σ2≥⋯≥σn≥0.
Nếu chúng ta để cho là tọa độ mới x (kéo theo những y = P x ), hàm f làx=P′yxy=Pxf
f(y)=y′Ay=x′P′APx=x′Σx=σ1x21+σ2x22+⋯+σnx2n.
Chức năng này được quyết định không lồi! Nó nhìn đồ thị như một phần của một hyperparaboloid: tại tất cả các điểm trong nội thất của , thực tế là tất cả các σ i là làm cho âm nó curl lên chứ không giảmXσi .
Tuy nhiên, chúng ta có thể biến vào một vấn đề lồi với một kỹ thuật rất hữu ích. (∗∗) Biết rằng tối đa sẽ xảy ra nơi , chúng ta hãy trừ hằng số σ 1 từ f , ít nhất là cho điểm trên ranh giới của X . Điều đó sẽ không thay đổi vị trí của bất kỳ điểm nào trên ranh giới mà tại đó f được tối ưu hóa, bởi vì nó làm giảm tất cả các giá trị của f trên đường biên bằng cùng một giá trị σ 1 . Điều này gợi ý kiểm tra chức năngx′x=1σ1fXffσ1
g(y)=f(y)−σ1y′y.
Điều này thực sự trừ hằng số từ f tại các điểm ranh giới, và trừ giá trị nhỏ hơn tại các điểm nội thất. Điều này sẽ đảm bảo rằng g , so với f , không có cực đại toàn cầu mới về nội thất của X .σ1fgfX
Hãy xem xét những gì đã xảy ra với sự thay thế hoàn hảo này by - σ 1 y ′ y . Vì P là trực giao nên y ′ y = x ′ x . (Đó thực tế là định nghĩa của phép biến đổi trực giao.) Do đó, về mặt tọa độ x , g có thể được viết−σ1−σ1y′yPy′y=x′xxg
g(y)=σ1x21+⋯+σnx2n−σ1(x21+⋯+x2n)=(σ2−σ1)x22+⋯+(σn−σ1)x2n.
Bởi vì cho tất cả i , mỗi người trong số các hệ số là số không hay tiêu cực. Do đó, (a) g là lồi và (b) g được tối ưu hóa khi x 2 = x 3 = ⋯ = x n = 0 . ( x ′ x = 1 sau đó ngụ ý x 1 = ± 1 và mức tối ưu đạt được khi y = P ( ± 1 , 0 ,σ1≥σiiggx2=x3=⋯=xn=0x′x=1x1=±1 , đó là - lên đến dấu - cột đầu tiên của P .)y=P(±1,0,…,0)′P
Chúng ta hãy tóm tắt lại logic. Vì được tối ưu hóa trên ranh giới ∂ D n = S n - 1 trong đó y ′ y = 1 , vì f khác với g chỉ bởi hằng số σ 1 trên ranh giới đó và vì các giá trị của g thậm chí gần với các giá trị của f ở bên trong D n , cực đại của f phải trùng với cực đại của g .g∂Dn=Sn−1y′y=1fgσ1gfDnfg