Maximum Inner-Product Search using Tree Data-structures
arXiv:1202.6101 · doi:10.1145/2339530.2339677
Abstract
The problem of {\em efficiently} finding the best match for a query in a given set with respect to the Euclidean distance or the cosine similarity has been extensively studied in literature. However, a closely related problem of efficiently finding the best match with respect to the inner product has never been explored in the general setting to the best of our knowledge. In this paper we consider this general problem and contrast it with the existing best-match algorithms. First, we propose a general branch-and-bound algorithm using a tree data structure. Subsequently, we present a dual-tree algorithm for the case where there are multiple queries. Finally we present a new data structure for increasing the efficiency of the dual-tree algorithm. These branch-and-bound algorithms involve novel bounds suited for the purpose of best-matching with inner products. We evaluate our proposed algorithms on a variety of data sets from various applications, and exhibit up to five orders of magnitude improvement in query time over the naive search technique.
Under submission in KDD 2012
References in corpus (2)
Cited by in corpus (7)
- Recommender systems based on graph embedding techniques: A comprehensive review
- Signed Distance-based Deep Memory Recommender
- On the Complexity of Inner Product Similarity Join
- Fast Variational AutoEncoder with Inverted Multi-Index for Collaborative Filtering
- A Fully Dynamic Algorithm for k-Regret Minimizing Sets
- Topic-aware Most Influential Community Search in Social Networks
- Detecting the large entries of a sparse covariance matrix in sub-quadratic time