登录
首页精彩阅读论文中的机器学习算法——基于密度峰值的聚类算法
论文中的机器学习算法——基于密度峰值的聚类算法
2017-03-21
收藏

论文中的机器学习算法——基于密度峰值的聚类算法

下面还是主要来谈谈论文的主要思想。

算法的主要思想思想

    在聚类算法中主要有这样几种:

划分的方法,如K-Means

层次的方法,如CURE

基于密度的方法,如DBSCAN

基于网格的方法,如CLIQUE

基于模型的方法,主要是一些概率分布

在以往的学习过程中,我只关注过划分的方法,如K-Means(见博文“简单易学的机器学习算法——kMeans”)。

    Science上的这篇文章《Clustering by fast search and find of density peaks》主要讲的是一种基于密度的聚类方法,基于密度的聚类方法的主要思想是寻找被低密度区域分离的高密度区域。而在文章中提出的聚类方法(以下称为“Desity Peaks Clusering Algorithm, DPCA”)也同样基于这样的一种假设:对于一个数据集,聚类中心被一些低局部密度的数据点包围,而且这些低局部密度的点距离其他有高局部密度的点的距离都比较大。在这样的模型中,DPCA主要有两个需要计算的量:第一,局部密度;第二,与高密度点之间的距离

1、局部密度的定义为:


其中,

称为截断距离(Cut-off distance)。这个公式的含义是说找到与第个数据点之间的距离小于截断距离的数据点的个数。

2、与高密度点之间的距离

这个公式的含义是说找到所有比第个数据点的局部密度都大的数据点中,与第个数据点之间的距离的最小值。而对于具有最大密度的数据点,通常取

3、如何聚类

对于聚类问题,我们需要回答的是聚类中心是什么,对于每个数据点,如何定义所属的类别。DPCA中将那些具有较大距离且同时具有较大局部密度的点定义为聚类中心。

(图片来源于文章)
如上图B,数据点1和数据点10同时具有相对较高的距离和局部密度,所以是聚类中心。而在图中具有相对较高的距离,但是局部密度却较小的数据点26,27和28称为异常点。对于那些非异常点,如何对他们聚类呢?DPCA采用的是将他们归类到比他们的密度更大的最相近的类中心所属的类别中。到此,整个算法的基本思想解释结束。数据分析师培训

    对于这样的算法,如何去定义相对较高,作者并没有给出解释,在作者提供的程序和数据中,我做了实验,实验结果如下:

数据分析咨询请扫描二维码

客服在线
立即咨询