arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2009.04552cs.DC
收藏

KNN-DBSCAN:高维空间中的 DBSCAN

KNN-DBSCAN: a DBSCAN in high dimensions

Youguang Chen, William Ruys, George Biros

AI总结:

本文提出 kNN-DBSCAN,用基于随机投影的 κ-近邻图替代高维下昂贵的 ε-近邻图,并给出 OpenMP/MPI 并行实现,实现数百亿点高维聚类且最高比现有并行 DBSCAN 快 37 倍。

摘要:

聚类是机器学习中的一项基础任务。DBSCAN 是最成功且应用最广泛的算法之一,它是一种基于密度的聚类算法。DBSCAN 需要输入数据集的 ε-近邻图,而这种图通过范围搜索算法以及 KD-tree 等空间数据结构计算。尽管人们已经为设计可扩展的 DBSCAN 实现付出了许多努力,但现有工作仍局限于低维数据集,因为在高维空间中构建 ε-近邻图代价高昂。本文中,我们修改 DBSCAN,使其能够使用输入数据集的 κ-近邻图。κ-近邻图采用基于随机投影的近似算法构建。尽管这些算法在高维空间中可能变得不准确或代价高昂,但与构建 ε-近邻图相比,它们具有低得多的内存开销。我们阐明了 kNN-DBSCAN 产生与 DBSCAN 相同聚类结果的条件。我们还给出了整个算法的高效并行实现:使用 OpenMP 实现共享内存并行,并使用 MPI 实现分布式内存并行。我们展示了在多达 160 亿个 20 维点上的结果,并使用合成数据进行了弱扩展和强扩展研究。我们的代码在低维和高维情况下都很高效。在得克萨斯高级计算中心(TACC)的 Frontera 系统上,使用 28K 个核心,我们能够在不到 1 秒内对 10 亿个 3D 点完成聚类。在最大规模运行中,我们在 TACC 的 Frontera 系统上使用 114,688 个 x86 核心,在不到 40 秒内对 650 亿个 20 维点完成聚类。此外,我们还与一个最先进的并行 DBSCAN 代码进行了比较;在 20d/4M 点数据集上,我们的代码最高快 37 倍。

英文摘要:

Clustering is a fundamental task in machine learning. One of the most successful and broadly used algorithms is DBSCAN, a density-based clustering algorithm. DBSCAN requires $ε$-nearest neighbor graphs of the input dataset, which are computed with range-search algorithms and spatial data structures like KD-trees. Despite many efforts to design scalable implementations for DBSCAN, existing work is limited to low-dimensional datasets, as constructing $ε$-nearest neighbor graphs is expensive in high-dimensions. In this paper, we modify DBSCAN to enable use of $κ$-nearest neighbor graphs of the input dataset. The $κ$-nearest neighbor graphs are constructed using approximate algorithms based on randomized projections. Although these algorithms can become inaccurate or expensive in high-dimensions, they possess a much lower memory overhead than constructing $ε$-nearest neighbor graphs. We delineate the conditions under which $k$NN-DBSCAN produces the same clustering as DBSCAN. We also present an efficient parallel implementation of the overall algorithm using OpenMP for shared memory and MPI for distributed memory parallelism. We present results on up to 16 billion points in 20 dimensions, and perform weak and strong scaling studies using synthetic data. Our code is efficient in both low and high dimensions. We can cluster one billion points in 3D in less than one second on 28K cores on the Frontera system at the Texas Advanced Computing Center (TACC). In our largest run, we cluster 65 billion points in 20 dimensions in less than 40 seconds using 114,688 x86 cores on TACC's Frontera system. Also, we compare with a state of the art parallel DBSCAN code; on 20d/4M point dataset, our code is up to 37$\times$ faster.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑