我们将使用第2节中概述的数据库的行表示,其中我们将数据库视为行的多重集或X的元素。固定数据库大小n、数据域X和敏感度最大为ho的实值查询的查询集Q=q:X∗→R。
我们假设存在一个基本大纲生成器(在第6.2节中,我们将看到如何构造这些)。接下来,我们需要的基本生成器的性质是,对于查询集Q上的任何分布D,基本生成器的输出都可以用于计算大部分查询的准确答案,其中 “大分数” 是根据D给出的权重定义的。基生成器由k参数化,即要采样的查询数;λ是输出的精度要求;η是对“大”的度量,描述了大部分查询的含义,β是失败概率。
定义 6.1((k,λ,η,β)−基本大纲生成器)对于固定的数据库大小$n$,数据域X和查询集Q,考虑大纲生成器M,其独立地从Q上的分布D对k个查询进行采样并输出大纲。我们称M是一个(k,λ,η,β)−基本大纲生成器,如果对于任何Q上的分布D,除了β概率之外,所有M的硬币翻转,M输出的大纲S对于由D加权的Q的1/2+η质量分数是λ−精确的:
q∼DPr[∣q(S)−q(x)∣≤λ]≥1/2+η.(6.1) 查询增强算法可用于任何类别的查询和任何不同的私有基本大纲生成器。 运行时间继承自基本大纲生成器。Booster在∣Q∣中投入了准线性的额外时间,特别是其运行时间并不直接依赖于数据域的大小。
要指定提升(boosting)算法,我们需要指定停止条件、聚合机制以及用于更新Q上的当前分布的算法。
停止条件. 我们将固定T轮运行算法——这将是我们的停止条件。选择T以保证高的准确度(以极大可能);正如我们将看到的,只需要log∣Q∣/η2轮就足够了。
更新分布. 尽管分布从未在输出中直接显示,但基本大纲A1,A2,A3,...,AT会被揭示,并且在构造Ai时,每个Ai在原则上都能从Di上泄露所选查询信息。因此,我们需要限制在相邻数据库上获得的概率分布之间的最大散度。这在技术上是具有挑战性的,因为给定Ai,数据库在构建Di+1时涉及到的非常多。
初始分布D1在Q上是均匀分布的。一个更新Dt的标准方法是增加处理不良元素的权重,在我们的情况下,对于∣q(x)−q(At)∣>λ的查询,通过一个固定的因子(增加处理不良元素的权重),比如e,并通过相同的因子减少处理良好的元素权重。(然后将权重归一化以便总和为 1。)为了困难化,令x=y∪{ξ},并假设当数据库是y时,所有的查询q都被At很好的处理,但是加上ξ后导致处理失败,例如,一个1/10的查询;即,对于所有查询q,∣q(y)−q(At)∣≤λ,但是对于某些∣Q∣/10的查询,∣q(y)−q(At)∣≥λ。请注意,因为At甚至在数据库是x时都有9/10的查询“表现良好”,无论x,y中的哪一个是真实的数据集,它都可以从基础sanitizer返回。我们关心的是更新的影响:当数据库为y时,所有查询都得到了很好的处理,并且没有重新加权(规范化之后),但是当数据库为x时,有一个重新加权:十分之一的查询的权重增加了 ,剩下的十分之九的权重减少了。 这种重新加权的差异可以在下一次迭代中通过At+1检测到,这是可观察的,并且将根据数据库是x还是y,从相当不同的分布中抽取样本构建。
例如,假设我们从均匀分布D1开始。那么D2(y)=D1(y),其中Di(z)表示当数据库是z时的第i轮分布。这是因为每个查询的权重都减少了一个因子e,这在归一化中消失了。因此每一个q∈Q在D2(y)中被分配了权重1/Q。相反,当数据库为x时,“不满意”的查询具有归一化权重
109∣Q∣1e1+101∣Q∣e∣Q∣e. 考虑任意这样不满意的查询q。比例D2(x)(q)/D2(y)(q)由下式给出
D2(y)(q)D2(x)(q)=∣Q∣1109∣Q∣1e1+101∣Q∣e∣Q∣e=1+e2910=defF≈4.5085. 注释.
【定理6.1的证明】我们首先证明准确性,然后证明隐私。
现在,lnF≈1.506,即使基本生成器在第2轮中使用的查询选择没有明确公开,它们可能可以从公开的结果A2中检测到。因此,每个查询存在高达1.506的潜在隐私损失(当然,我们期望取消;我们只是试图解释困难的根源)。通过确保基本生成器所使用的样本数量相对较小,可以部分地解决这一问题,尽管我们仍然存在这样的问题,即在多次迭代中,即使在相邻数据库上,分布Dt也可能非常不同地演化。
解决方案是去减弱重新加权过程。我们不是总是使用固定比例来增加权重(当回答是“精确”时)或减少权重(当回答为“不精确”时),而是为“精确性”(λ)和“不精确性”(λ+μ分别设置阈值,以便适当的选择与基本生成器输出的位大小成比例的μ;见引理6.5)。误差低于或高于这些阈值的查询的权重通过因子e分别降低或增加了。对于误差介于这两个阈值之间的查询,我们线性缩放权重变化的自然对数:1−2(∣q(x)−q(At)∣−λ)/μ,因此误差幅度超过λ+μ/2的查询增加权重,而误差幅度小于λ+μ/2的查询减少权重。
减弱的缩放减少了任何个体对任何查询的重新加权的影响。这是因为个体只能影响查询的真实答案——因此也只能影响基本大纲生成器的输出q(At)——通过一个很小的量,而且减弱将该量除以一个参数μ,该参数将被选择用于补偿从执行Boosting算法过程中获得的T分布中选择的(全部)kT样本。这有助于确保隐私。直观地,我们将这些kT样本中的每一个视为 “微型机制”。我们首先在任何一轮限制采样的隐私损失(声明6.4),然后通过组合定理限制累积损失。
“准确”和“不准确”阈值之间的差距(μ)越大,每个个体对查询权重的影响就越小。这意味着更大的差距对隐私更好。然而,为了准确性,大的差距是不好的。如果不准确阈值很大,我们只能保证基本大纲生成器在非常不精确的查询下,重新加权期间其权重会大幅增加。这降低了boosting算法的准确性保证:误差大致等于“不精确”阈值(λ+μ)。
聚合. 对于t∈[T],我们将运行基本生成器去获得一个大纲At。大纲将通过取中位数进行聚合:给定A1,...,AT,量q(x)是通过取使用每个Ai计算的q(x)的T个近似值来估计的,然后计算他们的中位数。通过这种聚合方法,我们可以通过论证大多数Ai,1≤i≤T为查询q提供λ+μ(或更好)的精确度来展示q的精确度。这意味着q(x)的T近似值的中值将在真实值的λ+μ范围内。
在整个算法的运行过程中,我们跟踪几个变量(显式或隐式)。由q∈Q索引的变量在查询集中保存与查询q有关的信息。由t∈[Q]索引的变量,通常在第t轮被计算,将会被用来构造用于在时间段t+1中采样的分布Dt+1。
对于谓词P,如果谓词为真,我们使用[[P]]表示1,如果它为假,则表示为0。
算法中使用了最终的调整参数α。它将被选择(见下面的推论6.3)取值为:
α=α(η)=(1/2)ln(1−2η1+2η). 该算法如图6.1所示。步骤2(2b)中的量ut,q是查询的新的、未归一化的权重。现在,让我们设置α=1(这样我们就可以忽略任何α因子)。设aj,q为j轮中权重变化的自然对数,1≤j≤t,则新的权重由:
ut,q←exp(−j=1∑taj,q). 给定。因此,在上一步结束的前一步时,未归一化的权重为ut−1,q=exp(−∑j=1t−1aj,q)并且更新对应于乘以e−aj,t。当和∑j=1taj,q很大时,权重就很小。每当一个大纲给出一个非常好的q(x)的近似时,我们就在这个和上加1; 如果近似值只是中等好 (在λ和λ+μ/2之间),我们加一个正数,但小于1。 相反,当大纲非常糟糕(差于λ+μ精度)时,我们减去1; 当它勉强可以接受时(在λ+μ/2和λ+μ之间),我们减去较小的量 。
在下面的定理中,我们可以看到由εsample捕获的采样引起的隐私损失与精确和不精确阈值之间的差距之间的反比关系。
定理 6.1. 令Q是一个敏感度至多为ρ的查询族。对于适当的参数设置,并且在T=log∣Q∣/η2轮次,图6.1的算法是一个精确且差分私有的查询增强(query-boosting)算法:
当用基于(k,λ,η,β)的大纲生成器实例化时,Boosting算法的输出以至少1−Tβ的概率对Q中的所有查询给出(λ+μ)精确的回答,其中:
μ∈O(((log3/2∣Q∣)klog(1/β)ρ)/(εsample⋅η3)).(6.2) 如果基本大纲生成器是(εbase,δbase)−差分隐私,则boosting算法是(εsample+T⋅εbase,δsample+Tδbase)−差分隐私的
允许常数η被归入进大O符号,为简单起见取ho=1,我们得到μ=O(((log3/2∣Q∣)klog(1/β))/εsample)。因此,我们看到减少基本清理程序(sanitizer)所需的输入查询数量k提高了输出的质量。 同样,从定理的完整陈述中,我们看到提高基本清理程序的泛化能力,这对应于具有更大的η值(更大的“强多数”),也提高了准确性。
我们引入符号at,q−和at,q+,满足:
at,q−,at,q+∈{−1,1};和
at,q−≤at,q≤at,q+。
回顾一下,更大的at,q表示对q(x)的大纲At的更高质量的近似。
如果At在q上是λ−精确的,则at,q−是1,否则是-1。要检查at,q−≤at,q,请注意如果at,q−=1,则At对q是λ−精确的,因此根据定义at,q=1。相反,如果我们有at,q−=−1,那么因此我们总是有at,q∈[−1,1]。
我们将使用at,q−来降低基本生成器输出质量的下界。根据基本生成器的保证,对于Dt质量的至少1/2+η部分,At是λ−精确的。因此,
rt=Δq∈Q∑Dt[q]⋅at,q−≥(1/2+η)−(1/2−η)=2η.(6.3) 如果At在q上是(λ+μ)−精确的,at,q+是-1,否则是1。要检查at,q≤at,q+,请注意如果at,q+=−1,则At对q是(λ+μ)−不精确的,因此根据定义at,q=−1。相反,如果我们有at,q+=1,那么因此我们总是有at,q∈[−1,1]。
因此,at,q+是正数当且仅当At对于q至少是最小充分精确的。我们将使用at,q+去证明聚合的精确度。当我们对at,q+的值求和时,当且仅当大多数的At提供可通过的(即,在λ+μ内)对q(x)的近似时,我们才会得到一个正数。在这种情况下,中值将在λ+μ内。