白化是一种重要的预处理过程,其目的就是降低输入数据的冗余性,使得经过白化处理的输入数据具有如下性质:(i)特征之间相关性较低;(ii)所有特征具有相同的方差。
白化又分为PCA白化和ZCA白化,在数据预处理阶段通常会使用PCA白化进行去相关操作(降低冗余,降维),而ZCA则只是去相关,没有降维。
区别如下:
PCA白化ZCA白化都降低了特征之间相关性较低,同时使得所有特征具有相同的方差。
,ZCA白化只需保证方差相等。
2. PCA白化可进行降维也可以去相关性,而ZCA白化主要用于去相关性另外。
3. ZCA白化相比于PCA白化使得处理后的数据更加的接近原始数据。
如下,我画了一张图来更加形象地表明PCA和ZCA白化之间的异同。
左上图是原始数据,feature1和feature2的x1和x2都明显相关(x2随x1的增长而增长),PCA旋转后这种相关性降低,再缩放特征后就得到了PCA的结果,为了使处理后的数据
更加地接近原始数据,又通过旋转得到了右下图即ZCA的结果。(图中椭圆图表示数据在长轴上相关(对称轴),圆形图中的数据则表示相关性很低(无穷多个对称轴))
参考文献:http://blog.csdn.net/danieljianfeng/article/details/42147109#