降維算法----PCA原理推導


1、從幾何的角度去理解PCA降維

  以平面坐標系為例,點的坐標是怎么來的?

    

        圖1                                                                             圖2 

  如上圖1所示,向量OA的坐標表示為(3,2),A點的橫坐標實為向量OA與單位向量(1,0)的內積得到的(也就是向量OA在單位向量(1,0)所表示的的方向上的投影的長度,正負由向量OA與投影方向的夾角決定),縱坐標同理可得。而降維的過程從幾何的角度去理解,實質就可以理解為投影的過程。如上圖2,二維平面上的點為例,對其降維實際就是將其投影到某一方向上,將二維數據點轉換為一維數據點。顯然我們可投影的方向有無數多個。並不是隨意選擇一個方向投影就能滿足我們的要求。因為我們降維的最終目的還是為了更好更快捷的分析數據間的規律,如果我們的降維破壞掉了原數據間的規律,那這種對數據的處理是無意義的。那在處理數據時,我們就需要考慮將原始數據往哪里投影的問題?PCA已經幫我們給出了這個問題的答案。

2、PCA原理推導

  2.1 最大方差理論(PCA理論基礎)

  在信號處理中認為信號具有較大的方差,噪聲有較小的方差,信噪比就是信號與噪聲的方差比,越大越好。如上述圖2,樣本在x'的投影方差較大,在y'的投影方差較小,那么認為縱軸上的投影是由噪聲引起的。因此我們認為,最好的k維特征是將n維樣本點轉換為k維后,每一維上的樣本方差都很大。故我們的投影方向就可以確定為樣本數據方差最大的方向。對於高維度的數據,我們的投影方向要選擇多個。按照我們的最大方差原理,第一個投影方向為方差最大的方向,第二個方向為方差次大的方向....,直到已經選擇的投影方向的數量滿足我們的要求。那如果按照這種方式去選擇,會存在一個問題,即這些維度之間是近似線性相關的,如果將這些維度從集合中的坐標系去理解。顯然由它們所組成的坐標系之家的夾角很小。這樣顯然不能完全表征數據所有特征。為了讓任意兩個維度能夠盡可能多的表征數據的特征,我們需要選擇獨立的維度。舉例如下:

  假如我們現在要將一個具有5個維度的數據,降維到3個維度。

    第一步:找到方差最大的方向,選擇此方向作為第一個維度

    第二步:在於第一步確定的方向正交的方向上,找到方差最大的作為第二個維度

    第三步:在與第一步和第二步所選擇方向正交的方向上,找到方差最大的作為第三個維度

  2.2 PCA數學推導(解釋了求解主成分為什么最終是求解協方差矩陣的特征值與特征向量)

  如何通過數學去尋找方差最大的方向呢?

  第一步:構建線性變換

    問題:為什么要對樣本進行線性變換?

    解答:線性變化的過程應用在此處從幾何的角度去理解實為(一)重新確定單位基向量(二)原始樣本集所表示的向量在新的單位基向量上投影的過程;以下述式(4)矩陣形式為例解釋如下:

      (一)重新確定單位基向量

        如下式(4)矩陣中的每一行即為重新確定的單位基向量(p維),類比到二維平面中即就是確定如上文圖2中x'和y'

        (二)原始樣本集所表示的向量在新的單位基向量上投影

        如下式(4)中y1,y2到yp即就是數據原始樣本集中的每一個樣本分別在(一)中所確定的單位基向量上投影所得到的由重新確定的單位基向量所組成的坐標系下的向量每個維度的坐標值。    

      我們通過下述式(4)就可以表達上述(一)和(二),而(一)中重新確定的基向量要符合方差最大的要求,如何使得其滿足方差最大的要求?數學原理即為如下“第二步:求解最大方差”的推導過程

    設原樣本數據維度為p,則可以寫成,這里X表示某一樣本數據,設樣本集中有N個樣本,則樣本集的均值方差如下:

    

    對原樣本進行如下線性變換

    

    同時給出上述線性變換的矩陣形式如下

    

  第二步:求解最大方差

    新的數據的方差與協方差滿足如下式子:

    

    假如我們希望y1的方差達到最大,則顯然此問題是一個約束優化問題(二次優化問題)形式如下:

    

    對式(7)的說明,注意這里的u表示的新的坐標系下的基向量(即為上述式(4)中舉證的每一行元素組成),限制條件是為了使得基向量是單位向量,即長度為1 。

    關於二次型在約束條件下的極值問題即求解上述式(7)有如下定理:

      即在條件下,一般二次型的最大、最小值的求法:

      定理1:設Λ是對稱矩陣,令m = min{xTΛx:||x||=1},M = max{xTΛx:||x||=1},那么M是Λ的最大特征值λ1,m是Λ的最小特征值,如果x是對應M的單位特征向量u1,那么xTΛx的值為M,如果x是對應m的單位特征向量,xTΛx的值為m;

        定理2:設Λ,λ1和u1如定理1所示。在條件xTx=1和xTu1=0限制下xTΛx最大值是第二大特征值λ2,且這個最大值,可以在對應λ2的特征向量u2處取到。

      推論:設Λ是一個n*n的對稱矩陣,且其正交對角化為Λ=PDP-1,將對角舉證D上的元素重新排列,使得λ>=λ>=……>=λn,且P的列是其對應的單位特征向量u1,u2,……,un,那么對k-2,....n時,在條件xTx=1,xTu1=0,……xTuk=0限制下,xTΛx的最大特征值λk且這個最大特征值在x=uk處可以取到。  

      上述定理1,定理2,推論的證明過程見求二次型最大最小值方法初探

    由上述式(1)到式(7)的推導過程我們便將求解最大方差的問題轉換為了求解協方差矩陣∑的特征值與特征向量。

    設u1是∑最大特征值(設為λ1)的特征向量,此時y1為第一主成分,類似的希望y2的方差達到最大,並要求cov(y1,y2)=0,由於u1是λ1的特征向量,所以選擇的u2應與u1正交,類似於前面的推導,a2是∑第二大特征值(設為λ2)的特征向量,稱y2為第二主成分,依次類推得到后續主成分。 

3、PCA降維步驟

  由上述2、PCA原理推導,我們已經知曉,求解數據集的主成分的過程即為求解樣本集協方差矩陣的特征值與特征向量的過程。

  假設數據集為:

    

  第一步:將樣本數據中心化(為了簡化運算,這部並不是必須的)

    上述數據集已完成中心化

  第二步:計算樣本數據的協方差矩陣

    

  第三步:求出協方差矩陣的特征值與正交單位特征向量

    特征值:,對應的特征向量為:

    特征值:,對應的特征向量為:

    

  第四步:對上述協方差矩陣對角化

    線性代數中定理:對於任意n階實對稱矩陣A,必然存在n階正交矩陣P,使得:,其中為A的全部特征值;矩陣P為列向量組為A的n個標准正交的特征向量

    由上述定理可知:

    

    最大特征值為,對應的特征向量為,故第一主成分為:

    次大特征值為,對應的特征向量為,故第二主成分為:

 

 

  

 

 

 

 

 

 

 

 

    

 

    

 

    

 

    

 

 

  

 

 

  

  

  

 

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM