中文

Entropy based Nearest Neighbor Search in High Dimensions

数据结构与算法 2007-05-23 v2

摘要

In this paper we study the problem of finding the approximate nearest neighbor of a query point in the high dimensional space, focusing on the Euclidean space. The earlier approaches use locality-preserving hash functions (that tend to map nearby points to the same value) to construct several hash tables to ensure that the query point hashes to the same bucket as its nearest neighbor in at least one table. Our approach is different -- we use one (or a few) hash table and hash several randomly chosen points in the neighborhood of the query point showing that at least one of them will hash to the bucket containing its nearest neighbor. We show that the number of randomly chosen points in the neighborhood of the query point qq required depends on the entropy of the hash value h(p)h(p) of a random point pp at the same distance from qq at its nearest neighbor, given qq and the locality preserving hash function hh chosen randomly from the hash family. Precisely, we show that if the entropy I(h(p)q,h)=MI(h(p)|q,h) = M and gg is a bound on the probability that two far-off points will hash to the same bucket, then we can find the approximate nearest neighbor in O(nρ)O(n^\rho) time and near linear O~(n)\tilde O(n) space where ρ=M/log(1/g)\rho = M/\log(1/g). Alternatively we can build a data structure of size O~(n1/(1ρ))\tilde O(n^{1/(1-\rho)}) to answer queries in O~(d)\tilde O(d) time. By applying this analysis to the locality preserving hash functions in and adjusting the parameters we show that the cc nearest neighbor can be computed in time O~(nρ)\tilde O(n^\rho) and near linear space where ρ2.06/c\rho \approx 2.06/c as cc becomes large.

关键词

引用

@article{arxiv.cs/0510019,
  title  = {Entropy based Nearest Neighbor Search in High Dimensions},
  author = {Rina Panigrahy},
  journal= {arXiv preprint arXiv:cs/0510019},
  year   = {2007}
}