Dual-tree -means with bounded iteration runtime
k-means is a widely used clustering algorithm, but for clusters and a dataset size of , each iteration of Lloyd's algorithm costs time. Although there are existing techniques to accelerate single Lloyd iterations, none of these are tailored to the case of large , which is increasingly common as dataset sizes grow. We propose a dual-tree algorithm that gives the exact same results as standard -means; when using cover trees, we use adaptive analysis techniques to, under some assumptions, bound the single-iteration runtime of the algorithm as . To our knowledge these are the first sub- bounds for exact Lloyd iterations. We then show that this theoretically favorable algorithm performs competitively in practice, especially for large and in low dimensions. Further, the algorithm is tree-independent, so any type of tree may be used.
View on arXiv