PCA(Principal Component Analysis)主成分分析,通俗解释。

PCA是一种数据降维方法,下文就该方法原理做具体理解。

PCA处理过程

  • 形成样本矩阵,样本去中心化
  • 计算样本矩阵的协方差
  • 对协方差矩阵做特征值分解,选取最大的前P隔特征值对应的特征向量,组成新的投影矩阵。该矩阵就是降维后的矩阵。

先从最简单的二维讲起。假定有如下数据:

x=[2.5, 0.5, 2.2, 1.9, 3.1, 2.3, 2, 1, 1.5, 1.1]T
y=[2.4, 0.7, 2.9, 2.2, 3.0, 2.7, 1.6, 1.1, 1.6, 0.9]T

对于上述原始数据,作为pca的过程中比较核心的计算协方差矩阵。那么为什么要计算协方差矩阵,其有什么意义?

协方差矩阵

  1. 首先明白一点,什么是协方差。

    • 对于数理统计中,我们知道要描述数值之间的关系有如下方式。
      • 均值 X¯=ni=1Xin
      • 标准差 s=ni=1(XiX¯)2n1
      • 方差 s2=ni=1(XiX¯)2n1
    • 其分别表示了总体的平均情况、数据偏离平均值的程度。以上只是用数学的方法表示了数值之间的关系,例如对于上述数值x,我们可以分别用方差,均值去评估这组数据。那么两组数据之间的关系怎么评估呢?这就是协方差
    • 协方差是一种用来度量两个随机变量关系的统计量,其定义为: cov(X,Y)=ni=1(XiX¯)(YiY¯)n1

      上式可以知道:

      • cov(X,X)=var(X) (x的方差)
      • cov(X,Y)=cov(Y,X)
    • 同时也可以看到就算协方差,也只能处理二维问题,也就是我们只能讨论上述X,Y之间的关系。那么对于高维数据我们自然就会想到协方差矩阵了,这样我们才能讨论多维数据的关系。现在假定数据集又三维,那么协方差如下:

C=cov(x,x)cov(x,y)cov(x,z)cov(x,y)cov(y,y)cov(z,y)cov(x,z)cov(y,z)cov(z,z)

我们可以看到协方差矩阵是一个对称矩阵,而且对角线上是各个维度的方差。

2. 计算协方差矩阵的特征值,特征向量。

  • 理解特征值,特征向量,先理解矩阵相似。
    • 从定义来看:只要满足 B=P1AP 那么我们久说A和B是相似的。我们知道,对于一个线性空间,可以用两组不同的基 α β 来描述,它们之间的关系是: α=Pβ ,而对应的坐标之间的过渡关系: x1=P1x2 其中P是可逆矩阵,这就意味着可以变过来,也可以变回去。
      • 明白了上面之后,我们继续看,对于一个线性变换,只要我选定一组基,那么我久一个矩阵M1来描述这个线性变化,如果换一组基,我们同样可以得到不同的矩阵M2,所以对于矩阵M1、M2来讲,其都是同一个线性变换的不同描述而已。上文有说道,对于同一组线性变换,二者的基之间是存在关系的(上文给出),由于基之间存在相似性,那么我们就知道,对于M1和M2之间也是存在相似性的。那么我们可以这么理解:矩阵相似就是同一线性变换的不同基的描述矩阵。
      • 再来看特征值特征向量的求解。我们总说特征值对应的特征向量,是先有特征值再有特征向量。在求解矩阵特征值的时候,我们是把一个矩阵做对角化操作,对角化后的矩阵只有对角线上有值,这个值就是我们讲的特征值,而其对应的向量就是我们讲的特征向量。那么这个对角线上的值(特征值)通过前面分析我们知道是自身和自身的关系,其他位置的值全部为0,从向量角度来说表示二者“垂直”,也就是消除了本身和其他维度的关系。那么特征向量我们从基的角度理解就是,对应不同的特征值,我有对应不同的基,这个基就是特征向量。特征值大小不同对应不同的基,也就对应不同的基,特征值越大,说明矩阵对应的特征向量上的方差越大,功率越大,信息量越多。
      • 再来看看对角化操作。我们知道对角化操作的结果是一个只有对角线上有值的矩阵。对于一个矩阵,对角线上的元素如果从协方差的角度来讲就是,其值表示该列元素的方差,就是本列数据的离散程度的一种统计量。而非对角线元素值全部为0,就是说,对角化后的矩阵,所对应的值只表征每一列(维度或特征)的关系,其他任意两两列(维度或特征)之间“不存在关系”(相互独立)。总结一下就是,对角化操作的最终结果是将原本可能存在关系的数据,离散化,独立化(这么理解也许存在数学上的不妥之处。。。)。
    • 经过上述对角化过程后,我们就有特征值,对应的特征向量了。

PCA降维:

经过上述处理之后,我们有原始矩阵,以及原始矩阵对应的特征值和特征向量。我们再将特征值依据大小排序,选取前n个特征值对应的特征向量组成新的矩阵。例如:原本矩阵是12*12,经过处理后,我选择特征值大小排在前6的对应的特征向量,构成新的矩阵。那么该矩阵就能最大程度的表征原始矩阵。这就是我们PCA的来源,这个选择的6个特征能最大程度的表征原始矩阵。

写的不好之处,望提出意见。
做一只合格的菜鸟!
个人原创,转载请著明作者:bin-t。
邮箱:dwalkertb@qq.com

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值