Là tối ưu hóa PCA lồi?


12

Hàm mục tiêu của Phân tích thành phần chính (PCA) là giảm thiểu lỗi tái cấu trúc trong định mức L2 (xem phần 2.12 ở đây . Một quan điểm khác đang cố gắng tối đa hóa phương sai trên phép chiếu. Chúng tôi cũng có một bài viết xuất sắc ở đây: Hàm mục tiêu của PCA là gì ? ).

Câu hỏi của tôi là lồi tối ưu hóa PCA? (Tôi đã tìm thấy một số cuộc thảo luận ở đây , nhưng mong muốn ai đó có thể cung cấp một bằng chứng tốt đẹp ở đây trên CV).


3
Không. Bạn đang tối đa hóa một hàm lồi (trong các ràng buộc).
user603

5
Tôi nghĩ bạn cần phải cụ thể về ý của bạn bằng cách "tối ưu hóa PCA". Một công thức tiêu chuẩn là tối đa hóa chủ đề cho x x = 1 . Vấn đề là sự lồi lõm thậm chí không có ý nghĩa: miền x x = 1 là một hình cầu, không phải là không gian Euclide. xAxxx=1xx=1
whuber

1
@whuber cảm ơn bình luận của bạn, tôi có thể không làm rõ câu hỏi do kiến ​​thức hạn chế. Tôi có thể chờ đợi một số câu trả lời có thể giúp tôi làm rõ câu hỏi cùng một lúc.
Haitao Du

3
Tôi muốn giới thiệu cho bạn bất kỳ định nghĩa về "lồi" mà bạn quen thuộc. Không phải tất cả chúng đều liên quan đến một khái niệm về các điểm trong miền của một hàm nằm "giữa" các điểm khác phải không? Điều đó đáng để ghi nhớ, bởi vì nó nhắc nhở bạn xem xét hình dạng của miền của hàm cũng như bất kỳ thuộc tính đại số hoặc phân tích nào của các giá trị hàm. Trong ánh sáng đó, theo tôi, công thức tối đa hóa phương sai có thể được sửa đổi một chút để làm cho miền lồi: chỉ cần yêu cầu thay vì x x = 1 . Giải pháp là như nhau - và câu trả lời trở nên khá rõ ràng. xx1xx=1
whuber

Câu trả lời:


17

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à

  1. Có được một biểu thức đơn giản cho hàm mục tiêu.

  2. Phóng to miền của nó, không lồi, thành một miền.

  3. 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)= xAx  subject to  xx=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 ( * ) .)xAx/xxxλ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 : XR càng lớn càng tốt.xXf:XR

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:

  1. Các miền là lồi. XRn Đ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 y X0 λ 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 ở XxXyX0λ1λx+(1λ)yXXX .

  2. 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 y X0 λ 1 , f ( λ x + ( 1 - λ ) y ) λ f ( x ) + ( 1 - λ ) f ( y ) . (Chúng tôi cần XxXyX0λ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 ) )( 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.yay2+by+ca0.

Một khó khăn với X là đơn vị cầu S n - 1R n , mà là decidedly không lồi. ()XSn1Rn 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<xx<1x, do đó tăngfnhưng ở trong đơn vị bóngDn={x R n|x'x1}. Do đó, chúng ta hãy định dạng lại()nhưλ=1/xx>1f Dn={xRnxx1}()

(**)Maximize f(x)= xAx  subject to  xx1

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ΣPAxxAx (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σ n0.AΣP

σ1σ2σn0.

Nếu chúng ta để cho là tọa độ mới x (kéo theo những y = P x ), hàm fx=Pyxy=Pxf

f(y)=yAy=xPAPx=xΣx=σ1x12+σ2x22++σnxn2.

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ăngxx=1σ1fXffσ1

g(y)=f(y)σ1yy.

Đ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σ1yyPyy=xxxg

g(y)=σ1x12++σnxn2σ1(x12++xn2)=(σ2σ1)x22++(σnσ1)xn2.

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=0xx=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. đượ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 .gDn=Sn1yy=1fgσ1gfDnfg


4
+1 Rất đẹp. Tôi đã chỉnh sửa để sửa một công thức theo những gì tôi nghĩ bạn dự định (nhưng vui lòng kiểm tra). Ngoài ra, tôi thấy câu "Điều đó sẽ không thay đổi bất kỳ giá trị ranh giới mà tại đó f được tối ưu hóa" để gây nhầm lẫn lúc đầu, vì các giá trị ranh giới làm thay đổi: bạn đang trừ . Có lẽ nó có ý nghĩa để cải cách một chút? σ1
amip nói phục hồi Monica

@amoeba Đúng trên tất cả các tính; cảm ơn bạn. Tôi đã khuếch đại các cuộc thảo luận về điểm đó.
whuber

2
(+1) In your answer, you seem to define a convex function to be what most people would consider to be a concave function (perhaps since a convex optimization problem has a convex domain and a concave function over which a maximum is computed (or a convex function over which a minimum is computed))
user795305

2
gXf in any way that will not make any of those local boundary maxima move or disappear.
whuber

2
Yes, I agree. It does not matter how f is modified on the inside, if the resulting g is "convex" and happens to have maxima on the boundary. Your g does happen to have maxima on the boundary, and this makes the whole argument work. Makes sense.
amoeba says Reinstate Monica

6

No.

Rank k PCA of matrix M can be formulated as

X^=argminrank(X)kMXF2

(F is Frobenius norm). For derivation see Eckart-Young theorem.

Though the norm is convex, the set over which it is optimized is nonconvex.


A convex relaxation of PCA's problem is called Convex Low Rank Approximation

X^=argminXcMXF2

( is nuclear norm. it's convex relaxation of rank - just like 1 is convex relaxation of number of nonzero elements for vectors)

You can see Statistical Learning with Sparsity, ch 6 (matrix decompositions) for details.

If you're interested in more general problems and how they relate to convexity, see Generalized Low Rank Models.


1

Disclaimer: The previous answers do a pretty good job of explaining how PCA in its original formulation is non-convex but can be converted to a convex optimization problem. My answer is only meant for those poor souls (such as me) who are not so familiar with the jargon of Unit Spheres and SVDs - which is, btw, good to know.

My source is this lecture notes by Prof. Tibshirani

For an optimization problem to be solved with convex optimization techniques, there are two prerequisites.

  1. The objective function has to be convex.
  2. The constraint functions should also be convex.

Most formulations of PCA involve a constraint on the rank of a matrix.

In these type of PCA formulations, condition 2 is violated. Because, the constraint that rank(X)=k, is not convex. For example, let J11, J22 be 2 × 2 zero matrices with a single 1 in the upper left corner and lower right corner respectively. Then, each of these have rank 1, but their average has rank 2.


Could you please explain what "X" refers to and why there is any constraint on its rank? This doesn't correspond with my understanding of PCA, but perhaps you are thinking of a more specialized version in which only k principal components are sought.
whuber

Yeah, X is the transformed (rotated) data matrix. In this formulation, we seek matrices that are at least of rank k. You can refer to the link in my answer for a more accurate description.
kasa
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.