当前位置: 首页 > 科技观察

Science发表的很棒的聚类算法_0

时间:2023-03-14 16:54:36 科技观察

作者(AlexRodriguez,AlessandroLaio)提出了一种非常简单优雅的聚类算法,可以识别各种形状的聚类,并且其超参数易于确定。算法思想是簇的中心由一些局部密度比较低的点包围,这些点与其他局部密度比较高的点之间的距离比较大。首先定义两个值:局部密度ρi和到局部高密度点的距离δi:其中dc是截止距离,是超参数。所以ρi等于与点i的距离小于dc的点的个数。由于该算法只对ρi的相对值敏感,因此对dc的选择更具有鲁棒性。一个推荐的方法是选择dc使每个点的平均邻居数为所有点的1%-2%。对于密度最高的点,设置。请注意,只有那些具有局部或全局密度的点才会具有比正常邻居大得多的点间距。在聚类过程中,那些具有较大局部密度ρi和较大δi的点被认为是聚类的中心。局部密度小但δi大的点是异常点。确定了聚类中心后,所有其他点都属于距离最近的聚类中心所代表的聚类。图示如下:左图为二维空间中所有点的分布,右图以ρ为横坐标,δ为纵坐标。该图称为决策树。可以看出1和10这两个点的ρi和δi都比较大,作为簇的中心点。26、27、28这三个点的δi也比较大,但是ρi很小,所以是异常点。聚类分析在聚类分析中,通常需要确定分配给某个聚类的每个点的可靠性。在该算法中,可以先为每个聚类定义一个边界区域(borderregion),即分配给该聚类但与其他聚类的点的距离小于dc的点。然后为每个簇找到边界区域中局部密度最高的点,令其局部密度为ph。簇中所有局部密度大于ph的点都被认为是簇核心的一部分(即将该点划分为簇的可靠性很高),其余的点被认为是是簇的光晕(halo),即可以认为是噪声。比如下图A展示了生成数据的概率分布,B和C两张图分别展示了从分布中生成了4000和1000个点。D和E分别是B和C组数据的决策树,可以看出两组数据中只有五个点的ρ比较大i和一个大的δi。这些点是集群的中心。确定簇的中心后,将每个点划分为每个簇(彩色点),或划分为簇晕(黑色点)。F图表明,随着采样点数的增加,聚类错误率逐渐降低,表明该算法具有鲁棒性。***展示算法对各种数据分布的聚类效果,非常Like。参考文献:[1]。通过快速搜索和发现密度峰值进行聚类。AlexRodriguez,AlessandroLaio本文来自:Kemaswill'sBlog