4000-520-616
欢迎来到免疫在线!(蚂蚁淘生物旗下平台)  请登录 |  免费注册 |  询价篮
主营:原厂直采,平行进口,授权代理(蚂蚁淘为您服务)
咨询热线电话
4000-520-616
当前位置: 首页 > 新闻动态 >
热卖商品
新闻详情
主成分分析PCA(Principal Component Analysis)介绍_Cka..._CSDN博客
来自 : CSDN技术社区 发布时间:2021-03-24

很久之前 有一次做人脸识别的时候用过PCA 大概记得是降维用的 然后前段时间用到LDA的时候顺带看到PCA才发现忘的差不多了 干脆把一些资料整理一下吧。


一.K-L变换

说PCA的话 必须先介绍一下K-L变换了。

K-L变换是Karhunen-Loeve变换的简称 是一种特殊的正交变换。它是建立在统计特性基础上的一种变换 有的文献也称其为霍特林 Hotelling 变换 因为他在1933年最先给出将离散信号变换成一串不相关系数的方法。
K-L变换的突出优点是它能去相关性 而且是均方误差 Mean Square Error MSE 意义下的最佳变换。

下面就简单的介绍一下K-L变换了。

设 随机向量X ∈Rn(n阶列向量) 它的均值向量为mX 则其协方差矩阵可以表示为

Cx E{(X-mx)*(X-mx)T}                           2.1

Cx是一个n*n阶的实对称阵。

K-L变换定义了一正交变换A ∈Rn*n 将X ∈Rn的向量映射到用Y ∈Rn代表的向量 并且使Y向量中各分量间不相关
Y A*(X-mx)                                            2.2

因为Y的各分量间不相关 则其协方差矩阵Cy为对角阵 即

Cy diag(λ1,λ2,...,λn)

CSDN的编辑器不知道怎么打矩阵 diag这个符号忘了的同学自己百度吧

而矩阵A总是可以找到的 因为对于实对称阵 总能找到一个正交阵A 使得ACxAT的运算结果为对称阵。K-L变换中 将A的每一行取为Cx的特征向量 并且将这些特征向量按对应的特征值大小进行降序排序 使最大特征值对应的特征向量在A的第一行 而最小特征值对应的特征向量在A的最后一行。而Cy是Cx对角化后的结果 所以两个矩阵的特征值是一致的 λ1,λ2,...,λn 。

这样就可以通过矩阵A实现由随机向量X到随机向量Y的K-L变换了 而由

X ATY mx                                          2.3

就可以实现Y反变换到X。
若选择的最大k个特征值对应的k个特征向量 组成k×n的转换矩阵A 则变换后Y降为k维的 则由Y对X的恢复公式如下

X‘ AKY mx                                          2.4

这时候Cy diag(λ1,λ2,...,λk) X与X’之间的均方误差可以由下式表达

λk 1 .λk 2... λn                                       2.5                             没有公式编辑器啊

上面我们提到了对于特征值λ是从大到小排序的 那么这时候通过式子2.5可以表明通过选择k个具有最大特征值的特征向量来降低误差。因此 从可以将向量X和它的近似X‘之间的均方误差降至最小这方面来说 K-L变换是最佳变换。


二.PCA 主成分分析

在二十世纪九十年代初 Kirby和Sirovich开始讨论利用PCA技术进行人脸图像的最优表示问题。并且由M.Turk和A.Pentland将此技术用于人脸识别中 并称为特征脸方法。M.Turk和A.Pentland将m×n的人脸图像 重新排列为m *n维的列向量。则所有的训练图像经此变换后得到一组列向量 { xi } xi∈Rm*n 其中N代表训练样本集中图像的个数。将图像看成一随机列向量 并通过训练样本对其均值向量和协方差矩阵进行估计。

均值向量μ通过下式估计
μ (1/N)*((x1 x2 ... xN)                        3.1
协方差矩阵

ST  E{(xi-u)*(xi-u)T}  X X T               3.2

其中X’ [x1-μ, x2-μ,...., xN-μ]

则将投影变换矩阵A取为ST的前k个最大特征值对应的特征向量。利用K-L变换式对原图像进行去相关并降维

Y AK*(X-mx)                                          3.3

因为ST X X T 而X‘为 m*n *N矩阵 但是因为X’为N阶矩阵 所以ST的秩最大为N-1 这样只要计算出ST的特征向量就可以计算出K-L变换矩阵了。

但是因为ST是 m*n *(m*n)阶的矩阵 所以计算它的特征向量比较复杂 这里使用了一个技巧

XTXvi δivi                                                3.4

(XXT)(Xvi) δi(Xvi)                                    3.5

根据式子3.4与3.5可以看出 只要计算出XTX的特征值和特征向量δi与vi 然后就可以计算出XXT的 特征值和特征向量δi与Xvi 而XTX为N*N阶的矩阵 计算起来比较容易 除此以外 也可以使用SVD 这里就不提了。


三.PCA流程整理

PCA的整个变换过程整理了一下 如下

1.将mxn的训练图像重新排列为m *n维的列向量。计算均值向量 并利用均值向量将所有样本中心化。
2.利用中心化后的样本向量 根据式 3.2 计算其协方差矩阵 对其特征值分解 并将特征向量按其对应的特征值大小进行降序排列。
3.选取第2步所得的k ≤N-1个最大特征值对应的特征向量组成投影矩阵A 将每幅已中心化的训练图像(x1-μ, x2-μ,...., xN-μ) 向矩阵A投影 得到每幅训练图像的降维表示为(y1-μ, y2-μ,...., yN)
4.对测试图像中心化 并投影到矩阵A 得到测试图像的降维表示。
5.选择合适的分类器 对测试图像进行分类。

\"\" \"\" \"\" 点赞 10 \"\" \"\" 评论 3

本文链接: http://epca.immuno-online.com/view-698505.html

发布于 : 2021-03-24 阅读(0)
公司介绍
品牌分类
联络我们
服务热线:4000-520-616
(限工作日9:00-18:00)
QQ :1570468124
手机:18915418616
官网:http://