很抱歉问这种菜鸟问题,但因为我真的非常急需一些关于如何使用 Multi probe LSH 的指导,所以我自己没有做太多研究。我意识到有一个 lib 调用 LSHKIT 可以实现该算法,但我在尝试弄清楚如何使用它时遇到了麻烦。 现在,我有几千个 296 维的特征向量,每个代表一个图像。该 vector 用于查询用户输入的图像,以检索最相似的图像。我用来推导 vector 之间距离的方法是欧氏距离。
我知道这可能是一个相当菜鸟的问题,但是你们知道我应该如何实现多探针 LSH 吗?我真的非常感谢任何答复或回复。
-- 更新--
尝试使用提供的工具 fitdata 为我的数据创建模型,但它似乎没有包含我的文件。我用于输入的格式是这种格式,浮点大小:4,数据数量:20,维度:297,我的数组是 297 维 float 组。但是它给了我这个错误
gsl: init_source.c:29: ERROR: matrix dimension n1 must be positive integer
Default GSL error handler invoked.
Aborted
你们知道如何为 fitdata 创建输入吗?
-- 更新--
很抱歉更新晚了,在尝试了 lsh 之后。您可以使用 text2bin 来格式化 fitdata 的数据。文本文件包含图像或音频文件的特征向量,每一行代表一个 vector 。之后,使用 mplsh-tune 获取 M 和 W 参数。 要构建索引,您可以使用扫描工具对一组所需的查询进行采样,然后可以使用 mplsh-run 来获取索引。 现在我试图弄清楚如何使用索引以及如何将库链接到我的代码中。有没有人对此有任何想法?
最佳答案
让我为您指出 spectral hashing这让 LSH 大吃一惊。奖励:他们有 matlab 代码 on their website ,您可以使用或验证您自己的实现。此外,它更容易实现。
关于c++ - 关于multi-probe Local Sensitive Hashing的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2574915/