将距离设置为MinHashing算法

时间:2015-08-16 03:21:39

标签: algorithm hash set minhash

我目前正致力于使用MinHashing技术进行文档群集。但是,我没有得到理想的结果,因为MinHash是对Jaccard similarity的粗略估计,并且它不符合我的要求。

这是我的情景:

我有大量的书籍,如果单个页面作为查询提供,我需要找到从中获取此页面的相应书籍。限制是,我有整本书的功能,并且不可能获得书籍的逐页功能。在这种情况下,如果书太大,Jaccard相似性会给出不好的结果。我真正想要的是查询页面和书籍之间的距离(反之亦然)。那就是:

给定2组A,B:我想要从A到B的距离,

dis(A->B) =  (A & B)/A

是否存在类似的距离度量,它给出了从集合A到集合B的距离。此外,是否仍然可以将MinHashing算法用于这种相似性度量?

1 个答案:

答案 0 :(得分:1)

我们可以使用与MinHash算法类似的方法估计您提出的距离函数。

对于某些哈希函数h(x),计算hAB之间的最小值。表示这些值h_min(A)h_min(B)。 MinHash算法依赖于h_min(A) = h_min(B)(A & B) / (A | B)的概率这一事实。我们可能会发现h_min(A) <= h_min(B)A / (A | B)的概率。然后我们可以将(A & B) / A计算为这两个概率的比率。

与常规的MinHash算法一样,我们可以通过重复采样来近似这些概率,直到达到所需的方差。