原文:http://blog.csdn.net/yujianmin1990/article/details/48223001
数据的形式是多种多样的,维度也是各不相同的,当实际问题中遇到很高的维度时,如何给他降到较低的维度上?前文提到进行属性选择,当然这是一种很好的方法,这里另外提供一种从高维特征空间向低纬特征空间映射的思路。
数据降维的目的
数据降维,直观地好处是维度降低了,便于计算和可视化,其更深层次的意义在于有效信息的提取综合及无用信息的摈弃。
数据降维的方法
主要的方法是线性映射和非线性映射方法两大类。
线性映射
线性映射方法的代表方法有:PCA(Principal Component Analysis),LDA(Discriminant Analysis)
PCA方法简介
主成分分析的思想,就是线性代数里面的K-L变换,就是在均方误差准则下失真最小的一种变换。是将原空间变换到特征向量空间内,数学表示为i
这个地方跟上面稍微有所不同,这里条件更宽松了。
LDA方法简介
LDA核心思想:往线性判别超平面的法向量上投影,使得区分度最大(高内聚,低耦合)。
具体内容见之前博客-“线性判别函数”的Fisher线性判别准则:http://blog.csdn.net/yujianmin1990/article/details/48007589
LDA优缺点:
优点:1)简单易于理解
缺点:2)计算较为复杂
PCA in Spark:http://blog.selfup.cn/1243.html
非线性映射
非线性映射方法的代表方法有:核方法(核+线性),二维化和张量化(二维+线性),流形学习(ISOMap,LLE,LPP)
基于核的非线性降维
代表方法有:KPCA,KFDA。
KPCA的基本思想:通过Kernel trick将PCA投影的过程通过内积的形式表达出来。将高维向量β的内积转换成低维的核函数表示。
KPCA
基于核的非线性降维方法的优缺点:
优点:具有核方法的优点。
缺点:核的不同选择影响效果。
(自己对KPCA这地方并不是完全搞懂了,需要再仔细看看)
二维化和张量化
将数据映射到二维空间上,常见算法比如二维主分量分析、二维线性判别分析、二维典型相关分析。
二维化和张量化优缺点:
优点:
1)计算效率高。
2)有些数据二维降维效果要明显好于一维降维。
缺点:
1)原理机制研究不透彻。
流形学习
流形学习的主要算法有:ISOMap(等距映射)、LE(拉普拉斯特征映射)、LLE(局部线性嵌入)。
流形:直线或者曲线是一维流形,平面或者曲面是二维流形,更高维之后是多维流形。一个流形好比是n)被扭曲之后的空间。流形并不是一个“形状”,而是一个“空间”
流形学习的假设:数据采样于某一流形上。
ISOMap
ISOMap是一种非迭代的全局优化算法。ISOMap对MDS(Multidimensional Scaling-多维尺度分析)进行改造,用测地线距离(曲线距离)作为空间中两点距离,原来是用欧氏距离,从而将位于某维流形上的数据映射到一个欧氏空间上。
ISOMap将数据点连接起来构成一个邻接Graph来离散地近似原来流形,而测地距离则相应地通过Graph上的最短路径来近似了。
比如:我们将球体曲面映射到二维平面上。
此博客写得通俗易懂:http://blog.pluskid.org/?p=533
几点注意:
1)ISOMap适用的流形:适合于内部平坦的低维流形,不适合于学习有较大内在曲率的流形。
2)近邻数的选择:近邻数应足够大以便能够减少在路径长度和真实测地距离之间的不同,但要小到能够预防“短路”现象。
3)所构造图的连通性:要求所构造的图示连通的,否则有两种处理办法,一种是放宽临界点选择的限制,另一种是对于每一连通部分分别使用ISOMap算法,得到不同部分的降维结果。
数据到底是否分布于一个流形上?这是个暂时难以回答的问题。
MDS是一种降维方法,它在降维时使得降维之后的两点间的欧氏距离尽量保持不变(用欧氏距离矩阵来表示高维向量的两两之间的相似度,寻找同样数量的映射维度的向量,使得映射维度下两两间距离约等于原高维下两两间距离,变为了优化问题)。维基百科对MDS的介绍https://en.wikipedia.org/wiki/Multidimensional_scaling
LLE
前提假设:数据没有形成一个封闭的超曲面,局部数据点是线性的。
LLE(Locally Linear Embedding-局部线性嵌入)用局部线性反映全局的非线性的算法,并能够使降维的数据保持原有数据的拓扑结构。(在流形上使用局部线性,并用有限局部样本的互相线性表示,得到几何特性的构造权重矩阵,在低维下找到满足高维时样本间构造权重的样本集)
LLE步骤如下:
1.计算或者寻找数据点i)
流形学习优缺点:
优点:1)假设流形的存在,部分解决了高维数据分布的问题。
缺点:1)假设流形的存在,不能总是适合数据特点。
其他方法
其他方法:深度学习,聚类降维
深度学习降维优缺点:
优点:1)所提取特征的代表性强
缺点:1)可解释性差。2)目的性不强
聚类降维优缺点:
暂时未看这部分内容
小结
降维方法 __ 属性选择:过滤法;包装法;嵌入法;
|_ 映射方法 _线性映射方法:PCA、FDA等
|_非线性映射方法:
|__核方法:KPCA、KFDA等
|__二维化:
|__流形学习:ISOMap、LLE、LPP等。
|__其他方法:神经网络和聚类
降维可以方便数据可视化+数据分析+数据压缩+数据提取等。
各个降维方法效果图展示: