1. 程式人生 > >筆記:PCA降維

筆記:PCA降維

作為一個非監督學習的降維方法,PCA(Principal Components Analysis)顧名思義,就是找出資料裡最主要的方面,用資料裡最主要的方面來代替原始資料。具體的,假如我們的資料集是n維的,共有m個數據(x1,x2,…,xm)。我們希望將這m個數據的維度從n維降到k維,希望這m個k維的資料集儘可能的代表原始資料集。但是,資料從 n維降到k維肯定會有損失,因此,PCA就是要是這個損失降到最小。

 

PCA資料降維步驟如下

輸入:n維樣本集X = (x1,x2,…,xm),要降維到的維數k

輸出:降維後的樣本集Y

1.對所有的樣本進行中心化

2.計算樣本的協方差矩陣

3.求出協方差矩陣的特徵值及對應的特徵向量

4.將特徵向量按對應特徵值大小從上到下按行排列成矩陣,取前k行組成矩陣P

5.Y = PX即為降維到k維後的資料

 

PCA演算法的主要優點有:

1,僅僅需要以方差衡量資訊量,不受資料集以外的因素影響。 

2,各主成分之間正交,可消除原始資料成分間的相互影響的因素。

3,計算方法簡單,主要運算是特徵值分解,易於實現。

PCA演算法的主要缺點有:

1,主成分各個特徵維度的含義具有一定的模糊性,不如原始樣本特徵的解釋性強。

2,方差小的非主成分也可能含有對樣本差異的重要資訊,因降維丟棄可能對後續資料處理有影響。