Skip to content

HDBSCAN 与 DBSCAN 的对比

HDBSCAN vs. DBSCAN

本章让我们深入了解一下 HDBSCAN,并理解它与 DBSCAN 的不同之处。和任何算法一样,DBSCAN 也有一些局限。首先,DBSCAN 假设数据点的局部密度(在某种程度上)是全局均匀的,这一点由它的 eps 参数控制。

ds p341 1

因此,它可能难以识别密度变化不一的簇。这可能需要进行多次超参数调优才能得到有希望的结果。HDBSCAN 可以是更好的基于密度的聚类之选。它放松了局部密度均匀这一假设,通过探索许多不同的密度尺度,使其对密度变化不一的簇更具鲁棒性。例如,考虑下面这个虚拟数据集上用 DBSCAN 得到的聚类结果,其中每个簇的密度各不相同:

ds p341 2

可以清楚地看到,DBSCAN 产生了很差的聚类结果。

现在把它与下图所示的 HDBSCAN 结果做比较:

ds p342 1

在一个包含三个簇、每个簇密度各不相同的数据集上,HDBSCAN 被证明更加鲁棒。

关于 HDBSCAN,还有一点我很喜欢:

  • DBSCAN 是一种随尺度变化的算法。因此,对于数据 X、2X、3X 等,聚类结果可能完全不同。
  • 而 HDBSCAN 是尺度不变的。所以,在不同尺度的数据上聚类结果保持不变。
  • 左边是 DBSCAN,我们可以看到结果会随数据尺度而变化。然而 HDBSCAN(在右侧)的聚类结果则不随尺度而改变。

ds p342 2

本站内容仅供学习交流,版权归原作者所有。