降维方法之PCA

为什么要降维

在数据挖掘中,实际起作用的特征往往是未知的,因此在挖掘的过程中为了保证结果的准确性往往会引入大量的特征,但是这些特征包含的信息量各不相同,有些甚至与结果完全不相关,另外,特征之间也不一定是彼此独立的,有些是有交叉的,有共性的,相关的。在很多的应用中,数据特征数量十分庞大,不移除这些无关的特征会预测算法也不会有好的运行效果。

通过特征选取,即对特征进行降维,可以减少预测变量的数量,有效地提高算法运行速度,提升预测准确度。降维主要通过两个方面进行,一是去除与结果无关的特征,一是合并相关特征。降维的方法有很多,本文主要介绍主成分分析法。

主成分分析法简介

主成分分析(principal components analysis,PCA)又称:主分量分析,主成分回归分析法。主成分分析是设法将原来众多具有一定相关性(比如P个指标),重新组合成一组新的互相无关的综合指标来代替原来的指标。即主要通过消除相关特征来达到降维的目的。主成分分析实际就是将一些相关变量通过线性组合组合成单一变量来达到降维的目的。

使用主成分分析法降维的优缺点

  1. 优点:

    (1)可消除评估指标之间的相关影响。因为主成分分析法在对原始数据指标变量进行变换后形成了彼此相互独立的主成分,而且实践证明指标间相关程度越高,主成分分析效果越好。

    (2)可减少指标选择的工作量,对于其他评估方法,由于难以消除评估指标间的相关影响,所以选择指标时要花费不少精力,而主成分分析法由于可以消除这种相关影响,所以在指标选择上相对容易些。

    (3)主成分分析中各主成分是按方差大小依次排列顺序的,在分析问题时,可以舍弃一部分主成分,只取前面方差较大的几个主成分来代表原变量,从而减少了计算工作量。用主成分分析法作综合评估时,由于选择的原则是累计贡献率≥85%,不至于因为节省了工作量却把关键指标漏掉而影响评估结果。

  2. 缺点:

    主成分的解释其含义一般多少带有点模糊性,不像原始变量的含义那么清楚、确切,这是变量降维过程中不得不付出的代价。因此,提取的主成分个数m通常应明显小于原始变量个数p(除非p本身较小),否则维数降低的“利”可能抵不过主成分含义不如原始变量清楚的“弊”。

几何解释

寻求原指标的线性组合Fi
F1 = a11X1+a21X2+…+ap1Xp
F2 = a12X1+a22X2+…+ap2Xp

满足如下条件:
(1)每个主成分的系数平方和为1,
(2)主成分之间互相独立,即无重叠信息cov(Fi,Fj)= 0
(3)主成分的方差依次递减,重要性依次递减

PCA步骤

  1. 对原始数据标准化即每一维的数据都减去该维的均值,变换之后每一维的均值都变成了0
  2. 计算相关系数矩阵
  3. 计算协方差矩阵的特征值与特征向量
  4. 选取大的特征值对应的特征向量,得到新的数据集

知识准备

  1. 对角矩阵(diagonal matrix)是一个主对角线之外的元素皆为 0 的矩阵。对角线上的元素可以为 0 或其他值。矩阵可对角化的充分必要条件为n阶矩阵有n个先行无关的特征向量,或矩阵的每个特征值得重数等于对应特征子空间的(几何)维数
  2. 相似矩阵:设A,B为n阶矩阵,如果有n阶可逆矩阵P存在,使得P^(-1)AP=B,则称矩阵A与B相似,记为A~B。若A与B相似,则A与B有着相同的特征方程和特征值。
  3. 若矩阵可对角化,则可按下列步骤来实现:
    (1) 求出的全部特征值;
    (2) 对每一个特征值,设其重数为1,则对应齐次方程组的基础解系由个向量构成, 即为对应的线性无关的特征向量;
    (3) 上面求出的特征向量恰好为矩阵的个线性无关的特征向量;
  4. 因子载荷量
    主成分与变量间的相关系数即因子载荷量的大小和它前面的正负号直接反映了主成分与相关变量之间关系的密切程度和方向,从而可以说明各主成分的意义。

问题

  1. 对训练数据进行降维后,如何对测试数据进行降维?

比较好的文章

http://blog.sina.com.cn/s/blog_61b8694b0101jg4f.html
http://my.oschina.net/gujianhan/blog/225241
http://www.cnblogs.com/zhangchaoyang/articles/2222048.html
http://wenku.baidu.com/view/f786f6be1a37f111f1855bf7.html?from
http://blog.csdn.net/qq1987924/article/details/45965431
http://blog.csdn.net/rogerzhanglijie/article/details/8251359