设置相似度-计算Jaccard索引而没有二次复杂度


14

我有一组n个集合,需要为它们计算一种“唯一性”或“相似性”值。我已经将Jaccard索引确定为合适的指标。不幸的是,Jaccard索引一次只能操作两组。为了计算所有集合之间的相似度,将需要按n 2个 Jaccard计算的顺序。ññ2

(如果有帮助,通常在10到10000之间,并且每个集合平均包含500个元素。而且,最后,我不在乎任何两个特定的集合有多相似-而是,我只在乎内部相似度是多少整个集合集的总和是(换句话说,该组中所有Jaccard索引的均值(或均值的至少足够准确的近似值))ñ

两个问题:

  1. 有没有办法在没有复杂度的情况下仍然使用Jaccard索引?ñ2
  2. 有没有比我上面建议的方法更好的方法来计算一组集合之间的集合相似性/唯一性?

您首先可以澄清一下“内部相似性”的含义吗?
Suresh 2012年

换句话说,该组中所有Jaccard索引的均值(或均值的至少足够准确的近似值)。

5
如果您愿意近似答案,则可以使用最小散列法来近似估计Jaccard距离,然后使用结果表示来计算所需的平均值。
Suresh

6
我不知道您所说的“足够准确”是什么意思,但是一种估计许多事物的平均值的方法是随机计算其中的几个(在这种情况下为几对集合的Jaccard索引)并计算它们的平均值。然后,您可以使用切尔诺夫(Chernoff)边界来获得该估计值偏离真实均值的概率的上限。
伊藤刚(Tsuyoshi Ito)

Answers:


4

一种选择是使用[1]的签名方案,基于大小的过滤:一种使用大小信息来减少需要考虑的集合对数量的方案。

他们还尝试了加权形式。权重基于IDF。

[1] Arasu,Arvind,Venkatesh Ganti和Raghav Kaushik。“有效的精确集合相似性联接。” 在第32届超大型数据库国际会议论文集中,918–929。VLDB '06。VLDB基金会,2006年


该链接似乎已消失。考虑将其更新到vldb.org/conf/2006/p918-arasu.pdf
j_random_hacker

0

另一种选择是采用本地敏感性哈希Wiki链接。我已经看到它被Wu和Zou用于社区相似性检测(一种使用局部性敏感哈希的社交标签系统的增量社区检测方法神经网络 58:14–28;ACM DL),它基本上是检测整数或整数之间的相似性字符串集。


1
请总结链接的内容,并引用本文。如果链接失效,则当前答案将无用。
vonbrand 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.