A Fast Sampling Algorithm for Maximum Inner Product Search

Abstract

Maximum Inner Product Search (MIPS) has been recognized as an important operation for the inference phase of many machine learning algorithms, including matrix factorization, multi-class/multi-label prediction and neural networks. In this paper, we propose Sampling-MIPS, which is the first sampling based algorithm that can be applied to the MIPS problem on a set of general vectors with both positive and negative values. Our Sampling-MIPS algorithm is efficient in terms of both time and sample complexity. In particular, by designing a two-step sampling with alias table, Sampling-MIPS only requires constant time to draw a candidate. In addition, we show that the probability of candidate generation in our algorithm is consistent with the true ranking induced by the value of the corresponding inner products, and derive the sample complexity of Sampling-MIPS to obtain the true candidate. Furthermore, the algorithm can be easily extended to large problems with sparse candidate vectors. Experimental results on real and synthetic datasets show that Sampling-MIPS is consistently better than other previous approaches such as LSH-MIPS, PCA-MIPS and Diamond sampling approach.

Cite

Text

Ding et al. "A Fast Sampling Algorithm for Maximum Inner Product Search." Artificial Intelligence and Statistics, 2019.

Markdown

[Ding et al. "A Fast Sampling Algorithm for Maximum Inner Product Search." Artificial Intelligence and Statistics, 2019.](https://mlanthology.org/aistats/2019/ding2019aistats-fast/)

BibTeX

@inproceedings{ding2019aistats-fast,
  title     = {{A Fast Sampling Algorithm for Maximum Inner Product Search}},
  author    = {Ding, Qin and Yu, Hsiang-Fu and Hsieh, Cho-Jui},
  booktitle = {Artificial Intelligence and Statistics},
  year      = {2019},
  pages     = {3004-3012},
  volume    = {89},
  url       = {https://mlanthology.org/aistats/2019/ding2019aistats-fast/}
}