隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解

传统简单的隐私树是这样的:

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第1张图片

假设D为数据集,D的size为12,然后我们要做计数查询f,\theta为阈值,\lambda为隐私参数,h为最大树高,从根节点开始创建,如果当前节点的数量大于\theta并且深度小于h,那么将会继续分叉一级,循环直到所有的节点都已经被访问过。按照算法1的流程,隐私树将是图一的形状。

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第2张图片

 然后查询q的时候会从根节点开始访问

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第3张图片

 如果当前节点v和q毫无交集,则抛弃;如果有交集并且当前节点不是叶节点的话,继续搜索叶节点;如果当前节点包含于q,那么将当前节点的数量加入ans;如果有交集并且是叶节点的话,S交集/Sv*Vcount加入到ans集合中。

但是h选得比较小的时候,数据区分度不够,无法近似得还原原本的数据分布;h选得比较高的时候,加入的噪声就会非常多,这个问题引来了作者的关注。

作者想通过固定\lambda=h/\varepsilon来达到这个效果,一旦固定了\lambda,意味着h不一定是固定的了,而\varepsilon也可以有一个令人满意的推荐值。接着构造一颗树T',这个树构造的时候和前面的树T一样,只是在最后的时候把中间节点全部去掉,在查询的时候再自底向上建树,这样的话可以有更好的数据利用率。

但是这并不意味着可以减少一点噪声。我们来假设一个最坏的情况,假设从数据库D中移除一个数据t,从而得到相邻的数据库D',包含数据t的节点为v1...vh,不失一般性,我们假设vh是叶节点,那么我们可以得到:

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第4张图片

综上,隐私预算一点也没有减小。但是这是在极为苛刻的条件下的小概率情况,如果噪声lap不是正的、并且没有足够大的话,上述等式就不成立,我们定义等式(3)中的算式为

并画出图像 

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第5张图片

观察到,当x>\theta+1时,呈指数下降趋势 ,然后我们

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第6张图片

反正隐私预算最大大不过关于\lambda的未知函数

以上分析引出了一个有趣的问题: 我们是否可以确保公式 (6) 对任何输入数据集都适用?在3.3 节中, 我们将对这个问题给予肯定的答复。我们的方法的基本思想是向每个 c(vi)添加一个偏置项, 以便 c(vi) − c(vi +1) (i ∈ [1, h − 2]) 大于选择常数。此外, 偏差项与输入数据无关, 这保证其使用不会泄露任何私有信息。偏倚项的推导需要仔细分析 ρ(x)。为了简化分析, 我们设计了一个简单的 ρ(x)的上界。

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第7张图片

由此,作者引出了隐私树算法 

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第8张图片

(emmmm,我觉得调整随机噪声、使得不要因为正的噪声的加入,而使得c>\theta就行了)

比起前面的算法来说,多了一个偏置操作b 。这些操作的思想是这样的,在建树的过程中,从根节点到叶节点的路径上,都会向\theta接近,并且每一步至少接近\delta,直到收敛到\theta -\delta为止,也就是说,比较小的数字也至少会有\theta -\delta,然后再增加噪声来决定是否派生下一代。他的意图在于把图二平直的那段高风险的地方处理掉,全部都弄成\theta -\delta就没有风险了,差异为0.

 

接着便进行证明其符合\varepsilon -差分隐私 ,如方程(9)所示。首先证明左边的不等式

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第9张图片

 

由于在中间节点的情况下,D计数大于等于D',所以其比值大于1,那个大于等于0就是这么来的。

隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第10张图片

 隐私树:一个分层分解式的差分隐私算法(PrivTree: A Differentially Private Algorithm for Hierarchical Decompositions)的理解_第11张图片

 

右边不等式通过设立m来分类讨论,这样图二平直的地方全部都是0.直接忽略。假设极端情况vi只有一条路径,那么每次都会少\delta个点,所以就构成了等比数列,进行等比数列的加法运算,就得出了结果。\lambda不需要和树的深度h成正比了,以一个稍大于2的数字代替,从而大大减小了需要加的噪声,但又保持了\varepsilon-差分隐私。 

 

你可能感兴趣的:(paper)