问题标签 [locality-sensitive-hash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
62 浏览

algorithm - 无限特征空间的局部敏感散列

如果您无法枚举所有可能的功能(例如比较用户时的 Facebook 点赞数),我会尝试将注意力集中在局部敏感散列上。有解决这个问题的解决方案吗?

到目前为止,我所看到的局部敏感散列算法依赖于长度的有限向量,k其中k是特征(例如单词)的总数。就我而言,我事先不知道全部特征集,但我仍然想在我的数据库中找到新项目的 n 最近邻。给定数据库的目标大小,重新计算每个插入的成对相似性是不可行的。

我该如何解决这个问题?有没有人遇到过类似的问题并找到了解决方案?

0 投票
1 回答
360 浏览

r - 当同时存在数值和分类数据时,如何在 LSH 中进行随机投影?

注意:使用 LSH 进行最近邻查询

假设数据集有 5 个特征 (f1,f2,..,f5),其中前 2 个是数字,3 个是分类。这些类别中的一个或多个可能是用户名或主题之类的,编码起来会非常大。

如果我们使用混合距离作为距离度量并在哈希函数中使用它应该是什么或如何为函数选择随机投影?

如果我必须更改 HashFunction 就可以了。

样本数据

0 投票
1 回答
450 浏览

algorithm - 为什么 LSH 的 k 和 l 用于近似最近邻?

在所有 Locality Sensitive Hashing 解释中(即http://en.wikipedia.org/wiki/Locality-sensitive_hashing#LSH_algorithm_for_nearest_neighbor_search

他们描述了生成了 k 个哈希函数,但在哈希表中只使用了 l (l < k) 来对值进行哈希处理。

为什么要生成 k 而不仅仅是生成 l?

为什么要使用单独的因子 k 和 l?

我不明白。

0 投票
1 回答
1016 浏览

pandas - 使用包含 NaN 值的数据框在 Python Pandas 中进行随机投影

我有一个data包含实际值和一些 NaN 值的数据框。我正在尝试使用随机投影执行局部敏感散列,以将维度减少到 25 个组件,特别是sklearn.random_projection.GaussianRandomProjection类。但是,当我运行时:

tx = random_projection.GaussianRandomProjection(n_components = 25) data25 = tx.fit_transform(data)

我明白了Input contains NaN, infinity or a value too large for dtype('float64')。有解决方法吗?我尝试将所有 NaN 值更改为我的数据集中从未存在的值,例如 -1。在这种情况下,我的输出有多有效?我不是局部敏感散列/随机投影理论背后的专家,因此任何见解也会有所帮助。谢谢。

0 投票
1 回答
508 浏览

python - 试图通过示例python代码理解LSH

我研究的简洁的python代码在这里

问题 A @ 第 8 行

对于“get_signature”,我不太了解“ res = res << 1 ”的语法含义

问题 B @ 第 49 行(由我自己通过另一个Q&A解决)

xor = r1^r2 ”对我来说没有任何意义,作者后来尝试“ (d-nna(vor)) ”来计算“hash_sim”——(参考第50行)

关于 hash_sim 的问题 C @

这个问题更多地与 LSH 理解有关,示例代码中的变量“ d ”(第 38 行)在做什么----稍后用于计算第 50 行中的hash_sim

问题 D @ 第 20 和 24 行——“&”的语法

不仅理解语法“ num = num & (num-1) ”有问题,而且不确定函数“nnz”在 hash_similarlity 的上下文中正在做什么。当作者将“xor”应用于“ nnz ”时,这个问题可能与我的问题(-b-)有关,并且“ xor ”(问题b)的方程再次对我来说看起来很奇怪。

ps

我对 python 和 LSH 的理解都处于初学者水平,我有点进入这个问题的循环。感谢您花时间了解我的困惑以及代码

0 投票
1 回答
1454 浏览

nearest-neighbor - 来自 LSHForest 的示例,结果不可信

库和相应的文档如下——是的,我阅读了所有内容并能够在我自己的代码上“运行”。

http://scikit-learn.org/stable/modules/generated/sklearn.neighbors.LSHForest.html

但结果对我来说真的没有意义,所以我浏览了这个例子(也包含在上一个网页中)

所以我只是尝试通过找到三个测试集 [9, 1, 6], [3, 1, 10], [7, 10, 3] 的最近邻居来验证示例

假设搜索 [9,1,6] 的最近邻居(通过使用欧几里德距离),最近的训练点是 [5, 5, 2] 和 [6, 10, 2] (我认为索引将 [0.4]) ——这与结果显着不同 [1,2]

通过简单的数学计算,距离也完全脱离了主题,附上我的 excel 表

再次感谢您的时间和帮助

0 投票
1 回答
189 浏览

python - 对局部敏感哈希进行故障排除

我正在使用深度神经网络来生成图像特征以进行基于图像的检索。我正在使用的特定网络生成 4096 维特征。

我正在使用LSHash从功能中生成哈希桶。当我对所有可用特征进行比较,按欧几里得距离对图像进行排序时,我发现这些特征很好地代表了图像的相似性。然而,当我使用 LSHash 时,我发现类似的功能很少出现在同一个存储桶中。

源特征是否太大而无法与 LSH 一起使用?在尝试对图像特征进行散列之前,是否有其他方法可以减小图像特征的尺寸?

0 投票
2 回答
342 浏览

algorithm - 局部敏感散列可以用于动态数据吗?

局部敏感散列可以用于动态数据吗?例如,假设我首先对 1,000,000 个文档使用 LSH 并将结果存储在索引中,然后我想将另一个文档添加到创建的索引中。我可以用 LSH 来做吗?

0 投票
1 回答
506 浏览

indexing - 在动态数据集上使用局部敏感散列

我将 LSH 用于数据库记录,并通过它创建一个索引(不是数据库索引,一个简单的哈希图),其中类似的记录被阻止到同一个存储桶中。数据库可能包含数百万条记录。我的问题与我在下面发布的设计有关。

在此处输入图像描述

首先,我将使用通过执行 LSH 可用的数据库创建索引。但是当一条新记录插入数据库时​​,我必须将该记录也索引到索引中。我怎样才能使用 LSH 做到这一点?LSH 可以将该记录分配给具有相似记录的存储桶吗?LSH 是否支持更新数据集?

0 投票
1 回答
3877 浏览

elasticsearch - 局部敏感散列 - Elasticsearch

是否有任何插件允许在 Elasticsearch 上使用 LSH?如果是的话,你能指出我的位置并告诉我如何使用它吗?谢谢

编辑:我发现 ES 使用 MinHash 插件。我怎么能用这个来比较文件呢?什么是查找重复项的好设置?