- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PA降维方法(主成分分析降维).doc
一、简介
PCA (Principal Components Analysis)即主成分分析,是图像处理屮经常川到的降
维方法,大家知道,我们在处理有关数字图像处理方面的M题时,比如经常用的图像的查询 问题,在一个几万或者几百万甚至更大的数据库屮查询一幅相近的图像。这时,我们通常的 方法是对图像库中的图片提取响应的特征,如颜色,纹理,sift, surf, Vlad等等特征,然后 将其保存,建立响应的数据索引,然后对要查询的图像提取相应的特征,与数据库屮的图像 特征对比,找出与之最近的图什。这里,如果我们为了提高查询的准确率,通常会提取一些 较为复杂的特征,如sift,surf等,一幅图像有很多个这种特征点,每个特征点又有一个相 应的描述该特征点的128维的向量,设想如果一幅图像有300个这种特征点,那么该幅图 像就有30(Tvector (128维)个,如果我们数据库巾有一百万张图片,这个存储量是相当大 的,建立索引也很耗时,如果我们对每个向量进行PCA处理,将其降维% 64维,是不是 很节约存储空间啊?对于学习图像处理的人来说,都知道PCA是降维的,但是,很多人不 知道具体的原理,为此,我写这篇文章,来详细阐述一下PCA及其具体计算过程:
二、PCA原理
1、 原始数据:
为了方便,我们假定数据是二维的,借助网络上的一组数据,如下:
x=[2.5, 0.5, 2.2, 1.9, 3.1,2.3, 2, 1,1.5, 1.1]T
y=[2.4, 0.7, 2.9, 2.2, 3.0, 2.7, 1.6, 1.1, 1.6, 0.9]T
2、 计算协方差矩阵
什么是协方差矩阵?相信看这篇文章的人都学过数理统计,一些基本的常识都知道,但是, 也许你很长时间不看了,都忘差不多了,为了方便大家更好的理解,这里先简单的回顾一下 数理统计的相关知识,当然如果你知道协方差矩阵的求法你可以跳过这里。
(1)协方差矩阵:
首先我们给你一个含有n个样本的集合,依次给出数理统计中的一些相关概念:
了二 m
均值: n
标准差
方差:n,
方差:
n,([乃
n- 1
既然我们都有这么多描述数据之间关系的统计量,为什么我们还要用协方差呢?我们应该注 意到,标准差和方差一般是用来描述一维数据的,但现实生活我们常常遇到含有多维数据的 数据集,最简单的大家上学时免不了要统计多个学科的考试成绩。而对这样的数据集,我们 当然可以按照侮一维独立的计算其方差,但是通常我们还想了解这儿科成绩之间的关系,这 时,我们就要用协方差,协方差就是一种用来度量两个随机变量关系的统计量,其定义为:
cov(X. Y)=
cov(X. Y)=
从协方差的定义上我们也可以看出?一些显而易见的性质,如:
1 .co\(X,X) = var(
2.cov(A\y) = cov(y, %)
需要注意的是,协方差也只能处理二维问题,那维数多了自然就需要计算多个协方差,比如 n维的数据集就需要计算CN2 此乃组合数基本公式】个协方差,那自然而然的我们会想 到使用矩阵来组织这些数据。给出协方差矩阵的定义:
cnxrl = Ci J = cov(Dimh Di”。))
这个定义还是很容易理解的,我们可以举一个简单的三维的例子,假设数据集有三个维度 {x,y,z}?则协方差矩阵为
(
cov(t, x) cov(x, y) cov(x^z) \
CGv[y,x) cov{y, y) cov(y, z) I cov{z^x} cov(z^y) cov(z, z) /
可见,协方差矩阵是一个对称的矩阵,而且对角线是各个维度上的方差。
(2)协方差矩阵的求法:
协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间的。下面我们将在matlab 中用一个例子进行详细说明:
首先,随机产生一个1CT3维的整数矩阵作为样本集,10为样本的个数,3为样本的维数。
|l. MySample = fix(rand(10,3)*50)
MySample ?
10
15
29
15
46
13
23
21
30
11
9
35
42
45
11
9
48
5
11
21
14
8
S
15
11
12
21
21
20
25
根据公式,计算协方差需要汁算均值,那是按行汁算均值还是按列呢,我一开始就老是困扰 这个问题。前面我们也特别强调了,协方差矩阵是计算不同维度间的协方差,要时刻牢记这 —点。样本矩阵的每行是一个样本,每列为一个维度,所以我们要按列计算均值。为了描
述方便,我们先将三个维度的数据分别赋值:
[cpp] view plaincopy
diml = MySample(: _,1);
dim2 = MySample(:2);
I 3. dim3 = MySample(:,3);
%计算 diml 与 d
您可能关注的文档
最近下载
- 2024年秋新人教版一年级上册数学教学课件 四 11~20的认识 第5课时 练一练.pptx
- 2020湖北省县(市)地质灾害易发程度分区图.docx
- 《第3节细胞核的结构和功能》公开课优秀教案教学设计(高中必修一).docx
- 税控燃油加油机使用说明书TQC980839-049.pdf VIP
- 2019版110-500kV送电线路工程质量检验及评定标准.docx
- 2024年大连理工大学招聘机关管理人员若干笔试模拟试题及答案解析.docx
- 二年级上册数学北师大版《快乐的动物》——倍的认识(课件)(共21张PPT).pptx VIP
- 部编版语文四年级上册第6单元习作《记一次游戏》优质课件.pptx VIP
- 电子版购房合同模板模板.pdf
- 2024新人音版初中七级音乐上册《第六单元 美丽家乡》大单元整体教学设计.pdf
文档评论(0)