Principal components analysis(PCA):主元分析

  在因子分析(Factor analysis)中,介绍了一种降维概率模型,用EM算法(EM算法原理详解)估计参数。在这里讨论另外一种降维方法:主元分析法(PCA),这种算法更加直接,只需要进行特征向量的计算,不需要用到EM算法。

  假设数据集表示 m 个不同类型汽车的属性,比如最大速度,转弯半径等等. 对于任意一辆汽车,假设第 i 个属性和第 j 个属性 xixj 分别以 米/小时 和 千米/小时 来表示汽车的最大速度,那么很显然这两个属性是线性相关的,所以数据可以去掉其中一个属性,即在 n-1 维空间处理即可. 这只是一个小小的例子,在大多数现实的数据中,有太多这样的数据冗余和重复,所以要想办法自动检测和去掉这些数据冗余。

  例如现在对无线控制直升飞机的飞行员做一个调查,用衡量飞行员 i 的飞行技能的熟练程度,衡量飞行员享受飞行的程度,不过由于无线控制直升机很难操纵,所以只有那些具有熟练飞行技巧的飞行员才是真正享受飞行过程,才算得上优秀的飞行员。所以 x1x2 指向具有很大的关联。于是,我们根据 x1x画出数据,可以发现,数据主要都分布在坐标轴的角平分线方向变化 (u1所示方向),只有很少的点偏离这条线,如下图所示:

在执行PCA算法之前,需要对数据进行预处理,对数据的均值和方差进行归一化:

  1. 代替每一个
  2. 代替每一个

步骤(1-2)是为了保证数据的均值为0,对于那些均值本来就为0的数据集,这两步可以省略(例如语音的时序序列,或者其他声音信号).

步骤(3-4)保证每个坐标的方差为1,这样不同的属性值就被归一到同一个可比较的范围内处理,例如 x1 表示汽车的速度是几十或者几百米每小时,x2 表示汽车里面的座位数大约是2-4,那么就是通过方差的归一化使得这种差距较大的属性数据值有可比性。当然,如果我们确切知道原始数据中所有属性的取值都在同一个可比较的范围内,步骤(3-4)也是可以省略的,比如一个关于图像中各个像素点灰度值得数据集,每一个数据点的范围都是{0,1, ... ,255},所以方差就不用归一化.

预处理之后,如何检测出数据的主要变化方向呢?就是说想找到某一方向,使得大部分数据都近似分布在这个方向附近。

考虑下面进过归一化的数据:

下面我们画出了一个方向 u,圆点表示原始数据在 上的映射:

可以看出映射后的数据之间相距较远,即方差值较大,并且数据点都距原点较远,再考虑另一个方向:

可以看出,这些映射后的数据点方差较小,而且距离原点比较近。

我们想要做的就是运用算法自动从上面类似的各个方向中选出最合适的方向。



给定单位向量 u 和一个点 x, 映射到 上投影的长度为 xTu, 即一个数据集中的点 x(i) 映射到 u 上之后到原点的距离为 xTu

因为要选择出数据的主要变化方向 u, 从上面两个不同方向的例子可以看出,如果在原始数据主要沿某一方向变化较大,那么原始数据在这个方向上投影点的方差就较大,所以要找到u,就是最大化原数据在 u 方向上投影点的方差,通常把 u 设定为单位向量:

最大化上面的式子,注意到, 假设原始数据的均值为0(这一点要注意,同时也告诉我们为什么前面要将数据均值归一化为0),那么正好是原始数据的协方差矩阵(关于协方差矩阵的概念参考协方差详解l

要想使得上面式子取得最大值,u 必须取 Σ 的主特征向量方向(可以定性理解为一个矩阵的主特征方向包含着该矩阵最多的信息)。更加一般地,想要把原始数据映射到一个 k 维的子空间(k<n),应该选择出 Σ 的k个最主要的特征向量 u1, u2, ..., uk,k 个向量组成了一组新的正交基。

把数据映射到新的正交基所表示的空间:

这样在尽可能多保留原始数据信息的情况下,把数据由 n 维降低至 k 维.因此PCA就是一种数据降维算法, u1, u2, ..., uk,叫做原始数据的前 k 个主成分.关于具体实践参考:PCA和白化练习之处理二维数据.

有时候数据维度高不仅仅是因为数据存在冗余,而是存在了一些噪声,所以PCA同样具有降噪的作用。



总结:

PCA就是一种把原始数据投影到该数据集的主特征方向上的操作,因为一个数据集的主特征方向包含着绝大部分该数据的信息,通过选取合适数量的特征向量,既可以保留原始数据的信息,又能实现数据降维降噪,到底具体选取几个特征向量通常是根据特征值来判断,用选取的特征向量对应的特征值之和比上所有特征值之和,结果一般要求大于95%即可,即保留了原始数据95%的信息,当然也可以根据问题的具体要求,调整这个选择的阈值。

时间: 2024-08-28 11:18:27

Principal components analysis(PCA):主元分析的相关文章

Andrew Ng机器学习公开课笔记&ndash;Principal Components Analysis (PCA)

网易公开课,第14课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Components Analysis (PCA), 比Factor Analysis更为直接,计算也简单些 主成分分析基于, 在现实中,对于高维的数据,其中有很多维都是扰动噪音,或有些维是冗余的,对描述数据特征没有作用 比如我们在描述汽车速度的时候,用不同的单位mph or kph作为两维,其实只需要其中一维即可

[zz] Principal Components Analysis (PCA) 主成分分析

http://matlabdatamining.blogspot.com/2010/02/principal-components-analysis.html 英文Principal Components Analysis的博客,写的挺好,担心以后打不开,全文转载. Principal Components Analysis Introduction Real-world data sets usually exhibit relationships among their variables.

主成分分析(principal components analysis, PCA)

原理 计算方法 主要性质 有关统计量 主成分个数的选取 ------------------------------------------------------------------------------------------------------------------------ http://my.oschina.net/gujianhan/blog/225241 ---------------------------------------------------------

主成份分析(Principal Components Analysis)

因子分析是基于概率模型的基础上,利用EM算法的迭代,对参数进行估计.主成份分析(Principal Components Analysis, PCA)仅仅通过的线性变幻,用少数几个主分量来近似的表示所有的变量,以达到降低维度的目的. 一.  规范化(normalize) 规范化的目的是将不同尺度的数据化为同一尺度.规范化的步骤如下: (1)令 : (2)将所有替换为: (3)令: (4)将所有替换为. 其中,步骤(1)和步骤(2)将数据的均值转换为零:步骤(3)和步骤(4)使得数据都为单位方差,

机器学习:Principal components analysis (主分量分析)

Principal components analysis 这一讲,我们简单介绍Principal Components Analysis(PCA),这个方法可以用来确定特征空间的子空间,用一种更加紧凑的方式(更少的维数)来表示原来的特征空间.假设我们有一组训练集{x(i);i=1,...m},含有m个训练样本,每一个训练样本x(i)∈Rn,其中(n?m),每一个n维的训练 样本意味着有n个属性,一般来说,这n个属性里面,会有很多是存在一定相关性的,也就是很多属性是冗余的,这就为特征的降维提供了

A tutorial on Principal Components Analysis | 主成分分析(PCA)教程

A tutorial on Principal Components Analysis 原著:Lindsay I Smith, A tutorial on Principal Components Analysis, February 26, 2002. 翻译:houchaoqun.时间:2017/01/18.出处:http://blog.csdn.net/houchaoqun_xmu  |  http://blog.csdn.net/Houchaoqun_XMU/article/details

Stat2&mdash;主成分分析(Principal components analysis)

最近在猛撸<R in nutshell>这本课,统计部分涉及的第一个分析数据的方法便是PCA!因此,今天打算好好梳理一下,涉及主城分析法的理论以及R实现!come on-gogogo- 首先说一个题外话,记得TED上有一期,一个叫Simon Sinek的年轻人提出了一个全新的Why-How-What黄金圈理论(三个同心圆,最里面的一个是Why,中间一层是How,最外面一层是What:一般人的思维习惯是从里面的圆逐渐推到外面,而创造了伟大作品.引领了伟大运动的人们,其思维习惯则恰恰相反,逆向思维

【转载】主成分分析(Principal components analysis)-最小平方误差解释

主成分分析(Principal components analysis)-最小平方误差解释 接上篇 3.2 最小平方误差理论 假设有这样的二维样本点(红色点),回顾我们前面探讨的是求一条直线,使得样本点投影到直线上的点的方差最大.本质是求直线,那么度量直线求的好不好,不仅仅只有方差最大化的方法.再回想我们最开始学习的线性回归等,目的也是求一个线性函数使得直线能够最佳拟合样本点,那么我们能不能认为最佳的直线就是回归后的直线呢?回归时我们的最小二乘法度量的是样本点到直线的坐标轴距离.比如这个问题中,

Independent Components Analysis:独立成分分析

1. 引言 与 PCA 类似,Independent Components Analysis(ICA)同样是要找到一组新基去表示数据.但是目标大不相同. 为了阐述动机,举一个例子,考虑“鸡尾酒会问题”. 在酒会上,有 n 个演讲者同时讲话,房间里面的每一个麦克风都会记录所有演讲者声音混合起来的音频,但是由于每一个麦克风距离每一个演讲者的距离都不一样,所以没一个麦克风记录的混合音频是不一样的,那么用这些麦克风录下来的混合音频数据,我们能否将每一个演讲者的声音都区分出来呢? 为了方便讨论,假设某个数