DBSCAN与PDBSCAN

来源:互联网 发布:获取网站点击数据 编辑:程序博客网 时间:2024/05/29 17:10

DBSCAN是一种图的任意形状聚类的方法

在聚类的同时,希望剔除噪音。

其中定义图中点之间的density-reachable、density-connected等关系,定义了eps-neighborhood的概念。并定义了一个cluster应该满足的条件

一个是极大性:这个cluster必须是最大的,也就是其不是任何其他的cluster子集

另一个是连通性:一个cluster中的元素之间都是density-connected。

其他的不属于任何一个cluster的点则认为是噪音。

 

算法采用随机选择起始点,然后进行广度搜索扩展cluster来实现。

 

PDBSCAN是DBSCAN的并行算法(PARALLEL CLUSTERING ALGORITHM)。

总体过程是:首先,对图进行一个切分的操作,之后再将各个子图送入各个计算机分别处理,再对结果进行整合。

1.图的切分

采用Hilbert curve来辅助进行图的切分工作。

 

图为1-order ,2-order,3-order hilbert curve在2D空间中的形状,将点按位置分配到空间中的各个hilbert curve中的点上。由于hilbert curve中相邻的index位置相邻,再将index分成与计算机数量等同个数的块,之后再分配到各个计算机中。此种划分方法保证相邻的点存储在同一台机器中。

(其中的data page不是很理解,还有R*tree的作用)

 

2.各个计算机分别使用DBSCAN对子图进行处理

 

3.融合

定义了一个: Directly density-reachable with respect to the space constraint S的概念。也就是如上图中所表明的概念,也就是q必须在S2中。则respect to the space constraint S。之后又定义了density-reachable with respect to the space constraint S。即中间的点也必须在S2中,最终点没有要求。

 

最后给出了融合的条件,如上图b所示,当p也是一个core并且属于C1,但在S2中时,属于C2,则C1,C2合并。

在实际的算法中,定义了MC(C,S),也就是融合区域的候选集,如下图所示,可以看出其中包含的元素。

MC满足条件:

也就是说包含可以融合的元素。

之后是如果MC(C1,S1)∩MC(C2,S2)≠空集 的话,C1,C2可以融合。