问题标签 [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.
algorithm - 无限特征空间的局部敏感散列
如果您无法枚举所有可能的功能(例如比较用户时的 Facebook 点赞数),我会尝试将注意力集中在局部敏感散列上。有解决这个问题的解决方案吗?
到目前为止,我所看到的局部敏感散列算法依赖于长度的有限向量,k
其中k
是特征(例如单词)的总数。就我而言,我事先不知道全部特征集,但我仍然想在我的数据库中找到新项目的 n 最近邻。给定数据库的目标大小,重新计算每个插入的成对相似性是不可行的。
我该如何解决这个问题?有没有人遇到过类似的问题并找到了解决方案?
r - 当同时存在数值和分类数据时,如何在 LSH 中进行随机投影?
注意:使用 LSH 进行最近邻查询
假设数据集有 5 个特征 (f1,f2,..,f5),其中前 2 个是数字,3 个是分类。这些类别中的一个或多个可能是用户名或主题之类的,编码起来会非常大。
如果我们使用混合距离作为距离度量并在哈希函数中使用它应该是什么或如何为函数选择随机投影?
如果我必须更改 HashFunction 就可以了。
样本数据
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?
我不明白。
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。在这种情况下,我的输出有多有效?我不是局部敏感散列/随机投影理论背后的专家,因此任何见解也会有所帮助。谢谢。
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 的理解都处于初学者水平,我有点进入这个问题的循环。感谢您花时间了解我的困惑以及代码
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 表
再次感谢您的时间和帮助
algorithm - 局部敏感散列可以用于动态数据吗?
局部敏感散列可以用于动态数据吗?例如,假设我首先对 1,000,000 个文档使用 LSH 并将结果存储在索引中,然后我想将另一个文档添加到创建的索引中。我可以用 LSH 来做吗?
elasticsearch - 局部敏感散列 - Elasticsearch
是否有任何插件允许在 Elasticsearch 上使用 LSH?如果是的话,你能指出我的位置并告诉我如何使用它吗?谢谢
编辑:我发现 ES 使用 MinHash 插件。我怎么能用这个来比较文件呢?什么是查找重复项的好设置?