探索 DBSCAN:一种强大的聚类算法,用于识别模式、处理噪声和分析机器学习中的复杂数据集。
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的空间聚类应用)是一种流行的无监督学习算法,用于将紧密排列的数据点分组在一起,并将单独位于低密度区域中的点标记为异常值。与其他聚类方法不同,DBSCAN 不需要预先指定聚类的数量。它能够找到任意形状的聚类并且对噪声具有鲁棒性,这使其成为数据挖掘和数据分析的强大工具。该算法最初由 Martin Ester、Hans-Peter Kriegel、Jörg Sander 和 Xiaowei Xu 在 1996 年的一篇论文中提出,该论文成为该领域的基础性著作。
DBSCAN 根据给定空间中数据点的密度定义聚类。它基于两个关键参数运行:
eps): 此参数定义数据点周围邻域的半径。此距离内的所有点都被视为邻居。基于这些参数,DBSCAN 将每个数据点分为以下三种类型:
MinPts 在其内部 eps 邻域。这些点是簇的内部。eps 核心点的邻域,但没有足够的邻居成为核心点本身。这些点形成簇的边缘。该算法从一个任意点开始,并检索其邻域。如果它是一个核心点,则创建一个新的聚类。然后,该算法通过将所有直接可达的邻居添加到该聚类来迭代地扩展该聚类,这个过程一直持续到没有更多的点可以添加到任何聚类为止。您可以在 scikit-learn 文档 中看到一个可视化的实现。
DBSCAN 识别噪声和发现非线性聚类的能力使其在各个领域都具有很高的价值:
Ultralytics生态系统主要关注监督学习模型,例如用于对象检测、图像分类和实例分割等任务的Ultralytics YOLO。虽然 DBSCAN 是一种无监督方法,但其原理在更广泛的计算机视觉 (CV)领域中具有相关性。
例如,在使用像 YOLO11 这样的模型对繁忙街道的视频执行目标检测后,可以将 DBSCAN 应用于检测到的边界框的中心坐标。这个后处理步骤可以将单个行人检测结果分组为不同的群体,从而提供更高层次的场景理解。在准备用于训练的数据集时,理解数据分布也至关重要。使用 DBSCAN 进行探索性数据分析可以揭示数据集中的模式或异常,这些模式或异常可以使用像 Ultralytics HUB 这样的平台进行管理和可视化。