主成分分析PCA

主成分分析PCA

PCA(Principal Components Analysis)即主成分分析,是图像处理中经常用到的降维方法,大家知道,我们在处理有关数字图像处理方面的问题时,比如经常用的图像的查询问题,在一个几万或者几百万甚至更大的数据库中查询一幅相近的图像。这时,我们通常的方法是对图像库中的图片提取响应的特征,如颜色,纹理,sift,surf,vlad等等特征,然后将其保存,建立响应的数据索引,然后对要查询的图像提取相应的特征,与数据库中的图像特征对比,找出与之最近的图片。这里,如果我们为了提高查询的准确率,通常会提取一些较为复杂的特征,如sift,surf等,一幅图像有很多个这种特征点,每个特征点又有一个相应的描述该特征点的128维的向量,设想如果一幅图像有300个这种特征点,那么该幅图像就有300*vector(128维)个,如果我们数据库中有一百万张图片,这个存储量是相当大的,建立索引也很耗时,如果我们对每个向量进行PCA处理,将其降维为64维,是不是很节约存储空间啊?

主成分分析一般过程

特征抽取的目标是根据原始的d个特征的组合形成k个新的特征,即将数据从d维空间映射到k维空间。在文本分析领域常用的降维方法是主成分分析(Principal Component Analysis, PCA)和奇异值分解(Singular Value Decomposition, SVD)。 在下文的叙述中,将沿袭机器学习的常用符号,使用x表示一个列向量,它是样本x在d维空间中的点。而由n个样本构成的数据集可以表示为一个d×n的矩阵XPCA PCA背后的数学基础是特征值分析,即Σv=λv,v是特征向量,λ是特征值。PCA的目标是最大化数据间累积方差。PCA的一般过程是:

  • 去除平均值:means;
  • 计算X的协方差矩阵Σ;
  • 计算Σ的特征向量和特征值(特征向量用列向量v_d×1表示);
  • 将特征值从大到小排序;
  • 保留最上面的k个特征向量(这k个特征向量保证了数据映射到特征值最大的特征向量的方向时,数据间的累积方差最大,数据映射到第二大的特征向量时,数据间的累积方差次之,且特征向量之间保持正交)构成的特征向量矩阵V_d×k;
  • 将数据转换到上述k个特征向量构建的新空间中(V^TX=A*_k×n + means,A是一个k×n的矩阵)。

我想用一个简单的例子来说明主成分分析的能力:

主成分分析简单实例(从博客上扣的图)

 

关于SVD和PCA这里我只是通过做一个简单的介绍,如果大家感兴趣可以参考以下更多的博文和资料:



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值