PCA--主成分分析

通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。可以用于特征提取。最常见的应用在人脸识别。

pca并不是直接对原来的数据进行删减,而是把原来的数据映射到新的一个特征空间中继续表示,所有新的特征空间如果有29维,那么这29维足以能够表示非常非常多的数据,并没有对原来的数据进行删减,只是把原来的数据映射到新的空间中进行表示,所以你的测试样本也要同样的映射到这个空间中进行表示,这样就要求你保存住这个空间坐标转换矩阵,把测试样本同样的转换到相同的坐标空间中。

1)将原始数据按列组成n行m列矩阵X  ---n*m

2)将X的每一行(代表一个属性字段)进行零均值化,即减去这一行的均值

3)求出协方差矩阵C=\frac{1}{m}XX^\mathsf{T}---m*m

4)求出协方差矩阵的特征值及对应的特征向量

5)将特征向量按对应特征值大小从上到下按行排列成矩阵,取前k行组成矩阵P----m*k

6)Y=PX即为降维到k维后的数据 ,将数据投影到k个特征向量中,这样就得到m*k的矩阵

假设样本列数为 m ,特征数为 n ,减去均值后的样本矩阵为 DataAdjust(m*n),协方差矩阵为 n*n ,选取 k 个特征向量组成后的矩阵为 EigenVectors(n*k),则投影后的数据 FinalData 为:

FinalData (m*k) = DataAdjust(m*n) X EigenVectors(n*k)

这样就将数据1*m 维的数据, 乘以特征向量m*k ,就变成了1*k,这样每个特征的维数就降低了

PCA 的目标是寻找 k ( k<n )个新变量,使它们反映事物的主要特征,压缩原有数据矩阵的规模。每个新变量是原有变量的线性组合,体现原有变量的综合效果,具有一定的实际含义。这 k个新变量称为“主成分”,它们可以在很大程度上反映原来 n 个变量的影响,并且这些新变量是互不相关的,也是正交的。

究竟如何确定 k呢?这需要进一步分析每个主元素对信息的贡献。
贡献率表示所定义的主成分在整个数据分析中承担的主要意义占多大的比重,当取前 r 个主成分来代替原来全部变量时,累计贡献率的大小反应了这种取代的可靠性,累计贡献率越大,可靠性越大;反之,则可靠性越小。一般要求累计贡献率达到 70% 以上。
pca将训练集中的同一个人的多张照片pca降维,得到特征脸。然后带检测图像和不同人的特征脸求距离,得到最match的。
或者将训练集中同一个人的多张照片pca降维后提取特征,然后将特征训练,利用分类器识别。
在opencv中训练好分xml文件,可以直接加载识别

pca人脸识别----kl变换相关推荐

  1. matlab 归一化_MATLAB主成分PCA人脸识别深度解析(一)

    前言:人脸识别是一个很经典的课题,围绕它可以做成很多实际应用,比如教室人脸考勤,人脸门禁系统,无人超市购物系统,刷脸支付系统等等.可是,为什么这一切是靠什么进行匹配人脸的呢,怎么那么神奇呢.人脸识别的 ...

  2. 基于PCA 人脸识别/人脸识别算法/人脸检测程序源码MATLAB ELM+PCA人脸识别 PCA人脸识别matlab代码 基于PCA算法的人脸识别

    1.基于PCA的人脸识别代码 2.MATLAB ELM+PCA人脸识别 2.基于PCA的人脸识别(matlab)(采用PCA算法进行人脸识别,通过抽取人脸的主要成 分,构成特征脸空间,识别时将测试图像 ...

  3. pca人脸识别个人理解及步骤

    前言 pca,即主成分分析,是一种数据降维的方法,也是一种古老而经典的人脸识别的算法.理解pca算法的原理和步骤,对我们的思维启发还是很有帮助的.虽然说在众多的人脸识别中,pca是较简单的,但是要想清 ...

  4. pca人脸识别python_[机器学习] 用PCA进行人脸识别

    本文会带你详细的分析PCA人脸识别的代码 PCA在人脸识别中有重要的应用,如果想详细了解PCA的原理,可以看我的这篇文章:任妍Carol:[机器学习] 人脸识别的重要方法--PCA​zhuanlan. ...

  5. 基于MATLAB实现PCA人脸识别

    文件大小:76M 代码行数:40行(主程序) 开发环境:Matlab2016.2018.2020 下载地址:点击下载 简要概述:基于MATLAB实现PCA人脸识别 PCA,即主成分分析,是一种数据降维 ...

  6. 机器学习算法之PCA(主成分分析)人脸识别,最小重构误差和最大化散度证明,PCA主成分分析原理剖析,PCA人脸识别matlab实现,PCA人脸识别python实现

    目录 PCA介绍 PCA大致思路 PCA人脸识别(特征脸法) matlab代码实现 Python代码实现 PCA几何解释 PCA证明最小重构误差和最大散度等价 实验结果 PCA介绍 主成分分析(Pri ...

  7. 图像处理-PCA人脸识别

    2019独角兽企业重金招聘Python工程师标准>>> 在OpenCV2.4.2中有一个FaceRecognizer类,该类用于完成人脸识别,目前其实现的方法有PCA,LDA,LBP ...

  8. 关于PCA主成分分析与KL变换

    最近看了PCA主成分分析,其中KL变化是其中的一种方法 具体的原理我转载了以下文章 http://blog.csdn.net/kingskyleader/article/details/7734710 ...

  9. 基于opencv的pca人脸识别实现

    orl人脸样本库 这里用到的ORL人脸库(Olivetti Research Laboratory人脸数据库),诞生于英国剑桥Olivetti实验室. ORL人脸数据库由该实验室从1992年4月到19 ...

最新文章

  1. retinaface 记录
  2. python是用什么语言开发的-python是什么语言?哪些人适合学习Python?
  3. Python 技巧篇 - 英文单词首字母大小写转换功能实例演示,字符串切片实现
  4. python怎么显示汉字_mac在matplotlib中显示中文的操作方法
  5. html中隐式转换成数字,详解JS中的隐式类型转换
  6. 四核网络机顶盒芯片局势分析(开放市场):rk3128将会成为四核主流
  7. TVB十大女星比美十大名花
  8. 高仿QQ发送语音界面
  9. python 自定义 计算向量投影 正交 函数
  10. MySQL8.0与SQL server 2016的技术区别(一)
  11. Map--HashMap实现分析
  12. 无源滤波器--低通滤波器(LPF)
  13. 笔记:宾大《Algebra, Topology, Differential Calculus, and Optimization Theory For CS and ML》——第三章第九节
  14. 面试时薪资要少了怎么办?
  15. IDEA 2021.1 的 Win 和 Mac 快捷键大全!!
  16. Linux Deploy安装配置Ubuntu使用教程
  17. 卫星过顶计算matlab,一种圆轨道低轨卫星过顶剩余可见时长预测方法
  18. 优秀大数据分析师必备8大技能
  19. 从零开始搭建一个操作系统(1):搭建工作模式和环境
  20. java rcp中lable设置透明_RCP界面美化技术(转)

热门文章

  1. 网站使用新浪微博登录
  2. PyQt5实战之二维码生成器(二):控件功能实现
  3. docker的安装和使用及镜像的制作与上传
  4. 快速搭建samba 简单samba服务
  5. visualGDB下导入cmake工程
  6. 外汇业务信息系统 功能说明书
  7. Python爬虫 自动爬取图片并保存
  8. navicat创建oracle数据表,使用navicat创建Oracle数据库
  9. 霍尼韦尔、康斐尔、山特维克可乐满、丹佛斯、希尔顿、诺和诺德等最新资讯 | 跨国企业在中国...
  10. PageAdmin,织梦DedeCms和Wordpress—CMS建站系统怎么选