1. 程式人生 > >機器學習系列1 PCA(主成分分析法)

機器學習系列1 PCA(主成分分析法)

1.PCA的應用

   1.降維

   2.去除資料相關性,對資料特徵進行抽取

2.主成分選擇原則

  (1)主成分是原來變數的線性組合;

  (2)各主成分之間互不相關;

  (3)主成分分析的實質就是找到一個正交變換,即有正交陣U,使得一個?維向量

                              X=\begin{bmatrix} x1,x2,......,xd \end{bmatrix}

     對其做正交變換Y^{T}=UX^{T},滿足Y的各個分量之間是不相關的(即協方差為0),而且?的第一個分量的方差是最大的,第二個次之……

3.主成分分析步驟

1.將原資料中心化

   2.對中心化後的資料的協方差矩陣\frac{1}{n}XX^{T}進行特徵值分解W\sum W^{T}

   3.對特徵值進行由大到小排序,選擇前幾個比較大的特徵值對應的特徵向量W_{r}

對X進行投影變換,那麼主成分Y=W_{r}^{T}X

4.推導過程

  假設資料已經中心化

                          X=\begin{bmatrix} x1,x2,......,xn \end{bmatrix} \epsilon R^{m*n}

 1.正交投影矩陣:一個向量b想向某個已知空間A正交投影,那麼其投影矩陣為A(A^{T}A)^{-1}A^{T} (證明不難可以自己證明一下)

 2.SVD分解:X=U\sum V^{T} 

 那麼由上,原資料向主成分空間投影

                       PX=X(X^{T}X)^{-1}X^{T}=USV^{T}(VS^{T}U^{T}USV^{T})^{-1}VS^{T}U^{T}=UU^{T}X  (1)

                       P=UU^{T}                                                                                                   (2)

 PCA就是想找一個單位方向u,其中u^{t}u=1使得x_{i}在這個方向上正交投影的長度均值達到最大,換言之就是投影后散佈最大,也就   是資訊保留最多。

 問題現在變成求     (3)               

                      max\frac{1}{n}\sum_{i=1}^{n}\left \| u(u^{T}x_{i})) \right \|_{2}^{2}                                           

 即  (4)           max u^{T}Cu         

C=\frac{1}{n}XX^{T}    進行特徵分解,C=W\Lambda W^{T},將特徵值從大到小分好 即\lambda _{1}>\lambda _{2}>......>\lambda _{n-1}>......>\lambda _{m}

由於SVD的U也是XX^{T}特徵分解得到,所以u可以看作w_{i}的線性組合

                    u=\sum_{i}^{m}a_{i}w_{i}=Wa     

代入(4)式中 變為  (5)    max a^{T}\Lambda a

     

(6)            

                                        a^{T}\Lambda a=\sum_{i=1}^{m}a_{i}^{2}\lambda _{i}\leqslant \lambda _{1}\sum_{i=1}^{m}a_{i}^{2}=\lambda _{1}a^{T}a=\lambda _{1}               

即當a_{1}=1時(4)式成立

當然如果你想使用PCA將原資料降為s維,那麼同樣的推導方式,你將得到a_{1}.........a_{s}=1

也就是使得                       u_{s}=W_{s}                                

通過以上推導我們就明白了,PCA的演算法步驟 

   1.將原資料中心化

   2.對中心化後的資料的協方差矩陣\frac{1}{n}XX^{T}進行特徵值分解W\sum W^{T}

   3.對特徵值進行由大到小排序,選擇前幾個比較大的特徵值對應的特徵向量W_{r}對X進行投影變換,那麼主成分Y=W_{r}^{T}X

      r就是你想降維到的維數。