定义

CFSFDP 即基于密度峰值的聚类算法,是一种密度聚类。其基本思想为

  • 聚类中心的密度大,且其密度均大于其邻居的密度。
  • 聚类中心与其他密度更大的点的距离相对较大。

对第 个样本,首先计算其「局部密度」 和距离

定义「局部密度」为

其中函数为

参数 为截断距离,需事先指定。由以上公式可知, 表示数据集中与第 个样本之间距离小于 的样本点个数

定义距离为

由以上公式可知,当第 个样本的局部密度不是最大值时, 表示在所有局部密度大于第 个样本的局部密度的样本中,与第 个样本距离最小的距离值,当第 个样本具有最大局部密度时, 区其他距离的最大值。

聚类中心选择

计算数据集中每个样本点的局部密度和距离,可以得到 ,以局部密度 为横轴,以距离 为纵轴,将各样本点的 再该平面坐标中画出,可以得到决策图。

  • 聚类中心 L 同时具有较大的 值和 值,如样本 1 和 10
  • 离群点: 值很大,但 值很小,如样本 26,27 和 28

聚类过程:聚类中心找到以后,剩余的每个样本被归属到它的有更高密度的最邻近所属类簇,类簇分配只需要一步即可完成,不像其他函数需要对目标函数进行优化

聚类中心选择算法优化

对于图 A 中的情形,无法准确判断聚类中心,可以采用一个将 值和 值综合考量的量

显然, 越大,越有可能是聚类中心,因此对 进行降序排列,以样本点标号为横轴, 为纵轴,在坐标平面中画出来,如图 所示

img-2024-05-02 18-38-37.png

离群点算法优化

根据前面介绍的聚类算法,一些分散的离群点也会被强制分类到类簇当中,造成聚类后类簇边界不清晰,影响聚类效果

为了改进这种情况,将样本点划分为「核心区域」(Cluster Core)和「光环部分」(Cluster Halo),具体划分方法为

  • 查找边界区域:若一个类簇的样本 范围内,存在属于其他类簇的样本,则该样本为该边界区域的一个组成样本
  • 计算临界密度:为每个类簇找到其边界区域中平均局部密度最高的点

  • 划分核心部分与光环部分:类簇中样本的局部密度大于 时,则该样本被当作该类簇的核心部分;反之,则被看作光环部分,也可以被看作离群点。