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. Intellij IDEA debug断点调试技巧与总结详解篇

    1. Rerun . 这个就是结束debug模式,直接以run的方式重新跑某个程序.2. 直接跑完. 到下一个断点停下. 没有就直接跑完程序.3. 停止项目或者程序.要是自己的main呢. 点一下就停 ...

  2. springcloud使用之断路器hystrix

    上一篇文章提到我们最近开了个新项目,目的是将新的业务放到新项目中,老项目单独维护,再逐步迁移老项目到新项目里.但就在前端时间生产环境发生了一个事故,事故开始的异常是我们的业务发现前端h5页面办理很慢, ...

  3. 「UR#5」怎样更有力气

    「UR#5」怎样更有力气 解题思路 考虑没有限制的情况,一定是把操作离线下来,按照边权从小到达做.可以发现,如果没有限制,完全图是多余的,直接拿树边进行合并就可以了.我们要做这么一件事情,把每个点属于 ...

  4. Maven:浅析依赖(dependency)关系中 scope 的含义

    在 Pom4 中,dependency 元素中引入了 scope 元素,这是一个很重要的属性.在Maven 项目中 Jar 包冲突.类型转换异常的很大原因是由于 scope 元素使用不当造成的. sc ...

  5. python基础知识(七)---数据类型补充、"雷区"、编码

    数据类型补充."雷区".编码 1.数据类型补充 str: #字符串数据类型补充 s1=str(123) #常用于类型转换 print(s1) #capitalize()首字母大写 ...

  6. Linux系统快速入门方法

    相信看到这篇文章的你一定是想要学习Linux,或者已经在学习Linux的人了,那我们就可以一起探讨一下,学习Linux如何快速入门呢? 首先,希望大家弄清楚自己为什么要学习Linux,有的人是因为兴趣 ...

  7. Linux 软链接和硬链接简介

    在Linux系统中,将文件分为两个部分:用户数据和元数据. 元数据(inode) 元数据即文件的索引节点(inode),用来记录文件的权限(r.w.x).文件的所有者和属组.文件的大小.文件的状态改变 ...

  8. Flutter Platform Channels

    Flutter Platform Channels(一) https://www.jianshu.com/p/33ac774f99b1 https://www.jianshu.com/p/c1e206 ...

  9. InputStream和OutputStream及相关知识汇总

    https://www.jianshu.com/p/e5bc7ea5f948 最近帮学姐写爬虫的时候遇到奇怪的问题,同样的程序在Mac上可以正常运行而在Windows上返回结果错误,最后经排查发现是L ...

  10. 重要知识点angularjs $http.get 和 $http.post 传递参数(!!!格式不一样!!!!)

    $http.get请求数据的格式 $http.get(URL,{ params: { "id":id } }) .success(function(response, status ...