首先,我们给出可乘权重算法的更新规则,并在回答线性查询的语言中证明其收敛性定理。将数据库 x 视为数据全体 X 上的概率分布将很方便。也就是说,让 Δ([X]) 表示集合 [∣X∣] 上的概率分布集合,我们有 x∈Δ([X])。请注意,我们始终可以缩放数据库以具有此属性,而无需更改任何线性查询的规范化值。
定理 4.10 固定一类线性查询 Q 和一个数据库 x∈Δ([X]),并让 x1∈Δ([X]) 描述 X 上的均匀分布: xi1=1/∣X∣。 现在考虑数据库的最大长度序列 xt(t∈{2,...,L})。如 算法5 中所述,通过设置 xt+1=MW(xt,ft,vt) 来生成序列,其中对于每个 t,ft∈Q 和 vt∈R 满足以下两个条件:
1. ∣ft(x)−ft(xt)∣>α,and2. ∣ft(x)−vt∣<α 则:
L≤1+α24log∣X∣ 注意,如果我们证明这个定理,我们将证明对于序列中的最后一个数据库 xL+1 ,对于所有 f∈Q:∣f(x)−f(xL+1)∣≤α,否则可能会扩展序列,与定理中的序列最大值 L 矛盾。换句话说,给定有区别的查询 ft ,可乘权重更新规则只需要很少的步骤 (L) 就可以对线性查询 Q 的任何类别学习私有数据库 x,直到一定的精度 α。我们将在下面的在线可乘权重算法中使用这个定理。在线可乘权重算法将始终在 t 时刻具有对数据库 x 的公开近似值 xt。给定输入查询 f,该算法将计算 ∣f(x)−f(xt)∣ 差别的噪声近似值。如果(噪声)差很大,则该算法将为真实答案 f(x) 提供噪声近似 f(x)+λt,其中 λt 是从一些适当选择的 Laplace 分布得到。并且乘法权重算法更新规则将用参数 (xt,f,f(x)+λt) 调用。如果该可乘权重算法更新规则仅当满足 定理 4.10 条件 1 与 定理 4.10 条件 2 时被调用,则我们应用 定理4.10 可以得到这样一个结论:更新不那么多(因为 L 不是太大),并且得到的 xL+1 可以为所有 Q 中查询提供准确的答案(因为没有剩余其他有区别的查询了。)
通过跟踪在 t 时刻测量假设数据库 xt 和真实数据库 x 之间相似性的势函数 Ψ 我们证明了 定理4.10 。(注:势函数(potential function):在平摊分析(amortized analysis)的势能法中,用来描述过去资源的投入可在后来操作中使用程度的函数。在线算法通常使用平摊分析。详见维基百科与相关文章)
我们将会表明:
综合这三个事实,我们将得出这样的结论:更新回合不能太多。 现在让我们开始分析收敛定理的证明。
【证明定理 4.10】 我们必须证明任何属性为 ∣ft(xt)−ft(x)∣>α,且 ∣vt−ft(x)∣<α 的序列 {(xt,ft,vt)}t=1,...,L 不能有 L>α24log∣X∣。
我们将势函数定义如下。回想一下我们将数据库作为概率分布(即,假设 ∥x∥1=1)。当然,这不需要实际修改实际数据库。当将数据库视为概率分布时,势函数是 x 和 xt 之间的相对熵(或 KL散度):
Ψt=defKL(x∥xt)=i=1∑∣X∣x[i]log(xt[i]x[i]) 我们从一个简单的事实开始:
命题 4.11 对于所有的 t,Ψt≥0 且 Ψ1≤log∣X∣。
【证明 命题 4.11】 证明相对熵(KL-散度)始终是非负的,需要借助对数和不等式,该不等式表示如果 a1,...,an;b1,...,bn 是非负数,则:
i∑ailogbiai≥(i∑ai)∑ibi∑iai 其次证明 Ψ1≤log∣X∣。首先回想一下 x1[i]=1/∣X∣,则 Ψ1=∑i=1∣X∣x[i]log(∣X∣x[i])。注意,x 为概率分布,则:当 x[1]=1,x[i]=0,i>1 时,相对熵 Ψ1 有最大值,且为 Ψ1=log∣X∣。
【命题 4.11 证毕】
我们现在要讨论的是,在每一步,势函数至少下降了 α2/4。因为势开始于 log∣X∣,并且必须总是非负的,所以我们知道在数据库更新序列中最多可以有 L≤4log∣X∣/α2 步。首先,让我们看看每一步的势到底下降了多少:
引理 4.12
Ψt−Ψt+1≥η(⟨rt,xt⟩−⟨rt,x⟩)−η2 【证明】 由于 ∑i=1∣X∣x[i]=1,则:
Ψt−Ψt+1=i=1∑∣X∣x[i]log(xt[i]x[i])−i=1∑∣X∣x[i]log(xt+1[i]x[i])=i=1∑∣X∣x[i]log(xt[i]xt+1[i])=i=1∑∣X∣x[i]log(xt[i]x^it+1/∑ix^it+1)=i=1∑∣X∣x[i][log(xt[i]xitexp(−ηrt[i]))−log(j=1∑∣X∣xjtexp(−ηrt[j]))]=−(i=1∑∣X∣x[i]ηrt[i])−log(i=1∑∣X∣xjtexp(−ηrt[j]))=−η⟨rt,x⟩−log(i=1∑∣X∣xjtexp(−ηrt[j]))≥−η⟨rt,x⟩−log(i=1∑∣X∣xjt(1+η2−ηrt[j]))=−η⟨rt,x⟩−log(1+η2−η⟨rt,xt⟩)≥η(⟨rt,xt⟩−⟨rt,x⟩)−η2 第一个不等式由下面这个事实得出(注:泰勒公式和 rt[j]∈rt,rt[j]≤1):
exp(−ηrt[j])≤1−ηrt[j]+η2(rt[j])2≤1−ηrt[j]+η2 第二个不等式由对数不等式:log(1+y)≤y,y>1 得到。
【引理 4.12证毕】
有了前面的命题和引理之后,可以完成剩下的证明。 根据 数据库/查询序列 的条件(在上述 定理4.10 的假设中进行了描述),对于每一个 t:
1. ∣ft(x)−ft(xt)∣>α,and2. ∣ft(x)−vt∣<α 因此,当且仅当 vt<ft(xt) 时,ft(x)<ft(xt)。 特别地,如果 ft(xt)−ft(x)≥α,则 rt=ft ,如果 ft(x)−ft(xt)≥α,则 rt=1−ft。 因此,通过 引理4.12 和 可乘权重更新规则中所述的 η=α/2 有:
Ψt−Ψt+1≥2α(⟨rt,xt⟩−⟨rt,x⟩)−4α2≥2α(α)−4α2=4α2 最后可知:
0≤ΨL≤Ψ1−L⋅4α2≤log∣X∣−L⋅4α2 变换得到:L≤α24log∣X∣。
【定理 4.10 证毕】