矩陣分解與應用

主成分分析(PCA)

主成分分析(PCA)不是一種新的分解,而是對你已經熟悉的那些分解的一種應用。給定一團資料點,它會找出資料變化最大的那些方向:第一主成分是離散程度最大的單一方向,第二主成分是與第一方向垂直、離散程度次大的方向,以此類推。從數學上看,這些方向就是資料共變異數矩陣的前幾個特徵向量,等價地也就是 SVD 給出的前幾個奇異向量。

實際收益在於壓縮與視覺化。如果一個 50 維資料集中的大部分變化只落在兩三個方向上,你就可以保留這幾個主成分、把其餘的丟掉,從而把高維資料畫在平面紙上,或在送入另一個演算法之前先把它縮小。

要誠實地看待 PCA 能做什麼、不能做什麼。它只是把你的座標軸旋轉到與變異數最大的方向對齊;它並不理解資料的含義。變異數大並不等於重要,得到的成分可能難以解釋,而且 PCA 只能捕捉線性結構,因此彎曲的或成簇的模式可能被完全錯過。

C = covariance(data); principal components = top eigenvectors of C (= top singular vectors of data)

把資料投影到變異數最大的少數幾個方向上,以便壓縮或繪圖。

PCA 找的是高變異數方向,而非有意義的方向;變異數大並不自動意味著重要。

又稱
PCA主成分分析Karhunen-Loeve transform主元分析主元分析