Clustering by fast search and find of density peaks

简介:

    "Clustering by fast search and find of density peaks"是20114年6月份在《Science》期刊上发表的的一篇论文,论文中提出了一种非常巧妙的聚类算法。

    首先,该算法是基于这样的假设:

    (1)聚类中心密度要高

    (2)高密度中心点之间的距离应该相对远一些。

     异常点都会被排除,同时也和形状无关。

    首先,这种方法不像原先的Kmeans那样随机初始种子点然后迭代,它是根据样本的密度峰值来确定聚类中心的,当然聚类中心确定之后,后面的问题就方便多了,由于不需要迭代,时间消耗非常低,小规模的话可以忽略。下面看看这篇文章是怎么找到局部密度峰值的(其实这里的密度峰值有点类似正态分布的样子)。

     1、局部密度

     局部密度就定义为别的所有点的距离小于截断距离的个数。

wKiom1jYc6CjAgwEAACoUvFCUX4668.jpg

wKioL1jYc6Hhz7rBAAC0sIAUmOA290.jpg

   2、Delta距离

    Delta距离定义取比该点局部密度大的所有点的最小距离,如果这个点已经是局部密度最大的点,那么Delta赋值为别的所有点到它的最大距离。

wKioL1jYdHezP4CaAABCBXmb4wU768.jpg

    最后,相对应的聚类中心就是相对Delta值比较大的点,如果好几个相近点的Delta值都比较大,而且比较接近,那么任何一个都可以当作该类的中心。


   实验测试:



参考:

http://people.sissa.it/~laio/Research/Res_clustering.php

http://blog.csdn.net/itplus/article/details/38926837

http://blog.csdn.net/jdplus/article/details/40351541





     本文转自stock0991 51CTO博客,原文链接:http://blog.51cto.com/qing0991/1910606,如需转载请自行联系原作者




相关文章
|
3月前
|
机器学习/深度学习 人工智能
【CatBoost报错解决】CatBoostError: Bad value for num feature[non default doc idx=0,feature idx=19]=
【CatBoost报错解决】CatBoostError: Bad value for num feature[non default doc idx=0,feature idx=19]=
|
机器学习/深度学习
Leetcode-Medium 96.Unique Binary Search Trees
Leetcode-Medium 96.Unique Binary Search Trees
76 0
PAT (Advanced Level) Practice - 1043 Is It a Binary Search Tree(25 分)
PAT (Advanced Level) Practice - 1043 Is It a Binary Search Tree(25 分)
103 0
PAT (Advanced Level) Practice - 1145 Hashing - Average Search Time(25 分)
PAT (Advanced Level) Practice - 1145 Hashing - Average Search Time(25 分)
100 0
|
算法 Python
Leetcode-Medium 98. Validate Binary Search Tree
Leetcode-Medium 98. Validate Binary Search Tree
108 0
【1064】Complete Binary Search Tree (30 分)
【1064】Complete Binary Search Tree (30 分) 【1064】Complete Binary Search Tree (30 分)
80 0
|
机器学习/深度学习
1064. Complete Binary Search Tree (30)
#include #include #include using namespace std; const int maxn = 1001; vector num(maxn), cbt(maxn); int n, c...
825 0