65
22

Near Neighbor: Who is the Fairest of Them All?

Abstract

\newcommand{\ball}{\mathbb{B}}\newcommand{\dsQ}{{\mathcal{Q}}}\newcommand{\dsS}{{\mathcal{S}}}In this work we study a fair variant of the near neighbor problem. Namely, given a set of nn points PP and a parameter rr, the goal is to preprocess the points, such that given a query point qq, any point in the rr-neighborhood of the query, i.e., \ball(q,r)\ball(q,r), have the same probability of being reported as the near neighbor. We show that LSH based algorithms can be made fair, without a significant loss in efficiency. Specifically, we show an algorithm that reports a point in the rr-neighborhood of a query qq with almost uniform probability. The query time is proportional to O(dns(q.r)\dsQ(n,c))O\bigl( \mathrm{dns}(q.r) \dsQ(n,c) \bigr), and its space is O(\dsS(n,c))O(\dsS(n,c)), where \dsQ(n,c)\dsQ(n,c) and \dsS(n,c)\dsS(n,c) are the query time and space of an LSH algorithm for cc-approximate near neighbor, and dns(q,r)\mathrm{dns}(q,r) is a function of the local density around qq. Our approach works more generally for sampling uniformly from a sub-collection of sets of a given collection and can be used in a few other applications. Finally, we run experiments to show performance of our approach on real data.

View on arXiv
Comments on this paper