谱多流形聚类SMMC
今天是2015年的最后一天,决定尽量乘着这三天休息把毕设主题的博客给更完,今天写smmc的算法,接下来三天会对前面的三个算法kmeans、SC以及smmc应用在今年的研究生建模提供的数据中进行matlab实现从而进行效果对比,还有一件高兴的事情是进入沪江三年多了,第一次被cctalk里面的老师抱上麦进行真正意义上的英文对话,搞得都想转行去魔都发展英文了。哈哈,言归正传,进入学术世界吧~
注意:这里的文字很多摘抄于发表在IEEE上的英文论文《Spectral Clustering on Multiple Manifolds》,觉得人家总结的很好,拿过来拜读一下(部分图片来自于该论文,侵删)~
在前面的文章谱聚类算法的描述中,我们举出了谱聚类算法的各种貌似靠谱的切割方式。然而,这里的谱聚类的良好聚类结果强烈的依赖于邻接矩阵W,也就是说,当来自不同类的点之间的权重(关系)很小时该算法才能成功发挥效用!这么说可能难以理解,请看以下图片:

上图中,a、b、c来自于良好分离的两个类的数据聚类结果演示,d、e、f来自有明显相交的数据聚类演示。从图a的数据可视化结果,我们能轻易的了解到两个"S"型的数据簇良好分离,可以被轻易的分割为两个类。通过仔细调整最近邻参数K或者数值参数
轻易获得邻接矩阵W的特征。最理想的情况就是来自不同簇的点之间的权重为w=0;这时,谱方法就会将同一个簇内的点映射到
空间的一个独立的点,依次类推,在这样的一个k维空间中就存在k个互相正交的点(如图b所示)。最后将这些点返回映射到原始数据中,聚类结果就如图c所示。
然而,当遇到图d所示的数据时,我们可以看到上图d中的数据之间存在明显的相交处,此时邻接矩阵将会因为成对点之间的不靠谱的相似度而不能很好的反映数据之间的关系。比如说,一般情况下,不同簇内的点之间的相似度很低(接近0)但是在上图中数据的交汇处的点之间的相似度将会因为它们的欧式距离很小变得很高。简而言之,我们试图将上图d中的数据聚为两类,但是因为这两个类彼此之间关系相当紧密导致无法将其分为两个子集。
实际上,广义特征问题(D-W)*u=lambda*D*u(lambda为特征值,u为特征向量,这里我不明白作者为啥在等式右边多写一个D)类似于LEM(拉普拉斯特征映射)的最优化问题,该问题是一个经典的流形学习问题。我们很容易本例中的前两个特征向量是由拥有相同值的标量组成,该标量最优的保留了原始数据的局部领域信息。导致两个不同簇的相交结构被保留到了映射空间中(如图e所示),后面的kmeans算法也就无法将这个结构分离开来。
现在,我们知道了谱聚类的弱点,俗话说:学无止境。因此,我们借助了亲爱的多流形学习方法引入了谱多流形聚类(smmc)。
先挖个坑,先去老哥那里过完元旦第二天继续补~
谱多流形聚类SMMC的更多相关文章
- 大数据下多流形聚类分析之谱聚类SC
大数据,人人都说大数据:类似于人人都知道黄晓明跟AB结婚一样,那么什么是大数据?对不起,作为一个本科还没毕业的小白实在是无法回答这个问题.我只知道目前研究的是高维,分布在n远远大于2的欧式空间的数据如 ...
- 解读人:刘佳维,Spectral Clustering Improves Label-Free Quantification of Low-Abundant Proteins(谱图聚类改善了低丰度蛋白的无标记定量)
发表时间:(2019年4月) IF:3.95 单位: 维也纳医科大学: 欧洲生物信息研究所(EMBL-EBI): 分子病理学研究所: 奥地利科学院分子生物技术研究所: Gregor Mendel分子植 ...
- 图论基础之Dijkstra算法的初探
图论,顾名思义就是有图有论. 图:由点"Vertex"和边"Edge "组成,且图分为有向图和无向图(本文讨论有向图),之前做毕业设计的 ...
- CAD&CG GDC 2018大会论文录用名单
Section 1 增强现实与图形学: 报告时间:2018-8-25 14:00-15:30 报告地点:会议室1 P000009 基于增强现实的产品质量信息传递方法 P000104 重彩画的风格转移 ...
- 用scikit-learn学习谱聚类
在谱聚类(spectral clustering)原理总结中,我们对谱聚类的原理做了总结.这里我们就对scikit-learn中谱聚类的使用做一个总结. 1. scikit-learn谱聚类概述 在s ...
- 谱聚类(spectral clustering)原理总结
谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也 ...
- [zz]谱聚类
了凡春秋USTC 谱聚类 http://chunqiu.blog.ustc.edu.cn/?p=505 最近忙着写文章,好久不写博客了.最近看到一个聚类方法--谱聚类,号称现代聚类方法,看到它简洁的公 ...
- Laplacian matrix 从拉普拉斯矩阵到谱聚类
谱聚类步骤 第一步:数据准备,生成图的邻接矩阵: 第二步:归一化普拉斯矩阵: 第三步:生成最小的k个特征值和对应的特征向量: 第四步:将特征向量kmeans聚类(少量的特征向量):
- 谱聚类Ng算法的Matlab简单实现
请编写一个谱聚类算法,实现"Normalized Spectral Clustering-Algorithm 3 (Ng 算法)" 结果如下 谱聚类算法核心步骤都是相同的: •利用 ...
随机推荐
- 对js中Function的浅见
它到底是什么 String Array 都是系统内置对象(已经定义好,可以直接使用)当然,这货也是一样,我们之前定义的函数,其实就是一个这货的实例. 在JS中,所有的对象都是由函数实现的,函数的数据类 ...
- 揣摩实现一个ioc容器需要做的事情
思路: ioc框架的核心就是管理bean的生命周期,bean的生命周期包括:创建,使用,销毁. 创建 容器在创建一个bean的实例之前必须要解决以下问题:第一个问题: 创建bean的信息如何提供给你容 ...
- asp.net mvc jQuery 城市二级联动
页面效果图: 数据库表结构: 首先在数据库中创建省级.城市的表,我的表如下:我用了一张表放下了省级.城市的数据,用level划分省份和城市,parentId表示该城市所在省份的id 主要文件有:ind ...
- db2存储过程
一. 使用存储过程的好处 1. 减少客户机与服务器之间的网络使用率,以及数据库锁定保持的时间 应用程序通常在执行每个SQL语句都要跨网络两次,存储过程可以将SQL语句集中在一起, 从而使得对于每一组S ...
- 列表list
Python是一种面向对象的语言,但它不像C++一样把标准类都封装到库中,而是进行了进一步的封装,语言本身就集成一些类和函数,比如print,list,dict etc. 给编程带来很大的便捷 Pyt ...
- input子系统
input子系统: 像按键.键盘.鼠标.触摸屏.游戏摇杆等设备只有输入没有输出,而且在编程实现其对应的驱动程序时会有很多重复性的代码,内核的设计者将该部分代码抽象出来,驱动工程师只需要复用该 ...
- stm32 加入 USE_STDPERIPH_DRIVER、STM32F10X_HD的原因
初学STM32,在RealView MDK 环境中使用STM32固件库建立工程时,初学者可能会遇到编译不通过的问题.出现如下警告或错误提示: warning: #223-D: function &qu ...
- Redis-benchmark测试Redis性能
Redis-benchmark是官方自带的Redis性能测试工具,可以有效的测试Redis服务的性能. 使用说明如下: Usage: redis-benchmark [-h <host>] ...
- HADOOP HDFS的设计
Hadoop提供的对其HDFS上的数据的处理方式,有以下几种, 1 批处理,mapreduce 2 实时处理:apache storm, spark streaming , ibm streams 3 ...
- 为什么是 Cloud Service?
怀旧一把,还记得这个界面吗? 没错,这是第一版Windows Azure Management Portal,用Silverlight开发的,很炫! 奇怪,为什么没有Virtual Machine? ...