本地差分隐私 随机响应_笔记整理:差分隐私(Differential Privacy)的理解

本文是笔者在对差分隐私的学习过程中,尝试对差分隐私概念进行的梳理,主要偏向于对其理念和背后原理的解释和分析,而没有将一些具体的细节(敏感度、各种机制)放上来,同时还夹带了笔者自己的一些思(si)考(huo),如果错误之处还请各位大佬指出!(后续可能还会添加一些内容)

1.Derivation

1.1 隐私的“确保”

“确保”这个词可以说是隐私研究的问题核心所在,而我们平常提到的绝大部分“隐私保护”方法,都不能做到“确保”这一点。我们举一个例子:

c46d4de364d44f250b7a9b1d85a32356.png

“匿名保护”是最常见的一种隐私保护方法,但在攻击者有足够外部知识的情况下,匿名保护可以说是形同虚设的。比如,上图是一张学生信息表,为了保护学生的隐私(学分、GPA),它将学生的姓名抹去了。然而,虽然使用了匿名保护,但是,如果攻击者掌握了学生的一些外部知识(比如年龄、升高、体重、出生日期),通过这些外部知识,攻击者很快就能知道他在表中所在的位置,也就可以轻松获取我们本希望被保护的隐私信息(学分、GPA)了。

我们在上面提到的,只是外部知识攻击(也叫背景知识攻击)的一个非常简单的例子,事实上,几乎所有的隐私保护方法,比如k-anonymity等,都无法抵御外部知识攻击。不过不必担心,差分隐私是可以抵御外部知识攻击的,差分隐私描述了这样一个承诺:即使攻击者掌握了(隐私数据之外的)无限多的外部知识,我们的隐私数据仍然是安全的。这听起来好像有点不可思议,我们下面就来具体讲述它是怎样做到隐私的完全确保的。

1.2 随机隐私

我们首先来介绍一下随机隐私的概念。在1965年Warner提出了随机应答(Randomized Response)方法,它是第一个通过引入随机性来保证隐私的机制。这一技术针对的是问卷采样问题,方案如下:

对于一个(回答“是”或“否”的)问题,回答者先暗中抛一个硬币,如果是正面,就如实回答问题;否则,再抛一次硬币,根据第二次抛出的正反面来回答是或否。

在这个方案下,回答者在75%的情况下会回答真实的答案,因此我们可以根据调查结果中回答“是”的比例X,使用

来计算实际为“是”的比例。

这个方案的“隐私”来自于:回答者可以“理直气壮”地否认自己的回答。事实上,不管实际情况如何,都有至少25%的可能性给出答案是或答案否,因此就算得知了回答者的回答,也无法以此来确定他的实际情况

这个方法虽然简单,但是其背后反映出了深刻的随机化隐私理念,也包括了我们后面将会学到的“本地化隐私”的思想,同学们可以好好体会一哈~

差分隐私就是通过引入随机性来确保隐私的。我们再来看知乎上 @卡兵 举的一个例子(强烈推荐大家阅读一下原文,讲的非常细致通透):

2ffb1e378efa0913fc6bb06bbd380185.png

在这个数据库中,每个人的“是否单身”数据都是隐私信息,不可被查询,但是数据库的单身人数总和是可查询的。

当张三不在数据集中时,我们查询到,数据集中的单身人数为2,在张三加入到

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
差分隐私Differential Privacy)是一种保护数据隐私的技术,通过对查询结果增加一定的噪音,使得查询者无法确定某个个体的输入是否被包含在查询结果中,从而保护了个体的隐私。Laplace 机制是差分隐私中最常用的一种机制,它是一种基于拉普拉斯分布的随机化技术。 下面是使用 Python 实现差分隐私 Laplace 机制的详细步骤: 1.导入必要的库 ```python import numpy as np import random ``` 2.定义 Laplace 分布函数 ```python def laplace_mech(data, epsilon, sensitivity): beta = sensitivity / epsilon noise = np.random.laplace(0, beta, 1) return data + noise ``` 其中,data 是输入数据,epsilon 是隐私预算,sensitivity 是查询的敏感度。beta 是拉普拉斯分布的参数,噪音的大小与 epsilon 和 sensitivity 成反比。np.random.laplace(0, beta, 1) 生成一个服从拉普拉斯分布的噪音。 3.测试 Laplace 机制 ```python data = 10 # 输入数据 epsilon = 1 # 隐私预算 sensitivity = 1 # 查询敏感度 noisy_data = laplace_mech(data, epsilon, sensitivity) print("原始数据:", data) print("加噪数据:", noisy_data) ``` 输出结果如下: ``` 原始数据: 10 加噪数据: [9.26521862] ``` 可以看到,加入噪音后的数据与原始数据有所偏差,但是偏差的大小受到隐私预算的控制,当 epsilon 越大,允许的噪音就越大,隐私保护就越弱;当 epsilon 越小,允许的噪音就越小,隐私保护就越强。 总的来说,差分隐私 Laplace 机制是一种简单而有效的隐私保护技术,可以应用于各种数据分析场景中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值