矩陣白化


作者:桂。

時間:2017-04-11  22:08:55

鏈接:http://www.cnblogs.com/xingshansi/p/6696793.html 

聲明:歡迎被轉載,不過記得注明出處哦~


前言

在子空間分析、獨立成分分析等應用中,經常用到矩陣白化,這里簡單總結一下,主要包括:

  1)滿秩矩陣的白化;

  2)秩虧缺矩陣的白化;

  3)白化與PCA的關系;

內容為自己的學習記錄,其中多有借鑒他人之處,最后一並給出鏈接。

 

一、滿秩矩陣的白化

是隨機向量,零均值,其協方差矩陣:

如果協方差矩陣非奇異,對其特征值分解(特征值及SVD的細節信息,前文有介紹):

定義矩陣:

$\bf{W}$成為$\bf{a}$的白化矩陣。白化后的信號:

其協方差矩陣等於單位陣。

總結一下步驟:

步驟一:去均值,中心化

步驟二:求協方差矩陣,並進行特征值分解

步驟三:求解白化矩陣,並得到白化后的信號

給出一段示意代碼:

x = -10:.1:10;
x = x +randn(1,length(x));
y = 0.6*x + randn(1,length(x));

%whiten
data = [x;y];
C = data*data';
[u,s,v] = svd(C);
W = v*diag(1./sqrt(diag(s)))*v';
b = W*data;

對應結果:

可見白化其實就是讓信號盡可能不相關。在分析PCA的時候,我們知道特征值與對應方向的方差有關聯,所以白化就是這個思路:首先旋轉坐標軸,其次根據對應方向的方差(特征值)進行伸縮,中心化的目的就是為了保證變換前后數據中心對應坐標軸中心,而不至於因為旋轉/伸縮而偏離坐標原點太過分:

是不是覺得與PCA相像?后面給出分析。

 

二、秩虧缺矩陣的白化

當協方差矩陣為秩虧缺時,可以寫為:

此時白化矩陣為:

白化后的信號:

此時白化后信號的協方差矩陣:

至此,完成白化。這也容易理解,有效信號占一個子空間,對子空間白化,就是對有效信號進行白化。

 

三、白化與PCA

PCA前文有分析,給出PCA步驟:

步驟一:數據中心化——去均值;

步驟二:求解協方差矩陣;

步驟三:利用特征值分解/奇異值分解 求解特征值以及特征向量;

步驟四:利用特征向量構造投影矩陣;

步驟五:利用投影矩陣,得出降維的數據。

以上文二維數據為例:

  • 中心化:白化的中心化,PCA也需要中心化;
  • 旋轉:白化步驟中的旋轉,即旋轉后的坐標就是PCA對應的第一、第二投影方向,如圖中紅線、綠線所示;
  • 拉伸:不同維度的特征值通常差別較大,在PCA中就是對特征值進行歸一化。如果將不同維度的數據看作不同特征,白化步驟的拉伸本質也是特征的歸一化

參考:

張賢達:《矩陣分析與應用》


免責聲明!

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



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