我正在实现一个近邻搜索应用程序,可以查找相似的文档。到目前为止,我已经阅读了大量与局部敏感哈希(LSH)相关的材料(LSH背后的理论有些混乱,我还没有完全理解它)。我的代码能够使用minhash函数计算出签名矩阵(我接近尾声)。我还对签名矩阵应用了分块策略。然而,我不知道如何将一组列的签名向量哈希到桶中。
我最后一个问题可能是最重要的,但我必须先提一些“介绍”性的问题:
1. 哈希函数是否只会将相同的向量映射到同一个桶中?(假设我们有足够的桶)
2. 哈希函数是否应该将相似的向量映射到同一个桶中?如果是,这种相似性的程度/定义是什么?因为我不是在进行比较,而是在进行哈希。
3. 根据以上问题,我应该使用哪种类型的哈希表算法?
4. 我认为我最薄弱的地方就是我不知道如何生成以向量作为输入并选择桶作为输出的哈希函数。根据q1和q2,我可以自己实现一个哈希函数...关于为LSH“分组”生成哈希函数有什么建议吗?
我最后一个问题可能是最重要的,但我必须先提一些“介绍”性的问题:
1. 哈希函数是否只会将相同的向量映射到同一个桶中?(假设我们有足够的桶)
2. 哈希函数是否应该将相似的向量映射到同一个桶中?如果是,这种相似性的程度/定义是什么?因为我不是在进行比较,而是在进行哈希。
3. 根据以上问题,我应该使用哪种类型的哈希表算法?
4. 我认为我最薄弱的地方就是我不知道如何生成以向量作为输入并选择桶作为输出的哈希函数。根据q1和q2,我可以自己实现一个哈希函数...关于为LSH“分组”生成哈希函数有什么建议吗?