首页 技术 正文
技术 2022年11月15日
0 收藏 329 点赞 4,530 浏览 929 个字

一、什么是PCA

PCA,即PrincipalComponents Analysis,也就是主成份分析;

通俗的讲,就是寻找一系列的投影方向,高维数据按照这些方向投影后其方差最大化(方差最大的即是第一主成份,方差次大的为第二主成份…

如下图:数据点沿该方向投影后,方差最大,投影之后,由于各个点之间的距离之最大化的,因此彼此之间是最容易区分的

二、一些应用

1、数据降维

比如比较常见的人脸识别,假设有10副脸部图像,每副图像存贮为512*512大小的矩阵,经过特征提取后features可能为10000甚至更多,形成一个10*10000的矩阵;针对如此多的特征进行识别计算量很大同时也没有必要(因为一部分特征就已经反应了脸部的大部分信息)。但同时,人为的(指主观的)对这些特征进行筛选也很可能会把很多有用的信息剔除掉了;这时PCA就派上用场了,通过PCA降维的方法就可以控制特征的多少了(通常取Score>85%的前N个主成份就够了,还视具体情况而定吧)。关于PCA降维的应用与理论,PCA算法学习_1(OpenCV中PCA实现人脸降维),讲的很清楚了。

2、特征分析、选择

常用PCA进行数据降维,但使用PCA进行特征选择的案例并不常见。而使用PCA、小波变换等方法可以做到将维数降低、以简化后续分类等过程的复杂度,但这些降维方法本身的计算量也不小,在一些应用场景中需要在线实时的进行数据处理时,在保障模型预测准确性的基础上,模型当然越简单消耗的资源越少越好。面对海量特征,其中每个特征对模型预测准确性的贡献是有所不同的,某个特征与PCA主成分方向夹角越小(可用余弦相似性衡量),该特征对PCA主成分的贡献就越大,新特征F与原特征矩阵X的关系可用X的特征向量A联系:

F=Af

三维情况下,新特征F与原特征f变换关系表示为:

则原特征fj对新特征F的贡献通过下式计算:

贡献度Conj的大小及衡量了原有的某个特征对所有新特征的重要程度。

若原特征维数巨大,在线分析的应用中对其进行PCA的降维操作也有一定的计算量。在模型构建之初,即可使用PCA方法,通过计算特征贡献度Con,选取贡献度大的一些特征来直接训练模型以及后续的分类预测工作。

以上是个人实践中的一些总结,欢迎批评指正~


    					
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,093
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,569
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,417
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,190
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,825
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,908