首页 > 代码库 > PCA学习总结
PCA学习总结
1. PCA整体思想
PCA,Principle Componet Analysis,主成分分析,主要用于数据降维。它通过计算给定数据集的协方差矩阵的特征值和特征向量,来得到数据集最关键的方向(数据集在此方向的投影方差最大,这个能保持最多的信息),并从关键的方向中选取前k个构成k维空间,在此空间中重新表示原始数据以达到降维的目的。
2. 推导过程
http://www.cs.otago.ac.nz/cosc453/student_tutorials/principal_components.pdf
3. 算法的基本步骤
输入:数据集X(DxN)
输出:特征值E(Dx1),特征向量V(DxD,特征向量按列存放),样本每一维的均值(Dx1)
过程:1. 计算X的协方差矩阵C
2. 求C的特征值E和特征向量V,并按照特征值递减的顺序排列
3. 选取V的前k个特征向量(即前K列),构成矩阵P(DxK)
4. 将X的每个元素x在P的前K个特征向量上进行投影,得到xx(K,1),最终得到X在K个特征向量上的投影矩阵Z(KxN)
5. 用Z重构XX,并与X比较,计算重构误差
4. matlab实现PCA
[V, E] = eig( cov(X‘) )[E index] = sort(diag(E),‘descend‘);V = V(:,index);meanX = mean(X‘)‘;P=V(:,[1:K])[r,c] = size(X);Y = P‘*(X-repmat(meanX,1,c));[r,c] = size(Y);XX = P * Y + repmat(meanX, 1, c);
5. PCA主要应用
人脸识别,手写识别中用的相对较多。
相当好的一份PCA介绍资料:http://pan.baidu.com/s/1wDfKq
PCA学习总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。