DBSCAN算法

简单的说就是根据一个根据对象的密度不断扩展的过程的算法。一个对象O的密度可以用靠近O的对象数来判断。学习DBSCAN算法,需要弄清楚几个概念: 

一:基本概念

1.:对象O的是与O为中心,为半径的空间,参数,是用户指定每个对象的领域半径值。

2.MinPts(领域密度阀值):对象的的对象数量。

3.核心对象:如果对象O的对象数量至少包含MinPts个对象,则该对象是核心对象。

4.直接密度可达:如果对象p在核心对象q的内,则p是从q直接密度可达的。

5.密度可达:在DBSCAN中,p是从q(核心对象)密度可达的,如果存在对象链,使得,从关于和MinPts直接密度可达的,即

内,则密度可达。

6.密度相连:如果存在对象,使得对象都是从q关于和MinPts密度可达的,则称是关于和MinPts密度相连的。

二:密度可达和密度相连

图1基于密度的聚类中的密度可达和密度相连性

由上图可看出m,p,o.r 都是核心对象,因为他们的内都只是包含3个对象。

1.对象q是从m直接密度可达的。对象m从p直接密度可达的。

2.对象q是从p(间接)密度可达的,因为q从m直接密度可达,m从p直接密度可达。

3.r和s是从o密度可达的,而o是从r密度可达的,所有o,r和s都是密度相连的。

 

三:DBSCAN聚类过程

 1.DBSCAN发现簇的过程

       初始,给定数据集D中所有对象都被标记为“unvisited”,DBSCAN随机选择一个未访问的对象p,标记p为“visited”,并检查p的是否至少包含MinPts个对象。如果不是,则p被标记为噪声点。否则为p创建一个新的簇C,并且把p的中所有对象都放在候选集合N中。DBSCAN迭代地把N中不属于其他簇的对象添加到C中。在此过程中,对应N中标记为“unvisited”的对象,DBSCAN把它标记为“visited”,并且检查它的,如果至少包含MinPts个对象,则中的对象都被添加到N中。DBSCAN继续添加对象到C,直到C不能扩展,即直到N为空。此时簇C完成生成,输出。

     为了找到下一个簇,DBSCAN从剩下的对象中随机选择一个未访问过的对象。聚类过程继续,直到所有对象都被访问。

2.DBSCAN聚类算法流程

 

posted @ 2015-03-15 16:23 爱嘉牛LA 阅读(...) 评论(...) 编辑 收藏