Formally, for a database of vectors defined over a set of labels in an inner product space with an inner product defined on it, MIPS search can be defined as the problem of determining
for a given query .
Although there is an obvious linear-time implementation, it is generally too slow to be used on practical problems. However, efficient algorithms exist to speed up MIPS search.[1][2]
Under the assumption of all vectors in the set having constant norm, MIPS can be viewed as equivalent to a nearest neighbor search (NNS) problem in which maximizing the inner product is equivalent to minimizing the corresponding distance metric in the NNS problem.[3] Like other forms of NNS, MIPS algorithms may be approximate or exact.[4]
^ abAbuzaid, Firas; Sethi, Geet; Bailis, Peter; Zaharia, Matei (2019-03-14). "To Index or Not to Index: Optimizing Exact Maximum Inner Product Search". arXiv:1706.01449 [cs.IR].
^Steve Mussmann, Stefano Ermon.
Learning and Inference via Maximum Inner Product Search.
In Proc. 33rd International Conference on Machine Learning (ICML), 2016.