PCA: PCA的具体实现过程】的更多相关文章

 数据预处理:mean normalization & feature scaling 先进行均值归一化(mean normalization),计算出每个特征的均值(uj),然后用xj-uj来替代,这样归一化后每个特征的均值就为0了 由于不同特征的取值范围有很大的不同(如一个为房子面积,一个为房间数目),将每个特征进行feature scaling,使特征处于同一可比较范围.如上图公式所示来进行feature scaling,Sj某个特征的取值范围或者标准差…
大家看了之后,可以点一波关注或者推荐一下,以后我也会尽心尽力地写出好的文章和大家分享. 本文先导:在我们平时看NBA的时候,可能我们只关心球员是否能把球打进,而不太关心这个球的颜色,品牌,只要有3D效果,看到球员扣篮的动作就可以了,比如下图: 如果我们直接对篮球照片进行几百万像素的处理,会有几千维甚至几万维的数据要计算,计算量很大.而往往我们只需要大概勾勒出篮球的大概形状就可以描述问题,所以必须对此类数据降维,这样会使处理数据更加轻松.这个在人脸识别中必须要降维,因为我们在做特征提取的时候几万维…
MATLAB基础知识 l  Imread:  读取图片信息: l  axis:轴缩放:axis([xmin xmax ymin ymax zmin zmax cmin cmax]) 设置 x.y 和 z 轴范围以及颜色缩放范围(请参阅 caxis).v = axis 返回包含 x.y 和 z 轴缩放因子的行矢量.v 具有 4 或 6 个分量,具体分别取决于当前坐标轴是二维还是三维.返回值是当前坐标轴的 XLim.Ylim 和 ZLim 属性.   基于 x.y 和 z 数据的最小值和最大值,ax…
我理解PCA应该分为2个过程:1.求出降维矩阵:2.利用得到的降维矩阵,对数据/特征做降维. 这里分成了两篇博客,来做总结. http://matlabdatamining.blogspot.com/2010/02/principal-components-analysis.html 英文Principal Components Analysis的博客,这种思路挺好,但是有2处写错了,下面有标注. http://www.cnblogs.com/denny402/p/4020831.html 这个…
人脸数据来自http://www.cl.cam.ac.uk/research/dtg/attarchive/facedatabase.html 实现代码和效果如下.由于图片数量有限(40*10),将原有图片顺序打乱进行检测. 可见马氏距离效果最佳. [以下公式和文字来自John Hany的博文 http://johnhany.net/2016/05/from-qr-decomposition-to-pca-to-face-recognition/] PCA(Principal Component…
首先,必须说明的是,这篇文章是完完全全复制百度文库当中的一篇文章.本人之前对PCA比较好奇,在看到这篇文章之后发现其对PCA的描述非常详细,因此迫不及待要跟大家分享一下,希望同样对PCA比较困惑的朋友能够从这篇文章中得到启发.虽然不知道作者是谁,但是还是非常感谢本文的作者.整篇文章从简单的例子引入这个PCA的算法,当中涉及最主要的知识就是矩阵论,因此如果有看不懂的朋友可以先去对矩阵论进行一些学习,这样对PCA的理解会有很大的帮助. 下面的描述格式方面可能有点出入,因此大家也可以直接通过下面的链接…
接着上次的记,前面看了稀疏自编码.按照讲义,接下来是Vectorized, 翻译成向量化?暂且这么认为吧. Vectorized: 这节是老师教我们编程技巧了,这个向量化的意思说白了就是利用已经被优化了的数值运算来编程,矩阵的操作 尽量少用for循环,用已有的矩阵运算符来操作.这里只是粗略的看了下,有些小技巧还是不错的. PCA: PCA这个以前都接触过了,简单说就是两步: 1.协方差矩阵 其中x(i)是输入样本(假设已经均值化). 2.SVD分解,得出U向量.其中U向量的每列就是样本的新的方向…
2.5. Decomposing signals in components (matrix factorization problems) 2.5.1. Principal component analysis (PCA) 4.4. Unsupervised dimensionality reduction 4.4.1. PCA: principal component analysis PCA+ICA 解混过程:https://www.zhihu.com/question/28845451…
第13章 利用 PCA 来简化数据 降维技术 场景 我们正通过电视观看体育比赛,在电视的显示器上有一个球. 显示器大概包含了100万像素点,而球则可能是由较少的像素点组成,例如说一千个像素点. 人们实时的将显示器上的百万像素转换成为一个三维图像,该图像就给出运动场上球的位置. 在这个过程中,人们已经将百万像素点的数据,降至为三维.这个过程就称为降维(dimensionality reduction) 数据显示 并非大规模特征下的唯一难题,对数据进行简化还有如下一系列的原因: 使得数据集更容易使用…
主成分分析,即Principal Component Analysis(PCA),是多元统计中的重要内容,也广泛应用于机器学习和其它领域.它的主要作用是对高维数据进行降维.PCA把原先的n个特征用数目更少的k个特征取代,新特征是旧特征的线性组合,这些线性组合最大化样本方差,尽量使新的k个特征互不相关.关于PCA的更多介绍,请参考:https://en.wikipedia.org/wiki/Principal_component_analysis. PCA的主要算法如下: 组织数据形式,以便于模型…
本文是对PCA和SVD学习的整理笔记,为了避免很多重复内容的工作,我会在介绍概念的时候引用其他童鞋的工作和内容,具体来源我会标记在参考资料中. 一.PCA (Principle component analysis) PCA(主成分分析)通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维. 为什么需要降维?以下图为例,图c中的点x y 呈现明显线性相关,假如以数据其实以数据点分布的方向的直线上的投影(一维)已经能够很好的描述这组数据特点了 .…
一.什么是PCA PCA,即PrincipalComponents Analysis,也就是主成份分析: 通俗的讲,就是寻找一系列的投影方向,高维数据按照这些方向投影后其方差最大化(方差最大的即是第一主成份,方差次大的为第二主成份... 如下图:数据点沿该方向投影后,方差最大,投影之后,由于各个点之间的距离之最大化的,因此彼此之间是最容易区分的 二.一些应用 1.数据降维 比如比较常见的人脸识别,假设有10副脸部图像,每副图像存贮为512*512大小的矩阵,经过特征提取后features可能为1…
第十三章 利用PCA来简化数据 一.降维技术 当数据的特征很多的时候,我们把一个特征看做是一维的话,我们数据就有很高的维度.高维数据会带来计算困难等一系列的问题,因此我们需要进行降维.降维的好处有很多,比如:降低算法开销,让数据更加便于使用,去燥,数据更易于显示等等. 目前的降维技术主要有三种:第一种主成分分析(PCA),也就是本章介绍的内容,它只保留方差方向最大的若干个特征:第二种是因子分析,这种方法它的思想就是认为数据是由隐参数和噪声混合而成,如果我们能够找到隐参数和噪声就能够实现降维:第三…
一.PCA理论介绍 网上已经有许多介绍pca原理的博客,这里就不重复介绍了.详情可参考 http://blog.csdn.net/zhongkelee/article/details/44064401 计算过程 数据互换 二.opencv代码 #include<opencv2/opencv.hpp> using namespace cv; using namespace std; void calcPCAOrientation(vector<Point>&pts, Mat…
一:引入问题 首先看一个表格,下表是某些学生的语文,数学,物理,化学成绩统计: 首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系,那么如何判断三个学生的优秀程度呢?首先我们一眼就能看出来,数学,物理,化学这三门课的成绩构成了这组数据的主成分(很显然,数学作为第一主成分,因为数据成绩拉的最开). 那么为什么我们能一眼看出来呢? 当然是我们的坐标轴选对了!! 下面,我们继续看一个表格,下标是一组学生的数学,物理,化学,语文,历史,英语成绩统计: 那么这个表我们能一眼看出来吗?…
机器学习笔记 多项式回归这一篇中,我们讲到了如何构造新的特征,相当于对样本数据进行升维. 那么相应的,我们肯定有数据的降维.那么现在思考两个问题 为什么需要降维 为什么可以降维 第一个问题很好理解,假设我们用KNN训练一些样本数据,相比于有1W个特征的样本,肯定是训练有1K个特征的样本速度更快,因为计算量更小嘛. 第二个问题,为什么可以降维.一个样本原先有1W个特征,现在减少到1K个,不管如何变换,数据包含的信息肯定是减少了,这是毫无疑问的.但是信息的减少是否意味着我们对于样本的认知能力的下降?…
主成分分析(principal component analysis)是一种常见的数据降维方法,其目的是在“信息”损失较小的前提下,将高维的数据转换到低维,从而减小计算量. PCA的本质就是找一些投影方向,使得数据在这些投影方向上的方差最大,而且这些投影方向是相互正交的.这其实就是找新的正交基的过程,计算原始数据在这些正交基上投影的方差,方差越大,就说明在对应正交基上包含了更多的信息量.后面会证明,原始数据协方差矩阵的特征值越大,对应的方差越大,在对应的特征向量上投影的信息量就越大.反之,如果特…
降维技术的好处: 1.使得数据集更易使用 2.降低很多算法的计算开销 3.取出噪声 4.使得结果易懂 在已标注和未标注的数据上都有降维技术,降维的方法: 1.主成分分析(Principal Component Analysis,PCA).在PCA中,数据从原来的坐标系转换到新的坐标系,新坐标系的选择是由数据本身决定的.第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向.该过程中一直重复,重复次数为原始数据中特征的数目.我们会发现,大部分方差…
前言: PCA是大家经常用来减少数据集的维数,同时保留数据集中对方差贡献最大的特征来达到简化数据集的目的.本文通过使用PCA来提取人脸中的特征脸这个例子,来熟悉下在oepncv中怎样使用PCA这个类. 开发环境:ubuntu12.04+Qt4.8.2+QtCreator2.5.1+opencv2.4.2 PCA数学理论: 关于PCA的理论,资料很多,公式也一大把,本人功底有限,理论方面这里就不列出了.下面主要从应用的角度大概来讲讲具体怎么实现数据集的降维. 把原始数据中每个样本用一个向量表示,然…
目录 PCA思想 问题形式化表述 PCA之协方差矩阵 协方差定义 矩阵-特征值 PCA运算步骤 PCA理论解释 最大方差理论 性质 参数k的选取 数据重建 主观理解 应用 代码示例 PCA思想 PCA主要用于数据降维,是一种无监督学习方法.主成分分析利用正交变换将可能存在相关性的原始属性转换成一组线性无关的新属性,并通过选择重要的新属性实现降维.由一系列特征组成的多维向量,其中某些元素本身没有区分性,比如某个元素在所有样本中都相等,或者彼此差距不大,那么那个元素对于区分的贡献度小.我们的目的即为…
一.特征向量/特征值 Av = λv 如果把矩阵看作是一个运动,运动的方向叫做特征向量,运动的速度叫做特征值.对于上式,v为A矩阵的特征向量,λ为A矩阵的特征值. 假设:v不是A的速度(方向) 结果如上,不能满足上式的. 二.协方差矩阵 方差(Variance)是度量一组数据分散的程度.方差是各个样本与样本均值的差的平方和的均值. 协方差(Covariance)是度量两个变量的变动的同步程度,也就是度量两个变量线性相关性程度.如果两个变量的协方差为0,则统计学上认为二者线性无关.而方差是协方差的…
如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值.这里可以将特征值为负,特征向量旋转180度,也可看成方向不变,伸缩比为负值.所以特征向量也叫线性不变量 PCA的物理意义: 各种不同的信号(向量)进入这个系统中后,系统输出的信号(向量)就会发生相位滞后.放大.缩小等各种纷乱的变化.但只有特征信号(特征向量)被稳定的发生放大(或缩小)的变化.如果把系统的输出端口接入输入端口,那么只有特征信号(特征向量)第二次被放大…
1.  向量及其基变换 1.1 向量内积 (1)两个维数同样的向量的内积定义例如以下: 内积运算将两个向量映射为一个实数. (2) 内积的几何意义 如果A\B是两个n维向量, n维向量能够等价表示为n维空间中的一条从原点发射的有向线段, 为方便理解, 在这里如果A和B都是二维向量.A=(x1,y1) , B=(x2,y2),在二维平面上A/B能够用两条发自原点的有向线段表示,例如以下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6…
一.PCA基础 线性映射(或线性变换),简单的来说就是将高维空间数据投影到低维空间上,那么在数据分析上,我们是将数据的主成分(包含信息量大的维度)保留下来,忽略掉对数据描述不重要的成分.即将主成分维度组成的向量空间作为低维空间,将高维数据投影到这个空间上就完成了降维的工作. 在 PCA中,数据从原来的坐标系转换到了新的坐标系,新坐标系的选择是由数据本身决定的.第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴的选择和第一个坐标轴正交且具有最大方差的方向.该过程一直重复,重复次数为原始…
我们知道,PCA是用于对数据做降维的,我们一般用PCA把m维的数据降到k维(k < m). 那么问题来了,k取值多少才合适呢? PCA误差 PCA的原理是,为了将数据从n维降低到k维,需要找到k个向量,用于投影原始数据,是投影误差(投影距离)最小.  用公式来表示,如下 其中 m表示特征个数 分子表示原始点与投影点之间的距离之和,而误差越小,说明降维后的数据越能完整表示降维前的数据.如果这个误差小于0.01,说明降维后的数据能保留99%的信息. k值选取的原理 实际应用中,我们一般根据上式,选择…
机器学习(8) -- 降维 核心思想:将数据沿方差最大方向投影,数据更易于区分 简而言之:PCA算法其表现形式是降维,同时也是一种特征融合算法. 对于正交属性空间(对2维空间即为直角坐标系)中的样本点,如何用一个超平面(直线/平面的高维推广)对所有样本进行恰当的表达? 事实上,若存在这样的超平面,那么它大概应具有这样的性质: 最近重构性 : 样本点到这个超平面的距离都足够近: 最大可分性:样本点在这个超平面上的投影能尽可能分开. 一般的,将特征量从n维降到k维: 以最近重构性为目标,PCA的目标…
PCA PCA(Principal Component Analysis,主成分分析)是一种常用的数据分析方法.PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维.网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理.这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么. 当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述PCA的数学原理,所以整个文章不会引入严格的…
一.思维理解 X:原始数据集: Wk:原始数据集 X 的前 K 个主成分: Xk:n 维的原始数据降维到 k 维后的数据集: 将原始数据集降维,就是将数据集中的每一个样本降维:X(i) . WkT = Xk(i): 在人脸识别中,X 中的每一行(一个样本)就是一张人脸信息: 思维:其实 Wk 也有 n 列,如果将 Wk 的每一行看做一个样本,则第一行代表的样本为最重要的样本,因为它最能反映 X 中数据的分布,第二行为次重要的样本:在人脸识别中,X 中的每一行是一个人脸的图像,则 Wk 的每一行也…
一.数据 获取数据 import numpy as np from sklearn.datasets import fetch_mldata mnist = fetch_mldata("MNIST original") sklearn 的 datasets 中,一个特有的方法:fetch_mldata,使用此方法可以直接从一个官方网站中下载各种机器学习数据: 格式:datas = fetch_mldata("字符串"): 查看数据 mnist # 输出: {'COL…
一.基础理解 1) PCA 降维的基本原理 寻找另外一个坐标系,新坐标系中的坐标轴以此表示原来样本的重要程度,也就是主成分:取出前 k 个主成分,将数据映射到这 k 个坐标轴上,获得一个低维的数据集. 2)主成分分析法的本质 将数据集从一个坐标系转换到另一个坐标系,原坐标系有 n 个维度(n 中特征),则转换的新坐标系也有 n 个维度,每个主成分表示一个维度,只是对于转换后的坐标系,只取前 k 个维度(也就是前 k 个主成分),此 k 个维度相对于数据集更加重要,形成矩阵 Wk : 3)将 n…