PCA主成分分析法简介

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

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

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

PCA主要步骤去除平均值

计算协方差矩阵

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

将特征值排序

保留前N个最大的特征值对应的特征向量

将原始特征转换到上面得到的N个特征向量构建的新空间中(最后两步,实现了特征压缩)

标准化

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

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

求每一个特征的平均值,然后对于所有的样本,每一个特征都减去自身的均值。

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

计算协方差矩阵

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

下面以二维矩阵为例:

上述矩阵中,对角线上分别是特征x1和x2的方差,非对角线上是协方差。协方差大于0表示x1和x2。若有一个增,另一个也增;小于0表示一个增,一个减;协方差为0时,两者独立。协方差绝对值越大,两者对彼此的影响越大,反之越小。

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

求协方差矩阵

的特征值

和相对应的特征向量

(每一个特征值对应一个特征向量):

特征值

会有

个,每一个

对应一个特征向量

,将特征值λ按照从大到小的顺序排序,选择最大的前k个,并将其相对应的k个特征向量拿出来,我们会得到一组{(λ1,u1),(λ2,u2),...,(λk,uk)}。

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

这个选取最大的前k个特征值和相对应的特征向量,并进行投影的过程,就是降维的过程。对于每一个样本

,原来的特征是

,投影之后的新特征是

,新特征的计算公式如下:

PCA算法的主要优点仅仅需要以方差衡量信息量,不受数据集以外的因素影响。

各主成分之间正交,可消除原始数据成分间的相互影响的因素。

计算方法简单,主要运算是特征值分解,易于实现。

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

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

参考https://zhuanlan.zhihu.com/p/58663947

https://blog.csdn.net/lanyuelvyun/article/details/82384179

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

  1. pagerank数据集_机器学习十大经典算法-PageRank(附实践代码)

    Yo, yo, check it out. 保证看完不晕倒... 如果公式让你脑瓜疼,请忽略公式,或者忽略脑瓜. Kagging咖金:推荐系统之关联规则(附实践代码)​zhuanlan.zhihu.c ...

  2. matlab 最小二乘法拟合_机器学习十大经典算法之最小二乘法

    点击上方"计算机视觉cv"即可"进入公众号" 重磅干货第一时间送达 最小二乘法概述 最小二乘法(又称最小平方法)是一种数学优化技术.它通过最小化误差的平方和寻找 ...

  3. 机器学习十大经典算法之岭回归和LASSO回归

    机器学习十大经典算法之岭回归和LASSO回归(学习笔记整理:https://blog.csdn.net/weixin_43374551/article/details/83688913

  4. 机器学习十大经典算法:深入浅出聊贝叶斯决策(贝叶斯公式,最小风险贝叶斯,最小错误贝叶斯)

    前言    常听人说,在学习一个东西时,如果能够深入浅出的讲给别人听,才算是真的懂了.最近正好在学模式识别,于是就用它来练笔了.贝叶斯决策(Bayes Decision) 是十大经典机器学习算法之一, ...

  5. pca各个向量之间的相关度_【T】排序--1--PCA主成分分析principal component analysis

    1. 问题 真实的训练数据总是存在各种各样的问题: 1. 比如拿到一个汽车的样本,里面既有以"千米/每小时"度量的最大速度特征,也有"英里/小时"的最大速度特征 ...

  6. pca各个向量之间的相关度_详细推导PCA算法

    本文主要思路如下: 1 PCA优化目标 PCA(主成分分析)是一种数据降维的方法,即用较少特征地数据表达较多特征地数据(数据压缩,PCA属于有损压缩).PCA推导有两种主要思路: 最大化数据投影后的的 ...

  7. 机器学习十大经典算法之KNN最近邻算法

    KNN简介 KNN(K-NearestNeighbor)是机器学习入门级的分类算法,非常简单.它实现将距离近的样本点划为同一类别:KNN中的K指的是近邻个数,也就是最近的K个点 :根据它距离最近的K个 ...

  8. 机器学习十大经典算法之决策树

    机器学习经典十大算法 机器学习/人工智能的子领域在过去几年越来越受欢迎.目前大数据在科技行业已经炙手可热,而基于大量数据来进行预测或者得出建议的机器学习无疑是非常强大的.一些最常见的机器学习例子,比如 ...

  9. pca各个向量之间的相关度_主成分分析(PCA)特征选择算法详解

    1. 问题 真实的训练数据总是存在各种各样的问题: 1. 比如拿到一个汽车的样本,里面既有以"千米/每小时"度量的最大速度特征,也有"英里/小时"的最大速度特征 ...

最新文章

  1. 5G NGC — 关键技术 — CUPS
  2. Open Neural Network Exchange(ONNX)概述
  3. 苹果手机怎么设置时间24小时制_8款手机电池测试,iPhone 12 5G让人意外
  4. android 相机纹理,Android平台Camera实时滤镜实现方法探讨(五)--GLSurfaceView实现Camera预览...
  5. lgb,xgb,gbdt,adb,RF区别与联系
  6. 职教高中计算机专业知识,新课改背景下计算机专业教学(职教)三维目标设计初探...
  7. ChromeTimeline
  8. mysql批量删除指定前缀的表,批量修改表名的SQL语句
  9. python用逗号隔开输出_python思维导图入门第二篇,数据结构,精心整理
  10. 超级计算机中心建设方案,超算中心建设框架
  11. PMP到底有没有什么用?同学有话说
  12. 如何安装并且运行阿帕奇服务器 for windows
  13. 如何删除PPT中自带的切换动画?
  14. 手机显示一帧的流程是如何实现?
  15. 阿里云携手NVIDIA拓展AI培训计划
  16. xeon e7系列服务器cpu,英特尔10核CPU降临,Xeon E7系列处理器正式发布
  17. 服务器后台设计与大型网站设计,「大型网站架构设计」—— 前言
  18. Unity Shader 之 简单实现物体被黑洞吸收吞噬(或者从黑洞中出来)的效果
  19. FitNesse工具
  20. Elasticsearch教程(17) 返回结果过滤 _source_includes和_source_excludes使用

热门文章

  1. jave使用corenlp
  2. 基于Matlab----RSSI测距定位技术性能仿真
  3. java判断题及答案_Java面试题及解析(判断题)
  4. linux--rbtree 解惑 insert
  5. HandlerThread原理和实际应用
  6. 好系统教你如何禁用或删除启动应用程序以加速Windows
  7. Javascript url 小逻辑
  8. 我的第一个keil工具写的汇编
  9. ftp 425 Can't open data connection. 的解决方案
  10. c#初学12-07—常用正则表达式