Skip to content

方法Method

一致加权抽样

Consistent weighted sampling · CWS · Improved consistent weighted sampling · ICWS

把非负权向量变成共享随机格点指纹,通过联合密度和嵌套一致性证明加权Jaccard碰撞率,保留坐标与格点编号。

形式陈述 ​

权重成为区间高度 ​

固定有限坐标集 {0,…,d−1}。输入为事先固定的非负有限实向量 s=(si);正权坐标构成一组竖直区间

As={(i,y):0<y≤si}.

它的面积为 ∑isi。对 s、v,定义加权Jaccard

Jw(s,v)=∑imin(si,vi)∑imax(si,vi).

两向量都为零时约定为1;只有一个为零时为0。权重不必为整数;若它来自重复记录计数,应先按坐标聚合。给定输入后,概率只取在抽样参数上。

MinHash从集合的共享次序中选最早键。一致加权抽样将对象换成面积集合,并同时要求两条性质:

  1. 均匀性:输出坐标i的概率为 si/∑jsj,在该坐标内输出高度y条件均匀于 (0,si)。
  2. 嵌套一致性:对 v≤s,若从s选出的点仍属于 Av,用相同随机参数对v抽样就选回同一点。

只有第一条不足以保证两个输入之间的碰撞率;第二条规定不同权重必须怎样共享随机结果。

Ioffe的共享格点构造 ​

为每个坐标i独立抽取 Ri,Ci∼Gamma(2,1)、βi∼Uniform(0,1)。这里Gamma密度明确为 re−r(r>0);各坐标内三者也相互独立。所有待比较输入共用这批参数;独立指纹副本另抽新批次。

对每个 si>0,计算

ti=⌊log⁡siRi+βi⌋,yi=eRi(ti−βi),zi=yieRi,ai=Cizi.

选 i∗=arg⁡miniai,输出指纹 h(s)=(i∗,ti∗)。零权坐标跳过,不求log;全零向量输出专用 ⊥。概率零的并列用固定坐标次序处理。

给定同一坐标的共享 Ri,βi,整数 t与高度 eRi(t−βi) 一一对应,所以比较二元组等价于比较抽出的面积点。结论为

Pr(h(s)=h(v))=Jw(s,v).

输出必须同时保留坐标与t,不能只留下胜出的坐标。[1, §3.2,Figure 2]

直觉

一段随机对数网格夹住当前权重 ​

由向下取整的定义,yi≤si<zi。把权重画在对数轴上,网格间距为R,偏移由β决定;y是权重所在格子的下端点,z是上端点。在同一格子内改变s,t、y、z、a全部不变。

仅凭这幅图还不能证明抽样正确。网格间距的分布、纵坐标y与比赛分数a的独立性,决定胜出后高度是否仍均匀。下面把这些量一起计算。

完整变量变换给出独立的两段指数量 ​

先固定一个正实权s,省略坐标下标。设 B={log⁡s/R+β} 为小数部分。给定任意R,均匀β加常数后取模1仍均匀,所以B与R独立,联合密度为 re−r,其中 r>0、0<b<1。

令 V=RB、W=R(1−B),反变换为 R=V+W、B=V/(V+W),Jacobian绝对值为 1/(V+W)。这个映射在正象限与 r>0,0<b<1 间是一一光滑对应;可先在远离边界的紧区域换元,再递增覆盖整个正象限,零测边界不影响密度。利用多元换元公式,

fV,W(v,w)=(v+w)e−(v+w)1v+w=e−ve−w(v,w>0).

因此V、W是相互独立的速率1指数变量。格点公式又给出

y=se−V,z=seW.

对0<u<1,Pr(e−V≤u)=Pr(V≥−log⁡u)=u,故y均匀于(0,s)。y只依赖V,z只依赖W,两者独立。

C与V、W独立。令 a=Ce−W/s,因 e−W 均匀于(0,1),给定C=c时a均匀于(0,c/s)。其密度为

fa(a)=∫sa∞ce−cscdc=se−sa(a>0).

a为速率s的指数变量,而且与y独立。这一联合结论比“y边缘均匀”“a边缘指数”分别成立更强:若两者相关,按最小a选坐标可能把对应y的分布筛偏。[1, §3.3给出同一联合分布的另一推导]

指数竞赛如何给出均匀面积点 ​

不同坐标参数独立,所以 ai∼Exp(si) 相互独立。i以时间a胜出的密度为

sie−sia∏j≠ie−sja=sie−a∑jsj.

从0积分到无穷,胜出概率为 si/∑jsj。同时 yi 独立于全部比赛分数,获胜事件不改变它在(0,si)的均匀分布。于是“先按面积比例选坐标,再在该高度内均匀选点”成立,面积均匀性得到证明。

共享参数还必须证明嵌套一致性 ​

现固定整批随机参数,对任意 v≤s 比较两次运行。权重降低会使t不增,z不增,故a不减;零权坐标直接退出比赛。假设s的胜出点为(i,y),并且y≤vi。因为 y≤vi≤si<zi,vi还在原网格区间里,胜出坐标的t、y、a不变。其它坐标的a只能增加,因此i仍胜出,输出同一点。

此处不能给v重新抽R、C、β。均匀性证明把s视为固定输入;一致性证明把参数视为固定,比较多个权重。两步处理的是不同方向的条件,合在一起才构成完整接口。

从并集面积推回碰撞等式 ​

令 ui=max(si,vi),mi=min(si,vi)。先考察共享参数对u抽出的点p。若p落在 Am,由一致性,它在s、v两侧都保留,因此指纹相同。

反过来,p必至少属于s、v中的一侧,因为每个坐标的最大高度来自其中一侧;一致性使该侧指纹等于p。若两侧指纹相同,另一侧也输出p,故p必须落在交叠面积内。碰撞与“u的均匀面积点落在m中”恰好等价,概率就是 ∑mi/∑ui。[2, §2,Lemma 1的统一原理]

例子与边界

不改变格点,与越过格点 ​

两个坐标都手工指定 R=log⁡4、β=1/2,并设 C0=2、C1=1。该轨迹用于精确理解操作,不是对连续随机源的离散替代。

对 s=(1,5),坐标0有 t0=0,y0=1/2,z0=2,a0=1;坐标1有 t1=1,y1=2,z1=8,a1=1/8。胜出指纹为(1,1)。把权重缩为v=(1,3),坐标1仍在区间[2,8),所以仍输出(1,1)。

继续缩为w=(1,1),坐标1变成 t1=0,y1=1/2,z1=2,a1=1/2,仍胜出但指纹成为(1,0)。这时旧点高度2已不属于w,嵌套一致性本来就没有要求保留它。

只保存坐标会在一维立刻失败 ​

只有一个正坐标,权重分别为1和2。加权Jaccard为1/2,但两次输出坐标必定相同,若省掉t,错误碰撞率恒为1。保留完整(i,t)后,两次是否落在同一共享格子才是正确碰撞事件。

普通MinHash对支持集做去重,面对s=(1)、v=(2)也总得到同一键。它回答的是两个支持集是否相似,不能承担权重比例这一不同目标。

零、缩放与浮点临界点 ​

权重为零时面积区间为空,禁止计算log0;所有坐标都为零时只返回 ⊥。负权重不能解释成区间高度。两个向量同时乘同一正数,不改变加权Jaccard,但在固定随机参数下可能跨网格,指纹未必逐次保持不变。

理想证明使用精确实数、连续Gamma/Uniform和精确floor。数值实现计算 log⁡ai=log⁡Ci−Ri(ti−βi+1),比较log分数以避免直接构造极大z或极小a;输出整数t,避免比较浮点高度是否恰相等。这降低部分数值风险;若对数格点或分数出现非有限中间值,附件明确拒绝该参数。但在floor的整数边界附近仍可能舍入到相邻格子。

附件显式将其标为浮点教学模型。它验证给定数值参数的轨迹、缩权不变量及碰撞与并集点的对应,并用模拟频率作诊断;这些有限检查不证明理想连续碰撞概率,也不提供任意动态范围的逐位精确实现。

推论与应用

副本、稀疏访问和真实成本 ​

独立重复q次构造,每次在两个输入间共享参数,可把完整指纹的碰撞均值作为 Jw 的无偏估计;方差和Hoeffding界与MinHash的独立Bernoulli副本相同。若所有副本复制同一批参数,就没有增加独立信息。

若输入已按不同正权坐标稀疏列出、每个参数能常数时间读取,且log、exp、floor按单位成本的实数RAM计算,q副本需 O(q(nnz(s)+1)) 时间,只保留每个副本当前最小分数和指纹需O(q)个状态。公共随机参数表若为全部d个坐标显式生成,另占O(qd)空间和生成成本,不属于每份向量的小摘要。

附件的可追踪版本扫描长度d的稠密权重数组,还收集所有正权候选以供复核,因此单副本实际时间O(d+1)、辅助记录数O(nnz(s)+1)。若只需最终指纹,可边扫描边维护最小者,省去候选列表。有限精度随机数的生成和高精度超越函数成本不能直接套用理想实数RAM。

相似度指纹不是子集总量抽样 ​

优先级抽样也使用非负权与共享随机键,但其目标是固定子集的加权总量,需要保留记录和阈值后作逆概率修正。本页的(i,t)则专门支持两向量相似度的碰撞检验,单个指纹不能恢复任意子集总权重。

共享随机键终结任务要求同时交出y、z、log分数、完整二元组、缩权是否仍覆盖旧点,以及一个“只保存坐标”的失败例。读者最终应能区分算法的确定性一致性、一般概率证明和有限数值诊断。

参考资料

[1] Sergey Ioffe,Improved Consistent Sampling, Weighted Minhash and L1 Sketching,ICDM,2010,§§3.1–3.3、Figure 2。本文选用其中同时保留坐标和格点编号的构造,给出从(R,β)到(V,W)的完整联合密度推导,并单独证明跨权重一致性。

[2] Mark Manasse、Frank McSherry、Kunal Talwar,Consistent Weighted Sampling,作者稿自署2008年7月2日,后列为MSR-TR-2010-73,§2。引用范围为均匀面积抽样、嵌套一致性及其加权Jaccard碰撞结论;本文不实现该稿的active-index生成程序。

关系图谱10 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系