数据降维

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据降维

随着信息获取与处理技术的飞速发展,人们获取信息和数据的能力越来越强,高维数据频繁地出现于科学研究以及产业界等相关领域。为了对客观事物进行细致的描述,人们往往需要利用到这些高维数据,如在图像处理中,数据通常为m*n大小的图像,若将单幅图像看成图像空间中的一个点,则该点的维数为m*n 维,其对应的维数是相当高的,在如此高维的空间中做数据处理无疑会给人们带来很大的困难,同时所取得的效果也是极其有限的;再如网页检索领域一个中等程度的文档集表示文档的特征词向量通常高达几万维甚至几十万维;而在遗传学中所采集的每个基因片段往往是成千上万维的。另外,若直接处理高维数据,会遇到所谓的“维数灾难”(Curse of dimensionality)问题:即在缺乏简化数据的前提下,要在给定的精度下准确地对某些变量的函数进行估计,我们所需要的样本数量会随着样本维数的增加而呈指数形式增长[1]。因此,人们通常会对原始数据进行“数据降维”。

数据降维是指通过线性或者非线性映射将高维空间中的原始数据投影到低维空间,且这种低维表示是对原始数据紧致而有意义的表示,通过寻求低维表示,能够尽可能地发现隐藏在高维数据后的规律[2]。对高维数据进行降维处理的优势体现在如下几个方面:1)对原始数据进行有效压缩以节省存储空间;2)可以消除原始数据中存在的噪声;3)便于提取特征以完成分类或者识别任务;4)将原始数据投影到2维或3维空间,实现数据可视化。主流的数据降维算法主要有七种,其名称和对比如图1所示,接下来会进行详细地介绍其中的五种:线性的PCA、MDS、LDA以及非线性的Isomap、LLE。

图1 七种不同降维算法及其对比

1.PCA(Principal Component Analysis, 主成成分分析法)

1.1 基本原理

PCA 是通过对原始变量的相关矩阵或协方差矩阵内部结构的研究,将多个变量转换为少数几个综合变量即主成分,从而达到降维目的的一种线性降维方法。 这些主成分能够反映原始变量的绝大部分信息,它们通常表示为原始变量的线性 组合。PCA 将数据方差作为对信息衡量的准则:方差越大,它所能包含的信息就越多,反之包含的信息就越少。因此,PCA 可以看成一个坐标变换的过程:将高维数据的坐标投影到数据方差最大的方向组成的新的坐标系中。虽然PCA 具有容易计算,解释性强等特点,但也存在不适用非线性结构高维数据、不适用非高斯分布数据以及主分量的个数难以确定等缺点,其算法步骤大致为:

Step 1:计算所有样本的均值m 和散布矩阵S ,所谓散布矩阵同协方差矩阵; Step 2:计算S 的特征值,然后由大到小排序;

Step 3:选择前p 个特征值对应的特征矢量作成一个变换矩阵E=[e1, e2, …, ep];

Step 4:对于之前每一个n 维的特征矢量x 可以转换为p 维的新特征矢量y :

()()y transpose E x m =-

1.2 应用及示例

因在特征提取和数据降维方面的优越性,PCA 近年来被广泛应用于特征提取、信号评测和信号探测等方面,其中人脸识别是PCA 的一个经典的应用领域:利用K-L 变换抽取人脸的主要成分,构成特征脸空间,识别时将测试图像投影到此空间,得到一组投影系数,通过与各个人脸图像比较进行识别。利用特征脸法进行人脸识别的数据降维部分具体步骤如下:

Step 1:假设训练集有200个样本,由灰度图组成,则训练样本矩阵为:

12200(,,...,)T x x x x =

其中向量x i 为由第i 个图像的向量按列堆叠成一列的M*N 维向量。

Step 2:计算训练图片的平均脸:

2001

2001i i i x ψ===∑

Step 3:计算差值脸,即每一张人脸与平均脸的差值:

,1,2,...,200i i d x i ψ=-=

Step 4:构建协方差矩阵:

2001

1

122001,(,,...,)T T i i i C d d AA A d d d ====∑

Step 5:求协方差矩阵的特征值和特征向量,构造特征脸空间。首先采用奇异值分解定理,通过求解A T A 的特征值和特征向量来获得AA T 的特征值和特征向量。求出A T A 的特征值λi 及其正交归一化特征向量v i 。根据特征值的贡献率选取前p 个最大特征向量及其对应的特征向量,贡献率是指选取的特征值的和与占所有特征值的和比,即20011/

i p i i i i i a ϕλλ=====≥∑∑。一般取a=99%,即使训练样本在

前p 个特征向量集上的投影有99%的能量。再求出原协方差矩阵的特征向量:

/1,2,...,)i i u Av i p ==。则特征脸空间为:

12(,,...,)p w u u u =

Step 6:将每一幅人脸与平均脸的差值脸矢量投影到“特征脸”空间,即:

(1,2,...,200)T i i w d i Ω==

至此根据需要提取了前面最重要的部分,将p 后面的维数省去,从而达到降维的效果,同时保持了99%以上的原有的数据信息,接着就可以很方便的进行人脸的识别匹对了。

2. MDS (Multidimensional Scaling, 多维尺度分析法)

2.1 基本原理

MDS 分析的是成对样本间的相似性,利用这个信息去构建合适的低维空间,使得样本在此空间的距离和在高维空间中的样本间的相似性尽可能的保持一致。根据样本是否可计量,MDS 算法可分为计量多元尺度法和非计量多元尺度法,前者以样本间相似度作为实际输入,需要样本是等距(interval )比例(ratio )尺度,优点是精确,可以根据多个准则评估样本间差异,缺点是计算成本高,耗时。但对于很多应用问题,样本不费可计量,需要使用非计量多元尺度法,这种方法接受样本的顺序尺度作为输入,并以此自动计算相似值。样本尺度要求是顺序的(ordinal ),较简便,直观,从非计量的样本导出计量的分析结果,应用范围更广,但没法知道评估准则,效果较差。

相关文档
最新文档