差分隐私(Differential privacy)浅析

      通过几天对差分隐私的左思右想,总算是摸到了点门道,顺着学习思路,就一些比较关键性概念说一下自己的看法

一、关键性概念

1、查询

     对数据集D的各种映射函数被定义为查询(Query),用 F={f_{1}, f_{2}, ......}来表示一组查询。

2、邻近数据集(兄弟数据集)

     设数据集DD^{'},具有相同的属性结构,两者对称差记作D\DeltaD^{'},|D\DeltaD^{'}|表示对称差的数量。若|D\DeltaD^{'}|=1,则称DD^{'}邻近数据集(又称兄弟数据集 )。 

      For example:设集合D = {1,2,3,4,5,6},D^{'} = {1,2,4,6},则D\DeltaD^{'} = {3,5},|D\DeltaD^{'}| = 2。

3、敏感度

(1)全局敏感度:

        对于一个查询函数 f: D\rightarrowR^{d},其中D为一个数据集,R^{d}d维实数向量,是查询的返回结果。在任意一对邻近数据集DD^{'}上的全局敏感度为:

                                                           GS_{f}(D) = max || f(D) - f(D^{'}||

        注意:a.  || f(D) - f(D^{'}|| 是f(D)和f(D^{'})之间的曼哈顿距离;

                  b. 全局敏感度与数据集无关,只与查询结果有关。

(2)局部敏感度:

        对于一个查询函数 f: D\rightarrowR^{d},其中D为一个数据集,R^{d}d维实数向量,是查询的返回结果。对于给定的数据集D和它的任意邻近数据集D^{'},有fD上的局部敏感度为:

                                                           LS_{f}(D)  = max || f(D) - f(D^{'}||

        全局敏感度和局部敏感度的关系为:

                                                           GS_{f}(D) = max (LS_{f}(D))

二、差分隐私

      设有随机算法MP_{M}M所有可能输出构成的集合的概率,对于任意两个邻近数据集DD^{'}以及P_{M}的任意子集S_{M},若算法M满足:

                                                           P[ M(D\in S_{M}\leq e^{\varepsilon }\timesP[ M(D^{'}\in S_{M}

       则称算法M提供\varepsilon-差分隐私保护

       注意:a. \varepsilon越小,隐私保密度越高;

                 b. \varepsilon越大,数据可用性越高(保密度越低);

                 c. \varepsilon = 0时,M针对DD^{'}的输出概率完全相同。

       通常情况下,\varepsilon值取很小,e^{\varepsilon }接近于1,即对于只有一条记录差别的两个数据集,如果查询它们的概率非常非常的接近,那么它们满足差分隐私保护(通俗的说法,不太严谨)

        For example:医院发布信息有10个人患AIDS,现在攻击者知道其中9个人的信息,通过和医院发布的信息进行比对就可以知道最后一个人是否患AIDS,这就是差分隐私攻击。如果查询9个人的信息和查询10个人的信息结果一致,那么攻击者就没有办法确定第10个人的信息,这就是差分隐私保护。

三、实现机制

1、拉普拉斯机制(常用于数值输出的函数

(1)Laplace机制的敏感度:

        给定一个函数集FD_{1}D_{2}为邻近数据集,其敏感度定义如下:

                                                           S(F) =    

(2)期望为0,方差为2b^{2}的Laplace分布,其概率密度函数为:

                                                           P(x) = 

        其中b = \frac{\Delta f}{\varepsilon }\Delta f为敏感度。

(3)Laplace机制\varepsilon-差分隐私:

        给定一个函数 f: D\rightarrowR^{d},若隐私保护算法A满足\varepsilon-差分隐私,当且仅当下述表达式成立:

                                                           A = f(D) + 

        具体公式推导证明可参考:

        差分隐私若干基本知识点介绍(一)_MathThinker的博客-CSDN博客_差分隐私

2、指数机制(常用于非数值输出的函数/添加数值噪声后无意义的函数

(1)可用性函数:

        设查询函数的输出域为R,域中的每个值r\in R为一实体对象,D为给定数据集。在指数机制下,函数q(D,r)\rightarrow R称为输出值r的可用性函数。

(2)指数机制的敏感度:

        给定可用性函数qD_{1}D_{2}为任意一对邻近数据集,r为任意合法输出,其敏感度定义如下:

                                                           S(q) = 

(3)指数机制\varepsilon-差分隐私:

        给定数据集D及可用性函数q(D,r)\rightarrow R,隐私保护机制A满足\varepsilon-差分隐私,当且仅当下述表达式成立:

                                                           A(D,q) \propto \propto为正比于

四、组合原理

1、串行组合原理(同一数据集、不同算法):

     给定数据集D以及一组关于D的差分隐私算法:A_{1}(D),A_{2}(D),A_{3}(D),....,A_{m}(D),算法A_{i}(D)分别满足\varepsilon _{i}-差分隐私且任意两个算法的随机过程独立,则这些算法组合起来满足

2、并行组合原理(不同数据集、不同算法):

     记A_{1}(D_{1}),A_{2}(D_{2}),A_{3}(D_{3}),...,A_{m}(D_{m})分别表示输入数据集为D_{1},D_{2},D_{3},...,D_{m}的一系列满足\varepsilon-差分隐私算法且任意两个算法的随机过程相互独立,则这些算法组合起来满足\varepsilon-差分隐私。

3、推论(不同数据集、不同算法):

     记A_{1}(D_{1}),A_{2}(D_{2}),A_{3}(D_{3}),...,A_{m}(D_{m})为一系列相互独立的差分隐私,且算法A_{i}(D)分别满足\varepsilon _{i}-差分隐私,则这些算法组合起来满足。(不同数据集、不同算法,整体小于等于最大\varepsilon-差分隐私

五、心得体会

      遇到一个全新的知识体系时,先不要纠结于某一个概念或者定理,要先有一个整体的知识结构,就拿差分隐私来说:

      1、为了搞懂定义,我们需要一些前提知识点;

      2、搞懂定义后,就去了解它的实现机制;

      3、如果必要,可以再去研究它的推导证明;

      4、最后,是一些延伸定理。

      然后就一点一点磨,总会明白的。

      That's all, good luck.

  • 67
    点赞
  • 354
    收藏
    觉得还不错? 一键收藏
  • 28
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 28
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值