中文

快速相似度草图

数据结构与算法 2024-05-07 v4

摘要

我们考虑Similarity Sketching\textit{Similarity Sketching}问题:给定全集[u]={0,,u1}[u] = \{0,\ldots, u-1\},我们需要一个随机函数SS映射子集A[u]A\subseteq [u]到大小为tt的向量S(A)S(A)中,从而使得集合AABB之间的Jaccard相似度J(A,B)=AB/ABJ(A,B) = |A\cap B|/|A\cup B|得以保持。更精确地,定义Xi=[S(A)[i]=S(B)[i]]X_i = [S(A)[i] = S(B)[i]]X=i[t]XiX = \sum_{i\in [t]} X_i。我们希望E[Xi]=J(A,B)E[X_i]=J(A,B),并且希望XXE[X]=tJ(A,B)E[X] = t \cdot J(A,B)附近强集中(即Chernoff型界)。这是一个基础问题,已通过经典的MinHash算法在数据挖掘、大规模分类、计算机视觉、相似度搜索等领域找到了大量应用。向量S(A)S(A)也称为sketches\textit{sketches}。强集中性至关重要,因为经常我们需要对多个集合B1,,BnB_1,\ldots,B_n进行草图绘制,以便后续针对查询集AA能够找到(其中一个)最相似的BiB_i。此时关键的是,由于草图中的误差,没有任何BiB_i看起来与AA相似得多。开创性的t×MinHasht\times\textit{MinHash}算法使用tt个随机哈希函数h1,,hth_1,\ldots, h_t,并将(minaAh1(A),,minaAht(A))\left ( \min_{a\in A} h_1(A),\ldots, \min_{a\in A} h_t(A) \right )存储为AA的草图。然而,MinHash的主要缺点是其O(tA)O(t\cdot |A|)的运行时间,并且寻找具有类似性质和更快运行时间的草图已成为若干论文的主题。(continued...)

关键词

引用

@article{arxiv.1704.04370,
  title  = {Fast Similarity Sketching},
  author = {Søren Dahlgaard and Mathias Bæk Tejs Langhede and Jakob Bæk Tejs Houen and Mikkel Thorup},
  journal= {arXiv preprint arXiv:1704.04370},
  year   = {2024}
}

备注

The original version was directly based on a conference paper of the same title from FOCS'17. This new version is substantially revised with some cleaner and stronger theorems, particularly concerning the high probability domain. Moreover, there is one more author, Jakob Houen. In addition, one of the old authors, Mathias, has changed surname from Knudsen to Langhede