A-A+

关于Clustering by fast search and find of density peaks的问题

2014年08月23日 聚类算法 评论 15 条 阅读 4,719 views 次

作者(Alex Rodriguez, Alessandro Laio)在论文《Clustering by fast search and find of density peaks》提出了一种很简洁优美的聚类算法,可以识别各种形状的类簇,并且其超参数很容易确定。关于算法介绍在上文Science上发表的超赞聚类算法中已经做了相关介绍。

经过两周多时间的研究学习,查了相关资料,现在将作者matlab下实现的代码转化成java语言,并得到一定实验效果。作者使用matlab做的实验数据集使用的是(点序号,点序号,两点间的距离)的矩阵形式,我使用的数据集形式是空间坐标点。

对于实验中的重要几个参数:局部密度rho,点到高局部密度点的最近距离delta,dc等。由于涉及到的参数比较多,所以转化过程中一定要清楚明白自己下一步要做的是什么,为什么要这么做。在理解论文表达的内容的基础,对其感悟会慢慢加深。在这里就不做详细描述,下面主要说一下我碰到的问题。

首先,关于dc的取值问题,论文中作者简单提到选择dc使得平均每个点的邻居数为所有点的1%-2%。但是在实际实验中,不同的数据集需要的dc值在使得平均每个点的邻居数为所有点的1%-2%之间的某个范围,而这个范围并不是确定得到的,可能需要大量实验测试才能取到一个相对比较适合的范围。

第二,关于离群点的问题,作者的matlab实现的源码中没有实现如何分离出离群点,离群点在论文中提及到“Points 26, 27, and 28 have a relatively high delta and a low rho because they are isolated; they can be considered as clusters composed of a single point, namely, outliers.”,大体上说的是26,27,28这三个点虽然delta值虽然很大,但是rho很小,所以这三个点为离群点。在这里关于rho为离群点时的范围,如何确定,未知。

让我疑惑的地方还有很多,但是上面两点尤为让我困扰。

Copyright © 风恋尘香 保留所有权利.   Theme  Ality

用户登录