探索 DBSCAN:在机器学习中用于识别模式、处理噪声和分析复杂数据集的强大聚类算法。
DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 是一种流行的无监督学习算法,用于将密集的数据点归类,并将单独位于低密度区域的点标记为离群点。与其他聚类方法不同,DBSCAN 不需要事先指定聚类的数量。DBSCAN 能够找到任意形状的聚类,而且对噪声具有很强的鲁棒性,这使它成为数据挖掘和数据分析的强大工具。马丁-埃斯特(Martin Ester)、汉斯-彼得-克里格尔(Hans-Peter Kriegel)、约尔格-桑德(Jörg Sander)和徐小伟在 1996 年的一篇论文中首次介绍了该算法,这篇论文成为该领域的奠基之作。
DBSCAN 根据给定空间中数据点的密度定义聚类。它有两个关键参数:
eps
): 该参数定义了数据点周围的邻域半径。在此距离内的所有点都被视为相邻点。根据这些参数,DBSCAN 将每个数据点分为三种类型:
MinPts
在其 eps
邻域。这些点就是一个群集的内部。eps
这些点是核心点的邻域,但没有足够的邻域成为核心点。这些点构成了一个群集的边缘。该算法从一个任意点开始,并检索其邻域。如果它是一个核心点,就会创建一个新的簇。然后,算法通过添加所有可直接到达的邻域来迭代扩展聚类,这个过程一直持续到没有点可以添加到任何聚类为止。你可以在scikit-learn 文档中看到可视化实现。
DBSCAN 能够识别噪声和发现非线性聚类,因此在各个领域都具有很高的价值:
Ultralytics生态系统主要关注有监督的学习模型,如用于物体检测、图像分类和实例分割等任务的Ultralytics YOLO。虽然 DBSCAN 是一种无监督方法,但其原理与更广泛的计算机视觉 (CV) 相关。
例如,使用YOLO11等模型对繁忙街道的视频进行物体检测后,可将 DBSCAN 应用于检测到的边界框的中心坐标。这一后处理步骤可将单个行人检测结果归类为不同的人群,从而提供更高层次的场景理解。在准备训练数据集时,了解数据分布也至关重要。使用 DBSCAN 进行探索性数据分析可以揭示数据集中的模式或异常现象,可以使用Ultralytics HUB 等平台对其进行管理和可视化。
k
),而 DBSCAN 会自动确定聚类的数量。K-Means 在处理非球形聚类时也很吃力,而且对异常值很敏感,因为它会把每个点都强制归入一个聚类。而 DBSCAN 擅长寻找任意形状的聚类,并能有效地将异常值作为噪声隔离开来。