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