預備知識
1、x∈Rd×1爲隨機變量,x=[x1,x2,...,xd]T,E[x]=0,
協方差:
Var[x]=⎣⎡cov(x1,x1)cov(x2,x1)cov(xd,x1)cov(x1,x2)cov(x2,x2)cov(xd,x2).........cov(x1,xd)cov(x2,xd)cov(xd,xd)⎦⎤=E⎣⎡x1x1x2x1xdx1x1x2x2x2xdx2.........x1xdx2xdxdxd⎦⎤=E[xxT]=n1i=1∑n(xixiT)=[x1,x2,...xn][x1,x2,...xn]T=XXT。
2、c爲常數,則Var[x+c]=Var[x]。
推論:Var[x−E[x]]=Var[x]。
3、z=Wx, 則:
Var[z]=WVar[x]WT。
問題:
假設存在樣本集{xi}i=1n,xi∈Rd×1,我們想對{xi}i=1n進行降維表示,並保留{xi}i=1n的主要信息。
思路:
去相關方法的直觀思路,如果存在高度相關的維度,則只取其中一個即可。由於變量x的平移不影響變量x的協方差,因此假設我們已經將{xi}i=1n中心化,即所有樣本已經減去其均值,則E[x]=0。
但是計算完xi的協方差矩陣Var[x]=XXT,可以看到相關性非常複雜,很難判斷去掉哪一個維度。可以想象,理想情況下,如果協方差矩陣是對角矩陣,則各個維度都不相關,此時方差比較大的維度包含了更多的信息(變化),然後留下方差大的維度即可。
因此可以考慮旋轉座標系,使得數據在新座標系下,各個座標軸變量不相關(幾何解釋就是,已知一個座標變量,其它座標變量完全不可預測,呈隨機分佈)。因此相當於找一個新的規範正交基,使得數據在新規範正交基上的表示(分解,投影),各個維度之間不相關。
因此可以考慮找到一個可逆變換W∈Rd×d(或者說是規範正交基),使得
z=Wx
的協方差矩陣Var[z]爲對角矩陣。則
Var[z]=WVar[x]WT=WXXTWT
則現在問題變爲是否存在可逆變換W∈Rd×d使得XXT可以被對角化。
由於XXT是對稱矩陣,因此一定存在可逆變換P使得XXT可以被對角化爲Λ(z的協方差矩陣)[矩陣簡明教程,p28]:
Λ=P−1XXTP
且P爲XXT的d個線性無關特徵列向量組成的矩陣。當特徵列向量取正交特徵向量時有PTP=I,P−1=PT。
因此有Λ=PTXXTP
則W=PT。
因此需要求得XXT的d個特徵值,以及對應的d個正交特徵向量即可得到W。
需要注意的是這樣的新座標系或者說基W有很多個,其中一個原因是由於基向量的順序早成的,另外是由於不變子空間基可以任意取造成,還有一個原因是每個基向量,可以被其反方向替代。
而我們只關注信息量比較大的座標軸或者基向量,也就是找方差比較大的座標軸來表示原數據。而方差比較小的座標軸,由於數據在其投影均值爲0,因此可以捨棄。這樣我們就完成了對原數據的降維近似表示。如果需要進一步壓縮,比如用少量的k個座標軸也描述原數據,也就是保留k個主成分,則取前k大的特徵值(方差)對應的正交特徵向量(座標軸,單位基)組成 P′=[p1,p2,...,pk]。
W′=P′T∈Rk×d。降維後z′=W′x。
注意:
從上述過程實際可以看出,PCA過程實際蘊含了XT(或X)的奇異值分解過程,P就是XT(或X)的右(或左)奇異特徵向量。
對XT奇異值分解可以得到(任意矩陣(秩大於0)都可以進行奇異值分解):
XT=UDVT
其中UUT=I∈Rn×n,VVT=I∈Rd×d。假設(XT)TXT∈Rd×d的d個特徵向量爲{λ1≥λ2≥...≥λd≥0},則XT∈Rd×n的d個奇異值爲{λ1≥λ2≥...≥λd≥0},(默認d<n,如果d>n,則XT∈Rd×n的n個奇異值爲{λ1≥λ2≥...≥λn≥0})。則Λ=Diag(λ1,λ2,...,λd),D=Diag(λ1,λ2,...,λd)。
且P=V。可以看到XXT=VDTUTUDVT=VD2VT=VΛVT。