白化

白化的目的:降低输入的冗余性;

或者说

我们希望通过白化过程使得学习算法的输入具有如下性质

(i)特征之间相关性较低;

(ii)所有特征具有相同的方差。

PCA白化

对于矩阵 X,是 m x n 的矩阵,m个样本数量,n 是维度

协方差矩阵 covX  是 n x n的矩阵

协方差矩阵的特征向量以此是:u1 u2 u3  un

写成矩阵的形式:

白化_第1张图片

实际中我们只需要选取前k个特征向量对数据进行降维

降维后的矩阵可以表示为:redX = X(m x n) * U(n x k)

所谓的PCA白化就是对降维后的数据redX 的每一列除以其特征值的根号,如下表述

白化_第2张图片

ZCA白化

首先应该知道,如果R是任意正交矩阵,那么仍然具有单位协方差。在ZCA白化中,令R=U(由上文知,U本身就是正交矩阵),其定义为:

 = 

也就是在原来PCA结果上(不降维)左(或者右乘,由于X的矩阵表示形式可能不一样,有的数上x的行数是维度数,有的说的列是维度说,上图中的行是维度说,上面说的PCA的时候我自己写的列是维度数)一个特征向量矩阵

可以证明,对所有可能的R,这种旋转使得

尽可能地接近原始数据x。

当使用ZCA白化时,我们通常保留数据的全部n个维度,不尝试去降低它的维数。

正则化


白化_第3张图片

你可能感兴趣的:(白化)