术语表

DBSCAN(基于密度的带噪声应用空间聚类算法)

探索 DBSCAN:在机器学习中用于识别模式、处理噪声和分析复杂数据集的强大聚类算法。

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

DBSCAN(基于密度的有噪声应用空间聚类)是机器学习(ML)数据挖掘中广泛使用的聚类算法。它属于无监督学习方法,也就是说,它可以在没有预定义标签的情况下发现数据中的模式。DBSCAN 擅长将特征空间中紧密聚集在一起的数据点分组,能有效识别任意形状的簇。它的一个主要优势是能将低密度区域中的孤立点标记为离群点或噪声,从而使其在实际数据集中具有很强的鲁棒性。与需要事先指定聚类数量的算法不同,DBSCAN 根据数据密度确定聚类,为人工智能(AI)中的各种数据探索任务提供了灵活性。

DBSCAN 如何工作

DBSCAN 基于密度可达性的概念来识别聚类。它将聚类视为被低密度区域分隔开来的高密度区域。该算法的行为主要由两个参数控制:

  1. ε(eps):该参数定义了两个数据点之间的最大距离,以便将其中一个点视为另一个点的邻近点。它实质上是在每个点周围创建一个半径。
  2. 最小点数 (minPts):该参数规定了将一个点归类为 "核心点 "所需的 eps 邻域(包括该点本身)内数据点的最小数量。

根据这些参数,数据点被分为三类:

  • 核心要点: 一个点是核心点,如果它至少有 minPts 内的邻居 eps 半径。这些点通常位于集群的内部。
  • 边境点: 如果一个点可以从核心点到达(即在 eps 核心点的半径),但没有 minPts 邻居本身。边界点位于聚类的边缘。
  • 噪声点(异常值):既不是核心点也不是边界点的点被视为噪声点。这些点通常孤立于低密度区域。

该算法首先任意选择一个未访问过的数据点。它通过检查该点的 eps-邻域。如果它是一个核心点,就会形成一个新的簇,算法会递归地将所有密度可达到的点(邻域中的核心点和边界点)添加到这个簇中。如果被选中的点是一个噪声点,则会被暂时标记为噪声点,然后算法会移动到下一个未访问的点。这个过程一直持续到所有点都被访问并分配到一个群组或标记为噪声点为止。如需深入了解原始方法,请查阅研究论文:"在有噪声的大型空间数据库中发现聚类的基于密度的算法".

主要优缺点

DBSCAN 有几个优点:

  • 处理任意形状与 K-means 等算法不同,DBSCAN 可以找到非球形的聚类。
  • 无需预先确定簇数:聚类数量由算法根据密度决定。
  • 抗异常值能力强:它具有识别和处理噪声点的内置机制。

不过,它也有局限性:

  • 参数灵敏度: 聚类结果的质量在很大程度上取决于对以下参数的选择 epsminPts.寻找最佳参数是一项挑战。像 scikit-learn 提供的实现 可以调整。
  • 不同密度的困难: 当数据集群的密度相差很大时,它就会陷入困境,因为单个 eps-minPts 这种组合可能并不适用于所有集群。
  • 高维数据:由于"维度诅咒",密度的概念变得不再有意义,因此在高维空间中性能可能会下降。

DBSCAN 与其他聚类方法的比较

DBSCAN 经常与其他聚类算法,特别是K-means 聚类算法进行比较。主要区别包括

  • 簇形状:K-means 假定簇是球形的,大小相等,而 DBSCAN 可以找到任意形状的簇。
  • 集群数量: K-means 要求用户指定聚类的数量 (k),而 DBSCAN 是自动确定的。
  • 异常值处理:K-means 将每个点分配到一个聚类中,因此对异常值非常敏感。而 DBSCAN 则明确地将异常值识别为噪声并加以隔离。
  • 计算复杂性:K-means 通常比 DBSCAN 更快,尤其是在大型数据集上,不过 DBSCAN 的复杂性会因参数选择和数据结构优化(如KD 树)而有所不同。

实际应用

DBSCAN 能够找到密集组并隔离异常值,因此适用于各种应用:

  • 异常检测识别偏离正常行为的异常模式。例如,检测欺诈性信用卡交易(与密集的合法消费相比,欺诈性信用卡交易往往表现为孤立的点),或为网络安全识别网络流量数据中的入侵。探索视觉人工智能异常检测的相关概念。
  • 空间数据分析:分析地理或空间数据。例如,对客户地点进行分组以确定细分市场,分析城市中的犯罪热点(智慧城市中的人工智能),或在卫星图像分析中确定土地利用分类或环境监测的模式。
  • 生物数据分析:对基因表达数据进行聚类或识别蛋白质数据库中的结构。
  • 推荐系统:根据稀疏的交互数据对具有相似偏好的用户进行分组(推荐系统概述)。

DBSCAN 和Ultralytics

超数据分析 Ultralytics生态系统主要关注监督学习模型,例如 Ultralytics YOLO等监督学习模型,用于物体检测图像分类图像分割等任务。DBSCAN 作为一种无监督方法,并没有直接集成到 YOLOv8 等模型的核心训练循环中。 YOLOv8YOLO11其原理与计算机视觉 (CV)数据分析的更广泛背景相关。在准备和分析用于训练的数据集或对模型输出进行后处理(例如在推理后根据空间距离对检测到的物体进行聚类)时,了解数据密度和分布至关重要。Ultralytics HUB等平台提供了数据集管理和可视化工具,可以对探索性数据分析技术(可能会应用 DBSCAN 等聚类算法)进行补充。

阅读全部