pca(主成分析)

主成分分析详解

   主成分析(Principal Components Analysis)是一种在高维数据中发现模式的一种技术,在应用在人脸识别和数据压缩等领域。下面具体介绍一下该方法。

   首先,介绍一下相关的数学基础:

   对一个一维的样本集合X,其平均值为Xmean =∑ Xi /n,(i=1,2,...n)

                                 标准差Xsd = squar(∑ (Xi -Xmean )2 /(n-1)),squar表示根号。

                                 方差Xva = (Xsd )2 = (∑ (Xi -Xmean )2 /(n-1)

   将上面的方差概念扩展到二维,我们引入一个协方差的概念,表示两个变量的相关性,如下:

                                 协方差cov(X,Y)= ∑(Xi - Xmean )(Yi - Ymean )/(n-1),注意,若Y=X,则cov(X,X)即X的方 差。

   那如果维数更多的时候,比如三维,我们需要考虑任意两唯之间的关系,需要计算cov(X,Y),cov(X,Z),cov(Y,Z)。为了表示方便,对一个n维的样本集,我们引入另一个概念,协方差矩阵,定义如下:

                                   Cn*n =(Ci,j , Ci,j =cov(Dimi ,Dimj ))

    显然,这是一个对称矩阵,因为 Ci,j = cov(Dimi ,Dimj )= cov(Dimj ,Dimi )=Cj,i ,对角线上为各元素的协方差。


 特征值和特征向量:

     对一个矩阵An*n ,若一个n唯列向量X使得A*X=r*X,其中,r为实数,则X为矩阵的特征向量,而r为矩阵的特征值,可以证明,n唯对称矩阵必有n个线性无关的特征向量。并且易证,如果X为其特征向量,则a*X也为其特征向量(a为一不为0的实数)。


下面介绍主成分析的步骤:

    1  获取样本数据,设数据是n唯

    2  对数据的每一唯计算其品均值,并将原来的数据分别减去对应唯的平均值,这样,修改后的数据每一唯的平均值均为0.

    3  按上述方法计算协方差矩阵Cn*n

    4  计算协方差矩阵的特征值和特征向量

    5  根据特征值选择主成分,可以证明,特征值越大,其对应特征向量代表数据集的分量越大,因此,我们可以略去一些特征值较小的分量,比如原来n个特征向量,现在去掉特征值小的特征向量后变成p(p<n)个,则原来的数据集可以相应的减为p唯,这相当于给数据降唯,但由于保留了主要成分,信息损失比较小,这也是用它实现数据压缩的原理。

    6 产生新的数据集。设原来的数据集用矩阵Rorig =[X1 ,X2 ,...... Xnum ]表示,num表示数据集的个数。各唯减去品均值后的数据用矩阵 Radjust =[Y1 ,Y2 ,...... Ynum ]表示,协方差矩阵的n个特征向量用V1 ,V2 ,...... Vn 表示,根据特征值大小选取其中的p个特征向量,表示为 W1 ,W2 ,...... Wp ,并用矩阵Rvec =[ W1 W2 ...... Wp ]表示,最后的数据集可以表示为Rfinal =( Rvec )T * Radjust ,其中,T表示转置,由于第一项是一个p*n的矩阵,第二项是一个n*num的矩阵,最后结果是一个p*num的矩阵,相当于原来的数据都变成了p唯。

    7 恢复数据。如果n个特征向量都用到,那么数据可以完全恢复,否则会有一定的信息损失。根据转换公式 Rfinal =( Rvec )T * Radjust ,若用n个特征向量分析, ( Rvec )T 为一n*n的矩阵,易知

                                Radjust =( ( Rvec )T-1 * Rfinal

  由于n个特征向量相互正交,一般求得后会进行归一处理,这时 ( Rvec )T-1 = ( Rvec )TT = Rvec,

                                Radjust = Rvec * Rfinal

  那么,原始数据即

                                 Rorig = Rvec * Rfinal+ Wmean( Wmean表示原来减去的均值)

  可以证明, p<n时,上述公式也成立,此时, Rvec 为一n*p的矩阵, Rfinal 为一p*n的矩阵。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值