主成分分析(PCA)是多元统计分析中用来分析数据的一种方法,它是用一种较少数 量的特征对样本进行描述以达到降低特征空间维数的方法,它的本质实际上是K-L变换。PCA方法最著名的应用应该是在人脸识别中特征提取及数据维,我们知 道输入200*200大小的人脸图像,单单提取它的灰度值作为原始特征,则这个原始特征将达到40000维,这给后面分类器的处理将带来极大的难度。著名 的人脸识别Eigenface算法就是采用PCA算法,用一个低维子空间描述人脸图像,同时用保存了识别所需要的信息。下面先介绍下PCA算法的本质K- L变换。

1、K-L变换(卡洛南-洛伊(Karhunen-Loeve)变换):最优正交变换  

  • 一种常用的特征提取方法;
  • 最小均方误差意义下的最优正交变换;
  • 在消除模式特征之间的相关性、突出差异性方面有最优的效果。
离散K-L变换:对向量x(可以想象成 M维=width*height 的人脸图像原始特征)用确定的完备正交归一向量系uj展开:
 
这个公式由来我想应该是任一n维欧式空间V均存在正交基,利用施密特正交化过程即可构建这个正交基。
现在我们希望用d个有限项来估计向量x,公式如下:
计算该估计的均方误差如下:
要使用均方误差最小,我们采用Langrange乘子法进行求解:
因此,当满足上式时,
取得最小值。
即相关矩阵R的d个特征向量(对应d个特征值从大到小排列)为基向量来展开向量x时,其均方误差最小,为:
因此,K-L变换定义:当取矩阵R的d个最大特征值对应的特征向量来展开x时,其截断均方误差最小。这d个特征向量组成的正交坐标系称作x所在的D维空间的d维K-L变换坐标系, x在K-L坐标系上的展开系数向量y称作x的K-L变换。

总结下,K-L变换的方法:对相关矩阵R的特征值由大到小进行排队,
均方误差最小x近似于:
矩阵形式:
上式两边乘以U的转置,得

向量y就是变换(降维)后的系数向量,在人脸识别Eigenface算法中就是用系数向量y代替原始特征向量x进行识别。


下面,我们来看看相关矩阵R到底是什么样子。
因此,我们可以看出相关矩阵R是一个实对称矩阵(或者严谨的讲叫正规矩阵),正规矩阵有什么特点呢??学过《矩阵分析》的朋友应该知道:
若矩阵R是一个实对称矩阵,则必定存在正交矩阵U,使得R相似于对角形矩阵,即:
因此,我们可以得出这样一个结论:
降维后的系数向量y的相关矩阵是对角矩阵,即通过K-L变换消除原有向量x的各分量间的相关性,从而有可能去掉那些带有较少信息的分量以达到降低特征维数的目的。
2、主成分分析(PCA)
主成分分析(PCA)的原理就是将一个高维向量x,通过一个特殊的特征向量矩阵U,投影到一个低维的向量空间中,表征为一个低维向量y,并且仅仅损失了一些次要信息。也就是说,通过低维表征的向量和特征向量矩阵,可以基本重构出所对应的原始高维向量。
在人脸识别中,特征向量矩阵U称为特征脸(eigenface)空间,因此其中的特征向量ui进行量化后可以看出人脸轮廓,在下面的实验中可以看出。
以人脸识别为例,说明下PCA的应用。
设有N个人脸训练样本,每个样本由其像素灰度值组成一个向量xi,则样本图像的像素点数即为xi的维数,M=width*height ,由向量构成的训练样本集为
该样本集的平均向量为:
平均向量又叫平均脸。
样本集的协方差矩阵为:
求出协方差矩阵的特征向量ui和对应的特征值,这些特征向量组成的矩阵U就是人脸空间的正交基底,用它们的线性组合可以重构出样本中任意的人脸图像,(如果有朋友不太理解这句话的意思,请看下面的总结2。)并且图像信息集中在特征值大的特征向量中,即使丢弃特征值小的向量也不会影响图像质量。
将协方差矩阵的特征值按大到小排序:。由大于对应的特征向量构成主成分,主成分构成的变换矩阵为:
这样每一幅人脸图像都可以投影到构成的特征脸子空间中,U的维数为M×d。有了这样一个降维的子空间,任何一幅人脸图像都可以向其作投影,即并获得一组坐标系数,即低维向量y,维数d×1,为称为KL分解系数。这组系数表明了图像在子空间的位置,从而可以作为人脸识别的依据。

有朋友可能不太理解,第一部分讲K-L变换的时候,求的是相关矩阵的特征向量和特征值,这里怎么求的是协方差矩阵?
其实协方差矩阵也是:
,可以看出其实用代替x就成了相关矩阵R,相当于原始样本向量都减去个平均向量,实质上还是一样的,协方差矩阵也是实对称矩阵。

总结下:
1、在人脸识别过程中,对输入的一个测试样本x,求出它与平均脸的偏差,则在特征脸空间U投影,可以表示为系数向量y
                                    
U的维数为M×d的维数为M×1y的维数d×1。若M为200*200=40000维,取200个主成分,即200个特征向量,则最后投影的系数向量y维数降维200维。
2、根据1中的式子,可以得出:
这里的x就是根据投影系数向量y重构出的人脸图像,丢失了部分图像信息,但不会影响图像质量。
算法:见其他随笔
http://www.cnblogs.com/liu-jun/archive/2013/03/20/2970132.html

转载于:https://www.cnblogs.com/549294286/p/3417706.html

主成分分析(PCA)算法,K-L变换 角度相关推荐

  1. 机器学习--主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    原文链接:主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是"投影"?_天下对手教会少林武僧-CSDN博客_pca投影矩阵 这是从网上看到的PCA算 ...

  2. 主成分分析|PCA算法大全

    主成分分析|PCA算法大全 文章目录 主成分分析|PCA算法大全 1. PCA原理 1.1 最大方差理论 1.2 最小平方误差理论 1.3 高维数据下的特征值分解 2. CCIPCA增量主元分析算法[ ...

  3. 主成分分析PCA算法:为什么去均值以后的高维矩阵乘以其协方差矩阵的特征向量矩阵就是“投影”?

    这是从网上看到的PCA算法的步骤: 第一步,分别求每列的平均值,然后对于所有的样例,都减去对应的均值. 第二步,求特征协方差矩阵. 第三步,求协方差的特征值-显示全部 关注者 1,218 被浏览 78 ...

  4. 用通俗易懂的方式讲解:主成分分析(PCA)算法及案例(Python 代码)

    文章目录 知识汇总 加入方式 一.引入问题 二.数据降维 三.PCA基本数学原理 3.1 内积与投影 3.2 基 3.3 基变换的矩阵表示 3.4 协方差矩阵及优化目标 3.5 方差 3.6 协方差 ...

  5. 从零开始实现主成分分析(PCA)算法

    声明:版权所有,转载请联系作者并注明出处: http://blog.csdn.net/u013719780?viewmode=contents 知乎专栏: https://www.zhihu.com/ ...

  6. 机器学习-降维之主成分分析PCA算法原理及实战

    主成分分析 前言 近年来,随着互联网和信息行业的发展,数据已经渗透到各行各业,成为重要的生产因素如数据记录和属性规模的急剧增长.社会已经进入大数据时代,数据越多越好似乎已经成为公理.然而,数据量并不是 ...

  7. 图解主成分分析PCA算法(附Python实现)

    0 写在前面 机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用."深"在详细推导算法模型背后的数学原理:"广"在分析多个机器学习模型:决策树.支持 ...

  8. matlab k l变换题目,K-L变换及例题技术分析.ppt

    第7章 基于K-L展开式的特征提取 7.1 K-L变换的定义与性质 7.2 K-L变换特征提取的原理及应用 7.3 利用K-L变换进行人脸识别 实现特征提取的途径 考虑利用线性变换的方式实现降维 本质 ...

  9. 主成分分析 PCA算法

    夹角余弦是用原始数据定义的. 如果改用与样本平均值的比较值, 就是所谓的相似系数rkl (有的文献中也称为相关系数).     rkl构成的矩阵为相似矩阵,多用于Q型分析.式中求和对特征进行(列标处的 ...

最新文章

  1. 关于EF中ApplyCurrentValues和ApplyOriginalValues区别
  2. 未到期的应收票据贴现时如何记账
  3. 【题意+分析】1043 Is It a Binary Search Tree (25 分)
  4. python改文件名_通过python顺序修改文件名字的方法
  5. C#常用类库----CSV文件操作类
  6. hbase sqoop 实验_Hive/hbase/sqoop的基本使用教程~
  7. 通信协议规格_小米和阿里巴巴定义智能家居通信协议“蓝牙Mesh”
  8. fastReport 小总结
  9. Gantt - attachEvent事件监听 - 一个参数事件
  10. PDF 解锁(unlock)
  11. utf-8 汉字对照表
  12. arp 已知mac找ip_求救:通过MAC码找到对应的IP地址.
  13. Ashen的成长,从CSDN博客开始!
  14. 计算机英语构词法,计算机专业英语的构词方法
  15. Java继承和多态(保姆级教学)
  16. state软件的基本使用
  17. spring mvc处理异常
  18. Ubuntu18.04 cuda安装
  19. linux 电子书阅读器_3个适用于Linux桌面的电子书阅读器
  20. 独角兽项目 3 - 反叛军

热门文章

  1. 我的JMX心得 -- Server端
  2. iOS imageio nsurlsession 渐进式图片下载
  3. android中活动的启动模式
  4. 关于重复接收NSNotificationCenter发送的通知的问题
  5. sqlserver常用函数/存储过程/数据库角色
  6. javascript 获取应用程序根路径
  7. step5 . day3 网络编程 基于TPC协议的网络编程Demo,类FTP功能
  8. step1.day12 Linux下使用C语言编程基础总结
  9. centos6系列版本防火墙图形化设置
  10. html运用以及工具