Báo cáo vấn đề
Vấn đề hình học mà PCA đang cố gắng tối ưu hóa là rõ ràng đối với tôi: PCA cố gắng tìm thành phần chính đầu tiên bằng cách giảm thiểu lỗi tái tạo (phép chiếu), đồng thời tối đa hóa phương sai của dữ liệu dự kiến.
Đúng rồi. Tôi giải thích mối liên hệ giữa hai công thức này trong câu trả lời của tôi ở đây (không có toán học) hoặc ở đây (với toán học).
Chúng ta hãy thực hiện công thức thứ hai: PCA đang thử tìm hướng sao cho hình chiếu của dữ liệu trên đó có phương sai cao nhất có thể. Hướng này, theo định nghĩa, được gọi là hướng chính đầu tiên. Chúng ta có thể chính thức hóa nó như sau: đưa ra ma trận hiệp phương sai , chúng ta đang tìm một vectơ có độ dài đơn vị, , sao cho là tối đa.Cw∥w∥=1w⊤Cw
(Chỉ trong trường hợp này không rõ ràng: nếu là ma trận dữ liệu trung tâm, thì phép chiếu được đưa ra bởi và phương sai của nó là .)XXw1n−1(Xw)⊤⋅Xw=w⊤⋅(1n−1X⊤X)⋅w=w⊤Cw
Mặt khác , theo định nghĩa , một hàm riêng của , theo định nghĩa, bất kỳ vectơ sao cho .CvCv=λv
Nó chỉ ra rằng hướng chính đầu tiên được đưa ra bởi eigenvector với giá trị riêng lớn nhất. Đây là một tuyên bố không cần thiết và đáng ngạc nhiên.
Bằng chứng
Nếu một người mở bất kỳ cuốn sách hoặc hướng dẫn nào về PCA, người ta có thể tìm thấy ở đó bằng chứng gần như một dòng của tuyên bố trên. Chúng tôi muốn tối đa hóa dưới sự ràng buộc mà ; điều này có thể được thực hiện khi giới thiệu hệ số nhân Lagrange và tối đa hóa ; khác biệt, chúng ta thu được , đây là phương trình eigenvector. Chúng tôi thấy rằng trên thực tế là giá trị riêng lớn nhất bằng cách thay thế giải pháp này thành hàm mục tiêu, mang lạiw⊤Cw∥w∥=w⊤w=1w⊤Cw−λ(w⊤w−1)Cw−λw=0λw⊤Cw−λ(w⊤w−1)=w⊤Cw=λw⊤w=λ . Nhờ thực tế rằng chức năng mục tiêu này phải được tối đa hóa, phải là giá trị riêng lớn nhất, QED.λ
Điều này có xu hướng không trực quan cho hầu hết mọi người.
Một bằng chứng tốt hơn (xem ví dụ câu trả lời gọn gàng này của @cardinal ) nói rằng vì là ma trận đối xứng, nên nó là đường chéo trong cơ sở eigenvector của nó. (Đây thực sự được gọi là định lý phổ .) Vì vậy, chúng ta có thể chọn một cơ sở trực giao, cụ thể là cơ sở được đưa ra bởi các hàm riêng, trong đó là đường chéo và có eigenvalues trên đường chéo. Trong cơ sở đó, đơn giản hóa thành hoặc nói cách khác, phương sai được tính bằng tổng trọng số của các giá trị riêng. Gần như ngay lập tức rằng để tối đa hóa biểu thức này, chỉ cần lấyCCλiw⊤Cw∑λiw2iw=(1,0,0,…,0), tức là trình xác định đầu tiên, mang lại phương sai (thực sự, lệch khỏi giải pháp này và "giao dịch" các phần của giá trị riêng lớn nhất cho các phần của phần nhỏ hơn sẽ chỉ dẫn đến phương sai tổng thể nhỏ hơn). Lưu ý rằng giá trị của không phụ thuộc vào cơ sở! Thay đổi thành cơ sở eigenvector thành một phép quay, vì vậy trong 2D, người ta có thể tưởng tượng chỉ cần xoay một mảnh giấy với biểu đồ phân tán; rõ ràng điều này không thể thay đổi bất kỳ phương sai.λ1w⊤Cw
Tôi nghĩ rằng đây là một lập luận rất trực quan và rất hữu ích, nhưng nó dựa trên định lý phổ. Vì vậy, vấn đề thực sự ở đây tôi nghĩ là: trực giác đằng sau định lý phổ là gì?
Định lý phổ
Hãy đối xứng ma trận . Lấy eigenvector với giá trị riêng lớn nhất . Làm cho hàm riêng này trở thành vectơ cơ sở đầu tiên và chọn ngẫu nhiên các vectơ cơ sở khác (sao cho tất cả chúng là trực giao). sẽ trông như thế nào trong cơ sở này?Cw1λ1C
Nó sẽ có ở góc trên bên trái, bởi vì trong cơ sở này và phải bằng .λ1w1=(1,0,0…0)Cw1=(C11,C21,…Cp1)λ1w1=(λ1,0,0…0)
Với cùng một đối số, nó sẽ có các số 0 trong cột đầu tiên bên dưới .λ1
Nhưng vì nó là đối xứng, nó cũng sẽ có các số 0 ở hàng đầu tiên sau . Vì vậy, nó sẽ trông như thế:λ1
C=⎛⎝⎜⎜⎜⎜λ10⋮00…0⎞⎠⎟⎟⎟⎟,
trong đó không gian trống có nghĩa là có một khối các yếu tố ở đó. Vì ma trận đối xứng nên khối này cũng sẽ đối xứng. Vì vậy, chúng ta có thể áp dụng chính xác cùng một đối số cho nó, sử dụng hiệu quả hàm riêng thứ hai làm vectơ cơ sở thứ hai và nhận và trên đường chéo. Điều này có thể tiếp tục cho đến khi là đường chéo. Đó thực chất là định lý phổ. (Lưu ý cách nó hoạt động chỉ vì đối xứng.)λ1λ2CC
Đây là một cải cách trừu tượng hơn của chính xác cùng một lập luận.
Chúng tôi biết rằng , vì vậy, hàm riêng đầu tiên xác định không gian con 1 chiều trong đó hoạt động như một phép nhân vô hướng. Bây giờ chúng ta hãy đưa bất kỳ vectơ trực giao vào . Sau đó, gần như ngay lập tức rằng cũng trực giao với . Thật:Cw1=λ1w1Cvw1Cvw1
w⊤1Cv=(w⊤1Cv)⊤=v⊤C⊤w1=v⊤Cw1=λ1v⊤w1=λ1⋅0=0.
Điều này có nghĩa là hoạt động trên toàn bộ không gian con trực giao còn lại với sao cho nó tách biệt với . Đây là tính chất quan trọng của ma trận đối xứng. Vì vậy, chúng ta có thể tìm thấy trình xác định lớn nhất ở đó, và tiến hành theo cách tương tự, cuối cùng xây dựng một cơ sở trực giao của trình xác định.Cw1w1w2