1.背景知识
2014年发表于 Science 上的论文《Clustering by fast search and find of density peaks》介绍了一种新的基于密度的聚类方法,密度峰值聚类算法(DPCA)。它是一种基于密度的聚类算法,其性能不受数据空间维度的影响。
算法的核心思想在于:(1)聚类中心样本的密度高于其周围样本的密度;(2)聚类中心样本到比其密度还高的另一个聚类中心样本的距离相对较大。基于这个思想,算法过程中聚类中心的数目可以较为直观的进行选取,离群点也能被自动检测出来并排除在聚类分析外。因此,需要计算的量有:(1)局部密度;(2)与局部密度高的点之间的距离。
2.算法介绍
给定数据样本S={xi|1<=i<=n},对于每一个样本点 xi 计算两个量化值:局部密度值ρi 和距离密度更高的样本点的聚类δi。
第一个量化值局部密度ρi 定义如为
ρi 代表了在搜索半径 dc 内,除了本身外的其他数据样本数目。
dij为 xi 与 xj 之间的距离。
dc 为截断距离,简单说就是邻域的搜索半径。
函数χ(x)的定义为
第二个量化值δi 度量了数据样本 xi 与比其密度高的最近的样本点之间的距离。如果ρi为最大值,则δi 为与离 xi 最远样本之间的距离:
对于密度值为局部或全局最大的样本点而言,它们的δi 会比其他样本点的δj 值要大很多,因为后者代表局部密度最大的样本点之间的距离,而前者代表样本点与其对应的局部密度最大的样本点之间的距离。因此,那些δ值很大的样本点也很有可能就是聚类中心。
3.优点&缺点
缺点:(1)所有点之间的距离需要提前计算,当样本容量过大时,整个距离矩阵的内存开销特别大。
(2)在测量数据点密度时,用户根据经验选择唯一恒定的截断距离dc 。如果选择不当,聚类结果较差。
(3)算法没有考虑数据内部的结构差异,无法准确测量数据点真实局部密度的不足。
优点:自动地发现簇中心,实现任意形状数据的高效聚类。