We present a novel hashing strategy for approximate furthest neighbor search that selects projection bases using the data distribution. This strategy leads to an algorithm, which we call DrusillaHash, that is able to outperform existing approximate furthest neighbor strategies. Our strategy is motivated by an empirical study of the behavior of the furthest neighbor search problem, which lends intuition for where our algorithm is most useful. We also present a variant of the algorithm that gives an absolute approximation guarantee; to our knowledge, this is the first such approximate furthest neighbor hashing approach to give such a guarantee. Performance studies indicate that DrusillaHash can achieve comparable levels of approximation to other algorithms while giving up to an order of magnitude speedup. An implementation is available in the mlpack machine learning library (found at http://www.mlpack.org).
Let $P$ be a set of points in some metric space. The approximate furthest neighbor problem is, given a second point set $C,$ to find a point $p \in P$ that is a $(1+ε)$ approximate furthest neighbor from $C.$ The dynamic version is to maintain $P,$ over insertions and deletions of points, in a way that permits efficiently solving the approximate furthest neighbor problem for the current $P.$ We provide the first algorithm for solving this problem in metric spaces with finite doubling dimension. Our algorithm is built on top of the navigating net data-structure. An immediate application is two …
KNN has the reputation to be the word simplest but efficient supervised learning algorithm used for either classification or regression. KNN prediction efficiency highly depends on the size of its training data but when this training data grows KNN suffers from slowness in making decisions since it needs to search nearest neighbors within the entire dataset at each decision making. This paper proposes a new technique that enables the selection of nearest neighbors directly in the neighborhood of a given observation. The proposed approach consists of dividing the data space into subcells of a v…
We present Falconn++, a novel locality-sensitive filtering approach for approximate nearest neighbor search on angular distance. Falconn++ can filter out potential far away points in any hash bucket \textit{before} querying, which results in higher quality candidates compared to other hashing-based solutions. Theoretically, Falconn++ asymptotically achieves lower query time complexity than Falconn, an optimal locality-sensitive hashing scheme on angular distance. Empirically, Falconn++ achieves higher recall-speed tradeoffs than Falconn on many real-world data sets. Falconn++ is also competiti…
In this note, we show that one can use average embeddings, introduced recently in [Naor'20, arXiv:1905.01280], to obtain efficient algorithms for approximate nearest neighbor search. In particular, a metric $X$ embeds into $\ell_2$ on average, with distortion $D$, if, for any distribution $μ$ on $X$, the embedding is $D$ Lipschitz and the (square of) distance does not decrease on average (wrt $μ$). In particular existence of such an embedding (assuming it is efficient) implies a $O(D^3)$ approximate nearest neighbor search under $X$. This can be seen as a strengthening of the classic (bi-Lipsc…
Microsoft Research(微软研究院);The University of Queensland(昆士兰大学);Tsinghua University(清华大学)
相似性搜索(最近邻搜索)是从大型数据库中寻找与查询项距离最小的数据项的问题。已经开发了各种方法来解决这个问题,最近已经投入了大量的努力近似搜索。在本文中,我们提出了一个调查的主要解决方案之一,哈希,这已经被广泛研究,因为开拓性的工作局部敏感哈希。本文将散列算法分为两大类:局部敏感散列算法(locality sensitive hashing)和学习散列算法(learning to hash),局部敏感散列算法是根据数据分布来学习散列函数,本文从散列函数的设计、散列编码空间中的距离度量和搜索机制等方面对散列算法进行了综述。
Edit distance similarity search, also called approximate pattern matching, is a fundamental problem with widespread database applications. The goal of the problem is to preprocess $n$ strings of length $d$, to quickly answer queries $q$ of the form: if there is a database string within edit distance $r$ of $q$, return a database string within edit distance $cr$ of $q$. Previous approaches to this problem either rely on very large (superconstant) approximation ratios $c$, or very small search radii $r$. Outside of a narrow parameter range, these solutions are not competitive with trivially sear…
Locality Sensitive Hashing for Set-Queries, Motivated by Group Recommendations
局部敏感哈希(LSH)是一种有效的方法来索引一组点,这样我们就可以有效地找到查询点的最近邻居。我们将这种方法扩展到我们的新的集查询LSH(SLSH),这样它就可以找到一组点的最近邻居,作为查询。令$ s(x,y) $为两个点$ x $和$ y $之间的相似度。我们通过聚合所有$ p\in Q $的相似性$ s(p,x) $来定义集合$ Q$和点$ x $之间的相似性。例如,我们可以将$ s(p,x) $作为$ p $和$ x $之间的角度相似性(即,$1-{\angle (x,p)}/π$),并通过算术或几何平均或取最低相似性进行聚集。我们开发了本地敏感的哈希家庭和数据结构的一大套这样的算术和几何平均相似性,并分析其碰撞概率。我们还建立了一个类似的框架和散列距离函数的家庭。具体来说,我们给出了一个结构的欧氏距离聚合的平均值或采取最大值。我们利用SLSH来解决近似近邻问题的几何扩展。在这个版本中,我们考虑了一个度量,其中单位球是一个椭球体,其方向是由查询指定的。激励我们工作的一个重要应用是组推荐系统。这样的系统将电影和用户嵌入在相同的特征空间中,并且推荐一部电影供一组人一起观看的任务使用适当的相似性转换为集合查询$ Q $。
We present a new algorithm for the approximate near neighbor problem that combines classical ideas from group testing with locality-sensitive hashing (LSH). We reduce the near neighbor search problem to a group testing problem by designating neighbors as "positives," non-neighbors as "negatives," and approximate membership queries as group tests. We instantiate this framework using distance-sensitive Bloom Filters to Identify Near-Neighbor Groups (FLINNG). We prove that FLINNG has sub-linear query time and show that our algorithm comes with a variety of practical advantages. For example, FLINN…
As data volumes continue to grow, clustering and outlier detection algorithms are becoming increasingly time-consuming. Classical index structures for neighbor search are no longer sustainable due to the "curse of dimensionality". Instead, approximated index structures offer a good opportunity to significantly accelerate the neighbor search for clustering and outlier detection and to have the lowest possible error rate in the results of the algorithms. Locality-sensitive hashing is one of those. We indicate directions to model the properties of LSH.
Finding the nearest neighbor to a hyperplane (or Point-to-Hyperplane Nearest Neighbor Search, simply P2HNNS) is a new and challenging problem with applications in many research domains. While existing state-of-the-art hashing schemes (e.g., NH and FH) are able to achieve sublinear time complexity without the assumption of the data being in a unit hypersphere, they require an asymmetric transformation, which increases the data dimension from $d$ to $Ω(d^2)$. This leads to considerable overhead for indexing and incurs significant distortion errors. In this paper, we investigate a tree-based appr…
Space partitions of $\mathbb{R}^d$ underlie a vast and important class of fast nearest neighbor search (NNS) algorithms. Inspired by recent theoretical work on NNS for general metric spaces [Andoni, Naor, Nikolov, Razenshteyn, Waingarten STOC 2018, FOCS 2018], we develop a new framework for building space partitions reducing the problem to balanced graph partitioning followed by supervised classification. We instantiate this general approach with the KaHIP graph partitioner [Sanders, Schulz SEA 2013] and neural networks, respectively, to obtain a new partitioning procedure called Neural Locali…
Nearest neighbor search is fundamental to a wide range of applications. Since the exact nearest neighbor search suffers from the "curse of dimensionality", approximate approaches, such as Locality-Sensitive Hashing (LSH), are widely used to trade a little query accuracy for a much higher query efficiency. In many scenarios, it is necessary to perform nearest neighbor search under multiple weighted distance functions in high-dimensional spaces. This paper considers the important problem of supporting efficient approximate nearest neighbor search for multiple weighted distance functions in high-…
IT University of Copenhagen(哥本哈根信息技术大学);BARC;University of Copenhagen(哥本哈根大学)
Kernel Density Estimation (KDE) is a nonparametric method for estimating the shape of a density function, given a set of samples from the distribution. Recently, locality-sensitive hashing, originally proposed as a tool for nearest neighbor search, has been shown to enable fast KDE data structures. However, these approaches do not take advantage of the many other advances that have been made in algorithms for nearest neighbor algorithms. We present an algorithm called Density Estimation from Approximate Nearest Neighbors (DEANN) where we apply Approximate Nearest Neighbor (ANN) algorithms as a…
Discovering Data Structures: Nearest Neighbor Search and Beyond
Université de Montréal(蒙特利尔大学);Mila;HEC Montréal(蒙特利尔高等商学院);Microsoft Research(微软研究院);University of Southern California(南加州大学);Stanford University(斯坦福大学)