Efficient Autotuning of Hyperparameters in Approximate Nearest Neighbor Search

Elias Jääsaari, Ville Hyvönen, Teemu Roos
12/18/2018
cs.DScs.LGstat.ML

Official code: vioshyvo/mrpt (272 stars, MIT, last commit 2026-06-19).

Abstract

Approximate nearest neighbor algorithms are used to speed up nearest neighbor search in a wide array of applications. However, current indexing methods feature several hyperparameters that need to be tuned to reach an acceptable accuracy--speed trade-off. A grid search in the parameter space is often impractically slow due to a time-consuming index-building procedure. Therefore, we propose an algorithm for automatically tuning the hyperparameters of indexing methods based on randomized space-partitioning trees. In particular, we present results using randomized k-d trees, random projection trees and randomized PCA trees. The tuning algorithm adds minimal overhead to the index-building process but is able to find the optimal hyperparameters accurately. We demonstrate that the algorithm is significantly faster than existing approaches, and that the indexing methods used are competitive with the state-of-the-art methods in query time while being faster to build.

View on arXivView PDF

Code Implementations(1)

vioshyvo/mrptOfficial100%
MIT

Fast and lightweight header-only C++ library (with Python bindings) for approximate nearest neighbor search

27247C, C++Feb 23, 20164 months agoMIT
approximate-nearest-neighbor-searchk-nnknn-searchmrptnearest-neighbor-search+2 more

Cite this paper

@article{jsaari2018efficient,
  title  = {Efficient Autotuning of Hyperparameters in Approximate Nearest Neighbor Search},
  author = {Elias Jääsaari and Ville Hyvönen and Teemu Roos},
  year   = {2018},
  eprint = {1812.07484},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1812.07484}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1812.07484.svg)](https://codeofpaper.com/paper/1812.07484)

Discussion