关于PCA主成分分析算法的一些思考

本文探讨PCA主成分分析的算法流程,强调中心化数据的重要性,并详细解释如何利用奇异值分解(SVD)进行降维。通过MATLAB实践,阐述了SVD在PCA中的作用,指出SVD能够直接得到协方差矩阵的特征向量,为降维提供简洁方法。
摘要由CSDN通过智能技术生成

PCA

或许大家在看到这篇文章时已经对pca算法的流程有了大致的了解,我写这篇文章目的在于把我的一些心得体会分享给大家,一起进步学习。

PCA算法流程

假如有特征集X, X是n行m列的矩阵,每一行代表一个样本,m每个样本的维度,也就是特征数,有m个特征。

  1. 首先对数据进行中心化(将数据平移到以原点为中心),就是每一列减去各自的平均值。得到中心化的特征集Y
  2. 求解出Y的协方差矩阵A,将问题转化为求解协方差矩阵的特征值与特征向量,选择特征贡献率较大的前几个特征向量构成投影矩阵B,最终降维后的数据data=Y*Bdata是一个n行k列的矩阵,k是目标维度,一般我们需要降至2或者3维,这样才能进行可视化表示。
    但是在求解协方差是免不了存在一点误差,因此我们想可不可以直接用特征集Y来求解投影矩阵

利用SVD分解

PCA降维用很经典的数学中奇异值分解便可实现,下面我简单推导一下:

  1. 对于已经中心化的特征集Y,它的协方差矩阵可以表示为A=Y*Y’

  2. Y进行奇异值分解Y=USV’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值