Towards Metric DBSCAN: Exact, Approximate, and Streaming Algorithms
Guanlin Mo, Shihong Song, Hu Ding
TL;DR
The paper extends DBSCAN to abstract metric spaces by exploiting low intrinsic (doubling) dimension among inliers, while allowing outliers to be arbitrary. It introduces a radius-guided Gonzalez's algorithm to obtain a basis for efficient exact DBSCAN, develops a linear-time $\rho$-approximate variant, and provides a streaming variant with memory independent of the input size. The exact algorithm uses a pre-processing step based on radius-guided $k$-center clustering and cover trees to label core points and merge clusters with bichromatic closest-pair queries, yielding near-linear time under key assumptions. Experiments across Euclidean and non-Euclidean data demonstrate substantial speedups over established DBSCAN variants, with competitive clustering quality and practical streaming capabilities, highlighting strong potential for large-scale, high-dimensional or non-Euclidean clustering tasks.
Abstract
DBSCAN is a popular density-based clustering algorithm that has many different applications in practice. However, the running time of DBSCAN in high-dimensional space or general metric space ({\em e.g.,} clustering a set of texts by using edit distance) can be as large as quadratic in the input size. Moreover, most of existing accelerating techniques for DBSCAN are only available for low-dimensional Euclidean space. In this paper, we study the DBSCAN problem under the assumption that the inliers (the core points and border points) have a low intrinsic dimension (which is a realistic assumption for many high-dimensional applications), where the outliers can locate anywhere in the space without any assumption. First, we propose a $k$-center clustering based algorithm that can reduce the time-consuming labeling and merging tasks of DBSCAN to be linear. Further, we propose a linear time approximate DBSCAN algorithm, where the key idea is building a novel small-size summary for the core points. Also, our algorithm can be efficiently implemented for streaming data and the required memory is independent of the input size. Finally, we conduct our experiments and compare our algorithms with several popular DBSCAN algorithms. The experimental results suggest that our proposed approach can significantly reduce the computational complexity in practice.
