数据处理中白化Whitening的作用图解分析

news/2024/11/7 16:45:11/

之前在看斯坦福教程中whiteining这一章时,由于原始图像相邻像素值具有高度相关性,所以图像数据信息冗余,对于白化的作用的描述主要有两个方面:1,减少特征之间的相关性;2,特征具有相同的方差(协方差阵为1);但是为什么这么做,以及这样做对于算法或者数据有什么好处,一直雨里雾里的,最近看了ICA的数据预处理之后,发现一个教程图解的白化方法和作用很好。

白化,又称漂白或者球化;是对原始数据x实现一种变换,变换成x_Whitened;使x_Whitened的协方差矩阵的为单位阵。

一般情况下,所获得的数据都具有相关性,所以通常都要求对数据进行初步的白化或球化处理,因为白化处理可去除各观测信号之间的相关性,从而简化了后续独立分量的提取过程,而且,通常情况下,数据进行白化处理与不对数据进行白化处理相比,算法的收敛性较好。

若一零均值的随机向量Z=(Z1,Z2,....Zm),满足E{Z*Z'}=I,I为单位矩阵,我们称这个向量为白色向量。白化的本质在于去相关,这个同PCA原理相似;在ICA中,对于为零均值的独立源信号S(t)=[S1(t),S2(t)......Sn(t)],有E{Si*Sj}=E{Si}*E{Sj}=0,当i!=j时:,且协方差矩阵是单位阵cov(S)=I,(零均值时相关系数矩阵和协方差矩阵相等),因此,源信号是白色的。对观测信号X(t),我们应该寻找一个线性变换,使X(t)投影到新的子空间后变成白化向量,即:

Z(t)=W0*X(t)    ;其中W0为白化矩阵,Z为白化向量

利用主分量分析,我们通过计算样本向量得到一个变换:


其中^和U分别代表协方差矩阵的特征向量矩阵和特征值矩阵。可以证明,线性变换W0满足白化变换的要求。通过正交变换,可以保证U'*U=U*U'=I。因此通过协方差阵:


再将X(t)=AS(t)式代入Z(t)=W0*X(t),在令W0*A=B;

则有:Z(t)=W0*A*S(t)=B*S(t)

由于线性变换连接的是两个白色随机矢量Z(t)和S(t),可以得出B一定是一个正交变换。如果把上式中Z(t)的看作新的观测信号,那么可以说,白化使原来的混合矩阵A简化成一个新的正交矩阵B。其实正交变换相当于对多维矢量所在的坐标系进行一个旋转。根据上一篇博文中关于联合熵的介绍,多维分布经过坐标系的旋转后联合微分熵保持不变,所以经过变换后的数据信息不变。

 在多维情况下,混合矩阵A是的*n的,白化后新的混合矩阵由于是正交矩阵,其自由度降为n*(n-1)/2(这个我也不明白为什么),所以说白化使得ICA问题的工作量几乎减少了一半。

白化这种常规的方法作为ICA的预处理可以有效地降低问题的复杂度,而且算法简单,用传统的PCA就可完成。用PCA对观测信号进行白化的预处理使得原来所求的解混合矩阵退化成一个正交阵,减少了ICA的工作量。此外,PCA本身具有降维功能,当观测信号的个数大于源信号个数时,经过白化可以自动将观测信号数目降到与源信号维数相同。

图解分析:

假设信号源s1s2是独立的,比如下图横轴是s1,纵轴是s2,根据s1得不到s2


 我们只知道他们合成后的信号x,如下:


 此时x1x2不是独立的(比如看最上面的尖角,知道了x1就知道了x2)。那么直接代入计算结果不好,因为我们假定x是独立的。

    因此,漂白这一步为了让x独立。漂白结果如下:


可以看到数据变成了方阵,在的维度上已经达到了独立。

    然而这时x分布很好的情况下能够这样转换,当有噪音时怎么办呢?可以先使用前面提到的PCA方法来对数据进行降维,滤去噪声信号,得到k维的正交向量,然后再使用ICA

参考文献:

1:http://wenku.baidu.com/link?url=M9B-jE_GnXBcZBV2wpHAp8_Mj7je1IH8yetkvfRBZULqwFuTGToO__e5eE2uFcQnPxTYHRlzrizKfCE3YYw1_aw6bb3d7NZTy6UMrwUYbny

2:http://wenku.baidu.com/view/941f6782e53a580216fcfe03.html



http://www.ppmy.cn/news/665833.html

相关文章

机器学习(七)白化whitening

白化whitening 原文地址:http://blog.csdn.net/hjimce/article/details/50864602 作者:hjimce 一、相关理论 白化这个词,可能在深度学习领域比较常遇到,挺起来就是高大上的名词,然而其实白化是一个比PCA稍微高级一点的…

白化(Whitening):PCA vs. ZCA

2019独角兽企业重金招聘Python工程师标准>>> 教程地址:斯坦福深度学习 白化 什么是白化? 维基百科给出的描述是: 即对数据做白化处理必须满足两个条件: 使数据的不同维度去相关;

个人总结:从 白化(whitening) 到 批标准化(Batch Normalization)

白化 Whitening 由于图像中像素之间具有很强的相关性,所以用于训练时输入是冗余的。白化的目的是降低输入的冗余性,我们希望通过白化过程使得算法的输入有如下性质:1、特征间相关性较低。2、所有特征具有相同的方差。 z-score白化 将图片调…

使用 Jetpack Compose 实现 ViewPager2

在此博客中,我们将介绍如何在Jetpack Compose中实现ViewPager2的功能。我们将使用Accompanist库中的Pager库,这是由Google开发的一个用于Jetpack Compose的库。 首先,需要将Pager库添加到你的项目中: implementation androidx.co…

动态二维码生成器PHP Dynamic QRcode

什么是 PHP Dynamic QRcode ? PHP Dynamic QRcode 是一个允许生成和保存动态和静态二维码(QR码)的应用。它具有简洁、响应灵敏且用户友好的设计。其中包含您网站中可能需要的一般功能,如:记录管理(CRUD&…

K4汽车保养

2017.12 换防冻液 2018.05 换变速箱油、刹车油、动力转向油 2.5W公里换的火花塞 2020.06 换菲罗多刹车油、采埃孚动力转向油、百适通防冻液 2020.06 换蓄电池 2020年 下半年保养考虑换前刹车片(未保养) 2022.6 采埃孚动力转向油、百适通防冻液&#x…

代替紧急通知_紧急通知!事关你的爱车!这件事12月21日前必须办!

叮叮叮~ 马上就要冬至啦! 你爱车的防冻液还没换吗? 说到冬季汽车养护,防冻液是必不可少的项目。 尤其是北方地区,气候寒冷。 防冻液可以防止停车时冷却液结冰而胀裂散热器 和冻坏发动机气缸体。 更换防冻液时就会发现,…

PHP 的 Logo 为什么是大象?

因为大象是世界上最好的动物。 当然,这只是开玩笑,那么为什么PHP的LOGO是大象呢?还有哪些关于PHP的LOGO的有趣的事情呢? 吉祥物-大象 ElePHPant 是一款可爱的 PHP 吉祥物,其设计中有一头大象。 最初的LOGO 1998 年…