DBSCAN

✍ dations ◷ 2025-09-13 10:02:01 #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)。

相关

  • 鸟是鸟纲(学名:Aves)动物的通称,是唯一存活至今的恐龙,现代所有鸟类在生物学上也被分类为鸟形恐龙(即鸟翼类)的一部分;鸟纲的全体成员均为两足、恒温、卵生、身披羽毛且色彩鲜艳各异
  • Org. Synth.《有机合成》(Organic Syntheses,常缩写为 Org. Synth.)是一个化学领域的学术期刊。有机合成为年刊,于1921年创刊,提供各种有关有机合成的资料。1998年,其编者决定将以前和以后要
  • IP地址互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。IP地
  • 米高·亚瑟米高·亚瑟(Michael Arth,1953年4月27日-),是一位美国作家、艺术家、未来主义者、室内/环境/城市设计师。他妻子叫Maya。米高·亚瑟涉及的领域很广;从1970年代摇滚音乐会招贴,到传统
  • 加拉信府加拉信府(泰语:จังหวัดกาฬสินธุ์,皇家转写:Changwat Kalasin,泰语发音:),一译胶拉信府,是泰国东北部依善地区的府份。邻近府(从北顺时针)依序为:沙功那空府、穆达汉府、
  • 娜奥米·坎贝尔娜奥米·坎贝尔(英语:Naomi Campbell,1970年5月22日-),生于英国首都伦敦,昵称“黑珍珠”、“人类最完美骨骼”,童星出身的英国超级名模、歌手、舞蹈家、作家、慈善家,世界模特史上最
  • 杨格杨格,或译扬或杨(Young)是一个英格兰人、爱尔兰人和苏格兰人的姓氏。可指下列人物:
  • 罗伯托·格哈德罗伯托·格哈德(西班牙语:Robert Gerhard,1896年9月25日-1970年1月5日),德国-瑞士裔西班牙加泰罗尼亚作曲家,母为阿尔萨斯人,原名Robert Juan Rene Gerhard。初曾从格拉纳多斯学钢琴,从费利佩·佩德雷尔学作曲。后来得到勋伯格的赏识后又成为后者的学生。西班牙内战期间被迫迁居国外,先到巴黎,后到剑桥,最终逝世于剑桥。格哈德是序列主义音乐和十二音技法的代表之一,但也有着鲜明的西班牙民族个性。他在其第三交响曲“拼贴”中使用了录音带。
  • 维托里诺·安图内斯维托里诺·安图内斯(葡萄牙语:Vitorino Antunes;1987年4月1日-)是一位葡萄牙足球运动员。在场上的位置是左后卫。现效力于葡超球队费利拿,他曾效力于乌超球队基辅迪纳摩。他也曾代表葡萄牙国家足球队参赛。
  • 德米特里·阿夫拉莫维奇阿夫拉莫维奇(Dimitrije Avramović,1815-1855),塞尔维亚画家。生于斯维基·伊凡·沙卡什凯,死于诺维萨德。曾先后在诺维萨德和维也纳学画,1848年革命时创作了大量知识分子肖像。《乌依奇肖像》(1843年)和《穿白衣的男孩》(1843年)是其中代表作。此外,他在艺术理论方面也有很大贡献。