数据处理中白化Whitening的作用图解分析
之前在看斯坦福教程中whiteining这一章时,由于原始图像相邻像素值具有高度相关性,所以图像数据信息冗余,需要做白化处理。
白化的作用的描述主要有两个方面:1,减少特征之间的相关性;2,特征具有相同的方差(协方差阵为1)。
白化,又称漂白或者球化;是对原始数据x实现一种变换,变换成x_Whitened,使x_Whitened的协方差矩阵的为单位阵。
一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进行初步的白化或球化处理,因为白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过程,而且,通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性较好。
白化这种常规的方法作为ICA的预处理可以有效地降低问题的复杂度,而且算法简单,用传统的PCA就可完成。用PCA对观测信号进行白化的预处理使得原来所求的解混合矩阵退化成一个正交阵,减少了ICA的工作量。此外,PCA本身具有降维功能,当观测信号的个数大于源信号个数时,经过白化可以自动将观测信号数目降到与源信号维数相同。
- 图解分析
假设信号源 s1 和 s2 是独立的,比如下图横轴是 s1,纵轴是 s2,根据 s1 得不到 s2。
我们只知道他们合成后的信号x,如下:
此时 x1 和 x2 不是独立的(比如看最上面的尖角,知道了 x1 就知道了 x2)。那么直接代入计算结果不好,因为我们假定 x 是独立的。
因此,漂白这一步为了让 x 独立。漂白结果如下:
可以看到数据变成了方阵,在的维度上已经达到了独立。
然而这时 x 分布很好的情况下能够这样转换,当有噪音时怎么办呢?可以先使用前面提到的PCA方法来对数据进行降维,滤去噪声信号,得到k维的正交向量,然后再使用ICA。
参考文献: