【数学】矩阵白化原理及推导

矩阵白化目的

如对于任意一个矩阵(X),对其求协方差,得到的协方差矩阵(cov(X))并不一定是一个单位阵(对角阵);【注意:协方差矩阵是对称矩阵,但不一定是对角阵】而矩阵白化就是找到一个变换矩阵(P),使得(Y=PX)的协方差矩阵(cov(Y))是一个单位阵(对角阵)。因为通过矩阵白化后,协方差是个对角阵(单位阵),那么就代表着矩阵Y的各个向量(向量是列向量还是行向量要根据求协方差时(cov(X)=XX^T还是X^TX来判断))之间就不相关了。或者说,矩阵白化的目的就是让被变换的矩阵经过变换后其向量的方差相同(因为是单位阵)那么该怎么找到这个变换矩阵(P)呢?

矩阵白化推导

对于矩阵(X),其协方差矩阵(cov(X)=XX^T)并不一定为对角矩阵,但是对于实对称的协方差矩阵可以有如下的特征值分解:详见【特征值分解】

[cov(X)=QLambda Q^{T} ]

其中的(Lambda)为由特征值组成的对角矩阵,(Q)为对应的特征向量,是一个正交矩阵。现在我们要找到线性变换矩阵P,使得(Y=PX)的协方差矩阵可以是单位阵,即

[cov(Y)=YY^T=PX(PX)^T=PXX^TP^T=Pcov(X)P^T=E(单位阵) ]

现在令(P=Lambda^{-1/2} Q^T(矩阵开根号就是其中的每个元素开根号)),那么有

[egin{aligned} cov(Y)&=Pcov(x)P^T\ &=Lambda^{-1/2} Q^TQLambda Q^{T}(Lambda^{-1/2}Q^T)^T \ &=Lambda^{-1/2} Q^TQLambda Q^{T}QLambda^{-1/2}\ (因为Q是正交矩阵,即QQ^T=E) &=Lambda^{-1/2}Lambda Lambda^{-1/2}\ &=E end{aligned} ]

所以说当(P=Lambda^{-1/2} Q^T)时,可以使得(Y=PX)的协方差矩阵为单位阵(对角阵)。

因此 ,通过矩阵白化后,矩阵Y的各个向量(列向量还是行向量根据上文确定)之间就不相关了.

原文地址:https://www.cnblogs.com/LENMOD/p/13608631.html