PCA 这个名字看起来比较玄乎,其实就是给数据换一个坐标系,然后非常生硬地去掉一些方差很小的坐标轴。

例:三维空间中,有一些数据只分布在一个平面上,我们通过“坐标系旋转变换”,使得数据所在的平面与 \(x\),\(y\) 平面重合,那么我们就可以用 \(x'\),\(y'\) 两个维度表达原始数据,并且没有任何损失。

  • 在低维的空间中,我们可以用几何直观来解释:同样的数据,用不同的坐标系表示。
  • 在高维的空间中,我们就得通过代数的方法来依次寻找这些坐标轴方向,第 1 坐标轴方向就是第一主成分方向,第 2 坐标轴方向就是第二主成分方向,依次类推,使得原始数据在新的坐标轴上对应于每一个特征的方差是逐渐减少的,去掉那些我们认为方差很小的后面的主成分方向上的坐标,就完成了 PCA。

所以 PCA 不是特征选择,而是特征抽取,抽取出来的特征是上帝视角,很多情况下,人类很难一眼就看清这些主成分代表了什么含义。

PCA 算法优缺点分析

优点

1、降维使得原始数据的维度减少,送入算法,在训练过程中的消耗减少,能够提高效率;

2、PCA 丢弃了原始数据的一些信息,如果这些信息恰好是噪声,这就是 PCA 带给我们额外的好处,有点两全其美的意思;

3、PCA 虽然丢失了原始数据的一些信息,但和提高机器学习算法运算效率来说,还是比较轻的。

缺点

1、PCA 丢弃了原始数据的一些信息,如果这些数据恰好很重要,就不适合用 PCA 了;

2、PCA 分析得到的主成分意义不明确,不具有可解释性。

注意事项:

在进行降维之前,要先做数据预处理,通常要去均值。有的时候还要将数据的方差处理成 1 ,即数据标准化。

print('hello world')

PCA 最大方差理论的直观解释的更多相关文章

  1. 算法基础:BFS和DFS的直观解释

    算法基础:BFS和DFS的直观解释 https://cuijiahua.com/blog/2018/01/alogrithm_10.html 一.前言 我们首次接触 BFS 和 DFS 时,应该是在数 ...

  2. PCA算法详解——本质上就是投影后使得数据尽可能分散(方差最大),PCA可以被定义为数据在低维线性空间上的正交投影,这个线性空间被称为主⼦空间(principal subspace),使得投影数据的⽅差被最⼤化(Hotelling, 1933),即最大方差理论。

    PCA PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量 ...

  3. PCA算法的最小平方误差解释

    PCA算法另外一种理解角度是:最小化点到投影后点的距离平方和. 假设我们有m个样本点,且都位于n维空间 中,而我们要把原n维空间中的样本点投影到k维子空间W中去(k<n),并使得这m个点到投影点 ...

  4. 可能是CAP理论的最好解释

    一篇非常精彩的解释CAP理论的文章,翻译水平有限,不准确之处请参考原文,还请见谅. Chapter 1: "Remembrance Inc" Your new venture : ...

  5. 【翻译】可能是CAP理论的最好解释

    一篇非常精彩的解释CAP理论的文章,翻译水平有限,不准确之处请参考原文,还请见谅. Chapter 1: “Remembrance Inc” Your new venture : Last night ...

  6. 深度学习基础系列(三)| sigmoid、tanh和relu激活函数的直观解释

    常见的激活函数有sigmoid.tanh和relu三种非线性函数,其数学表达式分别为: sigmoid: y = 1/(1 + e-x) tanh: y = (ex - e-x)/(ex + e-x) ...

  7. ES : 软件工程学的复杂度理论及物理学解释

    系统论里面总是有一些通用的专业术语 比如复杂度.熵.焓,复杂度专门独立出来,成为复杂度理论 文章摘抄于:<非线性动力学> 刘秉政 编著  5.5 复杂性及其测度 热力学的几个专业术语 熵. ...

  8. sigmoid function的直观解释

    Sigmoid function也叫Logistic function, 在logistic regression中扮演将回归估计值h(x)从 [-inf, inf]映射到[0,1]的角色. 公式为: ...

  9. 关于L1和L2的直观解释

    https://blog.csdn.net/jinping_shi/article/details/52433975

随机推荐

  1. Codeforces Round #589 (Div. 2) (e、f没写)

    https://codeforces.com/contest/1228/problem/A A. Distinct Digits 超级简单嘻嘻,给你一个l和r然后寻找一个数,这个数要满足的条件是它的每 ...

  2. vue render 渲染函数

    vue render 渲染函数 经常看到使用render渲染函数的示例,而且在一些特殊情况下,确实更好使用,可以更加有效地细分组件,因而借助vue-element-admin来学习一波 render函 ...

  3. RabbitMQ入门教程(十一):消息属性Properties

    原文:RabbitMQ入门教程(十一):消息属性Properties 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://b ...

  4. centos:mysql主从同步配置(2018)

    centos:mysql主从同步配置(2018) https://blog.csdn.net/liubo_2016/article/details/82379115 主服务器:10.1.1.144; ...

  5. git 版本回退方法

    ORIG_HEAD 某些操作,例如 merage / reset 会把 merge 之前的 HEAD 保存到 ORIG_HEAD 中,以便在 merge 之后可以使用 ORIG_HEAD 来回滚到合并 ...

  6. java面试题全集(下)

      这部分主要是开源Java EE框架方面的内容,包括Hibernate.MyBatis.Spring.Spring MVC等,由于Struts 2已经是明日黄花,在这里就不讨论Struts 2的面试 ...

  7. (转) Java中的负数及基本类型的转型详解

    (转) https://my.oschina.net/joymufeng/blog/139952 面这行代码的输出是什么? 下面两行代码的输出相同吗? 请尝试在Eclipse中运行上面的两个代码片段, ...

  8. Prism MVVM使用WPF的DataGrid控件

    此项目源码下载地址:https://github.com/lizhiqiang0204/PrismDataGird01 运行效果如下 前端代码如下 <Window x:Class="V ...

  9. Kendo UI使用教程:入门指南

    [Kendo UI最新试用版下载] Kendo UI目前最新提供Kendo UI for jQuery.Kendo UI for Angular.Kendo UI Support for React和 ...

  10. Maven工程构建

    Maven 相关术语: 本地资源库:用来存储项目的依赖库,默认的文件夹是 “.m2” 目录 中央存储库: 用来下载所有项目的依赖库的默认位置 Maven pom.xml: 项目对象模型(Project ...