以下是本人对该论文的解读,如有不当,欢迎批评指正
频数估计(frequency estimation)是高级数据分析的基础,有非常广泛的应用。比如每个网页作为一个item,谷歌作为collector想了解用户把哪些界面作为chrome浏览器的默认主页;某个APP的功能作为一个item,APP开发者想要了解用户更经常用APP中的哪些功能。在进行频数估计之后,设定一个阈值,collector就可以知道哪些item的频数超过了这个阈值,即Heavy hitter identification。
传统的方式要求用户将自己的item频数信息分享给collector,但是存在两个问题:用户不愿意分享个人数据;服务商在收集和处理过程中有可能泄露用户的item频数信息。
目前有研究用本地化差分(Local Privacy Preserving)的方法进行频数估计,比如RAPPOR。但是存在的问题是,在编码(Encode)、扰动(Perturb)、收集(Aggregate)之后,进行频数估计的时候,没有考虑到噪声和真实频数背后的先验知识。
因此,此论文通过对噪声和真实频数的分布进行建模,在编码、扰动、收集之后增加矫正(Calibrate)的步骤,可以降低本地化差分频数估计中的估计偏差(estimation error)。
n n n个用户
d d d个属性: { 1 , 2 , . . . , d } \{1,2,...,d\} {1,2,...,d}
f i f_i fi表示有item i i i的用户的个数
频数估计就是想知道 f i f_i fi,此处仅讨论一个item,也可以延伸到d个item
给定一个阈值,Heavy Hitter Identification目标是检测哪些item的频数超过了此阈值
定义-Pure Local Differential Privacy:
当且仅当存在两个概率值 p ∗ p^* p∗和 q ∗ q^* q∗,对于所有item i i i存在: P r [ P E ( i ) ∈ { t ∣ S u p p o r t ( t ) } ] = p ∗ Pr[PE(i)\in\{t|Support(t)\}]=p^* Pr[PE(i)∈{t∣Support(t)}]=p∗ ∀ j ̸ = i , P r [ P E ( j ) ∈ { t ∣ S u p p o r t ( t ) } ] = q ∗ \forall j\not=i,Pr[PE(j)\in\{t|Support(t)\}]=q^* ∀j̸=i,Pr[PE(j)∈{t∣Support(t)}]=q∗
S u p p o r t ( t ) Support(t) Support(t)表示 t t t支持的扰动数值或者向量的item集合。
在收集阶段,collector通过以下公式估计频数: f i ^ = ∑ u I s u p p o r t ( t u ) ( i ) − n q ∗ p ∗ − q ∗ , \hat{f_i}=\frac{\sum_{u}\mathbb{I}_{support(t_u)}(i)-nq^*}{p^*-q^*}, fi^=p∗−q∗∑uIsupport(tu)(i)−nq∗,
f i ^ \hat{f_i} fi^是对item i i i的频数估计
t u t_u tu是用户u的数据编码、扰动之后的值
I s u p p o r t ( t u ) ( i ) \mathbb{I}_{support(t_u)}{(i)} Isupport(tu)(i)如果是1,表明扰动的值支持item i i i
由于编码和扰动的方式不一样,所以有不同的 S u p p o r t Support Support函数和 p ∗ , q ∗ p^*,q^* p∗,q∗
频数估计:用频数估计值 f ^ \hat{f} f^和真实频数 f f f之间的均方差的估计值衡量频数估计的性能, d d d个属性的即为每个属性的均方误差的均值: A = 1 d ∑ i − i d E ( f i ^ − f i ) 2 A = \frac{1}{d}\sum_{i-i}^{d}E(\hat{f_i}-f_i)^2 A=d1i−i∑dE(fi^−fi)2
Heavy Hitter:Precision, Recall, F-Score
把最终得到的频率估计 f ^ \hat{f} f^看做真实频数 f f f和噪声 s s s的和:
f i ^ = f i + s i , i ∈ { 1 , 2 , . . . , d } \hat{f_i}=f_i+s_i, i\in\{1,2,...,d\} fi^=fi+si,i∈{1,2,...,d}
把真实的频数 f f f看作从分布 p f p_f pf的采样,把噪声 s s s看作从分布 p s p_s ps的采样,把估计频数 f ^ \hat{f} f^看作从分布 p f ^ p_{\hat{f}} pf^的采样
其中,collector能用LDP算法得到 f ^ \hat{f} f^,该文的矫正环节希望能逆向通过上述式子得到更真实的频数估计,即使得均方误差最小化。 f i ^ = arg min f ′ E ( ( f ′ − f ) 2 ∣ f ^ = f i ^ ) \hat{f_i}=\mathop{\arg\min}_{f'}E((f'-f)^2|\hat{f}=\hat{f_i}) fi^=argminf′E((f′−f)2∣f^=fi^)
s u b j e c t t o : f i ^ = f + s , subject~to: \hat{f_i} = f+s, subject to:fi^=f+s,
由贝叶斯法则:
P r ( f = k ∣ f ^ = f i ^ ) = P r ( f = k , f ^ = h i ^ ) P r ( f ^ = f i ^ ) = P r ( f ^ = f i ^ ∣ f = k ) P r ( f = k ) P r ( f ^ = f i ^ ) = p s ( s = f i ^ − k ) p f ( f = k ) p f ^ ( f ^ = f i ^ ) \begin{aligned} Pr(f=k|\hat{f}=\hat{f_i})&=\frac{Pr(f=k,\hat{f}=\hat{h_i})}{Pr(\hat{f} = \hat{f_i})}\\ &=\frac{Pr(\hat{f}=\hat{f_i}|f=k)Pr(f=k)}{Pr(\hat{f}=\hat{f_i})}\\ &=\frac{p_s(s = \hat{f_i}-k)p_f(f=k)}{p_{\hat{f}}(\hat{f}=\hat{f_i})} \end{aligned} Pr(f=k∣f^=fi^)=Pr(f^=fi^)Pr(f=k,f^=hi^)=Pr(f^=fi^)Pr(f^=fi^∣f=k)Pr(f=k)=pf^(f^=fi^)ps(s=fi^−k)pf(f=k)
所以经过Calibrate矫正过的频数为(论文的附录A中证明了下述式子得到的 f i ^ \hat{f_i} fi^是MSE最小时的 f ′ f' f′): f i ^ = ∑ k k ⋅ P r ( f = k ∣ f ^ = f i ^ ) \hat{f_i}=\sum_{k}k\cdot Pr(f=k|\hat{f}=\hat{f_i}) fi^=k∑k⋅Pr(f=k∣f^=fi^)
和贝叶斯法则不同之处:似乎 p f p_f pf是先验概率, f f f的条件概率分布是后验概率。在标准贝叶斯推断中,先验概率分布是独立于观察到数据的。但是此论文中的 p f p_f pf是通过观察到的频率估计值确定的(data-dependent prior)
…TO BE UPDATED