降维系列:

  • 降维(一)----说说主成分分析(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

from: http://blog.csdn.net/jwh_bupt/article/details/8945083

降维(一)----说说主成分分析(PCA)的源头相关推荐

  1. 07_数据降维,降维算法,主成分分析PCA,NMF,线性判别分析LDA

    1.降维介绍 保证数据所具有的代表性特性或分布的情况下,将高维数据转化为低维数据. 聚类和分类都是无监督学习的典型任务,任务之间存在关联,比如某些高维数据的分类可以通过降维处理更好的获得. 降维过程可 ...

  2. 数据降维方法(主成分分析PCA、线性判别分析LDA)

    数据降维 1.特征变换 1.1.特征提取 2.维数缩减 2.1.维度灾难 2.2.维度缩减 2.3.线性降维法 2.3.1.主成分分析(PCA) 2.3.1.1.数学分析 2.3.1.2.算法步骤 2 ...

  3. 特征方向说说主成分分析(PCA)的源头

    每日一贴,今天的内容关键字为特征方向 主成份分析(PCA) 在很多教程中做了分析,但是为何通过协方差矩阵的特征值分解可以得到数据的主成份?协方差矩阵和特征值为何如此奇异,我却一直没弄清.今天终究把整个 ...

  4. Python数据集可视化:抽取数据集的两个特征进行二维可视化、主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用)

    Python数据集可视化:抽取数据集的两个特征进行二维可视化.主成分分析PCA对数据集降维进行三维可视化(更好地理解维度之间的相互作用) 目录 Python数据集可视化:抽取数据集的两个特征进行二维可 ...

  5. 机器学习-降维之主成分分析PCA算法原理及实战

    主成分分析 前言 近年来,随着互联网和信息行业的发展,数据已经渗透到各行各业,成为重要的生产因素如数据记录和属性规模的急剧增长.社会已经进入大数据时代,数据越多越好似乎已经成为公理.然而,数据量并不是 ...

  6. 西瓜书+实战+吴恩达机器学习(十八)降维(主成分分析 PCA)

    文章目录 0. 前言 1. 主成分分析PCA 如果这篇文章对你有一点小小的帮助,请给个关注,点个赞喔,我会非常开心的~ 0. 前言 维数灾难:在高维情形下出现的数据样本稀疏.距离计算困难等问题. 缓解 ...

  7. 【视频】主成分分析PCA降维方法和R语言分析葡萄酒可视化实例|数据分享

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出.降维技术之一是主成分分析 (PCA) 算法,该算法将可能相关变量的一组观察值转换为一组线性不相关变量.在本文中,我们将讨论 ...

  8. R语言主成分分析PCA谱分解、奇异值分解预测分析运动员表现数据和降维可视化

    最近我们被客户要求撰写关于主成分分析PCA的研究报告,包括一些图形和统计输出. 本文描述了如何 使用R执行主成分分析 ( PCA ).您将学习如何 使用 PCA预测 新的个体和变量坐标.我们还将提供  ...

  9. 降维 ---- 主成分分析 (PCA)、奇异值分解 (SVD)

    降维 在机器学习或数据处理中,经常会碰到一些高维数据,而高维数据情形下经常出现样本稀疏.计算困难等问题,称之为"维度灾难". 对于一个高维数据数 D={X1,X2,...,XN}D ...

最新文章

  1. 用Cordova打包Vue-vux项目
  2. 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]
  3. [DRBD] UpToDate/DUnknown 故障恢复
  4. Redis基本数据的的常见命令操作
  5. 上交大计算机导师俞凯,WLA青科聊高考①|偶像剧“男主”、上海交大教授俞凯的学霸人生...
  6. db2 最近三个月_昙花一现,PA、PC月跌1800,通用料一蹶不振,救不起的塑市!
  7. Linux PPP实现源码分析-2
  8. 微课|《Python编程基础与案例集锦(中学版)》第2章(1)
  9. 一、K3 Wise 实施指导《K3 Wise实施手册》
  10. 协程实践及应用(获取区划代码和城乡划分代码)
  11. poi 3.17合并单元格报错 java.lang.IllegalArgumentException: Merged region A1 must contain 2 or more cells
  12. fiddler手机抓包问题详解
  13. 计算机内部网络连接,在电脑中新建专用网络连接的操作方法【图文教程】
  14. SSH-keygen用法
  15. 首届国际蜂业展在穗举办 零数科技受邀出席
  16. 目标跟踪介绍(单目标)
  17. Mysql 主从复制的作用和原理
  18. 三菱CC-link IE field basic 控制伺服轴
  19. Rapid IO接口测试工装研究
  20. 高仿墨迹天气-天鹰气象

热门文章

  1. 聚焦互联网应用和深度学习
  2. SpringBoot - 优雅的实现【参数校验】高级进阶
  3. 白话Elasticsearch43-深入聚合数据分析之案例实战__排序:按每种颜色的平均销售额升序排序
  4. 白话Elasticsearch34-深入聚合数据分析之案例实战bucket嵌套实现颜色+品牌的多层下钻分析
  5. 全局事件-广播(Broadcast)
  6. 【二叉树详解】二叉树的创建、遍历、查找以及删除等-数据结构05
  7. 学习笔记(一)——HTML学习
  8. 解决 org.hibernate.HibernateException: No Hibernate Session bound to thread, and configuration does no
  9. python 状态机教程_python 实用工具状态机transitions
  10. mysql删除账户后不能使用_MySQL删除普通用户