我正在尝试实施这篇论文
我有几个关于 LHS 算法和建议实现的问题:
LSH 算法仅在您有很多文档要相互比较时使用(因为它应该将相似的文档放在我得到的相同存储桶中)。例如,如果我有一个新文档并且我想计算与其他文档的相似度,我必须从头开始重新启动 LHS 算法,包括新文档,对吗?
在“海量数据集的挖掘,第 3 章”中,据说对于 LHS,我们应该在每个波段使用一个哈希函数。每个哈希函数创建 n 个桶。所以,对于第一个波段,我们将有 n 个桶。对于第二个频段,我应该继续使用相同的哈希函数(这样我就可以继续使用与以前相同的存储桶)还是另一个(以 m>>n 存储桶结束)?
这个问题与上一个问题有关。如果我对所有波段使用相同的哈希函数,那么我将有 n 个桶。这里没问题。但是如果我必须使用更多的哈希函数(每行一个不同的函数),我最终会得到很多不同的桶。我应该测量每个桶中每一对的相似度吗?(如果我必须只使用一个哈希函数,那么这不是问题)。
在论文中,我理解了算法的大部分内容,除了它的结尾。基本上,通过 minhashing 创建了两个签名矩阵(一个用于稳定特征,一个用于不稳定特征)。然后,他们在第一个矩阵上使用 LSH 来获得候选对列表。到目前为止,一切都很好。最后会发生什么?他们在第二个矩阵上执行 LHS 吗?如何使用第一个 LHS 的结果?我看不到第一个和第二个 LHS 之间的关系。
最后一步的输出应该是配对候选列表,对吗?我所要做的就是对它们执行 Jaccard 相似性并设置阈值,对吗?
感谢您的回答!