Science上发表的超赞聚类算法(转)

作者(Alex Rodriguez, Alessandro Laio)提出了一种很简洁优美的聚类算法, 可以识别各种形状的类簇, 并且其超参数很容易确定.

算法思想

该算法的假设是类簇的中心由一些局部密度比较低的点围绕, 并且这些点距离其他有高局部密度的点的距离都比较大. 首先定义两个值: 局部密度以及到高局部密度点的距离:


其中


是一个截断距离, 是一个超参数.?所以相当于距离点i的距离小于的点的个数. 由于该算法只对相对值敏感, 所以对dc的选择比较鲁棒, 一种推荐做法是选择使得平均每个点的邻居数为所有点的1%-2%.

对于密度最大的点, 设置. 注意只有那些密度是局部或者全局最大的点才会有远大于正常的相邻点间距.

聚类过程

那些有着比较大的局部密度和很大的的点被认为是类簇的中心。局部密度较小但是δi较大的点是异常点。在确定了类簇中心之后,所有其他点/属于/距离其最近的类簇中心/所代表的类簇(我爱机器学习批注:原文是"assigned to the same cluster as its nearest neighbor of higher density",比它的密度更大的最近邻的类别。感谢邓公@djvu9和各位留言的同学指出错误). 图例如下:

左图是所有点在二维空间的分布, 右图是以ρ为横坐标, 以δ为纵坐标, 这种图称作决策图(decision tree). 可以看到, 1和10两个点的ρiδi都比较大, 作为类簇的中心点. 26, 27, 28三个点的δi也比较大, 但是ρi较小, 所以是异常点.聚类分析

在聚类分析中, 通常需要确定每个点划分给某个类簇可靠性. 在该算法中, 可以首先为每个类簇定义一个边界区域(border region), 亦即划分给该类簇但是距离其他类簇的点的距离小于dc的点. 然后为每个类簇找到其边界区域的局部密度最大的点, 令其局部密度为. 该类簇中所有局部密度大于的点被认为是类簇核心的一部分(亦即将该点划分给该类簇的可靠性很大), 其余的点被认为是该类簇的光晕(halo), 亦即可以认为是噪音. 图例如下

A图为生成数据的概率分布, B, C二图为分别从该分布中生成了4000, 1000个点. D, E分别是B, C两组数据的决策图(decision tree), 可以看到两组数据都只有五个点有比较大的ρi和很大的δi. 这些点作为类簇的中心, 在确定了类簇的中心之后, 每个点被划分到各个类簇(彩色点), 或者是划分到类簇光晕(黑色点). F图展示的是随着抽样点数量的增多, 聚类的错误率在逐渐下降, 说明该算法是鲁棒的.

最后展示一下该算法在各种数据分布上的聚类效果, 非常赞.

参考文献:

[1]. Clustering by fast search and find of density peak.?Alex Rodriguez, Alessandro Laio

原文:http://www.52ml.net/16296.html

红色标记为笔记

Science上发表的超赞聚类算法(转)

时间: 2025-01-10 01:35:30

Science上发表的超赞聚类算法(转)的相关文章

Science发表的超赞聚类算法

作者(Alex Rodriguez, Alessandro Laio)提出了一种很简洁优美的聚类算法, 可以识别各种形状的类簇, 并且其超参数很容易确定. 算法思想 该算法的假设是类簇的中心由一些局部密度比较低的点围绕, 并且这些点距离其他有高局部密度的点的距离都比较大. 首先定义两个值: 局部密度ρi以及到高局部密度点的距离δi: ρ i =∑ j χ(d ij −d c ) 其中 dc是一个截断距离, 是一个超参数. 所以ρi相当于距离点i的距离小于dc的点的个数. 由于该算法只对ρi的相对

发表在 Science 上的一种新聚类算法

今年 6 月份,Alex Rodriguez 和 Alessandro Laio 在 Science 上发表了一篇名为<Clustering by fast search and find of density peaks>的文章,为聚类算法的设计提供了一种新的思路.虽然文章出来后遭到了众多读者的质疑,但整体而言,新聚类算法的基本思想很新颖,且简单明快,值得学习.这个新聚类算法的核心思想在于对聚类中心的刻画上,本文将对该算法的原理进行详细介绍,并对其中的若干细节展开讨论. 最后,附上作者在补充

一种新型聚类算法(Clustering by fast search and find of density peaksd)

最近在学习论文的时候发现了在science上发表的关于新型的基于密度的聚类算法 Kmean算法有很多不足的地方,比如k值的确定,初始结点选择,而且还不能检测费球面类别的数据分布,对于第二个问题,提出了Kmean++,而其他不足还没有解决,dbscan虽然可以对任意形状分布的进行聚类,但是必须指定一个密度阈值,从而去除低于此密度阈值的噪音点,这篇文章解决了这些不足. 本文提出的聚类算法的核心思想在于,对聚类中心的刻画上,而且认为聚类中心同时具有以下两种特点: 本身的密度大,即它被密度均不超过它的邻

文本聚类算法总结

以下内容为聚类介绍,除了红色的部分,其他来源百度百科,如果已经了解,可以直接忽略跳到下一部分. 聚类概念      聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法,同时也是数据挖掘的一个重要算法.聚类(Cluster)分析是由若干模式(Pattern)组成的,通常,模式是一个度量(Measurement)的向量,或者是多维空间中的一个点.聚类分析以相似性为基础,在一个聚类中的模式之间比不在同一聚类中的模式之间具有更多的相似性. 算法用途      在商业上,聚类可以帮助市场

复杂网络中聚类算法总结

网络,数学上称为图,最早研究始于1736年欧拉的哥尼斯堡七桥问题,但是之后关于图的研究发展缓慢,直到1936年,才有了第一本关于图论研究的著作.20世纪60年代,两位匈牙利数学家Erdos和Renyi建立了随机图理论,被公认为是在数学上开创了复杂网络理论的系统性研究.之后的40年里,人们一直讲随机图理论作为复杂网络研究的基本理论.然而,绝大多数的实际网络并不是完全随机的.1998年,Watts及其导师Strogatz在Nature上的文章<Collective Dynamics of Small

程序员减压篇——分享几个超赞的良心网站

上班打代码,下班还在打代码,每天被代码折磨的疲惫不堪的程序员们终于可以趁着中秋小假期放松一下了.但是,我相信可能依然还有部分猿猿们奋战在电脑前线,今天为大家奉上几个超赞的良心网站,帮助猿猿们减压放松. 1. Calm 网站链接:http://www.calm.com/ 这个网站就像它的名字一样“平和”,网站的设计是通过自然图片(阳光下的暖流.流淌的消息等)与缓缓的音乐相结合,帮你在短时间内即可放松下来.同时你不仅可以设定放松时间,还可以改变音频和图像等,很火的一个网站. 2. Do Nothin

聚类算法--K-means和k-mediods/密度聚类/层次聚类

目录 简述 K-means聚类 密度聚类 层次聚类 一.简述 聚类算法是常见的无监督学习(无监督学习是在样本的标签未知的情况下,根据样本的内在规律对样本进行分类). 在监督学习中我们常根据模型的误差来衡量模型的好坏,通过优化损失函数来改善模型.而在聚类算法中是怎么来度量模型的好坏呢?聚类算法模型的性能度量大致有两类: 1)将模型结果与某个参考模型(或者称为外部指标)进行对比,个人觉得认为这种方法用的比较少 2)另一种是直接使用模型的内部属性,比如样本之间的距离(闵可夫斯基距离)来作为评判指标,这

【ML-7】聚类算法--K-means和k-mediods/密度聚类/层次聚类

目录 简述 K-means聚类 密度聚类 层次聚类 一.简述 聚类算法是常见的无监督学习(无监督学习是在样本的标签未知的情况下,根据样本的内在规律对样本进行分类). 在监督学习中我们常根据模型的误差来衡量模型的好坏,通过优化损失函数来改善模型.而在聚类算法中是怎么来度量模型的好坏呢?聚类算法模型的性能度量大致有两类: 1)将模型结果与某个参考模型(或者称为外部指标)进行对比,个人觉得认为这种方法用的比较少 2)另一种是直接使用模型的内部属性,比如样本之间的距离(闵可夫斯基距离)来作为评判指标,这

AP聚类算法

一.算法简介 Affinity Propagation聚类算法简称AP,是一个在07年发表在Science上的聚类算法.它实际属于message-passing algorithms的一种.算法的基本思想将数据看成网络中的节点,通过在数据点之间传递消息,分别是吸引度(responsibility)和归属度(availability),不断修改聚类中心的数量与位置,直到整个数据集相似度达到最大,同时产生高聚类中心,并将其余各点分配到相应的聚类中. 二.算法描述 1.相关概念 Exemplar:指的