瞎搞系列-PCA算法

瞎搞系列-PCA算法

一、背景

一直在用,但是有时候忘记了,还有一个就是协方差矩阵的一个更新。

PCA是一种比较常用的降维技术,PCA的思想就是将n维的特征映射到k维上面去,k维全部为正交矩阵,则k维为主元。其实和现在的CNN差不多,只是没有这个反馈机制,但是即使有了PCA神经网络,,,我觉得超参也蛮多的,一个就是维数得一个个调,另外没法进行GPU加速,所以这也是大家没有用的原因吧。。。

二、步骤:

对于步骤很多地方都能百度的到:

1,分别求每列的平均值,然后对于所有的样例,都减去对应的均值。

2,求特征协方差矩阵。

3,求协方差的特征值和特征向量。

4,将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩阵。

5,将样本点投影到选取的特征向量上。假设样例数为m,特征数为n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData为:


转自知乎:https://www.zhihu.com/question/30094611

三、细说:

这里细说一下几个问题:

1,为何采用特征值与特征向量进行求解:

    要理解PCA它的目的是要将数据映射到方差分布最大的那些维度上,主成分的意思是使得数据分布方差最大的那些维就是主成分,如何让PCA的方差最大呢?采用拉格朗日乘数法:


即可求得。

2,协方差矩阵的求法:

一般来说我们的协方差会分为随机变量的协方差


样本的协方差:是样本集的一个统计量,可作为联合分布总体参数的一个估计。在实际计算中通常是样本的协方差。


样本的协方差矩阵为:



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值