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