DBSCAN

✍ dations ◷ 2025-08-21 14:08:16 #DBSCAN

DBSCAN,英文全写为Density-based spatial clustering of applications with noise ,是在 1996 年由Martin Ester, Hans-Peter Kriegel, Jörg Sander 及 Xiaowei Xu 提出的聚类分析算法, 这个算法是以密度为本的:给定某空间里的一个点集合,这算法能把附近的点分成一组(有很多相邻点的点),并标记出位于低密度区域的局外点(最接近它的点也十分远),DBSCAN 是其中一个最常用的聚类分析算法,也是其中一个科学文章中最常引用的。

在 2014 年,这个算法在领头数据挖掘会议 KDD 上获颁发了 Test of Time award,该奖项是颁发给一些于理论及实际层面均获得持续性的关注的算法。

考虑在某空间里将被聚类的点集合,为了进行 DBSCAN 聚类,所有的点被分为、及,详请如下:

如果 p 是核心点,则它与所有由它可达的点(包括核心点和非核心点)形成一个聚类,每个聚类拥有最少一个核心点,非核心点也可以是聚类的一部分,但它是在聚类的“边缘”位置,因为它不能达至更多的点。

“可达性”(英文:Reachability )不是一个对称关系,因为根据定义,没有点是由非核心点可达的,但非核心点可以是由其他点可达的。所以为了正式地界定 DBSCAN 找出的聚类,进一步定义两点之间的“连结性”(英文:Connectedness) :如果存在一个点 使得点 和点 都是由 可达的,则点 和点 被称为(密度)连结的,而连结性是一个对称关系。

定义了连结性之后,每个聚类都符合两个性质:

DBSCAN 需要两个参数:ε (eps) 和形成高密度区域所需要的最少点数 (minPts),它由一个任意未被访问的点开始,然后探索这个点的 ε-邻域,如果 ε-邻域里有足够的点,则建立一个新的聚类,否则这个点被标签为杂音。注意这个点之后可能被发现在其它点的 ε-邻域里,而该 ε-邻域可能有足够的点,届时这个点会被加入该聚类中。

如果一个点位于一个聚类的密集区域里,它的 ε-邻域里的点也属于该聚类,当这些新的点被加进聚类后,如果它(们)也在密集区域里,它(们)的 ε-邻域里的点也会被加进聚类里。这个过程将一直重复,直至不能再加进更多的点为止,这样,一个密度连结的聚类被完整地找出来。然后,一个未曾被访问的点将被探索,从而发现一个新的聚类或杂音。

算法可以以下伪代码表达,当中变数根据原本刊登时的命名:

DBSCAN(D, eps, MinPts) {   C = 0   for each point P in dataset D {      if P is visited         continue next point      mark P as visited      NeighborPts = regionQuery(P, eps)      if sizeof(NeighborPts) < MinPts         mark P as NOISE      else {         C = next cluster         expandCluster(P, NeighborPts, C, eps, MinPts)      }   }}expandCluster(P, NeighborPts, C, eps, MinPts) {   add P to cluster C   for each point P' in NeighborPts {       if P' is not visited {         mark P' as visited         NeighborPts' = regionQuery(P', eps)         if sizeof(NeighborPts') >= MinPts            NeighborPts = NeighborPts joined with NeighborPts'      }      if P' is not yet member of any cluster         add P' to cluster C   }}regionQuery(P, eps)   return all points within P's eps-neighborhood (including P)

注意这个算法可以以下方式简化:其一,"has been visited" 和 "belongs to cluster C" 可被结合起来,另外 "expandCluster" 副程式不必被抽出来,因为它只在一个位置被调用。以上算法没有以简化方式呈现,以反映原本出版的版本。另外,regionQuery 是否包含 P 并不重要,它等价于改变 MinPts 的值。

DBSCAN 对数据库里的每一点进行访问,可能多于一次(例如作为不同聚类的候选者),但在现实的考虑中,时间复杂度主要受regionQuery 的调用次数影响,DBSCAN 对每点都进行刚好一次调用,且如果使用了特别的编号结构,则总平均时间复杂度为 O(n log n) ,最差时间复杂度则为 O(n^2) 。可以使用 O(n^2) 空间复杂度的距离矩阵以避免重复计算距离,但若不使用距离矩阵,DBSCAN 的空间复杂度为 O(n)。

相关

  • 开罗开罗(阿拉伯语:القـــاهــرة‎,转写:al-Qāhira)是埃及首都。开罗在古埃及时期称优努(古埃及语:ỉwnw,拉丁化:lunu,意为“通道”)或安努(Anu),圣经中称作安(On)、赫利奥波利斯(希
  • 关联谬误关联谬误指的是一种轻率概化方面的非形式归纳谬误,及一种红鲱鱼,此类的谬误借由利用实质上不相关的关联(且常常诉诸情感)的论述,主张说某事物持有的性质也存在于另一种事物之上。
  • 索尼索尼移动通信股份有限公司(英语:Sony Mobile Communications Inc.,日语:ソニーモバイルコミュニケーションズ株式会社),简称索尼移动(Sony Mobile),是一家跨国性移动电话制造公司,在日
  • 美国陆军第25步兵师美国陆军第25步兵师隶属于美国陆军太平洋司令部第8军,绰号“热带闪电”,是美国太平洋战区主要的陆军力量,可以在接到动员令后18小时内开始部署。第25步兵师属轻型作战师,机动灵
  • 机构 (工程学)机构(英语:mechanism)或者机制在工程学中是用来传递与变换运动和力的可动装置。机构的基本要素为构件和运动副,以及组成结构运动链。机构学是通过数学、力学和运动学研究各种机
  • 沉湖湿地沉湖湿地是位于中国湖北省武汉市蔡甸区西南部的一块湿地,由原沉湖演变而来。原沉湖面积约为15.46平方千米,属于长江区。它的一级流域为长江流域,二级流域为长江干流水系。
  • 441 (单曲)《441》是日本女歌手miwa的第6张单曲,于2011年6月29日由Sony Music Records发行。单曲距离前作《春天来临时》发行约4个月,为miwa于2011年发行的第2张单曲。这张单曲的“初回
  • 刘先觉刘先觉(1931年12月12日-2019年5月16日),祖籍安徽肥东,生于福建福州,中国建筑教育家,东南大学建筑学院教授,有“中国近代建筑研究第一人”之称。刘先觉1949年考入之江大学建筑系,1950
  • 贝莱姆·格雷罗贝莱姆·格雷罗(西班牙语:Belem Guerrero,1974年3月8日-),墨西哥女子自行车运动员。她曾代表墨西哥参加1996年、2000年和2004年夏季奥林匹克运动会自行车比赛,其中2004年奥运会获得一枚银牌。
  • 劳拉·巴代亚劳拉·巴代亚(罗马尼亚语:Laura Badea,1970年3月28日-),罗马尼亚女子击剑运动员。她曾代表罗马尼亚参加1992年、1996年、2000年和2004年夏季奥林匹克运动会击剑比赛,获得一枚金牌、一枚银牌和一枚铜牌。