PCA主成分分析(降维)

OpenCV中使用:http://blog.youkuaiyun.com/qq_17242837/article/details/67654845(PCA实现图片降维分类预处理)

参考:http://blog.youkuaiyun.com/eternity1118_/article/details/51721099

降维:

  • 把高维(D维)输入减少成低维输入(K维),(K<<D)。降维后的数据可以看做隐含结构特征,并且去除噪声干扰
  • 是一种预处理方法,不是模型预测方法
  • 适用于维度很高的数据,如图像、视频、文本、音频
  • 主要方法有PCA(主成分分析)和SVD

我的理解是,通过降维得到基本特征可以加快学习算法。并且由于降维后的数据本身就是正交的,和聚类一样可以实现分类、识别问题。在自我学习中也可以采用大量无标注的图像,对这些图像降维分类,并结合部分编码数据得到特征。

例如:将很2500张人脸图片信息,通过2500*像素数降维到10*像素数,则这十张图片就是这所有图片中最基本的特征分类,任何一张图片可以通过投影到这十张图片对比相似度。


图中矩阵表示N个样本由D维降到K维,Y=XW
向量乘一列相当于投影,投影出来的方差最大,则信息可分辨越强(选取Y(XW)的二次范数最大)

数据是投影到W向量中,因此W矩阵必须是正交的,即W的范数=1。正交变换保证了新特征之间的不相关性,并且变换前后特征尺度保持不变。

根据矩阵乘法,原式中间部分相乘,为一对称矩阵。原式就成了正交变换,将式子化成标准型。

通过计算的特征值特征向量求得W,带回Y=XW中使用。
聚类也是一种降维,另外在神经网络中还有autocodeer自编码。

### 主成分分析PCA原理 主成分分析是一种统计方法,旨在通过正交变换将一组可能存在相关性的变量转换成一组线性无关的变量。这些新变量被称为“主成分”,其中第一个主成分具有最大的方差,第二个主成分则是在与第一个主成分正交的方向上拥有最大方差,以此类推[^1]。 #### 为什么使用PCA? 高数据中变量间的关系往往是隐藏且复杂的。为了简化这种复杂性并尽可能保留原始数据的信息,采用一种有效的方式来进行度缩减是非常必要的。PCA正好满足这一需求,在度的同时最大限度地减少了信息丢失[^2]。 ### PCA的具体实现流程 以下是执行PCA的一般步骤: 1. **标准化数据** 对于每一列特征值减去均值再除以其标准差,使得每种属性都处于同一尺度下。 2. **计算协方差矩阵** 协方差用来衡量两个随机变量之间变化趋势的相关程度;构建整个样本集各属性间的协方差矩阵可以揭示它们相互依赖的程度。 3. **求解协方差矩阵的特征值及其对应的特征向量** 特征值表示该方向上的变异总量或重要性权重;而相应的特征向量定义了一个新的坐标系下的轴指向。 4. **选择k个主要成分作为最终输出的新特征空间** 根据所需保持的数据比例挑选前K大特征值所对应的那个子集形成投影矩阵W。 5. **映射到低空间** 将原输入X乘以选定后的投影矩阵得到Y=WX即为之后的结果。 ```python from sklearn.decomposition import PCA import numpy as np def pca_transform(X, n_components): """ 使用sklearn库中的PCA函数对给定数据集进行主成分分析 参数: X : array-like shape(n_samples,n_features) 输入数据. n_components : int 要保留的主要成分的数量. 返回: Y : ndarray of shape (n_samples, n_components) 变换后的数据. """ # 创建PCA对象,并指定要保留多少个主成分 pca = PCA(n_components=n_components) # 训练模型并将训练好的pca应用于测试集中 Y = pca.fit_transform(X) return Y ``` ### 应用实例——人脸识别 在人脸识别领域,PCA被广泛应用于图像预处理阶段。通过对人脸图片建立特征脸(Face Eigenfaces),利用少量最具代表性的面部模式重构未知面孔,从而达到识别目的。具体来说,就是先学习大量已知个体的人脸照片构成的空间结构特点,当遇到待测样本时只需比较其在这个特殊表象域内的位置即可完成分类任务[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值