Principal Component Analysis: 用公式来描述我们想要PCA做什么
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做什么的更多相关文章
- (4)主成分分析Principal Component Analysis——PCA
主成分分析Principal Component Analysis 降维除了便于计算,另一个作用就是便于可视化. 主成分分析-->降维--> 方差:描述样本整体分布的疏密,方差越大-> ...
- 从矩阵(matrix)角度讨论PCA(Principal Component Analysis 主成分分析)、SVD(Singular Value Decomposition 奇异值分解)相关原理
0. 引言 本文主要的目的在于讨论PAC降维和SVD特征提取原理,围绕这一主题,在文章的开头从涉及的相关矩阵原理切入,逐步深入讨论,希望能够学习这一领域问题的读者朋友有帮助. 这里推荐Mit的Gilb ...
- PCA(Principal Component Analysis)主成分分析
PCA的数学原理(非常值得阅读)!!!! PCA(Principal Component Analysis)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可 ...
- 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 ...
- A pure L1-norm principal component analysis
@ 目录 问题 细节 的损失函数 算法 投影 坐标系 载荷向量 A pure L1-norm principal component analysis 虽然没有完全弄清楚其中的数学内涵,但是觉得有趣, ...
- Principal Component Analysis(PCA) algorithm summary
Principal Component Analysis(PCA) algorithm summary mean normalization(ensure every feature has sero ...
- Robust Principal Component Analysis?(PCP)
目录 引 一些微弱的假设: 问题的解决 理论 去随机 Dual Certificates(对偶保证?) Golfing Scheme 数值实验 代码 Candes E J, Li X, Ma Y, e ...
- Sparse Principal Component Analysis via Rotation and Truncation
目录 对以往一些SPCA算法复杂度的总结 Notation 论文概述 原始问题 问题的变种 算法 固定\(X\),计算\(R\) 固定\(R\),求解\(X\) (\(Z =VR^{\mathrm{T ...
- 《principal component analysis based cataract grading and classification》学习笔记
Abstract A cataract is lens opacification caused by protein denaturation which leads to a decrease i ...
随机推荐
- MF 模拟器读取PC串口数据
using System; using Microsoft.SPOT; using Microsoft.SPOT.Input; using Microsoft.SPOT.Presentation; u ...
- ProxyGenerator proxy = new ProxyGenerator(); 代理+拦截器模式
所谓代理,就是不直接访问目标对象,而是由中间对象生成一个目标代理类,由中间代理对象来代理目标对象的方法.Java里面有JDK和CGLIB代理.C#里面则使用Castle代理.nuget引用如下: &l ...
- vba实现工具的序列号验证框架
对于密码破译方面笔者不太懂,之前对于各种序列号的激活也有些臆测,自己根据想法做了个序列号验证的小框架,以后做的工具也可以用之保护一下下... 主要思路是:用户打开小工具后,系统检测是否已激活,如果未激 ...
- linux终端命令行前缀设置为“当前目录”(非绝对路径)
操作 打开家目录下的隐藏文件.bashrc 定位到62行,将小写的\W改为大写,保存即可. 重新打开bash 注意: /etc/profile , /etc/bashrc等文件里的环境变量设置会被.b ...
- t100 debug常用指令
1. r.d 程式代號 Find (Ctrl+F) => Find Next(F3). 設中斷點(Toggle):Double Click => Run/Continue the ...
- Python与MogoDB交互
睡了大半天,终于有时间整理下拖欠的MongoDB的封装啦. 首先我们先进行下数据库的连接: conn = MongoClient('localhost',27017) # 建立连接 result = ...
- yii框架里DetailView视图和GridView的区别
1,首先从语义上分析 DetailView是数据视图,用于显示一条记录的数据,相当于网页中的详情页 GridView是网格视图,用于显示数据表里的所有记录,相当于网页里的列表页 2.用法上的区别 首先 ...
- Vue学习之项目部分代码(十八)
1.mian.js: // 入口文件 import Vue from "vue"; // 1.1导入路由 import VueRouter from "vue-route ...
- 在vue组件中访问vuex模块中的getters/action/state
store的结构: city模块: 在各模块使用了命名空间的情况下,即 namespaced: true 时: 组件中访问模块里的state 传统方法: this.$store.state['模块名' ...
- 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] / ...