Tuyến tính của PCA


35

PCA được coi là một thủ tục tuyến tính, tuy nhiên:

PCA(X)PCA(X1)+PCA(X2)++PCA(Xn),

trong đó . Điều này có nghĩa là các hàm riêng được PCA thu được trên các ma trận dữ liệu không tổng hợp bằng với các hàm riêng mà PCA thu được trên tổng các ma trận dữ liệu . Nhưng không phải là định nghĩa của hàm tuyến tính mà:X i X i fX=X1+X2++XnXiXif

f(x+y)=f(x)+f(y)?

Vậy tại sao PCA được coi là "tuyến tính" nếu nó không thỏa mãn điều kiện rất cơ bản này của tuyến tính?


Tôi đã từng viết hoặc nghe (xin lỗi, tôi không thể nhớ ở đâu hoặc khi nào), PCA "thuộc họ thủ tục tuyến tính" vì nó phụ thuộc vào sự phụ thuộc tuyến tính giữa các biến. Nó sử dụng ma trận tương quan Pearson và tìm kiếm các tổ hợp tuyến tính có phương sai cao nhất.
Łukasz Deryło

4
Bản chất của câu hỏi này có thể trở nên rõ ràng hơn một chút bằng cách suy nghĩ về thiết lập đơn giản và thường quy hơn của hồi quy bình phương nhỏ nhất bình thường: đây là nguyên mẫu của một thủ tục thống kê tuyến tính. Tuy nhiên, quá trình ước tính các hệ số bình phương tối thiểu là một hàm phi tuyến rõ ràng của ma trận dữ liệu , được chứng thực bởi công thức . (Lưu ý rằng đó là một hàm tuyến tính của vectơ phản hồi .)β = ( X ' X ) - 1 X ' y yXβ^=(XX)1Xyy
whuber

4
Có thể đáng để nhớ rằng f (x) = x + 1 cũng là một "hàm tuyến tính" ... nhưng nó không thỏa mãn những gì bạn vừa nói ... sẽ giải thích điều gì đó.
Mehrdad

Đó là bởi vì(X1+X2)T(X1+X2)X1TX1+X2TX2
Gabriel Romon

Câu trả lời:


39

Khi chúng tôi nói rằng PCA là một phương pháp tuyến tính, chúng tôi đề cập đến việc ánh xạ giảm kích thước từ không gian chiều cao sang không gian chiều thấp hơn . Trong PCA, ánh xạ này được đưa ra bằng cách nhân với ma trận của trình xác định PCA và do đó rõ ràng là tuyến tính (phép nhân ma trận là tuyến tính):Điều này trái ngược với các phương pháp giảm kích thước phi tuyến , trong đó ánh xạ giảm chiều có thể là phi tuyến.R p R k x z = f ( xf:xzRpRkx

z=f(x)=Vx.

Mặt khác, các eigenvector top được tính từ ma trận dữ liệu bằng cách sử dụng cái mà bạn gọi là trong câu hỏi của bạn: và đây lập bản đồ chắc chắn là phi tuyến tính: nó liên quan đến vector riêng máy tính của ma trận hiệp phương sai, mà là một thủ tục phi tuyến tính . (Như một ví dụ tầm thường, nhân với làm tăng ma trận hiệp phương sai lên , nhưng các hàm riêng của nó vẫn giữ nguyên như chúng được chuẩn hóa để có độ dài đơn vị.)VR p × k XR n × p P C A ( ) V = P C A ( X ) , X 2 4kVRp×kXRn×pPCA()

V=PCA(X),
X24

Rằng tôi đã nhận được 35 lượt upvote cho câu trả lời tầm thường này là khá vô lý (và chủ yếu là do chủ đề này nằm trong Câu hỏi mạng nóng trong một thời gian).
amip nói phục hồi Monica

5

"Tuyến tính" có thể có nghĩa là nhiều thứ, và không chỉ được sử dụng một cách chính thức.

PCA thường không được định nghĩa là một hàm theo nghĩa chính thức, và do đó, nó không được mong đợi sẽ đáp ứng các yêu cầu của hàm tuyến tính khi được mô tả như vậy. Nó thường được mô tả, như bạn đã nói, như một thủ tục, và đôi khi là một thuật toán (mặc dù tôi không thích tùy chọn cuối cùng này). Nó thường được gọi là tuyến tính theo cách không chính thức, không được xác định rõ.

PCA có thể được coi là tuyến tính, ví dụ, theo nghĩa sau đây. Nó thuộc về một họ các phương thức xem xét rằng mỗi biến có thể được xấp xỉ bởi một hàm trong đó và là một tập hợp các biến với một số biến mong muốn bất động sản. Trong trường hợp của PCA, là một tập hợp các biến độc lập có thể giảm về số lượng tim với sự mất mát tối thiểu về độ chính xác gần đúng theo một nghĩa cụ thể. Đó là những thuộc tính mong muốn trong nhiều cài đặt.X if Y ( α ) α R k Y k YXi

XifY(α)
αRkYkY

Bây giờ, cho PCA, mỗi bị hạn chế mẫu có nghĩa là, một sự kết hợp tuyến tính của các biến trong .f Y ( α ) = k i = 1 α i Y i Yfi

fY(α)=i=1kαiYi
Y

Với hạn chế này, nó đưa ra một quy trình để tìm các giá trị tối ưu (trong một số ý nghĩa) của và '. Đó là, PCA chỉ coi các chức năng tuyến tính là các giả thuyết hợp lý. Theo nghĩa này, tôi nghĩ rằng nó có thể được mô tả một cách hợp pháp là "tuyến tính".α i jYαij


3

PCA cung cấp / là một chuyển đổi tuyến tính.

MPCA(X1+X2)M(X1+X2)=M(X1)+M(X2)

PCA(X1+X2)PCA(X1)PCA(X2)


Khi so sánh, một ví dụ rất đơn giản về một quá trình sử dụng phép biến đổi tuyến tính nhưng bản thân nó không phải là phép biến đổi tuyến tính:

Phép quay đôi góc của vectơ (giả sử một điểm trong không gian eidianidian 2-d) với một số vectơ tham chiếu (giả sử ), không phải là phép biến đổi tuyến tính. Ví dụv [ x ,D(v)v[x,y]=[1,0]

D([1,1])[0,2]

D([0,1])[1,0]

nhưng

D([1,1]+[0,1]=[1,2])[0.78,2.09][1,2]

sự nhân đôi của góc này, bao gồm việc tính toán các góc, không phải là tuyến tính và tương tự như tuyên bố của amip, rằng tính toán của eigenvector không phải là tuyến tính

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.