PCA要做什么?

     

我们想将数据从二维降到一维,那么怎么找到这条好的直线对数据进行投影呢?

上图中红色的那条直线是个不错的选择,因为点到投影到这条直线上的点之间的距离(蓝色的线)非常小;反之那条粉红色的线,数据投影到这条线上的距离非常大,所以PCA会选择红色的那条线而不是粉色的那条线。

PCA要做的就是寻找一个低维的面(本例中为直线),数据投影到上面,使得这些蓝色小线段的平方和达到最小值

这些蓝色线段的长度称为投影误差(projection error)

在应用PCA之前,通常进行features scaling(按比例缩放) 和mean normalization(均值归一化),使features的均值为0,使它们的数值在可比较的范围之内

正式的表达PCA要做什么?

对于从2维降到1维,就是要寻找一个向量(向量是2维的),将数据投影到这个向量决定的直线上,使得投影误差最小.至于向量是正的还是负的都可以,因为它们决定的是同一条直线

对于从n维到k维,就是寻找k个向量(向量属于Rn),使得将数据投影到这k个向量决定的子空间上,使得投影误差最小

PCA与linear regression之间的区别

PCA虽然与linear regression看出去很像,但是它们有很大的差别

左图是linear regression,它是要拟合一条直线,使得图中蓝色线段的距离和最小(这个距离是和x轴垂直的),即实际的值与预测的值之间的距离

右图是PCA,它是要使点到红色直线的距离和(这个距离是与红色直线垂直的而不是x轴)最小,即实际的点到要降维的直线上的点的距离(走到那儿经过的距离,即将二维的点降维到一维的直线上去)

还有一点不同是,linear regression通过x值来预测y值,而PCA中只有x1,x2,......xn,没有y值

例如(右图):将三维空间的点约简到二维,即找到二个方向(u(1)和u(2)),将数据投影到上面,即原来我有三个features:x1,x2,x3(这些都是被同等对待,没有特殊的变量y需要预测),因此PCA与linear regression有很大的不同

总结

PCA是寻找一个低维的平面,对数据进行投影,以便最小化投影误差的平方

Principal Component Analysis: 用公式来描述我们想要PCA做什么的更多相关文章

  1. (4)主成分分析Principal Component Analysis——PCA

    主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...

  2. 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理

    0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...

  3. PCA(Principal Component Analysis)主成分分析

    PCA的数学原理(非常值得阅读)!!!!   PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...

  4. Simplicial principal component analysis for density functions in Bayes spaces

    目录 问题 上的PCA Hron K, Menafoglio A, Templ M, et al. Simplicial principal component analysis for densit ...

  5. A pure L1-norm principal component analysis

    @ 目录 问题 细节 的损失函数 算法 投影 坐标系 载荷向量 A pure L1-norm principal component analysis 虽然没有完全弄清楚其中的数学内涵,但是觉得有趣, ...

  6. Principal Component Analysis(PCA) algorithm summary

    Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...

  7. Robust Principal Component Analysis?(PCP)

    目录 引 一些微弱的假设: 问题的解决 理论 去随机 Dual Certificates(对偶保证?) Golfing Scheme 数值实验 代码 Candes E J, Li X, Ma Y, e ...

  8. Sparse Principal Component Analysis via Rotation and Truncation

    目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...

  9. 《principal component analysis based cataract grading and classification》学习笔记

    Abstract A cataract is lens opacification caused by protein denaturation which leads to a decrease i ...

随机推荐

  1. MF 模拟器读取PC串口数据

    using System; using Microsoft.SPOT; using Microsoft.SPOT.Input; using Microsoft.SPOT.Presentation; u ...

  2. ProxyGenerator proxy = new ProxyGenerator(); 代理+拦截器模式

    所谓代理,就是不直接访问目标对象,而是由中间对象生成一个目标代理类,由中间代理对象来代理目标对象的方法.Java里面有JDK和CGLIB代理.C#里面则使用Castle代理.nuget引用如下: &l ...

  3. vba实现工具的序列号验证框架

    对于密码破译方面笔者不太懂,之前对于各种序列号的激活也有些臆测,自己根据想法做了个序列号验证的小框架,以后做的工具也可以用之保护一下下... 主要思路是:用户打开小工具后,系统检测是否已激活,如果未激 ...

  4. linux终端命令行前缀设置为“当前目录”(非绝对路径)

    操作 打开家目录下的隐藏文件.bashrc 定位到62行,将小写的\W改为大写,保存即可. 重新打开bash 注意: /etc/profile , /etc/bashrc等文件里的环境变量设置会被.b ...

  5. t100 debug常用指令

    1.     r.d 程式代號 Find (Ctrl+F) => Find Next(F3). 設中斷點(Toggle):Double Click => Run/Continue the ...

  6. Python与MogoDB交互

    睡了大半天,终于有时间整理下拖欠的MongoDB的封装啦. 首先我们先进行下数据库的连接: conn = MongoClient('localhost',27017) # 建立连接 result = ...

  7. yii框架里DetailView视图和GridView的区别

    1,首先从语义上分析 DetailView是数据视图,用于显示一条记录的数据,相当于网页中的详情页 GridView是网格视图,用于显示数据表里的所有记录,相当于网页里的列表页 2.用法上的区别 首先 ...

  8. Vue学习之项目部分代码(十八)

    1.mian.js: // 入口文件 import Vue from "vue"; // 1.1导入路由 import VueRouter from "vue-route ...

  9. 在vue组件中访问vuex模块中的getters/action/state

    store的结构: city模块: 在各模块使用了命名空间的情况下,即 namespaced: true 时: 组件中访问模块里的state 传统方法: this.$store.state['模块名' ...

  10. 2647673 - HANA Installation Failure with signal 11 core dumped

    Symptom HANA 2.0 SPS03 installation using hdblcmgui failed due to the below error message. [Error] / ...