机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达, y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。f可能是显式的或隐式的、线性的或非线性的。使用降维的原因:

  • 压缩数据以减少存储量
  • 去除噪声的影响
  • 从数据中提取特征以便于进行分类
  • 将数据投影到低维可视空间,以便于看清数据的分布
  • 变量(特征)数量相对数据条数有可能过大,从而不符合某些模型的需求。打个比方,如果你有100条数据,却有200个特征,那么大多数的模型都回报错,提醒你变量(特征)数量太多

由于以上的原因也是为了更好的理解数据,阅读数据的信息,通常会采用一些数据降维的办法对变量(特征)数目进行一定程度的缩减,在不丢失绝大多数信息的前提下尽可能的生成解释力更强的特征,同时去除不必要的特征。在很多算法中,降维算法成为了数据预处理的一部分。另外,有一些算法如果没有降维预处理,其实是很难得到很好的效果的。

降维算法分类


降维的方法林林总总,在可视分析中很难一步到位使用不需要任何适配的降维方法。常见的做法是通过交互的方式,将标准的降维方法适配到具体的应用场景中。 从不同的角度入手可以有着不同的分类,主要分类方法有:

  • 根据数据的特性: 可以划分为线性降维非线性降维
  • 根据是否考虑和利用数据的监督信息:可以划分为无监督降维、有监督降维和半监督降维
  • 根据保持数据的结构:可以划分为全局保持降维局部保持降维全局与局部保持一致降维

线性/非线性:

线性降维是指通过降维所得到的低维数据能保持高维数据点之间的线性关系。线性降维方法主要包括:

  • 主成份分析 PCA (Principal Component Analysis)
  • 线性判别分析 LDA (Linear Discriminant Analysis)
  • 局部保留投影 LPP (Local Preserving Projection): LPP其实是Laplacian Eigenmaps的线性表示

非线性降维一类是基于核的,另一类就是通常所说的流形学习:从高维采样数据中恢复出低维流形结构(假设数据是均匀采样于一个高维欧式空间中的低维流形),即找到高维空间中的低维流形,并求出相应的嵌入映射。非线性流形学习方法有:

  • 等距映射 Isomap (Isometric Mapping)
  • 局部线性嵌入 LLE (Locally Linear Embedding)
  • 拉普拉斯特征映射 (Laplacian Eigenmaps)
  • 局部切空间排列 LTSA (Local Tangent Space Alignment)
  • 最大方差展开 MVU (Maximum Variance Unfolding)

整体来说,线性方法计算块,复杂度低,但对复杂的数据降维效果较差。

 监督/非监督

    监督式和非监督式学习的主要区别在于数据样本是否存在类别信息。

  • 非监督降维方法的目标是在降维时使得信息的损失最小,如PCA、LPP、Isomap、LLE、Laplacian Eigenmaps、LTSA、MVU;
  • 监督式降维方法的目标是最大化类别间的辨别信,如LDA。

事实上,对于非监督式降维算法,都有相应的监督式或半监督式方法的研究。

全局/局部  

  • 局部方法仅考虑样品集合的局部信息,即数据点与临近点之间的关系。局部方法以LLE为代表,还包括Laplacian Eigenmaps、LPP、LTSA。
  • 全局方法不仅考虑样本几何的局部信息,和考虑样本集合的全局信息,及样本点与非临近点之间的关系。全局算法有PCA、LDA、Isomap、MVU。

由于局部方法并不考虑数据流形上相距较远的样本之间的关系,因此,局部方法无法达到“使在数据流形上相距较远的样本的特征也相距较远”的目的。

 

ML: 降维算法-概述的更多相关文章

  1. ML: 降维算法-LLE

    局部线性嵌入 (Locally linear embedding)是一种非线性降维算法,它能够使降维后的数据较好地保持原有 流形结构 .LLE可以说是流形学习方法最经典的工作之一.很多后续的流形学习. ...

  2. ML: 降维算法-LDA

    判别分析(discriminant analysis)是一种分类技术.它通过一个已知类别的“训练样本”来建立判别准则,并通过预测变量来为未知类别的数据进行分类.判别分析的方法大体上有三类,即Fishe ...

  3. ML: 降维算法-LE

    PCA的降维原则是最小化投影损失,或者是最大化保留投影后数据的方差.LDA降维需要知道降维前数据分别属于哪一类,而且还要知道数据完整的高维信息.拉普拉斯特征映射 (Laplacian Eigenmap ...

  4. ML: 降维算法-PCA

            PCA (Principal Component Analysis) 主成份分析 也称为卡尔胡宁-勒夫变换(Karhunen-Loeve Transform),是一种用于探索高维数据结 ...

  5. 机器学习实战基础(二十):sklearn中的降维算法PCA和SVD(一) 之 概述

    概述 1 从什么叫“维度”说开来 我们不断提到一些语言,比如说:随机森林是通过随机抽取特征来建树,以避免高维计算:再比如说,sklearn中导入特征矩阵,必须是至少二维:上周我们讲解特征工程,还特地提 ...

  6. 一步步教你轻松学主成分分析PCA降维算法

    一步步教你轻松学主成分分析PCA降维算法 (白宁超 2018年10月22日10:14:18) 摘要:主成分分析(英语:Principal components analysis,PCA)是一种分析.简 ...

  7. 四大机器学习降维算法:PCA、LDA、LLE、Laplacian Eigenmaps

    四大机器学习降维算法:PCA.LDA.LLE.Laplacian Eigenmaps 机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中.降维的本质是学习一个映 ...

  8. k-近邻算法概述

    2.1 k-近邻算法概述 k-近邻算法采用测量不同特征值之间的距离方法进行分类. 优点:精度高.对异常值不敏感.无数据输入假定. 确定:计算复杂度高.空间复杂度高. 适用数据范围:数值型和标称型. 工 ...

  9. sklearn LDA降维算法

    sklearn LDA降维算法 LDA(Linear Discriminant Analysis)线性判断别分析,可以用于降维和分类.其基本思想是类内散度尽可能小,类间散度尽可能大,是一种经典的监督式 ...

随机推荐

  1. 2016ICPC-大连 Convex (几何)

    We have a special convex that all points have the same distance to origin point. As you know we can ...

  2. Spring 消息

    RMI.Hessian/Burlap的远程调用机制是同步的.当客户端调用远程方法时,客户端必须等到远程方法完成之后,才能继续执行.即使远程方法不向客户端返回任何消息,客户端也要被阻塞知道服务完成. 消 ...

  3. eact native生成APP报错:You have not accepted the license agreements of the following SDK components:

    一.报错信息 * What went wrong: A problem occurred configuring project ':app'. > You have not accepted ...

  4. 2.9 iframe

    2.9 iframe 一.frame和iframe区别Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性. frame是整个页面的框架,iframe是内嵌 ...

  5. threejs教程

    http://www.haomou.net/2015/08/30/2015_threejs0/ http://www.johannes-raida.de/tutorials.htm https://w ...

  6. pytorch使用tensorboardX进行loss可视化

    最近pytorch出了visdom,也没有怎么去研究它,主要是觉得tensorboardX已经够用,而且用起来也十分的简单 pip install tensorboardX 然后在代码里导入 from ...

  7. pip windows下的引入

    安装了python以后,并且环境变量里引入了python安装路径后, 想使用pip来安装未安装的模块,但是命令模式里不能执行pip, 查看python安装路径,发现pip跟easy_install的执 ...

  8. HDU - 4454: Stealing a Cake (圆上三分)

    pro:给定一个蛋糕,一个矩阵房子,一只蚂蚁.最开始三者两两相离,问蚂蚁触摸到蛋糕后再触摸矩阵的最短距离.结果保留两位小数,坐标的绝对值<1e4: sol:由于坐标不大,而且精度要求不高,不难想 ...

  9. Rodrigues(罗德里格斯)旋转公式推导

    1. 2.推导过程:我们的目的是求得vrot,所以应该求得v||和vrot在垂直于k方向的投影向量. 其中, 俯视图看: 此外,另一种表示方法为: R可以看作旋转矩阵.

  10. vs2015连接mysql进行数据库操作

    要求:电脑提前安装好vs,mysql. 1.在需要连接mysql的项目上右键选择“属性” -> “C/C++” -> “常规” ->选择“附加包含目录” 在弹出窗口中添加mysql的 ...