Skip to content

Latest commit

 

History

History
98 lines (74 loc) · 6.31 KB

13.利用PCA来简化数据.md

File metadata and controls

98 lines (74 loc) · 6.31 KB

第13章 利用PCA来简化数据

利用PCA简化数据_首页

场景描述:

  • 我们正通过电视而非现场观看体育比赛,在电视的纯平显示器上有一个球。
  • 显示器大概包含了100万像素,而球则可能是由较少的像素组成,例如说一千个像素。
  • 人们实时的将显示器上的百万像素转换成为一个三维图像,该图像就给出运动场上球的位置。
  • 在这个过程中,人们已经将数据从一百万维降至了三维。这就被称为降维(dimensionality reduction)

降维技术

数据显示并非大规模特征下的唯一难题,对数据进行简化还有如下一系列的原因:

    1. 使得数据集更容易使用
    1. 降低很多算法的计算开销
    1. 去除噪音
    1. 使得结果易懂

适用范围:

  • 在已标注与未标注的数据上都有降维技术。
  • 这里我们将主要关注未标注数据上的降维技术,将技术同样也可以应用于已标注的数据。

在以下3种降维技术中, PCA的应用目前最为广泛,因此本章主要关注PCA。

    1. 主成分分析(Principal Component Analysis, PCA)
    • 通俗理解:就是找出一个最主要的特征,然后进行分析。
    • 例如: 考察一个人的智力情况,就直接看数学成绩就行(存在:数学、语文、英语成绩)
    • a.将数据从原来的坐标系转换到了新的坐标系,新的坐标系的选择是由数据本身决定的。
    • b.第一个新坐标轴选择的是原始数据中方差最大的方向
    • c.第二个新坐标轴的选择和第一个坐标轴正交(orthogonal 如果是二维空间就叫垂直)且具有最大方差的方向。
    • d.该过程一直重复,重复次数为原始数据中特征的数目。
    • 我们会发现,大部分方差都包含在最前面的几个新坐标轴中。因此,我们可以忽略余下的坐标轴,即对数据进行了降维处理。
    1. 因子分析(Factor Analysis)
    • 通俗理解:将多个实测变量转换为少数几个综合指标,它反映一种降维的思想.通过降维将相关性高的变量聚在一起,从而减少需要分析的变量的数量,而减少问题分析的复杂性
    • 例如: 考察一个人的整体情况,就直接组合3样成绩(隐变量),看平均成绩就行(存在:数学、语文、英语成绩)
    • 应用的领域:社会科学、金融和其他领域
    • 在因子分析中,我们
      • 假设观察数据的生成中有一些观察不到的隐变量(latent variable)。
      • 假设观察数据是这些隐变量和某些噪音的线性组合。
      • 那么隐变量的数据可能比观察数据的数目少,也就说通过找到隐变量就可以实现数据的降维。
    1. 独立成分分析(Independ Component Analysis, ICA)
    • 通俗理解:PCA(主成分分析)寻找的是,使得投影之后,尽量保留原有信息量的投影方向。 ICA(独立主成分分析)寻找的是,使得投影之后,数据之间相互独立的投影方向。
    • 例如:我们去ktv唱歌,想辨别唱的是哪首歌,PCA就是搜录歌词;而ICA是对歌词按人进行完全的拆分。
    • ICA假设数据是从N个数据源生成的,这一点和因子分析有些类似。
    • 假设数据为多个数据源的混合观察结果,这些数据源之间在统计上是相互独立的,而在PCA中只假设数据是不相关的。
    • 同因子分析一样,如果数据源的数目少于观察数据的数目,则可以实现降维过程。

主成分分析(PCA)

PCA的优缺点

  • 优点:降低数据的复杂性,识别最重要的多个特征。
  • 缺点:不一定需要,且可能损失有用信息。
  • 适用数据类型:数值型数据。

通过PCA进行降维处理,我们就可以同时获得SVM和决策树的优点:

  • 一方面,得到了和决策树一样简单的分类器,同时分类间隔和SVM一样好。
    • 1.第一个主成分就是来自于数据差异性最大(即 方差最大)的方向提取出来
    • 2.第二个主成分就是来自于数据差异性次大的方向,并且该方向于第一个主成分方向正交。
    • 3.通过数据集的协方差矩阵及其特征值分析,我们就可以得到这些主成分的值。
    • 一旦得到了协方差矩阵的特征向量,我们就可以保留最大的N个值。这些特征向量也给出了N个最重要特征的真实结构。我们可以通过将数据乘上这N个特征向量而将它转换到新的空间。
  • 例如下图:
  • 应用PCA降维

对半导体数据进行降维处理

半导体是在一些极为先进的工厂中制造出来的。设备的生命早期有限,并且话费极其巨大。
虽然通过早起测试和频繁的测试来发现有瑕疵的产品,但仍有一些存在瑕疵的产品通过测试。
如果我们通过机器学习技术用于发现瑕疵产品,那么它就会为制造商节省大量的资金。

具体来讲,它拥有590个特征。我们看看能否对这些特征进行降维处理。

对于数据的缺失值的问题,我们有一些处理方法(参考第5章)
目前该章节处理的方案是:将缺失值NaN(Not a Number缩写),全部用平均值来替代(如果用0来处理的策略就太差劲了)。

本章小节

降维技术使得数据变的更易使用,并且它们往往能够去除数据中的噪音,使得其他机器学习任务更加精确。
降维往往作为预处理步骤,在数据应用到其他算法之前清洗数据。
比较流行的降维技术: 独立主成分分析、因子分析 和 主成分分析, 其中又以主成分分析应用最广泛。

本章中的PCA将所有的数据集都调入了内存,如果无法做到,就需要其他的方法来寻找其特征值。
如果使用在线PCA分析的方法,你可以参考一篇优秀的论文 "Incremental Eigenanalysis for Classification"。 
下一章要讨论的奇异值分解方法也可以用于特征值分析。