特征向量/特征值/协方差矩阵/相关/正交/独立/主成分分析/PCA/

参考:
http://deeplearning.stanford.edu/wiki/index.php/%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90

http://deeplearning.stanford.edu/wiki/index.php/%E7%99%BD%E5%8C%96

对于一个二维数据(在x轴上有一个分布;在y轴上对应也有一个分布),要想提取他们的主成分,需要先将数据去除相关性(参考相关性(皮尔逊相关系数)的定义,例如:在x轴上的分布于在y轴上的分布一致时,相关系数为1,注意相关性的定义,
下面介绍相关性、独立、正交三个基本概念:
(1)相关性、独立、正交
不相关:E[X(t)Y(t)]=E[X(t)]E(Y(t)] ;相关即是:E[X(t)Y(t)] != E[X(t)]E(Y(t)]
独立: F(x,Y)=F(x)F(Y)
正交:E[X(t)Y(t)]=0
可以看出,E[X(t)Y(t)]=0并不代表是不相关;
独立一定不相关;
高斯过程中,不相关不一定独立 ;
对于均值为零的高斯随机变量,“独立”和“不相关”等价的;
假设X为一个随机过程,则在t1和t2时刻的随机变量的相关定义如下(两个随机过程一样),:
(1)定义Rx(t1,t2)=E{X(t1)X(t2)}为相关函数,若R=0,称正交(注意,相关函数为0,不是不相关,而是正交)。正交不仅仅描述确定函数之间的关系,也用以描述随机过程。两个随机过程X(t) Y(t)正交,即E[X(t)Y(t)]=0, 若E[X(t)Y(t)]=E[X(t)]E(Y(t)]说明两者不相关。不相关和相互独立一般不等价,只有当过程为高斯过程时才成立。
(2)定义Kx(t1,t2)=E{[X(t1)-Mx(t1)][X(t2)-Mx(t2)]}为协方差函数,若K=0,即相关系数为0,则称之为不相关;不相关只是说二者没有线形关系,但并不代表没有任何关系。
(3)独立性。就用他们的概率分布函数或密度来表达。联合分布等于他们各自分布的乘积,独立的定义是 F(x,Y)=F(x)F(Y),就称独立。

对于普通分布,不相关不一定正交,但很可能介于正交与相关为之间,即E[X(t)Y(t)] != E[X(t)]E(Y(t)]满足,只要两者有可能存在相关,就表明数据有冗余,因此需要去除相关性;)
(2)降低数据的相关性
我们知道一个二维数据(在x轴上有一个分布–对应维度x;在y轴上对应也有一个分布-对应维度y),分别研究它在这两个维度上的分布:比如在维度x上的数据就是一组一维数据,可以研究它的均值和方差;同理,对维度y也是,可以研究它的均值和方差;而要看他们是否有相关性,则需要借鉴皮尔逊相关系数求相关系数公式,可以看出,皮尔逊相关系数分子对应的是维度x和维度y的协方差,因此,要看两个维度的相关性,并且要减少相关性;
皮尔逊相关系数

要降低相关性,其本质就是减少冗余,即降低了数据的维度,即原来数据需要用几百维来表示,现在只需要几十位表示;最经典的就是:主成分分析,它降低了数据各维度的相关性,实现降维;降维的思路:
首先,需要引入特征值和特征向量的概念。
A为n阶矩阵,若数λ和n维非0列向量x满足Ax=λx,那么数λ称为A的特征值,x称为A的对应于特征值λ的特征向量。式Ax=λx也可写成( A-λE)x=0,并且|λE-A|叫做A 的特征多项式。当特征多项式等于0的时候,称为A的特征方程,特征方程是一个齐次线性方程组,求解特征值的过程其实就是求解特征方程的解。
上述n维非0列向量即表示x有n列,n列对应n维(明确x的形式);

因此,我们知道对于一个矩阵A,矩阵A中有n列对应n维数据,我们可以将它转化为特征值*特征向量的形式;其几何意义就是:特征向量对应数据在坐标轴中的方向,特征值对应数据在坐标轴中的长度;明白了这一点,我们针对一个二维数据(在x轴上有一个分布–对应维度x;在y轴上对应也有一个分布-对应维度y),我们只需要计算协方差矩阵(为什么不是原始二维数据作为矩阵???因为原始数据不能反映出维度x与维度y之间的相关值等情况,需要做运算转化成协方差矩阵,此处也可以想象一下协方差矩阵的定义,主对角线是自己与自己的内积,除主对角线之外是自己与非自己的内积–即维度之间的相关性),通过对协方差矩阵进行计算特征值与特征向量,得到特征向量为U:
这里写图片描述
这里写图片描述

上述特征向量U是通过数据的协方差矩阵计算得到的,可理解为协方差矩阵是一种反映数据维度与维度之间关系的矩阵,那么特征向量即是表明维度与维度之间关系的向量,通过U对原来数据进行变换–即进行投影,则可以实现对原始数据进行去相关处理,可以取变换的前K个最大特征值对应特征向量的变换作为对原始数据处理的结果,因为后面几乎很小,接近于0,因此,可以忽略;;;
当然,由于U是特征向量,一般来说,U也是正交向量,因此满足UU^T=U^TU=I;
因此,要还原原始数据也很容易,直接在变换后数据前面再乘以一个U,就可以实现还原;
(3)白化处理
需求:
我们已经了解了如何使用PCA降低数据维度。在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化(一些文献中也叫sphering)。举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的。白化的目的就是降低输入的冗余性;更正式的说,我们希望通过白化过程使得学习算法的输入具有如下性质:(i)特征之间相关性较低;(ii)所有特征具有相同的方差。
(i)特征之间相关性较低;
我们知道,通过前面的降低相关性变换,变换后的x对应求得的协方差矩阵形如:
这里写图片描述
例如,上式是原始数据变换后求得的协方差矩阵,可以看到副对角线为0,因此,已经满足特征之间相关性较低了;下面看主对角线,与下面的要求有关:

(ii)所有特征具有相同的方差
要使所有特征具有相同方差,即是保证协方差矩阵中的主对角线的元素为1,又因为主对角线元素大小正式特征值,因此,可以通过对主对角线元素除以特征值相关因子使其变为1;从而实现所有特征值具有相同的方差;
这里写图片描述
这一过程得到的X称为主成分白化;
后面还有ZCA 白化;;

错误的思路
要降低相关性:需要从两个方面着手:
(1)减小维度x与维度y的协方差值(使副对角线为0);最好使的其协方差成为单位矩阵,这是理想情况,我们知道对于单位矩阵的特征值与特征向量(特征值为1,特征向量为每个维度上的单位正交向量,比如二维单位矩阵的特征向量为:[1,0]或者[0,1]),现在利用将单位矩阵分解成两个正交矩阵,利用正交矩阵对数据进行变换,实现我们的目的,使得变换后的矩阵满足协方差矩阵副对角线为0;

推导过程:

(2)j

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值