Density Peak

原文出自:https://blog.csdn.net/LilyXFan/article/details/70598509?locationNum=1&fps=1


参考文献:2014年发表在Nature上的文章Clustering by fast search and find of density peaks

核心思想:密度比邻居节点高、与比其密度大的点的距离相对大的点是聚类中心。

1. 两个定义:

1.1.局部密度ρ


ρi=jχ(dijdc)

其中,χ(x)={1,0,x<0otherwise (cutoff kernal)
也可以采用gassion kernal计算:
ρi=jexp((dijdc)2)

1.2.密度比i大且距i最近的点与i的距离δ
δi=minj:ρj>ρidij

特别的,对于密度最大的点,δi=maxj(dij)

2.聚类中心的选择
ρ

δ相对较大的点为聚类中心,通过ρ-δ

散点图观察

3.其他点的分配
其余非聚类中心点,被分配到密度比其大、距离最近的点所属的类(高密度向低密度传播,因此适用于流型)

4.分配的可靠性度量

  • 没有引入noise-signal cutoff.本文为每个聚类定义了border

  • region(分配到该类但距其他类中点的距离小于dc的点的集合) 对每个聚类,找到其borderregion中点的最大密度ρb


在某个聚类c中,ρi

>ρb
  • ,则i会分配到聚类c中,否则i被称为halo(可以被理解为噪声)

5.dc的取值
可以去dc,使得平均邻居数占数据集中所有点的1%-2%
dc的取值具有鲁棒性,dc大,ρ

大,计算δ

和选中心点时只比较相对大小,与具体的数值无关

6.cutoff kernal or gaussion kernal
对与小数据集,ρ

δ 的计算不可避免的受统计误差影响,因此计算ρ

时采用gaussion kernal要更好些。

7.实验效果
输入:距离矩阵/相似度矩阵
(不一定要是欧式距离),只需要点之间的关系(通过MDS多维尺度变换能直观的展现数据点之间在多种距离上离得多近,还可以产生一个低维的数据点表示,MDS不需要原始数据,只需要衡量点间距离的距离矩阵。)
7.1.Spiral
这里写图片描述
7.2.Flame
这里写图片描述
7.3.Aggregation
这里写图片描述
7.4.Jain
这里写图片描述

8.思考
Q1.当密度分布不均匀时,聚类效果如何?

效果不好(如Jain数据集),在计算局部密度时并没有考虑局部结构
Q2.重叠群组?
不交叉

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章