Tôi có thể cung cấp cho bạn lời giải thích / bằng chứng riêng về PCA, điều mà tôi nghĩ là thực sự đơn giản và thanh lịch, và không yêu cầu bất cứ điều gì ngoại trừ kiến thức cơ bản về đại số tuyến tính. Nó xuất hiện khá dài, vì tôi muốn viết bằng ngôn ngữ đơn giản dễ tiếp cận.
Giả sử chúng ta có một số mẫu dữ liệu từ một n không gian ba chiều. Bây giờ chúng ta muốn chiếu dữ liệu này trên một vài dòng trong n không gian ba chiều, trong một cách mà vẫn giữ được càng nhiều sai càng tốt (có nghĩa là, phương sai của các số liệu dự kiến nên càng lớn so với phương sai của dữ liệu gốc như khả thi).Mnn
Bây giờ, chúng ta hãy quan sát rằng nếu chúng ta dịch (di chuyển) tất cả các điểm của một số vector , phương sai sẽ vẫn như cũ, kể từ khi chuyển tất cả các điểm của β sẽ di chuyển số học của họ có nghĩa là bởi β là tốt, và phương sai là tuyến tính tỷ lệ với Σ M i = 1 ‖ x i - μ ‖ 2 . Do đó chúng tôi dịch tất cả các điểm bởi - μ , vì vậy mà số học của họ có nghĩa là trở thành 0 , cho thoải mái tính toán. Hãy biểu thị các điểm dịch là x ' i = x i - μβββ∑Mi=1∥xi−μ∥2−μ0x′i=xi−μ. Chúng ta hãy cũng quan sát, rằng sự thay đổi bây giờ có thể được thể hiện đơn giản là .∑Mi=1∥x′i∥2
Bây giờ sự lựa chọn của dòng. Chúng ta có thể mô tả bất kỳ dòng nào dưới dạng tập hợp các điểm thỏa mãn phương trình , đối với một số vectơ v , w . Lưu ý rằng nếu chúng ta di chuyển các dòng của một số vector γ vuông góc với v , sau đó tất cả các dự báo trên dòng cũng sẽ được di chuyển bằng γ , do đó giá trị trung bình của các dự sẽ được di chuyển bằng γx=αv+wv,wγvγγ, do đó phương sai của các phép chiếu sẽ không thay đổi. Điều đó có nghĩa là chúng ta có thể di chuyển đường thẳng song song với chính nó và không thay đổi phương sai của các hình chiếu trên đường thẳng này. Một lần nữa vì mục đích thuận tiện, chúng ta hãy giới hạn bản thân mình chỉ các dòng đi qua điểm 0 (điều này có nghĩa là các dòng được mô tả bởi ).x=αv
Được rồi, bây giờ giả sử chúng ta có một vectơ mô tả hướng của một dòng là một ứng cử viên có thể cho dòng chúng ta tìm kiếm. Chúng ta cần tính toán phương sai của các hình chiếu trên dòng α v . Những gì chúng ta sẽ cần là các điểm chiếu và ý nghĩa của chúng. Từ đại số tuyến tính chúng ta đều biết rằng trong trường hợp đơn giản này chiếu của x ' i trên α v là ⟨ x i , v ⟩ / ‖ v ‖ 2 . Chúng ta hãy từ bây giờ giới hạn bản thân mình chỉ các vectơ đơn vị v . Điều đó có nghĩa chúng ta có thể viết theo chiều dài của chiếu của điểm x 'vαvx′iαv⟨xi,v⟩/∥v∥2v trênvđơn giản là⟨x ' i ,v⟩.x′iv⟨x′i,v⟩
Trong một số câu trả lời trước đây, có người nói rằng PCA giảm thiểu tổng bình phương khoảng cách từ đường đã chọn. Bây giờ chúng ta có thể thấy điều đó đúng, bởi vì tổng bình phương của các hình chiếu cộng với tổng bình phương khoảng cách từ đường đã chọn bằng tổng bình phương khoảng cách từ điểm . Bằng cách tối đa hóa tổng bình phương của các hình chiếu, chúng tôi giảm thiểu tổng bình phương khoảng cách và ngược lại, nhưng đây chỉ là một sự suy diễn sâu sắc, trở lại bằng chứng bây giờ.0
Đối với ý nghĩa của các phép chiếu, hãy quan sát rằng là một phần của một số cơ sở trực giao của không gian của chúng ta và nếu chúng ta chiếu các điểm dữ liệu của mình trên mọi vectơ của cơ sở đó, thì tổng của chúng sẽ bị hủy (vì nó chiếu vào vectơ từ cơ sở giống như viết các điểm dữ liệu trong cơ sở trực giao mới). Vì vậy, tổng của tất cả các hình chiếu trên vectơ v (hãy gọi tổng S v ) và tổng các hình chiếu trên các vectơ khác từ cơ sở (hãy gọi nó là S o ) là 0, vì đó là giá trị trung bình của các điểm dữ liệu. Nhưng S v là trực giao với S o ! Điều đó có nghĩa là S o = S vvvSvSoSvSo .So=Sv=0
Vì vậy, giá trị trung bình của các dự đoán của chúng tôi là . 0Chà, thật tiện lợi, vì điều đó có nghĩa là phương sai chỉ là tổng bình phương độ dài của các hình chiếu, hoặc trong các ký hiệu
Σi = 1M( x'Tôi⋅ v )2= ∑i = 1MvT⋅ x' TTôi⋅ x'Tôi⋅ v = vT⋅ ( Σi = 1Mx' TTôi⋅ xTôi) ⋅ v .
Chà, đột nhiên ma trận hiệp phương sai xuất hiện. Hãy biểu thị nó chỉ đơn giản bằng . Nó có nghĩa là bây giờ chúng tôi đang tìm kiếm một đơn vị vector v nhằm tối đa hóa v T ⋅ X ⋅ v , đối với một số bán tích cực nhất định ma trận X .XvvT⋅ X⋅ vX
Bây giờ, chúng ta hãy xem các vector riêng và giá trị riêng của ma trận , và biểu thị chúng bằng e 1 , e 2 , ... , e n và λ 1 , ... , λ n tương ứng, chẳng hạn rằng λ 1 ≥ λ 2 , ≥ λ 3 ... . Nếu các giá trị bước sóng không trùng lặp, vector riêng tạo thành một cơ sở trực chuẩn. Nếu họ làm như vậy, chúng tôi chọn các hàm riêng theo cách mà chúng tạo thành một cơ sở trực giao.Xe1, e2, Lọ , eviết sai rồiλ1, ... , λviết sai rồiλ1≥ λ2, ≥ λ3Giáo dụcλ
Bây giờ hãy tính cho một eigenvector e i . Chúng tôi có e T i ⋅ X ⋅ e i = e T i ⋅ ( λ i đ i ) = λ i ( ‖ e i ‖ 2 ) 2 = λ i .vT⋅ X⋅ veTôi
eTTôi⋅ X⋅ eTôi= eTTôi⋅ ( λTôieTôi) = λTôi( ∥ eTôi∥2)2= λTôi.
Khá tốt, điều này cho chúng ta cho e 1 . Bây giờ chúng ta hãy lấy một vectơ tùy ý v . Kể từ vector riêng tạo thành một cơ sở trực giao, chúng ta có thể viết v = Σ n i = 1 đ i ⟨ v , e i ⟩ , và chúng tôi có Σ n i = 1 ⟨ v , e i ⟩ 2 = 1 . Hãy biểu thị β i = ⟨ v , e i ⟩ .λ1e1vv = Σviết sai rồii = 1eTôi⟨ V , eTôi⟩Σviết sai rồii = 1⟨ V , eTôi⟩2= 1βTôi= ⟨ V , eTôi⟩
Bây giờ chúng ta hãy đếm . Chúng tôi viết lại câu như một sự kết hợp tuyến tính của e i , và nhận được: ( n Σ i = 1 β i đ i ) T ⋅ X ⋅ ( n Σ i = 1 β i đ i ) = ( n Σ i = 1 β i đ i ) ⋅ ( n Σ ivT⋅ X⋅ vveTôi
( ∑i = 1viết sai rồiβTôieTôi)T⋅ X⋅ ( Σi = 1viết sai rồiβTôieTôi) = ( ∑i = 1viết sai rồiβTôieTôi) ⋅ ( ∑i = 1viết sai rồiλTôiβTôieTôi) = ∑i = 1viết sai rồiλTôi( βTôi)2( ∥ eTôi∥2)2.
vT⋅ X⋅ v = Σviết sai rồii = 1λTôiβ2Tôiβ2Tôi1
Điều đó có nghĩa là phương sai của phép chiếu là giá trị trung bình của giá trị riêng. Chắc chắn, nó luôn luôn ít hơn giá trị riêng lớn nhất, đó là lý do tại sao nó nên là lựa chọn của vectơ PCA đầu tiên.
l i n ( e2, e3, Lọ , eviết sai rồi)e2
Σki = 1λTôi/ Σviết sai rồii = 1λTôi
kkv1, ... , vk
Σj = 1kΣi = 1viết sai rồiλTôiβ2tôi j= ∑i = 1viết sai rồiλTôiγTôi
γTôi= ∑kj = 1β2tôi j.
eTôiv1, ... , vkbạn1, Lọ , un - keTôi= ∑kj = 1βtôi jvj+ Σn - kj = 1θj⟨ eTôi, bạnj⟩∥ eTôi∥2= 1Σkj = 1β2tôi j+ Σn - kj = 1θ2j= 1γTôi≤ 1Tôi
Σviết sai rồii = 1λTôiγTôiγTôi≤ 1Σviết sai rồii = 1γTôi= kΣki = 1λTôik