回顾PCA,Y=UTA 即对数据矩阵 A 进行旋转变换 UT 得到主成分 Y ,矩阵 Y 的每列数据为每个学生新成绩向量。所以 PCA 算法本质上是对数据点云进行旋转变换,变换后数据矩阵的协方差矩阵为对角阵 Σ2 ,即各个主成分无相关性。因为 AAT=UΣ2UT 即 U 是协方差矩阵 AAT 的特征向量组,Σ2 是特征值对角阵。
变换后数据矩阵 Y 线性无关,每个分量的方差为 σi2 。我们还可以进一步变换 Z=Σ−1Y=Σ−1UTA,使其每个分量的方差为 1 。 ZTZ=YTΣ−TΣ−1Y=YTΣ−TΣ−1Y=ATUΣ−TΣ−1UTA=(VΣTUT)UΣ−TΣ−1UT(UΣVT)=E
数据矩阵 Z 的协方差矩阵为单位阵 E ,即每个分量均值为 0,方差为 1,每个分量从均值和方差角度看都是一样的,这时称其为白化数据矩阵。由于白化 Z=Σ−1Y,需要除以奇异值,当奇异值趋近 0 时,白化分量会趋于无穷大,造成数值不稳定,而且奇异值趋近 0 的分量基本都是噪声引起的,故一般只对奇异值较大的主成分进行白化。
白化数据矩阵有个重要性质,即任意正交矩阵 Q ,变换数据矩阵 X=QZ ,有 XTX=ZTQTQZ=ZTEZ=E ,数据矩阵 X 也是白化数据矩阵,即白化后的数据矩阵任意旋转操作后还是白化数据矩阵,在旋转操作下具有不变性。当正交矩阵取 U 时,此时 Z=UΣ−1UTA=WA 称为 ZCA 白化。白化变换矩阵 W=UΣ−1UT 有个重要性质 WWAAT=(UΣ−1UTUΣ−1UT)(UΣ2UT)=E