主成分分析(PCA)及白化(ZCA)

主成分分析(PCA)是一种数据降维算法。白化主要是降低输入特征的冗余性。

假设X 是m*n的矩阵,由n个样本(m维特征)组成。现要对X 进行线性变换为另一个矩阵Y,使得Y消除了X各特征的相关性,即Y的协方差矩阵为对角矩阵。

X变换到Y的线性变换公式为:

  Y=PX    (1)

则,

YY’=PX(PX)’=PXX’P’   (2)

 

对XX’进行特征值分解,则

XX’=QDQ-1              (3)

(Q为XX’的特征矩阵,D为特征值对角矩阵)

然而(XX’)’=XX’,则

XX’是对称矩阵,且Q为正交矩阵,即Q’= Q-1,或者QQ’=E

综合:

YY’=PQDQ’P’=PQD(PQ)’

If P=Q-1

PQ=E

则 YY’=D

 

总之,

Y=Q-1X=Q’X

 

如果对Y进行白化操作,则Y的协方差矩阵就为单位矩阵。

例如,特征值λ,λ2…λ, 白化操作即相当1/λi  (i=1-n).

参考:

1. UFLDL之PCA

2. UFLDL之ZCA

3. 协方差矩阵 以及 百科协方差

4. 特征值分解

5. tornadomeet之PCA(简单,清晰)

点赞