位置敏感哈希(LSH)如何工作?

justHelloWorld

我已经读过这个问题,但不幸的是它没有帮助。

我不了解的是,一旦我们了解了将哪个存储桶分配给高维空间查询向量,我们便会做些什么q:假设使用我们的一组局部敏感的族函数,h_1,h_2,...,h_n我们已将其转换q为低维(n维)哈希码c

然后cq分配给该存储桶的索引,并在其中(希望)还分配了其最近邻居(假设有100个向量)。

现在,我们为了找到做q的NN是计算之间的距离,q并且只有这100个载体,是正确的?因此,的使用c仅用于索引编制(仅用于确定分配给哪个存储桶q),对吗?


调查中所述(第2.2节),“哈希表查找”(先前描述的方法)的另一种替代方法是“快速距离近似”,因此我们进行了详尽的研究,在其中计算c了生成的表和生成的表之间的距离。相对于数据集中每个元素的哈希码。由于散列码位于低维空间中并且距离计算得较快,因此这应该是快速的(例如,如果散列码空间是二进制的,那么我们可以使用XOR运算符来快速计算汉明码)两个哈希码之间的距离)。

现在,我想知道的是:这两种方法的优点/缺点是什么?为什么我应该使用一种方法而不是另一种方法?

尼古妮

首先描述的方法解释了近似最近邻居搜索。是的,仅检查垃圾箱中的这100个其他项目,便会获得最佳性能c,但是在其他相邻存储桶中丢失优秀候选者的风险更高。

用于纬度/经度坐标的简单哈希方案是Geohash您可以通过查看同一Geohash块中的物品来找到最近的商店,但是在网格边界附近可能会得出不正确的结果。

快速距离近似的一个示例可以在这里找到,它找到汉明距离足够小的图像匹配(利用pHash)。由于哈希值只有64位长,因此笔记本电脑GPU每秒可以进行7亿次比较。请注意,将检查所有图像,不使用索引或哈希数据结构。这样,您可以确保获得所有匹配项(在pHash空间中)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

搜索位置敏感的哈希

来自分类Dev

局部敏感哈希(LSH)中的ε(ε)参数是什么?

来自分类Dev

局部敏感哈希(LSH)中的ε(ε)参数是什么?

来自分类Dev

用于位置敏感哈希的Spark实现

来自分类Dev

特色包/视觉文字+位置敏感的哈希

来自分类Dev

如何安排按钮的位置变得敏感

来自分类Dev

LSH使用的哈希值混淆

来自分类Dev

局部敏感哈希或pHash?

来自分类Dev

局部敏感哈希或pHash?

来自分类Dev

位置敏感的哈希-当存储桶为空时会发生什么?

来自分类Dev

密码哈希+盐如何工作

来自分类Dev

如何通过MapReduce实现LSH?

来自分类Dev

哈希位置更改时如何触发事件

来自分类Dev

如何获取哈希内的键/值对的位置?

来自分类Dev

哈希位置更改时如何触发事件

来自分类Dev

Ruby on Rails:哈希无法正常工作或放置在错误的位置

来自分类Dev

Perl:“地图”的哈希分配如何工作?

来自分类Dev

这个Ruby代码如何工作?(哈希)(Learnrubythehardway)

来自分类Dev

这个Ruby代码如何工作?(哈希)(Learnrubythehardway)

来自分类Dev

特征哈希究竟是如何工作的?

来自分类Dev

为LSH Minhash算法生成随机哈希函数

来自分类Dev

amChart heat 位置敏感地图

来自分类Dev

如何使Pool对KeyboardInterrupt敏感

来自分类Dev

CSS手写笔颜色功能,单位敏感度如何工作?

来自分类Dev

如何使用当前哈希位置提交html表单

来自分类Dev

如何访问React Router 2上的当前哈希位置?

来自分类Dev

如何在URL中隐藏父位置哈希

来自分类Dev

哈希变量语法在打字稿中如何工作?

来自分类Dev

如何使Ruby类像使用Setter的哈希一样工作

Related 相关文章

热门标签

归档