1、讲授人:XXX时间:2017.3.31机机器器学学习习降维算法讲解延迟符号什么是降维?降维就是这样一个过程,在降低数据集维度的同时,保证其中包含的主要信息是相似的(就是保证有效信息不要丢失)。降维技术最典型的应用就是在机器学习问题中,进行有效的特征选择,以此获得更好的分类、回归效果。延迟符号为什么要降维?延迟符号降维?在机器学习中,如果特征值(也可称之为维度,或feature)过多,会引发维度灾难。维度灾难最直接的后果就是过拟合现象,进而导致分类识别的错误,因此我们需要对所提的特征进行降维处理。图 基本模式识别过程降维后数据应该包含更多的信息?降维后会损失多少信息?降维后对分类识别效果有多大影
2、响?问题降维的好处(1)进行数据压缩,减少数据存储所需空间以及计算所需时间。(2)消除数据间的冗余,以简化数据,提高计算效率。(3)去除噪声,提高模型性能。(4)改善数据的可理解性,提高学习算法的精度。(5)将数据维度减少到2维或者3维,进行可视化。延迟符号延迟符号Contents降维方法0102特征选择FeatureSelection 选择有效的特征子集,即去掉不相关或冗余的特征。特征选择后留下的特征值的数值在选择前后没有变化。也就是说,特征选择后的特征是原来特征的一个子集。特征抽取是指改变原有的特征空间,并将其映射到一个新的特征空间。也就是说,特征抽取后的新特征是原来特征的一个映射。特征抽
3、取FeatureExtraction*降维算法可以根据所采用策略的不同而进行不同的分类降维算法分类延迟符号延迟符号主成分分析(PCA)PCA是principalcomponentanalysis的缩写,即主成分分析。此方法目标是找到数据中最主要的元素和结构,去除噪音和冗余,将原有的复杂数据降维,揭露出隐藏在复杂数据背后的简单结构。主成分分析就是试图在力保数据信息丢失最少的原则下,对这种多变量的数据表进行最佳综合简化。这些综合指标就称为主成分,也就是说,对高维变量空间进行降维处理,从线性代数角度来看,PCA目标是找到一组新正交基去重新描述得到的数据空间,这个维度就是主元。向量的表示及基变换A(3
4、,2)000延迟符号 去中去中心化心化现在问题来了:如果我们必须使用一维来表示这些数据,又希望尽量保留原始的信息,你要如何选择?例题:延迟符号下面是三维空间中的一组数据,很明显,数据的分布让我们很容易就能看出来主成分的轴(简称主轴)的大致方向。下面的问题就是如何通过数学计算找出主轴的方向。来看这张图:延迟符号001.给定一组数据:2.将其中心化后表示为:3.中心化后的数据在第一主轴u1方向上分布散的最开,也就是说在u1方向上的投影的绝对值之和最大(也可以说方差最大),计算投影的方法就是将x与u1做内积,由于只需要求u1的方向,所以设u1是单位向量。也就是最大化下式:也即最大化:两个向量做内积可
5、以转化成矩阵乘法:所以目标函数可以表示为:推导过程:延迟符号所以目标函数最后化为:目标函数和约束条件构成了一个最大化问题:拉格朗日乘数拉格朗日乘数法法延迟符号构造拉格朗日函数:对u1求导:显然,u1即为XXT特征值对应的特征向量!XXT的所有特征值和特征向量都满足上式,那么将上式代入目标函数表达式即可得到所以,如果取最大的那个特征值,那么得到的目标值就最大。延迟符号1.去均值,方差归一化(预处理的实质是将坐标原点移到样本点的中心点)2.求特征协方差矩阵3.求协方差矩阵的特征值和特征向量4.将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作为列向量组成特征向量矩
6、阵5.将样本点投影到选取的特征向量上。假设样例数为 m,特征数为 n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是 n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData 为这样,就将原始样例的n维特征变成了k维,这k维就是原始特征在k维上的投影,代表了原始的n个特征。步骤延迟符号PCA具体举例 我举个例子来说明一下PCA的算法以及它的流程:第二步:求特征协方差矩阵我们有以下数据:延迟符号第三步:求协方差的特征值和特征向量,得到第四步:将特征值按照从大到小的顺序排序,选择其中最大的k个,然后将其对应的k个特征向量分别作
7、为列向量组成特征向量矩阵:第五步:将样本点投影到选取的特征向量上。那么投影后的数据FinalData为得到结果延迟符号PCA在实际中的应用:(自己写一个pca函数,与matlab库函数对比一下)在这块也可以介绍一下库函数用法延迟符号延迟符号线性判别式分析(LDA)线性判别分析(LinearDiscriminantAnalysis,LDA),也叫做Fisher线性判别(FisherLinearDiscriminant,FLD),是模式识别的经典算法,1936年由RonaldFisher首次提出,并在1996年由Belhumeur引入模式识别和人工智能领域。R.AFisher(1890-1962)
8、LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。这点和PCA不同。PCA是不考虑样本类别输出的无监督降维技术。LDA的思想可以用一句话概括,就是“投影后类内方差最小,类间方差最大”。延迟符号两类的线性判别问题从直观上看,右图的分类效果比较好,同类之间样本聚集,不同类之间相聚较远训练样本集:X=x1.xN,每个样本是d维向量,其中w1类的样本是H1=x11.xN1,w2类的样本是H1=x12.xN2,寻找一个投影方向(d维向量),延迟符号加上aTa=1的条件(类似于PCA)拓展成多类:延迟符号投影以后样本:原样本均值:投影均值:目标函数&约束条件:构造拉格朗日函数:延
9、迟符号步骤1)计算类内散度矩阵Sw延迟符号例题:延迟符号计算类间散度LDA用于降维,和PCA有很多相同,也有很多不同的地方,因此值得好好的比较一下两者的降维异同点。首先我们看看相同点:1)两者均可以对数据进行降维。2)两者在降维时均使用了矩阵特征分解的思想。3)两者都假设数据符合高斯分布。LDA vs PCA延迟符号我们接着看看不同点:1)LDA是有监督的降维方法,而PCA是无监督的降维方法2)LDA降维最多降到类别数k-1的维数,而PCA没有这个限制。3)LDA除了可以用于降维,还可以用于分类。4)LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。延迟符号降维工具箱drtool工具箱下载:http:/ 思考题作业假设经过降维处理后,数据的维度变得不同,如何在进一步的分类中将这些数据变得统一?对降维后的数据,利用SVM,KNN等进行分类,观察到底降维到多少时,分类效果最好;在实际中如何确定最后的特征维度。自己编写PCA、LDA程序在软木塞、ROCK数据集上实现特征的降维,并与库函数进行对比。谢谢!延迟符号PPT模板下载: