深圳尤洛视觉
深圳
立即加入
词汇表

DBSCAN (具有噪声的基于密度的空间聚类应用)

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

DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的空间聚类应用)是一种流行的无监督学习算法,用于将紧密排列的数据点分组在一起,并将单独位于低密度区域中的点标记为异常值。与其他聚类方法不同,DBSCAN 不需要预先指定聚类的数量。它能够找到任意形状的聚类并且对噪声具有鲁棒性,这使其成为数据挖掘数据分析的强大工具。该算法最初由 Martin Ester、Hans-Peter Kriegel、Jörg Sander 和 Xiaowei Xu 在 1996 年的一篇论文中提出,该论文成为该领域的基础性著作。

DBSCAN 的工作原理

DBSCAN 根据给定空间中数据点的密度定义聚类。它基于两个关键参数运行:

  • Epsilon(ε 或 eps): 此参数定义数据点周围邻域的半径。此距离内的所有点都被视为邻居。
  • 最小点数 (MinPts): 这是形成密集区域或聚类所需的最小数据点数(包括点本身)。

基于这些参数,DBSCAN 将每个数据点分为以下三种类型:

  1. 核心要点: 如果一个点至少有 MinPts 在其内部 eps 邻域。这些点是簇的内部。
  2. 边界点: 如果一个点在以下范围内,则该点是一个边界点 eps 核心点的邻域,但没有足够的邻居成为核心点本身。这些点形成簇的边缘。
  3. 噪声点(异常值): 如果一个点既不是核心点也不是边界点,则该点被认为是噪声。这些是不属于任何集群的异常值。

该算法从一个任意点开始,并检索其邻域。如果它是一个核心点,则创建一个新的聚类。然后,该算法通过将所有直接可达的邻居添加到该聚类来迭代地扩展该聚类,这个过程一直持续到没有更多的点可以添加到任何聚类为止。您可以在 scikit-learn 文档 中看到一个可视化的实现。

真实世界的AI/ML应用

DBSCAN 识别噪声和发现非线性聚类的能力使其在各个领域都具有很高的价值:

  • 地理空间分析: 城市规划者和地理学家使用 DBSCAN 分析空间数据。例如,通过对交通事故的 GPS 坐标进行聚类,他们可以识别事故热点。同样,它可以用于查找报告的疾病病例的集群,帮助流行病学家跟踪疫情爆发。像日本地理空间信息管理局这样的组织使用类似的基于密度的方法进行地图绘制。
  • 金融领域的异常检测(Anomaly Detection in Finance): 在金融领域,DBSCAN 可用于检测欺诈交易。通过聚类客户的典型消费模式,任何超出这些集群的交易(即被标记为噪声)都可以被标记出来以供进一步调查。这种方法是现代欺诈检测系统的关键组成部分。

DBSCAN 和 Ultralytics

Ultralytics生态系统主要关注监督学习模型,例如用于对象检测图像分类实例分割等任务的Ultralytics YOLO。虽然 DBSCAN 是一种无监督方法,但其原理在更广泛的计算机视觉 (CV)领域中具有相关性。

例如,在使用像 YOLO11 这样的模型对繁忙街道的视频执行目标检测后,可以将 DBSCAN 应用于检测到的边界框的中心坐标。这个后处理步骤可以将单个行人检测结果分组为不同的群体,从而提供更高层次的场景理解。在准备用于训练的数据集时,理解数据分布也至关重要。使用 DBSCAN 进行探索性数据分析可以揭示数据集中的模式或异常,这些模式或异常可以使用像 Ultralytics HUB 这样的平台进行管理和可视化。

与相关术语的区别

  • K-均值聚类 最显著的区别在于,K-Means 需要用户指定聚类的数量(k)预先确定,而 DBSCAN 会自动确定聚类的数量。K-Means 在处理非球形聚类时也存在困难,并且对异常值敏感,因为它会强制将每个点放入一个聚类中。DBSCAN 擅长查找任意形状的聚类,并有效地将异常值隔离为噪声。
  • 层次聚类: 此方法创建一个聚类树,称为树状图。虽然它对于可视化嵌套聚类结构很有用,但在大型数据集上,与 DBSCAN 相比,它的计算成本可能更高。它们之间的选择通常取决于数据集大小和所需的输出,如选择正确的聚类算法指南中所述。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入
链接已复制到剪贴板