PCA 算法 原理解析

原创 2013年12月04日 15:31:11

目前,pca算法已经广泛应用于各方面,就拿图像处理,经常做的一件事就是当提取的图像特征维度比较高时,为了简化计算量以及储存空间,需要对这些高维数据进行一定程度上的降维,并尽量保证数据的不失真。

 

先举个例子,方便理解:

    1)对于一个训练集,100个sample(i=1,2,3,...,100),特征Xi是20维.[Xi1,Xi2,Xi3,...Xij,...,Xi20](j=1,2,..,20),那么它可以建立一个20*100的样本矩阵M。

    2)紧接着我们开始求这个样本的协方差矩阵,得到一个20*20的协方差矩阵,计算过程如下:

            •先求解出Xi的平均Xav=(∑xi)/20;

            •对每一个Xi,计算Xi-Xav,即Mi(第 i 行)变为 Mi-Xav,记为Mn;

            •则容易得到协方差矩阵Z为Mn*Mn'( ' 表示转置 ) 。

    3)然后求出这个协方差矩阵Z20x20的特征值和特征向量,一般情况下应该有20个特征值和特征向量,现在根据特征值的大小,取出较大的特征值以及其所对应的特征向量,(假设提取的特征值为较大的5个特征值),那么这5个特征向量就会构成一个20*5的矩阵V,这个矩阵就是我们要求的特征矩阵。

    4)用Mn'去乘以V,得到一个base矩阵(*),大小为100x5。

    5)任取一个样本1x100,乘上这个100*5的特征矩阵,就得到了一个1*5的新的样本,显然每个sample的维数下降了,然后再用这个1x5向量去比较相似性。

 

注:

›上述3)过程中特征值的选取在不确定具体要降到多少维的情况下,一般还可以根据n个特征值之和大于总和的90%进行选取。

›上面的(*)处base矩阵的求解不唯一,也可以自行修正。


最后,说下PCA的缺点:PCA将所有的样本(特征向量集合)作为一个整体对待,去寻找一个均方误差最小意义下的最优线性映射投影,而忽略了类别属性,而它所忽略的投影方向有可能刚好包含了重要的可分性信息



机器学习算法笔记系列之深入理解主成分分析PCA-原理篇

机器学习算法笔记系列之深入理解PCA-原理篇(未完待续) 作者:shizhixin 博客:http://blog.csdn.net/shizhixin 微博:http://weibo....
  • ShiZhixin
  • ShiZhixin
  • 2016年04月18日 17:37
  • 10020

主成分分析(PCA)原理及推导

在数据挖掘或者图像处理等领域经常会用到主成分分析,这样做的好处是使要分析的数据的维度降低了,但是数据的主要信息还能保留下来,并且,这些变换后的维两两不相关!至于为什么?那就接着往下看。在本文中,将会很...
  • zhongkejingwang
  • zhongkejingwang
  • 2014年12月30日 12:24
  • 11047

PCA算法(主成分分析)

Principle Component Analysis
  • totodum
  • totodum
  • 2016年04月03日 10:10
  • 1425

主成成分分析pca算法 原理解析

目前,pca算法已经广泛应用于各方面,就拿图像处理,经常做的一件事就是当提取的图像特征维度比较高时,为了简化计算量以及储存空间,需要对这些高维数据进行一定程度上的降维,并尽量保证数据的不失真。   ...
  • A784763307
  • A784763307
  • 2013年12月12日 21:33
  • 1956

PCA算法的原理及其示例

  • 2012年06月22日 15:44
  • 132KB
  • 下载

PCA算法人脸识别小结--原理到实现

近段时间学习提取图像特征的算法,研究了一下PCA(主成分分析)算法,用PCA实现了人脸识别,做个小结。  以下是关于PCA算法原理理解较有帮助的资料(关于PCA的资料很多,我觉得看以下的足够了): 1...
  • u014479551
  • u014479551
  • 2015年03月16日 16:05
  • 1544

眼底图像血管增强与分割--(3)基于PCA的增强算法原理及实现

http://cn.mathworks.com/matlabcentral/fileexchange/50839-a-novel-retinal-blood-vessel-segmentation-a...
  • piaoxuezhong
  • piaoxuezhong
  • 2017年10月31日 21:14
  • 368

PCA算法原理与详细注解

http://blog.codinglabs.org/articles/pca-tutorial.html 这篇博文非常详细的介绍了PCA算法的过程,但对数学基础较薄弱人来说,看的有些费劲。本篇博文从...
  • xinzhi8
  • xinzhi8
  • 2017年06月05日 15:50
  • 238

主成分分析 PCA算法原理

主成分分析 PCA算法  (2010-05-11 19:59:26) 转载▼ 标签:  文化 分类: 系统生物学 对同一个体...
  • alaclp
  • alaclp
  • 2012年04月20日 09:59
  • 8464

PCA算法的原理以及c++实现(Eigen库实现)源码

今天学习了PCA算法,把自己的理解写在这里,一方面希望如果理解有什么偏差,大家能给予指正,另一方面希望能和大家一起共享知识。 假设有一个多样本高维度的样本集,例如m个样本,每个样本维度为n 我们想通过...
  • Qer_computerscience
  • Qer_computerscience
  • 2017年05月14日 19:38
  • 1465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PCA 算法 原理解析
举报原因:
原因补充:

(最多只允许输入30个字)