PCA主成分分析法简介

主成分分析算法(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性。

PCA降维的目的,就是为了在尽量保证“信息量不丢失”的情况下,对原始特征进行降维,也就是尽可能将原始特征往具有最大投影信息量的维度上进行投影。将原特征投影到这些维度上,使降维后信息量损失最小。

总而言之,PCA的概念很简单:减少数据集的维数,同时保留尽可能多的主要信息。

PCA主要步骤

  • 去除平均值
  • 计算协方差矩阵
  • 计算协方差矩阵的特征值和特征向量
  • 将特征值排序
  • 保留前N个最大的特征值对应的特征向量
  • 将原始特征转换到上面得到的N个特征向量构建的新空间中(最后两步,实现了特征压缩)

标准化

此步骤的目的是标准化输入数据集,使数据成比例缩小。

更确切地说,在使用PCA之前必须标准化数据的原因是PCA方法对初始变量的方差非常敏感。也就是说,如果初始变量的范围之间存在较大差异,那么范围较大的变量占的比重较大,和较小的变量相比(例如,范围介于0和100之间的变量较0到1之间的变量会占较大比重),这将导致主成分的偏差。通过将数据转换为同样的比例可以防止这个问题。

求每一个特征的平均值,然后对于所有的样本,每一个特征都减去自身的均值。
z=value−meanstandarddeviationz=\frac{value-mean}{standard deviation} z=standarddeviationvalue−mean​

经过去均值处理之后,原始特征的值就变成了新的值,在这个新的norm_data的基础上,进行下面的操作。

计算协方差矩阵

此步骤的目的是了解输入数据集的变量相对于彼此平均值变化,换句话说,查看它们是否存在关系。因为有时候,变量由于高度相关,这样就会包含冗余信息。因此,为了识别变量的相关性,我们计算协方差矩阵。

下面以二维矩阵为例:
C=[cov(x1,x1)cov(x1,x1)cov(x2,x1)cov(x2,x2)]C=\begin{bmatrix} cov(x_{1},x_{1}) &cov(x_{1},x_{1}) \\ cov(x_{2},x_{1}) &cov(x_{2},x_{2}) \end{bmatrix} C=[cov(x1​,x1​)cov(x2​,x1​)​cov(x1​,x1​)cov(x2​,x2​)​]
上述矩阵中,对角线上分别是特征x1和x2的方差,非对角线上是协方差。协方差大于0表示x1和x2。若有一个增,另一个也增;小于0表示一个增,一个减;协方差为0时,两者独立。协方差绝对值越大,两者对彼此的影响越大,反之越小。

计算协方差矩阵的特征值和特征向量

求协方差矩阵CCC的特征值λλλ和相对应的特征向量uuu(每一个特征值对应一个特征向量):
Cu=λuCu=\lambda u Cu=λu
特征值λλλ会有NNN个,每一个λiλ_{i}λi​对应一个特征向量uiu_{i}ui​,将特征值λ按照从大到小的顺序排序,选择最大的前k个,并将其相对应的k个特征向量拿出来,我们会得到一组{(λ1,u1),(λ2,u2),…,(λk,uk)}。

将原始特征投影到选取的特征向量上,得到降维后的新K维特征

这个选取最大的前k个特征值和相对应的特征向量,并进行投影的过程,就是降维的过程。对于每一个样本XiXiXi,原来的特征是(xi1,xi2,…,xin)T(xi_1,xi_2,…,xi_n)^T(xi1​,xi2​,…,xin​)T,投影之后的新特征是(y1i,y2i,...,yki)T(y^i_1,y^i_2,...,y^i_k)^T(y1i​,y2i​,...,yki​)T ,新特征的计算公式如下:

PCA算法的主要优点

  • 仅仅需要以方差衡量信息量,不受数据集以外的因素影响。
  • 各主成分之间正交,可消除原始数据成分间的相互影响的因素。
  • 计算方法简单,主要运算是特征值分解,易于实现。

PCA算法的主要缺点

  • 主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。

  • 方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。

参考

  • https://zhuanlan.zhihu.com/p/58663947
  • https://blog.csdn.net/lanyuelvyun/article/details/82384179

机器学习经典算法之PCA主成分分析相关推荐

  1. pca各个向量之间的相关度_机器学习十大经典算法之PCA主成分分析

    PCA主成分分析法简介 主成分分析算法(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数 ...

  2. 机器学习经典算法笔记——PCA和梯度上升算法

    首先,什么是PCA ? principal Component Analysis 一个非监督的机器学习算法,主要用于数据的降维,通过降维,可以发现更便于人类理解的特征 通常应用于可视化,去噪 下面是涉 ...

  3. 四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

    四大机器学习降维算法:PCA.LDA.LLE.Laplacian Eigenmaps 引言 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习 ...

  4. 机器学习初学者手抄本:数学基础、机器学习经典算法、统计学习方法等

    机器学习怎么学?当然是系统地学习了.没有时间这么办呢?利用碎片时间学习!很多人一天要花 2 个小时通勤,通勤路上有很多时间看手机.于是我把一些机器学习的基础知识做成了在线的机器学习手册,只需打开微信收 ...

  5. 免费技术直播:唐宇迪带你一节课了解机器学习经典算法

    常常有小伙伴在后台反馈:机器学习经典算法有哪些? 自学难度大又没有效果,该怎么办? CSDN为了解决这个难题,联合唐宇迪老师为大家带来了一场精彩的直播[一节课掌握机器学习经典算法-线性回归模型].本次 ...

  6. 调包侠福音!机器学习经典算法开源教程(附参数详解及代码实现)

    Datawhale 作者:赵楠.杨开漠.谢文昕.张雨 寄语:本文针对5大机器学习经典算法,梳理了其模型.策略和求解等方面的内容,同时给出了其对应sklearn的参数详解和代码实现,帮助学习者入门和巩固 ...

  7. 机器学习经典算法之线性回归sklearn实现

    机器学习经典算法之线性回归sklearn实现 from sklearn import linear_model from sklearn import datasets import numpy as ...

  8. 数学基础、机器学习经典算法、统计学习方法,这份机器学习在线手册来帮你...

    机器学习怎么学?当然是系统地学习了.没有时间这么办呢?利用碎片时间学习!很多人一天要花 2 个小时通勤,通勤路上有很多时间看手机.于是我把一些机器学习的基础知识做成了在线的机器学习手册,只需打开微信收 ...

  9. 机器学习经典算法实践_服务机器学习算法的系统设计-不同环境下管道的最佳实践

    机器学习经典算法实践 "Eureka"! While working on a persistently difficult-to-solve problem, you disco ...

最新文章

  1. YOLOv4 资源环境配置和测试样例效果
  2. 转载 React.createClass 对决 extends React.Component
  3. 使用header发送状态代码
  4. MySQL安装和完全卸载-Linux ubantu18.04
  5. oracle 返回表的函数,oracle 返回表函数
  6. C++模板之隐式实例化、显示实例化、隐式调用、显示调用和模板特化详解
  7. 【CCF】201903-2 二十四点
  8. mfc怎么获取进程的线程数_2020年大厂喜欢这样问线程安全,这些知识点我整理好了
  9. Oracle 中运用rollup和cube实现汇总运算
  10. java B2B2C springmvc mybatis多租户电子商城系统 (七)springboot开启声明式事务
  11. 我的WCF之旅(13):创建基于MSMQ的Responsive Service(转载)
  12. Fortran入门教程(十)——结构体
  13. xshell5下载和安装教程
  14. 解决System进程占用80端口,关闭IIS服务
  15. html圣诞效果,HTML5实现圣诞树效果
  16. ios真机测试,Ineligible Devices,不可以选中真机
  17. 红黑树 插入算法(一)
  18. root高级权限怎么弄,root高级权限怎么打开
  19. [11]Debugging in Studio-UiPath ARD Certification Training
  20. Pandas 时间序列 - 实例方法与重采样

热门文章

  1. 类和对象(2)—— 类的封装和访问控制
  2. Ionic Cordova 环境配置window
  3. 高性能nginx HTTP服务器 配置实例(转自我的收藏)
  4. (转)Mime类型与文件后缀对照表及探测文件MIME的方法
  5. matlab利用双目图像视差进行三维重建
  6. word一键排版工具_超赞的Word标尺小工具,轻松帮你搞定各种「对不齐」排版问题...
  7. 批处理等待上一条完成再执行下面的_分布式批处理实现方案
  8. 【连载】如何掌握openGauss数据库核心技术?秘诀三:拿捏存储技术(5)
  9. 2021 ACDU China Tour-北京站暨数据库大咖讲坛(第3期)成功举办!(附PPT下载)
  10. 一次900万+数据量的 SQL 查询优化分析【上百倍性能优化】