1. 程式人生 > >資料科學個人筆記:偏最小二乘迴歸+主成分分析+典型相關分析

資料科學個人筆記:偏最小二乘迴歸+主成分分析+典型相關分析

偏最小二乘迴歸是PCA、CCA和傳統最小二乘模型的結合。

一、PCA主成分分析:

1.我們希望對資料進行有失真壓縮,即將屬於R^n的x投影為屬於R^l的c,有編碼函式f(x)=c,使得損失的資訊儘量少。同時有對應的解碼函式g(c)約等於x。

2.PCA由我們確定的解碼函式而定,為了簡化解碼器,我們讓g(c)=Dc,其中設D為一個屬於R^(n*l)的矩陣,D可以有多個解,但我們假設D中的列向量都有單位範數,並限制D的列向量彼此正交(由於垂直的基更容易表示向量)。

3.假設我們現在已經找到了這個D,如何在給定x的情況下找到最優的編碼c呢?方法是:選取使x-g(c)的二範數最小的c。x-g(c)的二範數可以進行如下變換。

(1)使得x-g(c)的二範數--等價於--使得二範數的平方最小(二範數非負)

(2)x-g(c)二範數的平方=(x-g(c))^T*(x-g(c)),根據矩陣運算的分配律和向量的xTy=yTx,矩陣的(AB)T=BTAT。上式最終變換為xTx-2xTg(c)+g(c)Tg(c)。第一項與c無關,去掉。

(3).將g(c)=Dc代入,上式=-2(x’)Dc+c’D’Dc=-2(x’)Dc+c’c (因為設D有正交性和單位範數)。

(4)上式的對c求最小化,令上式的對c的偏導為0,推出c=D’x。由此我們知道了當D被確定後如何給定x求c。

4.現在挑選最優的D。考慮降到1維的情況,則選取的矩陣D為R^n的向量d,選取令sum(xi-dd’xi)的二範數的平方))最小(並滿足d’d=1)的d,該最優化問題的矩陣形式為X-Xdd’的二範數的平方最小化,則

X-Xdd’的二範數=Tr[(X-Xdd’)’(X-Xdd’)],

5.以上最優化問題變化為(簡化過程使用Tr跡運算的定理,(1)Tr(A)=Tr(A^T)  (2)Tr(ABC)=Tr(CAB)=Tr(BCA)  (3)Tr(實數)=實數)求使得Tr(d’X’Xd)最大並滿足d’d=1的向量d。

6.優化問題的最終形式使用特徵分解來求解。最優的d是X‘X最大特徵值對應的特徵向量。以上為l=1時,選取特徵值最大的向量,進行推廣,則選取前l個最大的特徵值對應的特徵向量。以列為樣本、行為屬性的情況下,若零均值化,協方差矩陣即為(1/(m-1))* X‘X。對其求前l個最大特徵值對應的特徵向量,並進行單位化,將他們一行行排起來,用資料矩陣左乘它就能得到降維後的資料矩陣(即C=D’X)。

7.使用:以行為樣本為例,將原資料矩陣每個值減去該列的均值(零均值化),再計算資料集的協方差陣(1/m)* XX’,求出特徵值和特徵向量,將特徵向量單位化,選取前k個最大的特徵值對應的特徵向量(k為需要的維度量,或按照k的選取選擇1-前k個特徵值總和佔特徵值總和的比例<=閾值(比如0.01)),按列排列,原零均值矩陣右乘該矩陣。

8.矩陣的對角化:將一個變換左乘一組向量的逆,右乘一組向量,就能將這個變換表示成以那組向量為基視角下的變換矩陣。如果這組向量選的是特徵向量(當然前提是特徵向量能張成空間),那麼就將那個變換變成對角矩陣了。所以矩陣能對角化的條件是有n個線性無關的特徵向量,這樣才有足夠多的方向能用了選擇作為對角化的視角。對於實特徵陣,特徵向量PCP‘=對角陣。

9.協方差陣的對角化,即P*(1/(m-1))* XX’*P’=(1/(m-1))*PX*(PX)’,即為根據特徵向量進行變換後的矩陣的協方差陣,其中各方差由大到小排列(因為特徵向量如此排列)在對角線上,協方差都為零(滿足各特徵獨立/正交)。故成功將原資料轉化。

10.其他降維方法總結:

(1)PCA。需要注意的是,新的主成分並不是由實際系統產生的,因此在進行PCA變換後會喪失資料的解釋性。

(2)缺失值比例大於一個閾值的列去除。

(3)低方差濾波:方差小於一個閾值的列去除。

(4)高相關濾波:對歸一化後的各列兩兩計算相關係數,大於一定閾值的刪除其中一列。

(5)隨機森林判別法:在隨機森林中常被選作最佳分類標準的屬性評分更高。

二、CCA典型相關分析:

1.典型相關性分析研究假如有一堆樣本點,每個點的x是多維的,y也是多維的,如何研究x與y間的相關關係。CCA是這樣做的,將x用a1權重向量變換為一維,y用b1權重向量變換,選取a1、b1的標準是使得變換後的一維特徵x和y的相關係數最大化。

2.根據以上的思想,該問題可以轉化為優化問題

使得a1’*變換前x的方差矩陣*a1=1,b1’*變換前y的方差矩陣*b1=1,

使得a1’*變換前協方差矩陣*b1最大

設lambda和v為拉格朗日乘數,使用拉格朗日乘數法推導該問題,結合上面的多維求導公式,得結論

(Lamda=v=變換後的相關係數(2)方1^-1*協方*方2^-1 *協方*a1=lambda^2*a1)

解式二的特徵值問題,特徵向量為a1。

3.CCA主要在多檢視學習的特徵融合方面有著廣泛的應用,比如兩張圖片,一張正臉,一張側臉,我們需要做一個人臉識別系統,就需要對其進行雙檢視學習,我想如果我們把這兩張圖結合在一起識別率一定會提高的,我們就需要用到CCA。

三、PLSR偏最小二乘迴歸

步驟:

1.先對多維的x和y進行標準化,設權重向量w1和v1,將原來的x和y變換為一維特徵t1和u1,權重選取的目標是使得變換後兩個特徵自身方差極大化且互相之間相關係數極大化。該問題可轉化為問題:使得w1’X‘Yv1最大並使得w1、v1二範數平方=1。求解該問題,非常類似上面的CCA求解,最後解特徵向量求得t1、u1。

2.建立迴歸模型X0=t1alfa1+X1,X1為殘差矩陣(Y也建立相同模型,自變數為t1)。Alfa1是引數向量。根據最小二乘估計解得alfa1=t1‘X0/t1二範數的平方,beta1將X0換Y0.

3.估計出權重後計算殘差的範數,未小於閾值則將殘差矩陣看作X和Y重複以上步驟。

4.最後的預測模型將所有式子一起代入,可求出通過多維X算出多維Y的式子。