当前位置: 首页 > news >正文

文献分享: DESSERT基于LSH的多向量检索(Part2——理论保证的证明)

1.   DESSERT \textbf{1. DESSERT} 1. DESSERT算法

1.1.   \textbf{1.1. } 1.1. 向量集搜索是什么

1️⃣向量集搜索的过程

  1. 输入:查询向量集 Q = { q 1 , . . . , q m q } ∈ R m q × d Q\text{=}\{q_1,...,q_{m_q}\}\text{∈}\mathbb{R}^{m_q\text{×}d} Q={q1,...,qmq}Rmq×d,向量集的集合 D = { S 1 , . . . , S N } D\text{=}\{S_1,...,S_N\} D={S1,...,SN},其中 S i = { x i 1 , . . . , x i m i } ∈ R m i × d S_i\text{=}\{x_{i1},...,x_{im_i}\}\text{∈}\mathbb{R}^{m_i\text{×}d} Si={xi1,...,ximi}Rmi×d
  2. 输出:用 F ( Q , S i ) F(Q,S_i) F(Q,Si)衡量 Q Q Q S i S_i Si相似度,要求以 1 – δ 1–\delta 1–δ的概率返回与 Q Q Q相似度最高的 S i S_i Si,即 S ∗ = argmax ⁡ i ∈ { 1 , … , N } F ( Q , S i ) S^*\text{=}\mathop{\operatorname{argmax}}\limits_{{i\in\{1,\ldots{},N\}}}F\left({Q,{S}_{i}}\right) S=i{1,,N}argmaxF(Q,Si)

2️⃣对相似度 F ( Q , S i ) F(Q,S_i) F(Q,Si)的定义

  1. 子相似度:衡量每个 q r ∈ Q q_r\text{∈}Q qrQ x i j ∈ S i x_{ij}\text{∈}S_i xijSi时间的相似度
    👉举个例子,对于查询Q={q1,q2,q3}考虑下面向量集
      S1 = {x11, x12, x13, x14}
      S2 = {x21, x22, x23, x24, x25}
      S3 = {x31, x32, x33}
    👉让Q和S1进行内部聚合,先要算出全部的相似度(比如内积)
      Sim(q1,x11) Sim(q1,x12) Sim(q1,x13) Sim(q1,x14)
      Sim(q2,x11) Sim(q2,x12) Sim(q2,x13) Sim(q2,x14)
      Sim(q3,x11) Sim(q3,x12) Sim(q3,x13) Sim(q3,x14)
    
  2. 内部聚合 σ \sigma σ:让每个 q r ∈ Q q_r\text{∈}Q qrQ得到一共聚合后的相似度,类似于 ColBERT \text{ColBERT} ColBERT MaxSim \text{MaxSim} MaxSim
    👉对于每个qi,应用内部聚合函数σ
      Inner(q1,S) = σ{Sim(q1,x11),Sim(q1,x12),Sim(q1,x13),Sim(q1,x14)}
      Inner(q2,S) = σ{Sim(q2,x11),Sim(q2,x12),Sim(q2,x13),Sim(q2,x14)}
      Inner(q3,S) = σ{Sim(q3,x11),Sim(q3,x12),Sim(q3,x13),Sim(q3,x14)}
    👉在ColBERT中这个σ就是所谓的MaxSim
      Inner(q1,S) = Max{Sim(q1,x11),Sim(q1,x12),Sim(q1,x13),Sim(q1,x14)}
      Inner(q2,S) = Max{Sim(q2,x11),Sim(q2,x12),Sim(q2,x13),Sim(q2,x14)}
      Inner(q3,S) = Max{Sim(q3,x11),Sim(q3,x12),Sim(q3,x13),Sim(q3,x14)}
    
  3. 外部聚合 A A A:将每个 q r ∈ Q q_r\text{∈}Q qrQ内部聚合的结果进行处理,得到最后评分 F ( Q , S ) F(Q,S) F(Q,S)
    👉对每个内部聚合应用内部聚合函数A
      F(Q,S1) = A{Inner(q1,S),Inner(q2,S),Inner(q3,S)}
    👉在ColBERT中这个A就是逐个相加
      F(Q,S1) = Inner(q1,S) + Inner(q2,S) + Inner(q3,S)
    

1.2.   \textbf{1.2. } 1.2. 算法的朴素流程

1️⃣索引构建

  1. 输入:若干向量集,如 D = { S 1 , S 2 , . . . , S N } D\text{=}\{S_1,S_2,...,S_N\} D={S1,S2,...,SN}
  2. 构建:对于每个 S i = { x i 1 , x i 2 , . . . , x i m i } S_i\text{=}\{x_{i1},x_{i2},...,x_{im_i}\} Si={xi1,xi2,...,ximi}都执行索引构建操作
    • 索引分配:为 S i S_i Si中每个元素分配一个唯一索引,例如 x i j x_{ij} xij的索引可以为 j j j
    • 哈希分桶:用 L L L LSH \text{LSH} LSH函数 ψ 1 , ψ 2 , . . . , ψ L \psi_1,\psi_2,...,\psi_L ψ1,ψ2,...,ψL S i S_i Si中所有元素进行 L L L次分桶
    • 索引存储:利用 D [ i ] t , h \mathcal{D}{\left\lbrack{}i\right\rbrack}_{t,h} D[i]t,h数组结构,对应哈希函数 ψ t \psi_t ψt下哈希值为 h h h的桶,存储存储了 S i S_i Si中落入该桶的所有向量的索引

2️⃣查询阶段

  1. 输入:查询向量集 Q = { q 1 , q 2 , . . . , q m q } Q\text{=}\{q_1,q_2,...,q_{m_q}\} Q={q1,q2,...,qmq},以及上一步构建的 DESSERT \text{DESSERT} DESSERT索引
  2. 编码:照样用那 L L L LSH \text{LSH} LSH函数 ψ 1 , ψ 2 , . . . , ψ L \psi_1,\psi_2,...,\psi_L ψ1,ψ2,...,ψL,对 Q Q Q中所有元素进行 L L L次分桶
  3. 评分:通过检查 q r ∈ Q q_r\text{∈}Q qrQ x i j ∈ S i x_{ij}\text{∈}S_i xijSi的碰撞次数 Count ( q r , x i j ) \text{Count}(q_r,x_{ij}) Count(qr,xij),得到二者相似度的一个近似 Sim ^ ( q r , x i j ) = Count ( q r , x i j ) L \hat{\text{Sim}}(q_r,x_{ij})\text{=}\cfrac{\text{Count}(q_r,x_{ij})}{L} Sim^(qr,xij)=LCount(qr,xij)
    • 原理:为何 Count ( q r , x i j ) L \cfrac{\text{Count}(q_r,x_{ij})}{L} LCount(qr,xij)可作为近似评分
      • q r ∈ Q q_r\text{∈}Q qrQ x i j ∈ S i x_{ij}\text{∈}S_i xijSi各自进行 L L L次分桶后碰撞 Count ( q r , x i j ) \text{Count}(q_r,x_{ij}) Count(qr,xij)次,故估计碰撞率为 Count ( q r , x i j ) L \cfrac{\text{Count}(q_r,x_{ij})}{L} LCount(qr,xij)
      • 鉴于 Pr [ ψ ( x ) = ψ ( y ) ] =Sim ( x , y ) \text{Pr}[\psi{(x)}\text{=}\psi{(y)}]\text{=}\text{Sim}(x,y) Pr[ψ(x)=ψ(y)]=Sim(x,y)的假设,所以碰撞率就是相似度
    • 实现:基于 D [ i ] t , h \mathcal{D}{\left\lbrack{}i\right\rbrack}_{t,h} D[i]t,h数组结构(具体优化则见 TinyTable \text{TinyTable} TinyTable)
      • 对于 ∀ q r ∈ Q \forall{}q_{r}\text{∈}Q qrQ用哈希函数 ψ t \psi_t ψt得出其哈希值 h h h,按照 t , h t,h t,h索引直接在找到桶 D [ i ] t , h \mathcal{D}{\left\lbrack{}i\right\rbrack}_{t,h} D[i]t,h,如果 x i j x_{ij} xij索引也在这儿就算碰撞一次
      • ψ 1 , ψ 2 , . . . , ψ L \psi_1,\psi_2,...,\psi_L ψ1,ψ2,...,ψL都进行如上操作,得到最终碰撞次数 Count ( q r , x i j ) \text{Count}(q_r,x_{ij}) Count(qr,xij),碰撞率(相似度)为 Count ( q r , x i j ) L \cfrac{\text{Count}(q_r,x_{ij})}{L} LCount(qr,xij)
  4. 聚合:基于相似度 Sim ^ ( q r , x i j ) \hat{\text{Sim}}(q_r,x_{ij}) Sim^(qr,xij),得到最终的相似度估值 F ^ ( Q , S i ) \hat{F}(Q,S_i) F^(Q,Si)
    • 原始输入:由以上 LSH \text{LSH} LSH得到的,每个 q r ∈ Q q_r\text{∈}Q qrQ的近似相似度集 s ^ ( q r , S i ) = { Sim ^ ( q r , x i 1 ) , Sim ^ ( q r , x i 2 ) , . . . , Sim ^ ( q r , x i m i ) } \hat{\mathbf{s}}(q_{r},S_i)\text{=}\{\hat{\text{Sim}}(q_{r},x_{i1}),\hat{\text{Sim}}(q_{r},x_{i2}),...,\hat{\text{Sim}}(q_{r},x_{im_i})\} s^(qr,Si)={Sim^(qr,xi1),Sim^(qr,xi2),...,Sim^(qr,ximi)}
    • 内部聚合: σ ( s ^ ( q r , S i ) ) = σ { Sim ^ ( q r , x i 1 ) , Sim ^ ( q r , x i 2 ) , . . . , Sim ^ ( q r , x i m i ) } \sigma(\hat{\mathbf{s}}(q_{r},S_i))\text{=}\sigma\{\hat{\text{Sim}}(q_{r},x_{i1}),\hat{\text{Sim}}(q_{r},x_{i2}),...,\hat{\text{Sim}}(q_{r},x_{im_i})\} σ(s^(qr,Si))=σ{Sim^(qr,xi1),Sim^(qr,xi2),...,Sim^(qr,ximi)},当 σ \sigma σ max \text{max} max时左式等于 MaxSim ^ ( q r , S i ) \hat{\text{MaxSim}}(q_r,S_i) MaxSim^(qr,Si)
    • 外部聚合: A ( Q , S i ) = A { σ ( s ^ ( q 1 , S i ) ) , σ ( s ^ ( q 2 , S i ) ) , . . . , σ ( s ^ ( q m q , S i ) ) } A(Q,S_i)\text{=}A\{\sigma(\hat{\mathbf{s}}(q_{1},S_i)),\sigma(\hat{\mathbf{s}}(q_{2},S_i)),...,\sigma(\hat{\mathbf{s}}(q_{m_q},S_i))\} A(Q,Si)=A{σ(s^(q1,Si)),σ(s^(q2,Si)),...,σ(s^(qmq,Si))} A A A可以是将所有 q r ∈ Q q_r\text{∈}Q qrQ内部聚合结果相加

1.3.   \textbf{1.3. } 1.3. 理论保证

1.3.1.   \textbf{1.3.1. } 1.3.1. 对于内部聚合过程

1️⃣乘性约束函数及其引理

  1. 定义 4.1 \text{4.1} 4.1 ( α , β ) - (α, β)\text{-} (α,β)-乘性极值约束函数
    • 条件:给定参数 α , β \alpha,\beta α,β满足 0 < β ≤ 1 ≤ α 0\text{<}β\text{≤}1\text{≤}α 0<β1α,给定向量 x x x并用 max ⁡ ( x ) \max{(x)} max(x)表示向量 x x x中最大元素值
    • 定义:函数 σ ( x ) : R m → R σ(x)\text{:}ℝ^m\text{→}ℝ σ(x):RmR U U U上是 ( α , β ) - (α,β)\text{-} (α,β)-极大的,等价于 ∀ x ∈ U \forall{x}\text{∈}U xU β max ⁡ ( x ) ≤ σ ( x ) ≤ α max ⁡ ( x ) \beta\max{(x)}\text{≤}σ(x)\text{≤}\alpha\max{(x)} βmax(x)σ(x)αmax(x)
    • 例如:当内部聚合 σ ( x ) σ(x) σ(x)就是 ColBERT \text{ColBERT} ColBERT MaxSim \text{MaxSim} MaxSim函数时,就有 α = β = 1 α\text{=}β\text{=}1 α=β=1 ( 1 , 1 ) - (1,1)\text{-} (1,1)-极大
  2. 引理 4.1.1 \text{4.1.1} 4.1.1:平均极值下界衰减引理
    • 条件: φ ( x ) : R → R \varphi(x)\text{:}ℝ\text{→}ℝ φ(x):RR在区间 I I I上是 ( α , β ) - (α,β)\text{-} (α,β)-极大的, x x x为标量是 max ⁡ ( x ) \max{(x)} max(x)退化为 x x x本身,即 β x ≤ φ ( x ) ≤ α x \beta{x}\text{≤}\varphi(x)\text{≤}\alpha{x} βxφ(x)αx
    • 结论: σ ( x = { x 1 , x 2 , . . . , x m } ) = 1 m ∑ i = 1 m φ ( x i ) \sigma(\mathbf{x}\text{=}\{x_1,x_2,...,x_m\})\text{=}\displaystyle{}\frac{1}{m}\sum_{i=1}^m\varphi(x_i) σ(x={x1,x2,...,xm})=m1i=1mφ(xi) U = I m U\text{=}I^m U=Im上是 ( α , β m ) - \left(\alpha,\cfrac{\beta}{m}\right)\text{-} (α,mβ)-极大的
    • 示例:满足该引理的实数域函数
      φ ( x ) \boldsymbol{\varphi{(x)}} φ(x) β \boldsymbol{\beta} β α \boldsymbol{\alpha} α
      x x x 1 1 1 1 1 1
      e x – 1 e^x–1 ex–1 1 1 1 e – 1 e–1 e–1
      Sigmid ( x ) = e x 1 + e x – 1 2 \text{Sigmid}(x)\text{=}\cfrac{e^x}{1\text{+}e^x}–\cfrac{1}{2} Sigmid(x)=1+exex21 0.23 0.23 0.23 0.25 0.25 0.25

2️⃣引理 4.1.2/4.1.3 \text{4.1.2/4.1.3} 4.1.2/4.1.3

  1. 输入:对查询向量集 ∀ q r ∈ Q = { q 1 , q 2 , . . . , q m q } \forall{}q_{r}\text{∈}Q\text{=}\{q_1,q_2,...,q_{m_q}\} qrQ={q1,q2,...,qmq}和向量集 S i = { x i 1 , x i 2 , . . . , x i m i } S_i\text{=}\{x_{i1},x_{i2},...,x_{im_i}\} Si={xi1,xi2,...,ximi},考虑真实 / / /(基于碰撞的)近似相似度
    • 每个 q r ∈ Q q_r\text{∈}Q qrQ的真实相似度集: s ( q r , S i ) = { Sim ( q r , x i 1 ) , Sim ( q r , x i 2 ) , . . . , Sim ( q r , x i m i ) } {\mathbf{s}}(q_{r},S_i)\text{=}\{{\text{Sim}}(q_{r},x_{i1}),{\text{Sim}}(q_{r},x_{i2}),...,{\text{Sim}}(q_{r},x_{im_i})\} s(qr,Si)={Sim(qr,xi1),Sim(qr,xi2),...,Sim(qr,ximi)}
    • 每个 q r ∈ Q q_r\text{∈}Q qrQ的近似相似度集: s ^ ( q r , S i ) = { Sim ^ ( q r , x i 1 ) , Sim ^ ( q r , x i 2 ) , . . . , Sim ^ ( q r , x i m i ) } \hat{\mathbf{s}}(q_{r},S_i)\text{=}\{\hat{\text{Sim}}(q_{r},x_{i1}),\hat{\text{Sim}}(q_{r},x_{i2}),...,\hat{\text{Sim}}(q_{r},x_{im_i})\} s^(qr,Si)={Sim^(qr,xi1),Sim^(qr,xi2),...,Sim^(qr,ximi)}
  2. 符号:对真实相似度集 / / /近似相似度集,采取不同聚合方式
    • 真实集:用最值聚合 max ⁡ ( s ( q r , S i ) ) = max ⁡ { Sim ( q r , x i 1 ) , . . . , Sim ( q r , x i m i ) } \max\left(\mathbf{s}(q_{r},S_i)\right)\text{=}\max\{\text{Sim}(q_{r},x_{i1}),...,\text{Sim}(q_{r},x_{im_i})\} max(s(qr,Si))=max{Sim(qr,xi1),...,Sim(qr,ximi)},记作 s max ⁡ s_{\max} smax MaxSim ( q r , S i ) \text{MaxSim}(q_{r},S_i) MaxSim(qr,Si)
    • 近似集:用 σ \sigma σ聚合 σ ( s ^ ( q r , S i ) ) = σ { Sim ^ ( q r , x i 1 ) , . . . , Sim ^ ( q r , x i m i ) } \sigma(\hat{\mathbf{s}}(q_{r},S_i))\text{=}\sigma\{\hat{\text{Sim}}(q_{r},x_{i1}),...,\hat{\text{Sim}}(q_{r},x_{im_i})\} σ(s^(qr,Si))=σ{Sim^(qr,xi1),...,Sim^(qr,ximi)}其中 σ \sigma σ ( α , β ) - (α,β)\text{-} (α,β)-极大,简记作 σ ( s ^ ) \sigma(\hat{\mathbf{s}}) σ(s^)
  3. γ \gamma γ函数:设定 γ = ( α ( 1 – s max ⁡ ) α – τ ) ( s max ⁡ ( α – τ ) τ ( 1 – s max ⁡ ) ) τ / α \displaystyle{}\gamma=\left(\frac{\alpha\left({1–{s_{\max}}}\right)}{\alpha–\tau}\right){\left(\frac{{s_{\max}}\left({\alpha–\tau}\right)}{\tau\left({1–{s_{\max}}}\right)}\right)}^{{\tau}/{\alpha}} γ=(ατα(1–smax))(τ(1–smax)smax(ατ))τ/α
    image-20250401153048807
    • 单调:处于 ( s max ⁡ , 1 ) \left({{s_{\max}},1}\right) (smax,1)区间中,并且随 s max ⁡ s_{\max} smax递增随 τ \tau τ递减
    • 极限: γ \gamma γ存在单侧极限, τ \tau τ从高处接近 α s max ⁡ \alpha{s_{\max}} αsmax lim ⁡ τ ↘ α s max ⁡ γ = 1 \mathop{\lim}\limits_{{\tau\searrow\alpha{s}_{\max}}}\gamma\text{=}1 ταsmaxlimγ=1 τ \tau τ从低处接近 α \alpha α lim ⁡ τ ↗ α γ = s max ⁡ \mathop{\lim}\limits_{{\tau\nearrow\alpha}}\gamma\text{=}{s}_{\max} ταlimγ=smax
  4. 结论:给定一个阈值 τ ∈ [ α s max ⁡ , α ] \tau\text{∈}[\alpha{s_{\max}},\alpha] τ[αsmax,α]并记录差值为 Δ = τ – α s max ⁡ \Delta{=}\tau–\alpha{}s_{\max} Δ=ταsmax,让当内部聚合 σ \sigma σ ( α , β ) - (α,β)\text{-} (α,β)-极大的,则有如下两个引理
    • 引理 4.1.2 \text{4.1.2} 4.1.2(指数上界衰减引理): Pr ⁡ [ σ ( s ^ ) ≥ α s max ⁡ + Δ ] ≤ m γ L \Pr\left\lbrack{\sigma\left(\widehat{\mathbf{s}}\right)\text{≥}\alpha{s}_{\max}\text{+}\Delta}\right\rbrack\text{≤}m{\gamma}^{L} Pr[σ(s )αsmax+Δ]mγL,对近似相似度聚合后,大概率不超过理论上界
    • 引理 4.1.3 \text{4.1.3} 4.1.3(高斯下界集中引理): Pr ⁡ [ σ ( s ^ ) ≤ β s max ⁡ – Δ ] ≤ 2 e – 2 L Δ 2 / β 2 \Pr\left\lbrack{\sigma\left(\widehat{\mathbf{s}}\right)\text{≤}\beta{s}_{\max}\text{–}\Delta}\right\rbrack\text{≤}2{e}^{–{2L}{\Delta}^{2}/{\beta}^{2}} Pr[σ(s )βsmaxΔ]2e2LΔ2/β2,对近似相似度聚合后,大概率不低于理论下界

1.3.2.   \textbf{1.3.2. } 1.3.2. 外部聚合及运行时间

1️⃣一些基本的设置

  1. 近似集的聚合:与之前一样 σ ( s ^ ( q r , S i ) ) = σ { Sim ^ ( q r , x i 1 ) , . . . , Sim ^ ( q r , x i m i ) } \sigma(\hat{\mathbf{s}}(q_{r},S_i))\text{=}\sigma\{\hat{\text{Sim}}(q_{r},x_{i1}),...,\hat{\text{Sim}}(q_{r},x_{im_i})\} σ(s^(qr,Si))=σ{Sim^(qr,xi1),...,Sim^(qr,ximi)},但为区分不同 q r q_r qr就不做简写了
  2. 外部聚合评分:让外部聚合 A A A为带 w r w_r wr权值的加权平均,由此 F ( Q , S i ) = 1 m q ∑ r = 1 m q w r σ ( s ^ ( q r , S i ) ) F\left({Q,S_i}\right)\text{=}\displaystyle{}\frac{1}{m_q}\sum_{r=1}^{m_q}w_r\sigma\left({\widehat{\mathbf{s}}\left({{q}_{r},S_i}\right)}\right) F(Q,Si)=mq1r=1mqwrσ(s (qr,Si))
  3. 最邻近向量集:给定 Q = { q 1 , q 2 , . . . , q m q } Q\text{=}\{q_1,q_2,...,q_{m_q}\} Q={q1,q2,...,qmq} D = { S 1 , S 2 , . . . , S N } D\text{=}\{S_1,S_2,...,S_N\} D={S1,S2,...,SN},设定 S ∗ ∈ D S^*\text{∈}D SD是使得 F ( Q , S i ) F\left({Q,S_i}\right) F(Q,Si)最大的向量集
  4. 分析时的假设:假定所有向量集的向量数都相同,即统一将 m i m_i mi认定为一个常数 m m m,当然也可用 ( m i ) max ⁡ (m_i)_{\max} (mi)max替代所有 m i m_i mi

2️⃣定理 4.2 \text{4.2} 4.2:概率对数近邻保证定理

  1. 设定参数:对于 0 < β ≤ 1 ≤ α 0\text{<}β\text{≤}1\text{≤}α 0<β1α
    • B ∗ = β m q ∑ r = 1 m q w r max ⁡ ( s ( q r , S ∗ ) ) = β m q ∑ r = 1 m q w r MaxSim ( q r , S ∗ ) B^*\text{=}\displaystyle{}\frac{\beta}{m_q}\sum_{r=1}^{m_q}w_r\max{(\mathbf{s}(q_{r},S^*))}\text{=}\frac{\beta}{m_q}\sum_{r=1}^{m_q}w_r\text{MaxSim}(q_r,S^*) B=mqβr=1mqwrmax(s(qr,S))=mqβr=1mqwrMaxSim(qr,S) B ∗ B^* B其实是 F ( Q , S ∗ ) F(Q,S^*) F(Q,S)的一个下界
    • B i = α m q ∑ r = 1 m q w r max ⁡ ( s ( q r , S i ) ) = α m q ∑ r = 1 m q w r MaxSim ( q r , S i ) B_i\text{=}\displaystyle{}\frac{\alpha}{m_q}\sum_{r=1}^{m_q}w_r\max{(\mathbf{s}(q_{r},S_i))}\text{=}\frac{\alpha}{m_q}\sum_{r=1}^{m_q}w_r\text{MaxSim}(q_r,S_i) Bi=mqαr=1mqwrmax(s(qr,Si))=mqαr=1mqwrMaxSim(qr,Si) B i B_i Bi其实是 F ( Q , S i ) F(Q,S_i) F(Q,Si)的一个上界
    • B ′ B^\prime B为在 S i ≠ S ∗ S_i{≠}S^* Si=S条件下, B i B_i Bi能取得的最大值
  2. 结论:只要我们选择足够大的哈希表数量,算法就能以高概率返回正确最邻近向量集
    • 条件:当 Δ = B ∗ – B ′ 3 > 0 \Delta{\text{=}}\cfrac{B^*–B^\prime}{3}\text{>}0 Δ=3BB0时,,设定 L = O ( log ⁡ ( N m q m δ ) ) L\text{=}\displaystyle{}O\left({\log\left(\frac{N{m}_{q}m}{\delta}\right)}\right) L=O(log(δNmqm))
    • 结论: DESSERT \text{DESSERT} DESSERT算法结构能以 1 – δ 1–\delta 1–δ的概率,返回与 Q Q Q相似度最高的 S i S_i Si,即 S ∗ = argmax ⁡ i ∈ { 1 , … N } F ( Q , S i ) S^*\text{=}\mathop{\operatorname{argmax}}\limits_{{i \in \{ 1,\ldots N\} }}F\left( {Q,{S}_{i}}\right) S=i{1,N}argmaxF(Q,Si)

3️⃣运行时间的分析

  1. 一些前提:假设每个哈希函数运行的时间为 O ( d ) O(d) O(d),集合 D [ i ] t , h \mathcal{D}{\left\lbrack{}i\right\rbrack}_{t,h} D[i]t,h的元素数存在常数阈值 ∣ D [ i ] t , h ∣ ≤ T |\mathcal{D}{\left\lbrack{}i\right\rbrack}_{t,h}|\text{≤}T D[i]t,hT
  2. 运行时间:复杂度为 O ( ( d + N ) m q log ⁡ ( N m q m δ ) ) O\left((d\text{+}N)m_q\log\left(\cfrac{Nm_qm}{\delta}\right)\right) O((d+N)mqlog(δNmqm)),相比之下暴力搜索的复杂度是 O ( m q m N d ) O\left({{m}_{q}{mNd}}\right) O(mqmNd)
http://www.dtcms.com/a/109489.html

相关文章:

  • 《K230 从熟悉到...》识别机器码(AprilTag)
  • OpenHarmony子系统开发 - 安全(十)
  • 【网络安全实验】PKI(证书服务)配置实验
  • 操作 Office Excel 文档类库Excelize
  • Python项目-基于Python的音乐推荐系统
  • 无需预对齐即可消除批次效应,东京大学团队开发深度学习框架STAIG,揭示肿瘤微环境中的详细基因信息
  • 在网络中加入预训练的多层感知机(MLP)有什么作用?
  • BT-Basic函数之首字母R
  • Opencv之dilib库:表情识别
  • 【Linux】-进程的控制(下)
  • 安卓中app_process运行报错Aborted,怎么查看具体的报错日志
  • 光谱成像技术在海洋/管道漏油(溢油)监测中的应用
  • 化工行业如何通过定制化工作流自动化实现25-30%成本优化?
  • Bazel中的Symbol, Rule, Macro, Target, Provider, Aspect 等概念
  • Maps,
  • Computer VIsion1
  • android开发:zxing-android-embedded竖屏扫描功能
  • 四门冷柜、操作台、卧式冰柜区别及运输注意事项
  • 什么是 StarRocks?核心优势与适用场景解析
  • 【深度学习】嘿马深度学习笔记第13篇:卷积神经网络,学习目标【附代码文档】
  • 2025软件供应链安全指南︱构筑企业安全积极防御体系实践
  • U盘实现——BOT 常用命令
  • 无线通信技术(三):5G NR通信频带划分与应用场景
  • Spring Boot后端开发全攻略:核心概念与实战指南
  • python大数据相关职位,还需要学习java哪些知识
  • 股权转让怎么交税?
  • 【动态规划】线性dp——LIS和LCS
  • 网站提示“不安全“怎么办?原因分析与解决方法
  • sqlalchemy详细介绍以及使用方法
  • 防爆对讲机VS非防爆对讲机,如何选择?