Science发表的超赞聚类算法

来源:互联网 发布:js 数组里的对象去重 编辑:程序博客网 时间:2024/04/29 17:57

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


算法思想



聚类过程
那些有着比较大的局部密度ρi和很大的δi的点被认为是类簇的中心. 局部密度较小但是δi较大的点是异常点.在确定了类簇中心之后, 所有其他点和距离其最近的密度大于该点的点属于同一个类簇. 图例如下:

[/url]

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

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

[url=http://www.kemaswill.com/wp-content/uploads/2014/06/Screen-Shot-2014-06-28-at-%E4%B8%8B%E5%8D%8809.27.11.png]

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

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

[url=http://www.kemaswill.com/wp-content/uploads/2014/06/Screen-Shot-2014-06-28-at-%E4%B8%8B%E5%8D%8809.27.22.png][/url]

参考文献:

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


from:http://www.kemaswill.com/machine-learning/science%e5%8f%91%e8%a1%a8%e7%9a%84%e8%b6%85%e8%b5%9e%e8%81%9a%e7%b1%bb%e7%ae%97%e6%b3%95/

原文地址:http://dataunion.org/bbs/forum.php?mod=viewthread&tid=1365&page=1&extra=

0 0
原创粉丝点击