主成分分析(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的协方差矩阵就为单位矩阵。
例如,特征值λ1 ,λ2…λn , 白化操作即相当1/λi (i=1-n).
参考:
1. UFLDL之PCA
2. UFLDL之ZCA
3. 协方差矩阵 以及 百科协方差
4. 特征值分解
5. tornadomeet之PCA(简单,清晰)