我目前正致力于使用MinHashing
技术进行文档群集。但是,我没有得到理想的结果,因为MinHash是对Jaccard similarity
的粗略估计,并且它不符合我的要求。
这是我的情景:
我有大量的书籍,如果单个页面作为查询提供,我需要找到从中获取此页面的相应书籍。限制是,我有整本书的功能,并且不可能获得书籍的逐页功能。在这种情况下,如果书太大,Jaccard相似性会给出不好的结果。我真正想要的是查询页面和书籍之间的距离(反之亦然)。那就是:
给定2组A,B:我想要从A到B的距离,
dis(A->B) = (A & B)/A
是否存在类似的距离度量,它给出了从集合A到集合B的距离。此外,是否仍然可以将MinHashing
算法用于这种相似性度量?
答案 0 :(得分:1)
我们可以使用与MinHash算法类似的方法估计您提出的距离函数。
对于某些哈希函数h(x)
,计算h
与A
和B
之间的最小值。表示这些值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算法一样,我们可以通过重复采样来近似这些概率,直到达到所需的方差。