白化的目的是去除输入数据的冗余信息。
例如:训练数据是图像,由于图像中相邻像素之间具有很强的相关性,因此输入是冗余的。白化的目的就是降低输入的冗余性。
输入数据集,经过白化处理后,生成的新数据集满足两个条件:一是特征相关性较低;二是特征具有相同的方差。
白化算法的实现过程:第一步操作是PCA,求出新特征空间中的新坐标,第二步是对新的坐标进行方差归一化操作。
白化分为PCA白化、ZCA白化,算法实现步骤如下:
PCA预处理:
左图表示原始数据X,然后我们通过协方差矩阵可以求得特征向量u1、u2,然后把每个数据点,投影到这两个新的特征向量(这两个特征向量是不变且正交的),得到进行坐标如下:
这就是pca处理。
PCA白化
pca白化是指对上面的pca的新坐标X’,每一维的特征做一个标准差归一化处理。从上面我们看到在新的坐标空间中,(x1,x2)两个坐标轴方向的数据明显标准差不同,因此我们接着要对新的每一维坐标做一个标注差归一化处理。
ZCA白化
ZCA白虎是在PCA白化的基础上,把上面PCA白化的结果,又变换到原来坐标系下的坐标。