这里我们给出几个其他的数据库更新算法。第一个是在α−nets上直接工作,因此,即使对于非线性查询也能获得非平凡界限(不同于可乘权重,其只能对线性查询使用)。第二个是对线性查询的另一个数据库更新算法,但和可乘权重算法的界限不可比较。(一般来说,当数据集的大小接近于数据域的大小时,它将产生更好的界限,而当数据集比数据域小得多时,乘法权重将产生更好的界限)。
我们首先讨论中位数机制,它利用了α−nets的优势。中位数机制不对数据库进行操作,而是对中位数数据结构进行操作。
定义 5.6 (中位数数据结构)中位数据结构D是一个数据库的集合:D⊂N∣X∣。任何查询f都可以在中位数数据结构上进行如下评估:f(D)=Median({f(x):x∈D})。
换句话说,中位数数据结构只是一个数据库的集合。为了评估一个查询,我们只需在集合中的每一个数据库上评估该查询,然后返回中位数值。请注意,中位数数据结构给出的答案不需要与 任何 数据库保持一致!然而,它将有一个有用的特性,即每当它出错时,它将排除其集合中至少一半的数据集,因为它们与真正的数据集不一致。
中位数机制是十分简单的:
中位数机制的直观来看是这样的:它维护了一组数据库,这些数据库与迄今为止它所看到的区分性查询的答案一致。每当它收到一个与真实数据库有实质上的不同的查询和回答,其就会自我更新来删除所有与新信息不一致的数据库。因为它总是选择它的答案作为它所维护的一致数据库集合中的中位数数据库,每一个更新步骤都会删除至少一半的一致数据库!此外,由于它最初选择的数据库集是一个关于Q的α−net,总有一些数据库从未被删除,因为它在所有的查询中都保持一致。这限制了该机制可以执行多少轮更新。那么中位数机制是如何做的?
定理 5.8 对于任何查询类Q,中位数机制是一个T(α)−数据库更新算法,T(α)=log∣Nα(Q)∣
【证明】我们必须说明对于带有特性∣ft(Dt)−ft(x)∣>α和∣vt−ft(x)∣<α的任何序列{(Dt,ft,vt)}t=1,...,L不可能有L>log∣N(Q)∣。首先观察到,因为D0=Nα(Q)对Q是一个α−net,根据定义,对于所有t至少有一个y,y∈Dt(回顾一下,更新规则只在错误率至少为α的查询中被调用。由于保证有一个数据库y在所有查询中的误差都小于α,所以它永远不会被更新步骤所删除)。因此,我们总是可以用Dt回答查询,并且对于所有t,都有∣Dt∣≥1。然后观察到对于每一个t,∣Dt∣≤∣Dt∣/2。这是因为每次更新步骤删除至少一半的元素:所有元素相对于查询ft至少与Dt中的中位元素一样大,或最多与Dt中的中位元素一样大。因此,经过L次更新步骤后,∣DL∣≤1/2L⋅∣Nα(Q)∣。如果设置L>log∣Nα(Q)∣,就会得到∣DL∣≤1,与条件矛盾。
备注 5.2 对线性类Q,我们可以参考定理 4.2中给的Nα(Q)的上界来了解中位数机制是对于T(α)=log∣Q∣log∣X∣/α2的T(α)数据库更新算法。这比我们为可乘权重算法给出的界限差log∣Q∣倍。另一方面,中位数机制算法的任何内容都不是特定于线性查询的——它同样适用于允许小型网络的任何类型的查询。 我们可以利用这一事实来处理非线性低灵敏度查询。
定理 5.9 每一种查询类Q和每一个α≥0,对于大小为∣∣x∣∣1=n的数据库都有一个大小为Nα(Q)≤∣X∣n的α−net。
【证明】我们可以简单的令Nα(Q)为所有大小为∣∣y∣∣1=n的∣X∣n数据库的集合。然后对于所有x,∣∣x∣∣1=n,我们有x∈Nα(Q),并且十分明确:miny∈Nα(Q)maxf∈Q∣f(x)−f(y)∣=0
我们可以利用这个事实来获得任意低敏感度查询的查询发布算法,而不仅仅是线性查询。 将定理 5.7应用于上述界限,我们发现:
定理 5.10 使用中位数机制和指数机制区分器,IC机制是(ε,δ)−差分隐私的且以至少1−β的概率,IC算法返回一个数据库y使得:maxf∈Q∣f(x)−f(y)∣≤α,其中:
α≤nε16log∣X∣log(δ1)(logβ2∣Q∣nlogX) 其中Q可以是任何灵敏度为1/n的查询系列,不一定是线性的。
【证明】这简单地通过结合定理 5.8和5.9来发现中位数机制是对于大小为∣∣x∣∣1=n的数据库,对于每个α>0和每一类查询Q的T(α)=nlog∣X∣的T(α)−数据库更新算法。将其带入定理5.7得到所需的界限。
请注意,这个界限几乎与我们在定理 4.15中线性查询的特殊情况下所能达到的一样好! 然而,与线性查询不同的是,因为任意查询可能没有明显小于此处使用的平凡网络α−net,所以如果我们想要(ε,0)差分隐私,我们无法获得非平凡的准确度保证。
我们提出的下一个数据库更新算法还是用于线性查询,但实现了可乘权重数据库更新算法无法比拟的界限。它是基于在线学习的感知器(Perceptron)算法(就像可乘权重来自在线学习的对冲算法一样)。因为该算法用于线性查询,我们将每个查询ft∈Q视为一个向量ft∈[0,1]∣X∣。请注意,不是进行可乘更新,而是和MW数据库更新算法一样,这里我们做一个附加更新。在分析中,我们将看到这种数据库更新算法对数据库域大小的依赖性(与可乘权重相比)呈指数级差,但对数据库大小的依赖性更强。因此,与数据域的大小相比,大型数据库的性能将更好,而与数据域的大小相比,小型数据库的性能会更差。
定理 5.11 Perceptron是一种T(α)−数据库更新算法,对于:
T(α)=(∣∣x∣∣1∣∣x∣∣2)2⋅α2∣X∣ 【证明】与可乘权重不同,分析感知器算法将更方便,无需将数据库归一化为概率分布,然后证明他是一个T(α′)=α′2∣∣x∣∣22∣X∣的T(α′)数据库更新算法。代入α′=α∣∣x∣∣1就能完成证明。回顾下,因为每个查询ft都是线性地,我们可以把ft∈[0,1]∣X∣视为一个评价ft(x)等于⟨ft,x⟩的向量。
我们必须说明对于任何序列{(xt,ft,vt}t=1,...,L满足特征∣ft(xt)−ft(x)∣>α′和∣vt−ft(x)∣<α′不能有L>α′2∣∣x∣∣22∣X∣。
我们使用一个潜在的参数来证明对于每个t=1,2,...,L,xt+1比xt更接近x。 具体来说,我们的潜在函数是数据库x−xt的L22范数,定义为:
∣∣x∣∣22=i∈X∑x(i)2. 观察到∣∣x−x1∣∣22=∣∣x∣∣22,因为x1=0,且∣∣x∣∣22≥0。因此,足以证明在每一步中,这个潜在参数都降低了α′2/∣X∣。我们分析了ft(xt)>vt的情况,对相反情况的分析将是类似的。令Rt=xt−x。观察到这种情况我们有:
ft(Rt)=ft(xt)−ft(x)≥α′. 现在我们可以分析潜在参数中的下降。
∣∣Rt∣∣22−∣∣Rt+1∣∣22=∣∣Rt∣∣22−∣∣Rt−(α′/∣X∣)⋅ft(i)∣∣22=i∈X∑((Rt(i))2−(Rt(i)−(α′/∣X∣)))=i∈X∑(∣X∣2α′⋅Rt(i)ft(i)−∣X∣2α′2ft(i)2)=∣X∣2α′ft(Rt)−∣X∣2α′2i∈X∑ft(i)2≥∣X∣2α′ft(Rt)−∣X∣2α′2∣X∣≥∣X∣2α′2−∣X∣α′2=∣X∣α′2. 这通过∣∣x∣∣22∣X∣/α′2限制了步骤数,完成证明。我们现在可以将这个界限代入定理5.7以获得迭代构造机制的以下界限:
定理 5.12 使用感知器数据库更新算法,配合指数机制区分器,IC机制是(ε,δ)−差分隐私的并且以至少1−β的概率,IC 算法返回一个数据库y有:maxf∈Q∣f(x)−f(y)∣≤α,其中:
α≤ε∣∣x∣∣144∣∣x∣∣2(4∣X∣ln(1/δ))1/4βlog(2∣Q∣∣X∣⋅∣∣x∣∣22) 其中 Q 是一类线性查询。(译者注:原文中是44,感觉是印刷错误)
例如,如果数据库x表示图的边集,对于所有i我们将有xi∈[0,1],因此:
∣∣x∣∣1∣∣x∣∣2≤(∣∣x∣∣11)3. 因此,感知器数据库更新算法在密集图上的性能将优于可乘权重数据库更新算法。