我已经读过这个问题,但不幸的是它没有帮助。
我不了解的是,一旦我们了解了将哪个存储桶分配给高维空间查询向量,我们便会做些什么q
:假设使用我们的一组局部敏感的族函数,h_1,h_2,...,h_n
我们已将其转换q
为低维(n
维)哈希码c
。
然后c
是q
分配给该存储桶的索引,并在其中(希望)还分配了其最近邻居(假设有100个向量)。
现在,我们为了找到做q
的NN是计算之间的距离,q
并且只有这100个载体,是正确的?因此,的使用c
仅用于索引编制(仅用于确定分配给哪个存储桶q
),对吗?
如本调查中所述(第2.2节),“哈希表查找”(先前描述的方法)的另一种替代方法是“快速距离近似”,因此我们进行了详尽的研究,在其中计算c
了生成的表和生成的表之间的距离。相对于数据集中每个元素的哈希码。由于散列码位于低维空间中并且距离计算得较快,因此这应该是快速的(例如,如果散列码空间是二进制的,那么我们可以使用XOR运算符来快速计算汉明码)两个哈希码之间的距离)。
现在,我想知道的是:这两种方法的优点/缺点是什么?为什么我应该使用一种方法而不是另一种方法?
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句