主成分分析(Principal Component Analysis,PCA),是通過正交變換將一組可能存在相關性的變量轉換爲一組線性不相關的變量,轉換後的這組變量叫主成分。通俗的講就是將分佈在多個維度的高維數據投射到幾個軸上。現假設將二維數據投影到一個軸上。如圖所示,圖中黑色的點表示二維平面中的點,這些點沿L軸的方差最大,因此可以將二維的點投影到L軸上,從二維變成一維,起到了降維的作用。
PCA的計算方法如下:
1、假設由數據的特徵和記錄構成二維矩陣X0,即X0的一列表示一個特徵,一行表示一條記錄(一個示例),X0是一個m行n列的矩陣。
2、計算X0的轉置X。X爲n行m列的矩陣。
3、計算X任意兩行之間的協方差,得到一個n行n列的協方差矩陣CovX。
4、求CovX的特徵值和特徵向量,得到n個特徵值和一個n行n列的特徵向量矩陣V0。
5、根據n個特徵值的大小,降序排序,取最大的k個特徵值,並取這k個特徵值對應的特徵向量,得到一個k行n列的特徵向量矩陣V。
6、將k行n列的特徵向量V與n行m列的矩陣X相乘,得到k行m列的矩陣Y0。
7、將Y0進行轉置就得到m行k列的矩陣Y,這個矩陣Y就是包含k個主要成分的數據。