关于差分隐私的一些基本概念的整理
引言
在过去的二十年中,随着数据挖掘技术的普遍应用,一些厂商,组织和政府所收集的数字信息形成了大量的数据集,并且这种数据收集的速度在最近几年中得到了极大的提高。 通常,数据收集者负责发布数据用以进行进一步分析。 然而,大部分收集的数据集都包含隐私或者敏感的信息。 即使数据收集者可以应用几种简单的匿名化技术,敏感的个人信息仍然很有可能被公开。 因此,隐私保护已成为迫切需要解决的问题。
研究人员提出了各种保护个人隐私的方法,并将这些方法及其隐私标准定义为一个隐私模型
。如图1所示,隐私模型位于受信任的数据收集者(Curator)和不受信任的公众用户(User)之间。差分隐私
就是这样一种新兴的、有前途的隐私模型。它可以保证对手(敌手)在数据集中对任何个体造成伤害的能力基本上是相同的,与任何个体选择进入或退出数据集无关。与以往的隐私模型相比,差分隐私模型能够成功抵御大多数隐私攻击,并提供了可证明的隐私保障。
相关定义
我们假设一个大小为∣x∣|x|∣x∣的有限数据空间xxx。设rrr表示具有ddd个属性的记录;数据集DDD是从有限数据空间xxx中采样的nnn条记录的无序集合。两个数据集DDD和D′D′D′如果有且仅有一条记录rrr不同,则这两个数据集称为为相邻数据集
。查询fff是一个将数据集DDD映射到抽象范围RRR: f:D→Rf:D→Rf:D→R的函数。一组查询记作FFF。我们用符号mmm表示FFF中的查询数量。
差分隐私的目的
是掩盖相邻数据集之间查询fff的差异。将查询结果fff的最大差异定义为灵敏度(或者敏感度)
ΔfΔfΔf。 通常通过机制MMM实现差分隐私,机制MMM是访问数据库并实现某些功能的随机算法。 随机输出由回旋符号表示,例如,fˆ(D)fˆ(D)fˆ(D)表示在DDD上查询fff的随机返回答案。图2总结了本文中可能使用到的符号。
(ϵ,δ)-差分隐私
如果MMM满足以下条件,在DDD和D′D^′D′的任何相邻数据集中,随机机制MMM为每一组输出ΩΩΩ提供(ϵ,δ)-差分隐私
:
Pr[M(D)∈Ω]≤exp(ϵ)⋅Pr[M(D′)∈Ω]+δPr[M(D)∈Ω]≤exp(ϵ)⋅Pr[M(D^′)∈Ω]+δPr[M(D)∈Ω]≤exp(ϵ)⋅Pr[M(D′)∈Ω]+δ
注:如果δ=0δ= 0δ=0,则随机机制MMM通过其最严格的定义给出ϵ-差分隐私
。(ϵ,δ)-差分隐私为某些低概率事件提供了违反严格的差分隐私的自由。 ϵ-差分隐私
通常称为纯差分隐私
,而δ> 0的(ϵ,δ)-差分隐私称为近似差分隐私
。
ϵ:隐私预算
在(ϵ,δ)-差分隐私
定义中,参数ϵϵϵ表示隐私预算,它控制机制MMM实现的隐私保证级别。ϵϵϵ越小表示隐私级别越强。 目前广泛使用两种隐私预算组成定理:顺序组成和并行组成。
1. 并行组成
假设我们有一组隐私机制M={M1,…,Mm}M = \{M_1,…,M_m\}M={M1,…,Mm}。 如果每个MiM_iMi对整个数据集的互不相交子集提供ϵi-差分隐私保证
,则MMM将提供max {ϵ_1,…,ϵ_m}-差分隐私
。
2. 顺序组成
假设在数据集上依次执行一组隐私机制M={M1,...,Mm}M = \{M_1,...,M_m\}M={M1,...,Mm},并且每个MiM_iMi提供ϵ-差分隐私保证
,则MMM将提供(m⋅ϵ)差分隐私
。
Δf:敏感度
对于查询f:D→Rf:D→Rf:D→R,以及相邻数据集DDD和D′D^′D′,fff的敏感度ΔfΔfΔf定义为
Δf=maxD,D′∣∣f(D)−f(D′)∣∣Δf=max_{D,D^′}||f(D)−f(D^′)||Δf=maxD,D′∣∣f(D)−f(D′)∣∣
敏感度ΔfΔfΔf仅与查询fff的类型有关,它衡量了相邻数据集上查询结果之间的最大差异。
两种常用的差分隐私保护机制
任何满足差分隐私定义的机制都可以认为是差分隐私的。目前,广泛使用两种基本机制来保证差分隐私: 拉普拉斯机制
(The Laplace Mechanism)和指数机制
(The Exponential Mechanism)。
拉普拉斯机制(The Laplace Mechanism)
拉普拉斯机制
为真实结果增加了独立的噪音,且使用Lap(b)Lap(b)Lap(b)表示从比例为bbb的Laplace分布中采样的噪声。拉普拉斯机制适用于数值型查询。
对于数据集DDD上的函数f:D→Rf:D→Rf:D→R(可视为一次查询),以下公式中的机制MMM提供了ϵ-差分隐私。
M(D)=f(D)+Lap(Δfϵ).M(D)=f(D)+Lap(\frac{Δf}ϵ).M(D)=f(D)+Lap(ϵΔf).
指数机制(The Exponential Mechanism)
对于非数值查询,差分隐私使用指数机制
对结果进行随机化处理,并与一个score(评价函数)函数q(D,ϕ)q(D,ϕ)q(D,ϕ)一一对应,该函数用于对输出ϕϕϕ的质量进行评估。score函数取决于具体应用,并且不同的应用可能会有不同的score函数。
设q(D,ϕ)q(D,ϕ)q(D,ϕ)是数据集DDD的score函数,该函数衡量输出ϕ∈Φϕ∈Φϕ∈Φ的质量,ΔqΔqΔq表示ϕϕϕ的灵敏度。满足以下条件时,指数机制MMM满足ϵ-差分隐私
M(D)=(returnϕ∝exp(ϵq(D,ϕ)2Δq))M(D)=(returnϕ∝exp(\frac{ϵq(D,ϕ)}{2Δq}))M(D)=(returnϕ∝exp(2Δqϵq(D,ϕ)))
差分隐私效用衡量
当隐私级别(隐私预算)固定为ϵϵϵ时,差分隐私一般使用以下两种效用衡量。
噪声大小测量:最简单的方法是衡量向查询结果添加了多少噪声。噪音越小,效用越高。这种效用度量在数据发布中得到了广泛的应用。
误差测量:效用也可以通过未经隐私保护机制处理输出和经隐私保护机制处理后输出之间的差值来评估。误差测量通常由精度参数的范围表示。
(α,β)可用性
如果满足以下条件,则机制MMM是(α,β)(α,β)(α,β)可用的
Pr(maxf∈F∣F(D)−Fˆ(D)∣≤α)>1−βPr(max_{f∈F}|F(D)−Fˆ(D)|≤α)>1−βPr(maxf∈F∣F(D)−Fˆ(D)∣≤α)>1−β
其中ααα是限定误差的精度参数。
对于不同的发布场景,误差测量可以使用不同的方式进行解释。对于合成数据集发布,上述公式可以解释为
Pr(maxf∈F∣F(D)−F(Dˆ)∣≤α)>1−βPr(max_{f∈F}|F(D)−F(Dˆ)|≤α)>1−βPr(maxf∈F∣F(D)−F(Dˆ)∣≤α)>1−β
在数据分析中,效用衡量通常取决于具体分析算法。假设算法用MMM表示,隐私算法用MˆMˆMˆ表示,上述公式可以解释为
Pr(∣M(D)−Mˆ(D)∣≤α)>1−βPr(|M(D)−Mˆ(D)|≤α)>1−βPr(∣M(D)−Mˆ(D)∣≤α)>1−β
差分隐私在数据发布中的应用
差分隐私数据发布的目的是在不披露任何个人记录(或者说具体个人信息)的情况下向公众输出聚合信息。这个问题可以表述为:如果一个数据收集者有一个数据集DDD,并且收到一个查询集合F={f1,…,fm}F=\{f_1,…,f_m\}F={f1,…,fm},那么他们需要在满足差分隐私约束的前提下回答每个查询fi∈Ff_i∈Ffi∈F。
此发布方案涉及交互式和非交互式两个场景(interactive and non-interactive)。 在交互式场景中,只有收到了前一个查询fi−1f_{i-1}fi−1的响应后才能申请下一个查询fif_ifi。 在非交互式场景中,所有查询都一次提供给数据收集者,数据收集者可以在充分了解查询集合FFF的情况下响应请求。
下面给出了交互式和非交互式两个场景之间差异的示例。对数据收集者的查询可能如下所示:
查询1(f1f_1f1): 40至79岁之间有多少患者患有糖尿病?
查询2(f2f_2f2): 40至59岁之间有多少患者患有糖尿病?
假设每次查询的隐私预算ϵϵϵ是固定的。在交互式场景中,数据收集者将首先收到查询f1f_1f1,然后计算40至79岁之间患有糖尿病的患者人数,f1f_1f1的灵敏度为1,并将独立的拉普拉斯噪声Lap(1/ϵ)Lap(1 / ϵ)Lap(1/ϵ)加上。 然后将f2f_2f2提交给数据收集者时,此时f2f_2f2的灵敏度将等于2,因为更改表中的任意一个人可能会更改两个查询的结果。 添加到查询集的总噪声为Lap(1/ϵ)+Lap(2/ϵ)Lap(1 / ϵ)+ Lap(2 / ϵ)Lap(1/ϵ)+Lap(2/ϵ)。
在非交互式场景中,两个查询都同时提交给数据收集者。两个查询的敏感度均为2,添加到查询集中的总噪声为2∗Lap(2/ϵ)2 * Lap(2 / ϵ)2∗Lap(2/ϵ),大于交互式场景的总噪声Lap(1/ϵ)+Lap(2/ϵ)Lap(1 / ϵ)+ Lap(2 / ϵ)Lap(1/ϵ)+Lap(2/ϵ)。 查询之间的相关性也会导致更高的敏感性。 因此,非交互式场景通常会比交互式场景产生更多的噪音。
上面的示例显示了交互式和非交互式两个场景之间的差异,并说明当查询彼此相关时,噪声量会急剧增加。 此外,对于大小为n的数据集,拉普拉斯机制最多只能在n个查询中以一定程度的准确性回答次线性问题。这些缺点使得拉普拉斯机制在需要回答大量查询的场景中效果不理想。
差分隐私在数据分析中的应用
差分隐私数据分析的基本任务
是将现有的非隐私算法扩展到差分隐私算法。这种扩展可以通过几个框架来实现,大致分为拉普拉斯/指数框架和隐私学习框架。 其中拉普拉斯/指数框架直接将拉普拉斯或指数机制整合到非隐私分析算法中。 例如,在算法的计数步骤中加入拉普拉斯噪声,或者在进行选择时执行指数机制。
参考和推荐
本文主要主要翻译并整理了论文的一部分内容Differentially Private Data Publishing and Analysis: A Survey
同时推荐一下几篇关于差分隐私的入门资料:
- 某乎用户“Nemo”对问题《苹果的 Differential Privacy 差分隐私技术是什么原理?》的回答
- DP-Differential Privacy概念介绍
- DP-Laplace Mechanism
- DP-指数机制
- 差分隐私保护:从入门到脱坑
关于差分隐私的一些基本概念的整理相关推荐
- 中心化、本地化差分隐私基础知识
差分隐私的背景和概念 由于互联网的发展,包括智能手机在内的各种终端数量剧烈的增长,使得各种公司和组织,以及政府需要收集和分析巨量的数据.在这个过程中,关于个人信息的隐私保护成为了一个大的问题.一些在大 ...
- 隐私保护新突破:高斯差分隐私框架与深度学习结合
2020-04-30 13:12:09 机器之心发布 机器之心编辑部 人工智能中的隐私问题已经公认为一个重要并且严肃的问题.近日,宾夕法尼亚大学的研究组开发了一个新的数据隐私分析框架,可以在多个类型的 ...
- 差分隐私 机器学习_满足差分隐私的经验误差最小化方法
手上的东西有点进行不下去,滚过来写专栏作下回顾.上次聊了聊差分隐私的定义,那么现在我们要在差分隐私的框架上实现机器学习任务. 关于差分隐私机器学习这个方向,Kamalika Chaudhuri 在ni ...
- 差分隐私 python_主要开发语言为 Python/Rust:微软与哈佛大学合作开源差分隐私平台...
微软与哈佛大学OpenDP Initiative 合作研发并开源了首个用于差分隐私的平台.这项工作已持续了将近一年,去年九月,微软首席数据分析管 John Kahan 曾宣布项目的开展:"我 ...
- 【机器学习与差分隐私代码实现】差分隐私代码实现系列(十二)
差分隐私代码实现系列(十二) 写在前面的话 回顾 机器学习与差分隐私 使用 Scikit-Learn 进行逻辑回归 什么是模型? 使用梯度下降训练模型 梯度下降的单一步骤 梯度下降算法 梯度下降与差分 ...
- 【拉普拉斯机制代码实现demo】差分隐私代码实现系列(四)
差分隐私代码实现系列(四) 写在前面的话 回顾 差分隐私(Differential Privacy) 拉普拉斯机制(The Laplace Mechanism) 多少噪音就足够了?(How Much ...
- 【链接攻击,差分攻击,去标识化代码实现】差分隐私代码实现系列(二)
差分隐私代码实现系列(二) 写在前面的话 去识别化(De-identification) 数据处理 去识别化操作 链接攻击 Karrie特别吗? 我们可以重新识别多少人? 聚合(Aggregation ...
- 【线性查询之间存在相关性误差】差分隐私系统学习记录(七)
The Algorithmic Foundations of Differential Privacy (七) 写在前面的话 Releasing Linear Queries with Correla ...
- 【差分隐私的Advanced composition到底是什么?】差分隐私系统学习记录(四)
The Algorithmic Foundations of Differential Privacy (四) 写在前面的话 Composition: some technicalities Adva ...
最新文章
- 矩阵相关概念的物理意义
- 我国第一台微型计算机诞生于哪一年,2015计算机一级《MSOffice》章节练习题及答案(1)...
- 使用MySQL组复制的限制和局限性
- H5直播系列四 RTMP HTTP-FLV HLS MPEG-DASH
- 重磅:Swagger3.0 官方 starter 诞生了,其它的都可以扔了~
- Google大数据技术架构探秘
- kafka的反序列化类KafkaDeserializationSchema的使用(还没整理完)
- matlab用解析法求二自由度阻尼系统的自由振动(先求系统状态方程
- Java集合里面的值唯一_java 判断集合元素唯一的原理
- 关于ping是用的TCP还是UDP的争论
- 计算机仿真matlab编程,MATLAB与计算机仿真
- 洛谷 P4654 [CEOI2017] Mousetrap 题解
- 微信小程序实现客服默认自动回复功能
- 【海码学院】web前端基础入门JavaScript之JavaScript起源和基础语法学习笔记
- Win10系统截图新工具的快捷键
- 「 iOS知识小集 」2018 · 第 29 期
- 代码主题darcula_仿IntelliJ Darcula的Swing主题FlatLaf使用方法
- “海大学舍”Scrum Meeting(第十周会议记录)
- 数据分析概要及分析分析思路
- python辅助u盘数据恢复
热门文章
- 卓朗数字孪生的重要意义
- 令人细思极恐的小故事_“&”号的令人惊讶的故事
- 计算机网络与嵌入式系统,嵌入式系统与计算机系统有什么不同
- 【20保研】暨南大学关于举办2019年优秀大学生暑期学术夏令营活动的公告
- html中移动端遮罩层,移动端微信分享弹出遮罩层js效果_蓝戒的博客
- FPGA学习笔记2.2——用Verilog实现七段管的工作逻辑
- 二叉树学习笔记(未完待续)
- 谷歌浏览器如何设置和恢复纯黑界面
- js+css3的卡牌抽奖特效动画
- 如何解决eNSP启动AR/WLAN设备失败问题