矩阵白化目的
如对于任意一个矩阵(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的各个向量(列向量还是行向量根据上文确定)之间就不相关了.