主成分分析(PCA)之去相關思路

預備知識

1、xRd×1\boldsymbol x\in\R^{d\times 1}爲隨機變量,x=[x1,x2,...,xd]T\boldsymbol x=[x^1,x^2,...,x^d]^TE[x]=0E[\boldsymbol x]=\boldsymbol 0
協方差:
Var[x]=[cov(x1,x1)cov(x1,x2)...cov(x1,xd)cov(x2,x1)cov(x2,x2)...cov(x2,xd)cov(xd,x1)cov(xd,x2)...cov(xd,xd)]=E[x1x1x1x2...x1xdx2x1x2x2...x2xdxdx1xdx2...xdxd]=E[xxT]=1ni=1n(xixiT)=[x1,x2,...xn][x1,x2,...xn]T=XXTVar[\boldsymbol x] = \begin{bmatrix} cov(x^{1},x^{1}) & cov(x^{1},x^{2}) &...&cov(x^{1},x^{d})\\ cov(x^{2},x^{1}) & cov(x^{2},x^{2}) &...&cov(x^{2},x^{d}) \\ cov(x^{d},x^{1}) & cov(x^{d},x^{2}) &...&cov(x^{d},x^{d}) \end{bmatrix}=E \begin{bmatrix} x^{1}x^{1} & x^{1}x^{2} &...&x^{1}x^{d}\\ x^{2}x^{1} & x^{2}x^{2} &...&x^{2}x^{d} \\ x^{d}x^{1} & x^{d}x^{2} &...&x^{d}x^{d} \end{bmatrix} =E[\boldsymbol x\boldsymbol x^T]\\ =\frac{1}{n}\sum\limits_{i=1}^n(\boldsymbol x_i\boldsymbol x_i^T) =[\boldsymbol x_1,\boldsymbol x_2,...\boldsymbol x_n][\boldsymbol x_1,\boldsymbol x_2,...\boldsymbol x_n]^T =XX^T
2、c\boldsymbol c爲常數,則Var[x+c]=Var[x]Var[\boldsymbol x+\boldsymbol c]=Var[\boldsymbol x]
推論:Var[xE[x]]=Var[x]Var[\boldsymbol x-E[\boldsymbol x]]=Var[\boldsymbol x]
3、z=Wx\boldsymbol z=W \boldsymbol x, 則:
Var[z]=WVar[x]WTVar[\boldsymbol z]=WVar[\boldsymbol x]W^T

問題:

假設存在樣本集{xi}i=1n\{\boldsymbol x_i\}_{i=1}^nxiRd×1\boldsymbol x_i\in\R^{d\times 1},我們想對{xi}i=1n\{\boldsymbol x_i\}_{i=1}^n進行降維表示,並保留{xi}i=1n\{\boldsymbol x_i\}_{i=1}^n的主要信息。

思路:

去相關方法的直觀思路,如果存在高度相關的維度,則只取其中一個即可。由於變量x\boldsymbol x的平移不影響變量x\boldsymbol x的協方差,因此假設我們已經將{xi}i=1n\{\boldsymbol x_i\}_{i=1}^n中心化,即所有樣本已經減去其均值,則E[x]=0E[\boldsymbol x]=\boldsymbol 0

但是計算完xi\boldsymbol x_i的協方差矩陣Var[x]=XXTVar[\boldsymbol x]=XX^T,可以看到相關性非常複雜,很難判斷去掉哪一個維度。可以想象,理想情況下,如果協方差矩陣是對角矩陣,則各個維度都不相關,此時方差比較大的維度包含了更多的信息(變化),然後留下方差大的維度即可。

因此可以考慮旋轉座標系,使得數據在新座標系下,各個座標軸變量不相關(幾何解釋就是,已知一個座標變量,其它座標變量完全不可預測,呈隨機分佈)。因此相當於找一個新的規範正交基,使得數據在新規範正交基上的表示(分解,投影),各個維度之間不相關。
因此可以考慮找到一個可逆變換WRd×dW\in\R^{d\times d}(或者說是規範正交基),使得
z=Wx \boldsymbol z=W\boldsymbol x
的協方差矩陣Var[z]Var[\boldsymbol z]爲對角矩陣。則
Var[z]=WVar[x]WT=WXXTWTVar[\boldsymbol z]= WVar[\boldsymbol x]W^T=WXX^T W^T

則現在問題變爲是否存在可逆變換WRd×dW\in\R^{d\times d}使得XXTXX^T可以被對角化。

由於XXTXX^T是對稱矩陣,因此一定存在可逆變換PP使得XXTXX^T可以被對角化爲Λ\Lambda(zz的協方差矩陣)[矩陣簡明教程,p28]:
Λ=P1XXTP\Lambda=P^{-1}XX^TP
PPXXTXX^Tdd個線性無關特徵列向量組成的矩陣。當特徵列向量取正交特徵向量時有PTP=IP^TP=IP1=PTP^{-1}=P^T
因此有Λ=PTXXTP\Lambda =P^TXX^TP
W=PTW=P^T
因此需要求得XXTXX^Tdd個特徵值,以及對應的dd個正交特徵向量即可得到WW

需要注意的是這樣的新座標系或者說基WW有很多個,其中一個原因是由於基向量的順序早成的,另外是由於不變子空間基可以任意取造成,還有一個原因是每個基向量,可以被其反方向替代。

而我們只關注信息量比較大的座標軸或者基向量,也就是找方差比較大的座標軸來表示原數據。而方差比較小的座標軸,由於數據在其投影均值爲0,因此可以捨棄。這樣我們就完成了對原數據的降維近似表示。如果需要進一步壓縮,比如用少量的kk個座標軸也描述原數據,也就是保留kk個主成分,則取前kk大的特徵值(方差)對應的正交特徵向量(座標軸,單位基)組成 P=[p1,p2,...,pk]P'=[\boldsymbol p_1, \boldsymbol p_2,...,\boldsymbol p_k]
W=PTRk×dW'=P'T\in\R^{k\times d}。降維後z=Wx\boldsymbol z'=W'x

注意:
從上述過程實際可以看出,PCA過程實際蘊含了XTX^T(或XX)的奇異值分解過程,PP就是XTX^T(或XX)的右(或左)奇異特徵向量。
XTX^T奇異值分解可以得到(任意矩陣(秩大於0)都可以進行奇異值分解):
XT=UDVTX^T=UDV^T
其中UUT=IRn×nUU^T=I\in\R^{n\times n}VVT=IRd×dVV^T=I\in\R^{d\times d}。假設(XT)TXTRd×d(X^T)^TX^T\in\R^{d\times d}dd個特徵向量爲{λ1λ2...λd0}\{\lambda_1\geq \lambda_2\geq ...\geq \lambda_d\geq 0\},則XTRd×nX^T\in\R^{d\times n}dd個奇異值爲{λ1λ2...λd0}\{\sqrt\lambda_1\geq \sqrt\lambda_2\geq ...\geq \sqrt\lambda_d\geq 0\},(默認d<nd<n,如果d>nd>n,則XTRd×nX^T\in\R^{d\times n}nn個奇異值爲{λ1λ2...λn0}\{\sqrt\lambda_1\geq \sqrt\lambda_2\geq ...\geq \sqrt\lambda_n\geq 0\})。則Λ=Diag(λ1,λ2,...,λd)\Lambda=Diag(\lambda_1,\lambda_2, ..., \lambda_d)D=Diag(λ1,λ2,...,λd)D=Diag(\sqrt\lambda_1,\sqrt\lambda_2, ..., \sqrt\lambda_d)。
P=VP=V。可以看到XXT=VDTUTUDVT=VD2VT=VΛVTXX^T=VD^TU^TUDV^T=VD^2V^T=V\Lambda V^T。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章