改章节个人在上海游玩的时候突然想到的...之前就有想写几篇关于数据降维的博客,所以回家到之后就奋笔疾书的写出来发布了

降维系列:

  • 降维(一)----说说主成分分析(PCA)的源头
  • 降维(二)----Laplacian Eigenmaps

---------------------

前一篇文章中介绍了主成分分析。PCA的降维原则是最小化投影损失,或者是最大化保留投影后数据的方差。在谈到其缺点的时候,我们说这一目标并不必定有助于数据的分类,换句话说,本来在高维空间中属于两类的样本,降维后可能反而弗成分了。这时一种经典的降维方法是LDA,其原理是使降维后的数据间类内距离尽可能小,类间距离尽可能大。

应用LDA有个条件,就是要知道降维前数据分离属于哪一类,而且还要知道数据完整的高维信息。然而在Data Mining的很多应用下,我们是不知道数据的详细特征的(也就是高维信息),而仅仅知道数据与数据之间的相似程度。比如,在文本聚类的时候我们可以轻松知道两句话之间如许相似,但是却不必定设计出每句话应抽取什么样的特征形式。在这种应用场景下,我们要对数据进行降维,必然要尽可能保证本来相似的数据在降维后的空间中仍然相似,而不相似的数据尽可能还是距离很远。处理这一问题可以采取的方法是MDS,LE,LLE等。这里我就总结总结LE(Laplacian Eigenmaps)。

还要强调一次,不是说后面每一个算法都比前面的好,而是每一种算法的降维目标都不一样,都是从不同角度去看问题。

Laplacian Eigenmaps看问题的角度和LLE十分相似。它们都用图的角度去构建数据之间的关系。图中的每一个顶点代表一个数据,每一条边权重代表数据之间的相似程度,越相似则权值越大。并且它们还都假设数据拥有局部结构性子。LE假设每一点只与它距离最近的一些点相似,再远一些的数据相似程度为0,降维后邻近的点尽可能保持邻近。而LLE假设每一个点都能通过四周邻域数据的线性组合来描述,并且降维后这一线性关系尽可能保持稳定。不过这里我不主要介绍LLE,主要介绍LE,因为它在spectral clustering中被应用。

首先要构建图的权值矩阵。构建方法为:

  • 1)通过设置一个阈值,相似度在阈值以下的都直接置为零,这相当于在一个 -领域内斟酌局部性;
  • 2)对每一个点选取 k 个最接近的点作为街坊,与其他的点的相似性则置为零。这里须要注意的是 LE 要求相似度矩阵拥有对称性,因此,我们平日会在  属于  的 k 个最接近的街坊且/或反之的时候,就保留  的值,否则置为零;
  • 3)全连通。

以上三种方法构成的矩阵W都是对称的。按理说3会更让大家接受,但是1)和2)能够保证矩阵的稀少性,而稀少的矩阵对求特征值是十分便利的。不小心剧透了一下,LE的求解终究还是一个特征值分解问题。不过它和PCA不一样。怎么不一样,后面渐渐说。

LE同样把降维斟酌为一种高维到低维的映射,则一个好的映射应当使连通的点靠的更近(作者注:不连通的点按理应当靠远点)。设xi映射后的点为yi,则LE的目标就是最小化以下函数:

如果采取1)和2)的方法结构矩阵,不连通的两点Wij为0,所以降维对它们没有影响。感到有点不太合理,这不是容忍他们肆无忌惮么?!按理来说3)应当是更合理一些,但是3)构成的矩阵不是稀少的╮(╯▽╰)╭。这就是一个trade-off了。而另一方面,靠的近的两个点对应的Wij大,如果降维后他们距离远了,受到的处分就会很大

聪明的话你会一眼看出来:不对啊,降维后如果全部的y都等于同一个值,目标函数明显是最小的,那还弄个屁啊?当然,我们会在后面求解的时候加上这一制约条件,不允许y为一个各维雷同的常量。

我们倏地对目标函数进行一下整理:

每日一道理
微笑,是春天里的一丝新绿,是秋日里的一缕阳光,是骄阳下的一片浓荫,是冬雪中的一株梅红……微笑着去面对吧,你会感到人生是那样的温馨与甜蜜!

其中 ,L=D-W,L就叫做Laplacian Matrix。

于是,我们的最小化问题可以等效为:

这个公式是不是就似曾相识了?和PCA的目标函数十分相似,只不过当初的目标函数是求最小值,而PCA是求最大值,约束条件也小小地变形了一下。这个目标的求解就是一个狭义特征值分解问题:

说到这里,还有一个问题没有处理,就是刚才提到的“y为一个各维雷同的常量”的情况。我们看,L和D都个半正定矩阵,因此特征值都应当大于等于0。可以很快证明,特征值为0时,y的取值(如果有之一的话)是一个全1的向量(可以把矩阵乘积展开来计算一下,左边因为L=D-W的减号作用,结果明显也是0的),也就是我们刚才怀疑到的这种情况。

因此,对于,我们将特征值从小到大排序后,选择第二小的特征值到第m+1小的特征值对应的特征向量(共m个),构成一个Nxm的矩阵,矩阵的每一行就是原来的数据降维后得到的m维特征。你会不会觉得很神奇,本来我们只知道数据与数据之间的相似程度,结果竟然把降维后的特征求出来了!其实求出的特征不过是个绝对特征罢了,他们之间绝对的距离的远近才是实际重要的,渐渐体会目标函数你就会理解了。

还要再说说这里的特征值。如果唯一一个特征值为0,那么这个graph必定是全通的。关于这个论断我们可以这样证明:

假设f是特征值0对应的特征向量,那么:

如果两个顶点是连通的,那么wij>0,为了满意上式只要让fi=fj。如果graph是连通的话,就可以找到一系列w1i,wij,wjk……大于0(其中ijk….分离属于234…N中的一个数),这样就成立了f1=fj=fk=…..。换句话说,f是一个全为一个数的向量,与全1的向量是同一个向量。又因为唯一这一个向量满意条件,所以唯一一个特征值0满意全通的假设。就证明好了。

将这个论断做点推广,就是如果一个graph可以分为k个连通区域,那么特征值分解后就有k个为0的特征值。

Laplacian Eigenmap拥有区分数据点的特性,可以从上面的例子看出:

       Laplacian Eigenmap实验结果。左边的图表示有两类数据点(数据是图片),旁边图表示采取Laplacian Eigenmap降维后每一个数据点在二维空间中的位置,右侧的图表示采取PCA并取前两个主要方向投影后的结果,可以清楚地看到,在此分类问题上,Laplacian Eigenmap的结果明显优于PCA。

事实上,LE和LLE都假设数据分布在一个嵌套在高维空间中的低维流形上。Laplacian Matrix其实是流形的 Laplace Beltrami operator的一个离散近似。关于流型和Laplace Beltrami operator我也没有怎么研究过,这里就给这么一个论断给大家。大家可以参考上面给出的两篇参考文献做进一步浏览。

Further Readings:

1.  Laplacian Eigenmaps for Dimensionality Reduction and Data Representation

2.  A Tutorial on Spectral Clustering

-----------------

jiang1st2010

原文地址:http://blog.csdn.net/jiang1st2010/article/details/8945083

文章结束给大家分享下程序员的一些笑话语录: 打赌
飞机上,一位工程师和一位程序员坐在一起。程序员问工程师是否乐意和他一起玩一种有趣的游戏。工程师想睡觉,于是他很有礼貌地拒绝了,转身要睡觉。程序员坚持要玩并解释说这是一个非常有趣的游戏:"我问你一个问题,如果你不知道答案,我付你5美元。然后你问我一个问题,如果我答不上来,我付你5美元。"然而,工程师又很有礼貌地拒绝了,又要去睡觉。  程序员这时有些着急了,他说:"好吧,如果你不知道答案,你付5美元;如果我不知道答案,我付50美元。"果然,这的确起了作用,工程师答应了。程序员就问:"从地球到月球有多远?"工程师一句话也没有说,给了程序员5美元。  现在轮到工程师了,他问程序员:"什么上山时有三条腿,下山却有四条腿?"程序员很吃惊地看着工程师,拿出他的便携式电脑,查找里面的资料,过了半个小时,他叫醒工程师并给了工程师50美元。工程师很礼貌地接过钱又要去睡觉。程序员有些恼怒,问:"那么答案是什么呢?"工程师什么也没有说,掏出钱包,拿出5美元给程序员,转身就去睡觉了。

数据降维降维(二)----Laplacian Eigenmaps相关推荐

  1. 降维(二)----Laplacian Eigenmaps

    降维系列: 降维(一)----说说主成分分析(PCA)的源头 降维(二)----Laplacian Eigenmaps --------------------- 前一篇文章中介绍了主成分分析.PCA ...

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

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

  3. 机器学习降维算法四:Laplacian Eigenmaps 拉普拉斯特征映射

    继续写一点经典的降维算法,前面介绍了PCA,LDA,LLE,这里讲一讲Laplacian Eigenmaps. 其实不是说每一个算法都比前面的好,而是每一个算法都是从不同角度去看问题,因此解决问题的思 ...

  4. 使用机器学习算法实现单细胞测序数据的降维和聚类(二)

    本篇主要记录一下几种常用的聚类算法 使用的参考代码和数据集还是(一)里面的 1.K-Means 算法思想大致为:先从样本集中随机选取 k个样本作为簇中心,并计算所有样本与这 k个"簇中心&q ...

  5. 【Python机器学习】PCA降维算法讲解及二维、高维数据可视化降维实战(附源码 超详细)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 维数灾难 维数灾难是指在涉及到向量计算的问题中,当维数增加时,空间的体积增长得很快,使得可用的数据在空间中的分布变得稀疏,向量的计算量呈指数倍增长的一 ...

  6. 流形学习-高维数据的降维与可视化

    1.流形学习的概念 流形学习方法(Manifold Learning),简称流形学习,自2000年在著名的科学杂志<Science>被首次提出以来,已成为信息科学领域的研究热点.在理论和应 ...

  7. 单细胞测序数据的降维方法及细胞亚型鉴定聚类方法总结

    图1.细胞亚型的鉴定及分析(Stegle et al. NATURE REVIEWS | GENETICS, 2015) 随着单细胞测序技术的发展,每个研究或实验中测定的细胞数量在显著增加.现在很多单 ...

  8. 用自编码器对数据进行降维

    元学习论文总结||小样本学习论文总结 2017-2019年计算机视觉顶会文章收录 AAAI2017-2019 CVPR2017-2019 ECCV2018 ICCV2017-2019 ICLR2017 ...

  9. 单细胞测序数据的降维方法及细胞亚型的鉴定聚类方法总结

    图1.细胞亚型的鉴定及分析(Stegle et al. NATURE REVIEWS | GENETICS, 2015) 随着单细胞测序技术的发展,每个研究或实验中测定的细胞数量在显著增加.现在很多单 ...

最新文章

  1. Android 新手常见的10个误区(上)
  2. 不允许一个迭代的对象自己接着迭代下去(Python)【fronzenset】
  3. C++堆 和 栈 空间的区别
  4. 简述SAS逻辑库的概念及建立方法。什么是临时库和永久库?
  5. python 对象_Python中的Barrier对象
  6. 贪心算法——合并区间(Leetcode 56)
  7. pandas使用dataframe读写mysql数据库
  8. 卡尔曼滤波的基本原理
  9. [论文阅读] Deep Automatic Natural Image Matting
  10. MapGIS6.7环境设置
  11. VB.NET中Socket编程
  12. b和kb的换算_b和mb的换算(b kb mb换算)
  13. 集合论—集合的基本运算与主要算律
  14. [I T]深圳唯冠天价律师费遭起诉 补偿金由法院暂管理
  15. Java整型变量举例_java 整型常量和整型变量的问题
  16. HTML DOM中的根节点是______,HTML DOM 学习
  17. 如何做好网站的安全性测试
  18. 计算机l符号代表什么意思,衣服sml代表什么意思 分别是什么的标记
  19. 异步获取到图虫上的图片
  20. 汇编c语言基础教程编程达人,编程达人 《汇编、C语言基础教程》第一章 进制1.6 逻辑运算(连载)...

热门文章

  1. [Data Pump]impdp导入笔记
  2. 在线JWT Token解析解码
  3. android studio获取数字签名,Android应用开发Android Studio数字签名打包apk图文步骤教程...
  4. 将文件复制到FTP服务器时发生错误的解决办法
  5. Eddy Cue称FBI可能会要求苹果激活iPhone摄像头并打开麦克风
  6. jquery中的$(function(){})和document.ready(function(){})和jQuery(function () {}
  7. bilibili弹幕转ass
  8. 尝试登录 VMware vCenter Server 5.5 时,“别名”值为空如何解决
  9. Openbox-桌面图标设置
  10. 《Linux内核分析》(二)——从一个简单Linux内核分析进程切换原理