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

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

  以平面座標系爲例,點的座標是怎麼來的?優化

    

        圖1                                                                             圖2 spa

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

二、PCA原理推導htm

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

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

  假如咱們如今要將一個具備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爲第二主成分,依次類推獲得後續主成分。 

三、PCA降維步驟

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

  假設數據集爲:

    

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

    上述數據集已完成中心化

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

    

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

    特徵值:,對應的特徵向量爲:

    特徵值:,對應的特徵向量爲:

    

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

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

    由上述定理可知:

    

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

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

相關文章
相關標籤/搜索