[论文解读] Faster DBSCAN via subsampled similarity queries
本文提出SNG-DBSCAN,一种更快的DBSCAN变体,通过在ε-邻域图中子采样边来保留聚类结构。通过仅采样O(log n / n)的边并仅依赖相似性查询,其运行时间为O(n log n),在大规模数据集上实现高达200倍的加速,内存使用减少250倍,同时在理论一致性保证下保持了具有竞争力的聚类质量。
DBSCAN is a popular density-based clustering algorithm. It computes the $ε$-neighborhood graph of a dataset and uses the connected components of the high-degree nodes to decide the clusters. However, the full neighborhood graph may be too costly to compute with a worst-case complexity of $O(n^2)$. In this paper, we propose a simple variant called SNG-DBSCAN, which clusters based on a subsampled $ε$-neighborhood graph, only requires access to similarity queries for pairs of points and in particular avoids any complex data structures which need the embeddings of the data points themselves. The runtime of the procedure is $O(sn^2)$, where $s$ is the sampling rate. We show under some natural theoretical assumptions that $s \approx \log n/n$ is sufficient for statistical cluster recovery guarantees leading to an $O(n\log n)$ complexity. We provide an extensive experimental analysis showing that on large datasets, one can subsample as little as $0.1\%$ of the neighborhood graph, leading to as much as over 200x speedup and 250x reduction in RAM consumption compared to scikit-learn's implementation of DBSCAN, while still maintaining competitive clustering performance.
研究动机与目标
- 为解决DBSCAN的高计算成本问题,其运行时间随数据集大小呈二次方增长,原因是需要计算完整的邻域图。
- 实现在标准DBSCAN因内存或时间限制而失效的大规模数据集上的可扩展密度聚类。
- 开发一种避免复杂数据结构的方法,适用于任意相似性函数,而不仅限于特定距离度量。
- 在关于数据密度和聚类分离性的自然假设下,提供聚类恢复的理论保证。
- 通过实证验证,仅子采样0.1%的邻域图即可保持具有竞争力的聚类性能。
提出的方法
- SNG-DBSCAN通过从完整邻域图中均匀随机采样边,构建子采样的ε-邻域图。
- 该方法仅依赖于随机点对之间的相似性查询来判断是否应包含某条边(即距离≤ε)。
- 利用Karger(1995)的理论结果,表明采样O(log n / n)条边可在高概率下保持高程度节点(核心点)的连通分量。
- 算法对子采样图进行处理,提取连通分量,形成最终聚类。
- 避免使用空间划分数据结构(如KD树),使其兼容任意相似性函数。
- 总体复杂度为O(sn²),其中s为采样率;在理论假设下,当s ≈ log n / n时,总运行时间为O(n log n)。
实验结果
研究问题
- RQ1子采样的ε-邻域图能否保留DBSCAN聚类所需的核点连通分量?
- RQ2确保统计一致性与准确聚类恢复所需的最小采样率s是多少?
- RQ3该子采样方法能否在保持真实世界数据集上具有竞争力的聚类性能的同时实现亚二次方运行时间?
- RQ4与标准DBSCAN及DBSCAN++等优化变体相比,SNG-DBSCAN在速度和内存使用上表现如何?
- RQ5该方法在不同数据集上(包括低维与高维设置)是否依然有效?
主要发现
- 在包含多达一百万个点的数据集上,SNG-DBSCAN相比scikit-learn的DBSCAN实现,运行时间最高提升200倍,内存使用减少250倍。
- 仅子采样0.1%的邻域图即可保持具有竞争力的聚类性能,大多数数据集上的ARI和AMI分数与完整DBSCAN相差不超过10%。
- 在70%的测试指标上,SNG-DBSCAN优于DBSCAN++,尤其在高维数据(如Australian数据集)上表现更优,而DBSCAN++因核心点选择不佳而失效。
- 理论分析表明,在标准密度假设下,采样s ≈ log n / n条边可在高概率下保持核心点连通分量。
- 在小数据集上,SNG-DBSCAN在1%至30%的边采样率下实现显著的运行时间提升,且在最优调参下保持了具有竞争力的聚类得分。
- 对于较大的ε值,标准DBSCAN因内存耗尽而失效,但SNG-DBSCAN仍可运行,使此前不可行的数据集得以聚类。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。