CFSFDP聚类算法(本文后附有参考代码)

                                                通过快速搜索和发现密度峰值进行聚类

聚类分析目的是根据相似性划分类别,它的应用范围从天文学到生物信息学、文献计量学和模式认出我们提出了一种基于集群中心特征化的方法,通过比其邻居更高的密度以及与具有密度更高。这一思想构成了聚类过程的基础,其中聚类直观地出现,异常值被自动发现并从分析中排除,以及无论簇的形状和空间的维度如何,都可以识别簇它们是嵌入的。我们在几个测试案例中演示了算法的性能。

     聚类算法试图根据元素的相似性将元素分类为类别或簇。已经提出了几种不同的聚类策略(1),但即使在聚类的定义上也没有达成共识。在K-means(2)和K-medoids值(3)方法中,聚类是以距离聚类中心较小为特征的数据组。优化目标函数(通常是到一组假定聚类中心的距离之和)(3-6),直到找到最佳聚类中心候选。然而,由于数据点总是分配给最近的中心,因此这些方法无法检测非球形簇(7)。在基于分布的算法中,人们试图再现观察到的概率分布函数(8);这些方法的准确性取决于试验概率表示数据的能力。通过基于数据点的局部密度的方法,可以容易地检测具有任意形状的聚类。在基于密度的带噪声应用的空间聚类(DBSCAN)(9)中,选择密度阈值,丢弃密度低于该阈值的区域中的点作为噪声,并将高密度的断开区域分配给不同的聚类。然而,选择一个合适的阈值可能是不平凡的,这是均值漂移聚类方法中不存在的缺点(10,11)。在这里,簇被定义为一组点,这些点收敛到密度分布函数的相同局部最大值。该方法允许在一组坐标系中找到非球面簇,计算成本高。在这里,我们提出了另一种方法。与K-medoids方法类似,它的基础仅在于数据点之间的距离。与DBSCAN和mean shift方法一样,它能够检测非球形簇并自动找到正确的簇数。聚类中心被定义为数据点密度的局部最大值,如均值移动法。然而,与均值漂移方法不同,我们的方法不需要将数据嵌入向量空间,并显式最大化每个数据点的密度场。

该算法的基础是假设簇中心被具有较低局部密度的邻居包围,并且它们与具有较高局部密度的任何点之间的距离相对较大。对于每个数据点i,我们计算两个量:其局部密度

(1)

和其与高密度点的距离。这两个量仅取决于数据点之间的距离,假设数据点满足三角不等式。局部密度定义为:

 

 

 边界区域内的最高密度点。我们用表示其密度。密度高于的簇的点被视为簇核心的一部分(鲁棒分配)。其他被视为集群晕的一部分(s u i t a b l e t o b e c o n s i d e r e d a s n o e)。为了对我们的程序进行基准测试,让我们首先考虑图2中的测试案例。数据点来自具有非球形和强重叠峰值的概率分布(图2A);对应于最大值的概率值相差几乎一个数量级。在图2、B和C中,分别从图2A中的分布绘制4000和1000个点。在相应的决策图(图2、D和E)中,我们仅观察到五个点,它们具有大的和相当大的密度。这些点在图中表示为大实心圆,对应于簇中心。选择中心后,每个点指定给簇或光环。该算法捕获概率峰值的位置和形状,甚至那些对应于非常不同的密度(图2C中的蓝色和浅绿色点)和非球形峰值。此外,分配给光环的点对应于图2A中的能力分布的簇,不会分配给任何峰值。为了更定量地证明程序的稳健性,我们通过从图2A中的分布中绘制10000个点来进行分析,并将在该样本上获得的聚类分配作为参考。然后,我们通过只保留一小部分点来获得简化样本,并独立地为每个简化样本执行聚类分配。图2F显示了作为缩减样本大小的函数,分配给集群的点的比例不同于在参考案例中分配的点。即使对于包含1000个点的小样本,错误分类点的比例仍远低于1%。图2B中数据的变化dc产生相互一致的结果(图S1)。根据经验法则,可以选择dc,使得邻居的平均数量大约为数据集中点总数的1%到2%。

https://download.csdn.net/download/m19166/86510994

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值