主成分分析PCA

  1. PCA的目的
    PCA(Principal Component Analysis)将原始数据降维成另一组数据。转换后的数据有两个要求:
    ① 同组数据间尽可能发散(方差越大越好)
    ② 各维数据间尽可能线性无关(协方差越小越好)
  2. PCA的原理
    首先我们假设原始数据X为m组2维:
    X=(a1b1a2b2......ambm)

    那么上面的两个要求可以用协方差矩阵表示:
    1mXXT=1mi=1ma2i1mi=1maibi1mi=1maibi1mi=1mb2i

    我们希望协方差矩阵是一个对角阵最好,因为这样方差不为零,而协方差为零。
    假设原始数据为X,它的协方差矩阵为C
    假设X经过P变化为Y,即Y=PX
    假设降维后数据为Y,它的协方差矩阵为D
    我们现在的目的是让D为对角阵,由于有以下性质:
    D=====1mYYT1m(PX)(PX)T1mPXXTPTP(1mXXT)PTPCPT

    此时,目标更明确了,我们要找到一个矩阵P,是的 PCPT 是对角阵。
  3. 如何找P
    数学上已经证明了,一个n行n列的对称矩阵C可以找到n个单位正交向量 e1,e2,...,en ,将其按列组合成 E=(e1,e2,...,en) ,使得 ECET 。所以我们千辛万苦要找的P就是特征向量按列组成的矩阵。
  4. PCA算法步骤
    设有m条n维数据
    ①将数据组成n行m列的矩阵X
    ②将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值
    ③求出协方差矩阵 C=1mXXT
    ④求出C的特征值和特征向量
    ⑤将特征向量按照特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P
    ⑥Y=PX即为降维到k维后的数据

参考:http://blog.codinglabs.org/articles/pca-tutorial.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值