5.2 迭代构建机制

在本节中,我们将推导出隐私累加权重算法的离线泛化算法,可以使用任何适当定义的学习算法将这个算法进行实例化。一般来说,数据库更新算法维护一系列数据结构 D1,D2,...D^1,D^2,...,这些结构为输入数据库 xx 提供​​越来越好的近似值(在某种意义上取决于数据库更新算法)。此外,这些机制通过仅考虑一个查询 ff 来产生序列中的下一个数据结构,这个查询 ff 在真实数据库 xx 产生的结果与在数据结构 DtD^t 产生的结果有显著的不同。(即:f(Dt)f(D^t)f(x)f(x) 区别很大。)本节中的算法表明,在很小的程度上,以差分隐私的方式解决 “查询-发布” 问题就等于以差分隐私的方式解决更简单的学习或区分问题:给定了隐私区分算法和非隐私数据库更新算法,我们得到相应的隐私发布算法。对于一般的线性查询设置,我们可以插入指数机制作为规范的专用区分器,而将乘数权重算法作为通用的数据库更新算法,但是在特殊情况下,可以使用更有效的区分器。

从语法上讲,我们将考虑形式为 U:D×Q×RDU:\mathcal{D}\times\mathcal{Q}\times\mathbb{R}\to \mathcal{D} 的函数。其中 D\mathcal{D}表示一类数据结构,这类数据结构可以对 Q\mathcal{Q} 中的查询进行评估。函数 UU 的输入为:1、 D\mathcal{D} 中的数据结构,将当前数据结构表示为 DtD^t;2、区别查询 ff,并且可以被限制为某个集合 Q\mathcal{Q};3、并且还实数 xx,其估计 f(x)f(x)。以下我们正式定义一个 数据库更新序列,以控制用于生成数据库序列 D1,D2,...D^1,D^2,...UU 输入序列。

定义 5.3 数据库更新序列xNXx\in \mathbb{N}^{|\mathcal{X}|} 为任意数据库,并设 {(Dt,ft,vt)}t=1,...,L(D×Q×R)L\{(D^t,f_t,v_t)\}_{t=1,...,L}\in(\mathcal{D}\times\mathcal{Q}\times\mathbb{R})^L 为元组序列。如果满足以下条件:

  • 1、D1=U(,,)D^1=U(\bot,\cdot,\cdot)
  • 2、任意 t=1,2,...,L,ft(x)ft(Dt)αt=1,2,...,L,|f_t(x)-f_t(D^t)|\geq \alpha
  • 3、任意 t=1,2,...,L,ft(x)vt<αt=1,2,...,L,|f_t(x)-v_t| < \alpha
  • 4、任意 t=1,2,...,L1,Dt+1=U(Dt,ft,vt)t=1,2,...,L-1,D^{t+1}=U(D^t,f_t,v_t)

则将其这个序列称之为:(U,x,Q,α,T)(U,x,\mathcal{Q},\alpha,T)-数据库更新序列( (U,x,Q,α,T)database update sequence(U,x,\mathcal{Q},\alpha,T)-database\ update \ sequence

注意,对于数据库更新算法,近似响应 vtv_t 仅用于确定 ft(x)ft(Dt)f_t(x)-f_t(D^t) 的符号,这是条件3中要求 ft(x)vtf_t(x)-v_t 的估计误差小于 α\alpha 的动机。我们更关注数据库更新算法的主要效率衡量标准是:在数据库 DtD^t 相对于 Q\mathcal{Q} 中的查询很好地近似 xx 之前,我们需要执行的最大更新次数。为此,我们将数据库更新算法定义为如下:

定义5.4 数据库更新算法U:D×Q×RDU:\mathcal{D}\times\mathcal{Q}\times\mathbb{R}\to \mathcal{D} 为更新规则,令 T:RRT:\mathbb{R}\to\mathbb{R} 为函数。对每个数据库 xNXx\in \mathbb{N}^{|\mathcal{X}|} 如果每个 (U,x,Q,α,T)(U,x,\mathcal{Q},\alpha,T)-数据库更新序列满足 LT(α)L\leq T(\alpha),则称 UU 为:查询类 Q\mathcal{Q}T(α)T(\alpha)- 数据库更新算法。

T(α)T(\alpha)- 数据库更新算法的定义表明如果 UUT(α)T(\alpha)- 数据库更新算法,则给定最大 (U,x,Q,α,U)(U,x,\mathcal{Q},\alpha,U)-数据库更新序列,最终数据库 DLD^L 必须满足 maxfQf(x)f(DL)α\max_{f\in\mathcal{Q}}|f(x)-f(D^L)|\leq \alpha,否则将存在满足定义5.3的条件2的另一个查询,因此将存在一个 (U,x,Q,α,L+1)(U,x,\mathcal{Q},\alpha,L+1)-数据库更新序列,与最大矛盾。 也就是说,T(α)T(\alpha)-数据库更新规则的目标是生成最大的数据库更新序列,并且最大数据库更新序列中的最终数据结构必须对每个查询 fQf\in \mathcal{Q} 的近似响应进行编码。

既然我们已经定义了数据库更新算法,那么在 定理4.10 中我们真正证明的是,可乘权重算法是 T(α)=4logX/α2T(\alpha)=4\log|\mathcal{X}|/\alpha^2T(α)T(\alpha)-数据库更新算法。

到此让我们为数据库更新算法建立一些直观概念。 T(α)T(\alpha)-数据库更新算法开始于一些有关真实数据库 xx 的初始猜测 D1D^1。因为该猜测不基于任何信息,所以 D1D^1xx 很可能几乎没有相似之处,并且存在一些查询 fQf\in \mathcal{Q} 以至少 α\alpha 的精度区分这两个数据库:即 f(x)f(x)f(D1)f(D^1) 的值相差至少为 α\alpha。数据库更新算法的作用是在有证明当前假设 Dt1D^{t-1} 不正确的情况下更新其假设 DtD^t:在每个阶段,它以 Q\mathcal{Q} 中的某个查询作为输入,这些查询能区别其当前假设与真实数据库的偏差,然后输出一个新的假设。参数 T(α)T(\alpha) 是数据库更新算法更新其假设的次数的上限:这个上限保证在提供最多 T(α)T(\alpha) 区别查询之后,该算法将最终产生了一个关于查询 Q\mathcal{Q} 的假设数据集 DtD^tDtD^t 看起来像是真正的数据库 xx(至少不超过误差 α\alpha)【书注】。对于数据库更新算法,更希望使用较小的边界 T(α)T(\alpha)

Copyright © GuoJohnny 2019 all right reserved,powered by Gitbook修订时间: 2020-04-24 16:45:06

results matching ""

    No results matching ""