Laplace机制的应用

Laplace噪声与DP

Laplace噪声的概率密度

f ( x ∣ μ , b ) = 1 2 b e − ∣ x − μ ∣ b f(x|μ,b)=\frac{1}{2b}e^{\frac{-|x-μ|}{b}} f(xμ,b)=2b1ebxμ

Laplace噪声函数的图像

image-20200423155020955

敏感度

image-20200423155037064

image-20200423155210128

这里的== L a p ( Δ f ε ) Lap(\frac{\Delta f}{\varepsilon}) Lap(εΔf)==即表示上面提到的拉普拉斯噪声中 μ = 0 \mu=0 μ=0, b = Δ f ε b=\frac{\Delta f}{\varepsilon} b=εΔf

L a p ( Δ f ε ) Lap(\frac{\Delta f}{\varepsilon}) Lap(εΔf)中的参数对隐私保护强度的影响

  1. 有了Δf 之后,自然想:== Δ f \Delta f Δf越大, ε \varepsilon ε越小,噪声也就越大。 Δ f \Delta f Δf越小, ε \varepsilon ε越大,噪声也就越大。==原因解释见后面。

    解释:
    L a p ( Δ f ε ) = 1 ( 2 Δ f ε ) e − ∣ x ∣ ( Δ f ε ) = ε 2 Δ f e − ε ∣ x ∣ Δ f Lap(\frac{\Delta f}{\varepsilon})=\frac{1}{(\frac{2\Delta f}{\varepsilon})}e^{\frac{-|x|}{(\frac{\Delta f}{\varepsilon})}}=\frac{\varepsilon}{2\Delta f}e^{\frac{-\varepsilon|x|}{\Delta f}} Lap(εΔf)=(ε2Δf)1e(εΔf)x=2ΔfεeΔfεx

  • ε , Δ f \varepsilon,\Delta f ε,Δf共同决定,函数的峰值,若想实现更好的保护,即要加入更多的噪声(这里体现是提高返回和原数据 x i x_i xi差别较大 的值的概率)
  • 比如,原数据是12,保护时返回了120(夸张一下)的概率提高了,那么就很有可能返回就是120,虽然也有可能返回的是13(这个值相比较120和12差不多,保护性可能就没有那么强)。我们要的保护,不是总要返回一个很离谱的值,我们要做的是,返回一个和真实值较大差别的值的概率较大(这样这个离谱的值就有可能出现)【虽然这个例子不是很好,但是可以帮助理解】

基于上面的解释,Laplace噪声可以满足差分隐私保护的约束条件了,那么问题就变为了,怎么提高“离谱值”的概率呢?

  1. 单纯的 x x x(非数据集 X X X)可不可做手脚呢?【要不要将他们全部化为一个xx的分布呢?比如均匀?,这个暂不清楚,但是真实数据集 X X X的手脚有一些,主要包括组合性质中的串行和并行两种。】结论就是,数据集肯定是可以做手脚的,考虑组合性质。至于数据本身要不要进行归一化等操作,待试验论证。

  2. μ \mu μ已经规定死了,就是0了。这个就不用这改变了。( μ \mu μ为0是为了保证,不出现较大偏差,保护的数据集的期望可能的不变。当然不变是最好的,因为,不变的话,至少数据的期望是可用的呀。既保证了数据安全,有保证数据可用性。)

  3. 那就只剩下 Δ f , ε \Delta f,\varepsilon Δf,ε这两个变量了。一, ε \varepsilon ε是人为指定的,随意性和经验性太强(我就是要设为0.1,我就是要设为0.5,你管我?我就是想)。二, Δ f \Delta f Δf是由敏感度确定的,这是有约束条件的,至少一般用兄弟数据集,他就确定为1了(即 Δ f = 1 \Delta f=1 Δf=1)。

    • 假定,这两个变量,咱们不考虑这些背景。就是单纯的从函数上说,目标是就是想提高那个离谱值的输出概率,怎么办?->很简单,让这个函数变得平缓就好了呀。(如果大家都一样,那么最有可能”以假乱真“,出现”滥竽充数“的离谱值)。那要怎么让Laplace噪声函数变的平缓呀?!
      1. ε \varepsilon ε变小
      2. Δ f \Delta f Δf变大
      3. 或两者都考虑,让 ε \varepsilon ε变小,让 Δ f \Delta f Δf变大。
    • 至于说,你怎么知道让这两个变量这样变化就能达到让函数变平缓的效果?自己画图,或者自己函数分析一下,就能得出结论了。
  4. 其他关于等式变形
    e θ q + δ = e θ ∗ ( q + δ e θ ) = e θ ∗ q ′ e^\theta q+\delta = e^\theta *(q + \frac{\delta}{e^\theta})=e^\theta*q' eθq+δ=eθ(q+eθδ)=eθq
    从形式上看,这就是简单的运算。这个针对完整版的差分隐私,那个 δ \delta δ去了哪里?反过来看就一目了然了!
    e θ ∗ p = e θ ∗ ( p ′ + δ e θ ) = e θ p ′ + δ e^\theta*p=e^\theta*(p' + \frac{\delta}{e^\theta})=e^\theta p'+\delta eθp=eθ(p+eθδ)=eθp+δ
    那么 δ = ( p − p ′ ) ∗ e θ \delta =(p-p')*e^\theta δ=(pp)eθ,若 δ \delta δ 0 0 0,说明 p = p ′ p=p' p=p。个人感觉在实际过程中,我就没考虑过 δ \delta δ

Laplace机制的应用

  • 案例一:Counting Queries(统计查询)

一般来说统计查询形如这样:“How many elements in the dataset satisfy property P”。即查询数据集中有多少条记录满足给定的条件。根据敏感度的定义,Counting Queries中敏感度为1(即 Δ f = 1 \Delta f =1 Δf=1)。所以直接在查询结果上加Lap(0, 1/ε) 的噪声即可。

  • 案例二:Histogram Queries(直方图查询)

在直方图查询中,首先作出数据的直方图,每一个直方图中的数据表示当前块(cell)中有多少记录。直方图查询即查询每一个cell中有多少记录。由于每个cell是独立的,改变数据集中一条记录只会影响到一个cell,因此敏感度为1。在这个模式下,和Counting Queries一样敏感度为1,(即 Δ f = 1 \Delta f =1 Δf=1),只需要加上 Lap(0, 1/ε) 的噪声。

参考自:知乎Dper

  • 1
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值