我已经读过这个问题了,但不幸的是,它没有帮助。
我不明白的是,一旦我们理解了给高维空间查询向量q分配哪个桶,我们会做什么:假设使用我们的一组局部性敏感的家族函数h_1,h_2,...,h_n,我们已经将q转换为一个低维(n维度)哈希代码c。
然后,c是q分配给的桶的索引,并且(希望)分配给它最近的邻居的位置(希望如此),假设有100个向量。
现在,为了找到q的NN,我们要计算q和之间的距离,只有这100个向量,对吗?所以c只用于索引(只用于决定哪个桶分配q‘),对吗?
另一种解决方案,如这调查(第2.2节)所述,“哈希表查找”(前面描述的方法)的替代方案是“快速距离近似”,因此我们进行了详尽的研究,计算出相对于数据集中的每个元素的c和生成的哈希码之间的距离。这应该是快速的,因为哈希码是在一个低维空间,而且距离应该更快计算(例如,如果哈希码空间是二进制的,那么我们可以使用XOR运算符来快速计算两个哈希码之间的汉明距离)。
现在,我想知道的是:这两种方法的优缺点是什么?为什么我要用一种方法而不是另一种方法呢?
发布于 2016-06-14 07:50:55
https://stackoverflow.com/questions/37802137
复制相似问题