Fast Kd-trees for the Kullback--Leibler Divergence and other Decomposable Bregman Divergences
Tuyen Pham, Hubert Wagner
TL;DR
This paper extends the classic Kd-tree data structure to spaces governed by decomposable Bregman divergences, proving that pruning correctness does not require the triangle inequality. It introduces a practical C++ implementation for exact and guaranteed approximate nearest neighbor queries under divergences such as Kullback--Leibler, with an O(1) time update for projection-based pruning made possible by the decomposable structure. Theoretical results establish Ball connectivity and efficient projection updates via the Legendre transform, while empirical results show substantial speedups over naive search and competitive performance against specialized baselines across moderate to high dimensions. The work broadens the applicability of computational geometry methods to non-metric similarity measures encountered in probability vectors and machine learning, and highlights new open questions about expected query complexity in Bregman geometries.
Abstract
The contributions of the paper span theoretical and implementational results. First, we prove that Kd-trees can be extended to spaces in which the distance is measured with an arbitrary Bregman divergence. Perhaps surprisingly, this shows that the triangle inequality is not necessary for correct pruning in Kd-trees. Second, we offer an efficient algorithm and C++ implementation for nearest neighbour search for decomposable Bregman divergences. The implementation supports the Kullback--Leibler divergence (relative entropy) which is a popular distance between probability vectors and is commonly used in statistics and machine learning. This is a step toward broadening the usage of computational geometry algorithms. Our benchmarks show that our implementation efficiently handles both exact and approximate nearest neighbour queries. Compared to a naive approach, we achieve two orders of magnitude speedup for practical scenarios in dimension up to 100. Our solution is simpler and more efficient than competing methods.
