假設我們有
那這些資料的平均數為
其中
資料的變異數 (variance) 則定義為
而
要將之寫成矩陣形式首先我們定義置中矩陣 (centering matrix)
計算一下可以發現
其中我們將這些置中後的資料存為
假設我們有
我們把每種資料都平移, 使其平均為
接著我們可以定義兩個變數的共變異數 (covariance),
接著計算一下就可以發現
也就是所謂的共變異數矩陣. 這個矩陣的對角線元素代表每個 feature 自己的變異數, 而非對角線則是共變異數, 代表兩個 features 的相關程度.
Remark: 不過要真正算相關程度會更近一步的去計算相關係數 (correlation coefficients), 這邊就不再深入探討.
我們想要找到一個方向, 使得資料投影上去之後, 新資料的變異數會最大.
假設這個方向為
第一步一樣先置中. 也就是計算
接著, 新資料的變異數就會是
所以統整一下, 若我們將資料投影到
最後, 我們知道這個解可以由
假設
我們想要找到一個方向, 使得資料投影上去之後, 新舊資料的距離平方和最小.
假設這個方向為
其中我們用到了
我們希望找到一個方向使得距離平方和最小, 也就是
觀察 (12) 與 (14) 發現他們一模一樣. 也就是這兩個問題的解會是一樣的, 最佳的方向都是第一個 singular vector.
PCA 想做的事就是找到一個仿射子空間 (affine subspace), 使得
a) 投影下去之後的資料有最大的變異數
b) 投影前後的資料距離平方合最小.
而這兩件事情是等價的.
PCA 也是一種資料降維的工具, 而將資料投影到一維所出來的新資料就是
以上雖然是以二維資料為例, 不過若有
以上是以投影到一維為例, 若投影到更高維度就是依序找第二, 三, 等等的 singular vectors. 不過推導會利用到矩陣 trace 的一些性質, 一些細節這裡就先跳過.
PCA 要找的是個仿射子空間,
我們先定義
因此極值發生在