差分隐私定义:

假设一个随机函数 M , 使得 M 在任意两个相邻的数据集 D 和 D’(即||D -D'||_1 <= 1)上得到任意相同输出集合 S 的概率满足:
Pr[M(D) ∈ S] ⩽ exp(ε) * Pr[M(D′) ∈ S] + δ 则称该随机函数 M 满足(ε,δ)-differential privacy,简写为(ε,δ)-DP
这种形式的差分隐私是宽松的. 当 δ=0 时,称为 ε-DP也就是纯差分隐私定义. 其中 ε 称为隐私预算.

部分内容说明

  • 隐私损失
    差分隐私(DP)的定义实际上是保证去掉/改变一个样本不会对 M 的输出造成显著的影响。换言之,DP保证了 M(D)M(D') 有着相似的概率分布。
    按照DP的定义,如果 M(D)M(D') 的概率分布相差越大,那么隐私损失就越大;如果 M(D)M(D') 的概率分布相差越小,那么隐私损失就越小。

  • 邻近数据集:只相差一条记录的一对数据集. 即 ||D - D′||_1 <= 1.

  • 查询函数: f: X -> R, 主要作用是将数据集 X 映射成为 R

  • 全局敏感度 :GS_f(D) = Δf = max(D,D′) ∥f(D)−f(D′)∥1. ∥f(D)−f(D′)∥1 是 f(D) 与 f(D‘) 之间的曼哈顿距离
    全局敏感度反映了一个查询函数在一对相邻数据集上进行查询时变化的最大范围。它与数据集无关, 只由查询函数本身决定

  • 局部敏感度 :LS_f(D) = Δf = max(D′) ∥f(D)−f(D′)∥1. ∥f(D)−f(D′)∥1 是 f(D) 与 f(D‘) 之间的曼哈顿距离
    与全局敏感度不同, 局部敏感度是由查询函数和给定的数据集共同决定, 因为局部敏感度只是对于一个数据集做变化。
    局部敏感度和全局敏感度的关系可以表示为:S(f) = max(D) {LS_f(D)}
    容易看出,局部敏感度会与数据分布有很强的关联,但全局敏感度一般较大. 故在需要使用局部敏感度时,常采用局部敏感度的平滑上界.

  • 平滑上界
    给定一个 β > 0 , 对于一个函数 F:D --> R , 在查询函数 f 上, 如果它满足如下条件
    ∀D:F(D) >= LS_f(D) , ∀D,D’:F(D) <= exp(β) * LS_f(D’) 则称函数 F 是一个在查询函数 f 上的 β-平滑上界

差分隐私性质

  • 后传性
    假设给定一个随机函数A1,且满足ε-DP,对于任何随机算法A2,那么A1和A2的组合也是满足ε-DP,例如:A2(A1(x))

  • 平行组合
    假设我们有一组隐私机制 M = { M1, … , Mm } 如果每个 Mi 对整个数据集的互不相交子集提供 ϵ-DP 保证,则 M 将提供 max {ϵ1,…,ϵm}-DP
    这个性质说明了, 当有多个算法序列分别作用在一个数据集上多个不同子集上时, 最终的差分隐私预算等价于算法序列中所有算法预算的最大值

  • 顺序组合
    假设在数据集上依次执行一组隐私机制 M = { M1 , . . . , Mm },并且每个 Mi 提供 ϵ-DP 保证,则 M 将提供 (m * ϵ)-DP
    这个性质说明了, 当有一个算法序列同时作用在一个数据集上时, 最终的差分隐私预算等价于算 法序列中所有算法的预算的和

  • 高级组合

  1. 定理:对于所有ε, δ, δ′ ≥ 0(ε,δ)-差分隐私机制类满足 k 倍自适应合成下的 (ε′, kδ + δ′)-差分隐私,其中:
    ε′ = sqrt(2kln(1/δ′)) * ε + kε(e^ε − 1)
  2. 推论:给定目标隐私参数 0 < ε' < 1, δ' > 0,为确保在 k 个机制上的累积隐私损失是(ε′, kδ + δ′),只要每个机制是(ε,δ)-差分隐私即可,其中:
    ε = ε' / (2 * sqrt(2kln(1/δ′)))
  3. 证明,当 ε′<1 时,我们期望 ε* ≤ ε′。由第一段定理可知对于所有 δ′ 合成的隐私损失为 (ε*, kδ+δ′)
    其中 ε* = sqrt(2kln(1/δ'))ε+ kε^2
  • 变换不变性
    给定任意一个算法 M1 满足 ε-DP, 对于任意算法 M2 ( M2 不一定是满足差分隐私的算法), 则有 M(•) = M2(M1(•) 满足 ε-DP
    这个性质说明了差分隐私对于后处理算法具有免疫性, 如果一个算法的结果满足 ε-DP, 那么在这个结果上进行的任何处理都不会对隐私保护有所影响。

  • 中凸性
    给定 2 个算法 M1 和 M2 满足 ε-DP。对于任意的概率 p∈[0,1], 用符号 Mp 表示为一种机制, 它以 p 的概率使用 M1 算法, 以 1-p 的概率使
    用 M2 算法, 则 Mp 机制满足 ε-DP
    这个性质说明, 如果有 2 个不同的差分隐私算法, 都提供了足够的不确定性来保护隐私, 那么可以通过选择任意的算法来应用到数据上实现对数据的隐私保护,只要选择的算法和数据是独立的。

数值性查询的隐私保护机制

Laplace 机制

  • Laplace分布:以0为中心,以 b 为尺度的拉普拉斯分布,其概率密度函数的分布为:p(x) = 1/2b * exp(−|x| / b)
    这个分布的方差是 σ^2=2b^2。我们有时会写 Lap(b) 来表示带尺度为 b 的Laplace分布,有时会滥用符号,写 Lap(b) 来表示随机变量 X ~ Lap(b)

  • Laplace机制: 将简单地计算 f,并用拉普拉斯分布的噪声扰动每个 f 映射的输出结果,噪声的尺度将校准为 f 的敏感度(除以 ε):
    Pr[ M(D) ∈ S ] ⩽ exp(ε) * Pr[ M(D′) ∈ S ] M(x,f(⋅),ε)=f(x)+(Y1,……, Yk)
    Yi 是从 Lap(Δf / ε) 中提取的独立同分布的随机变量

高斯机制

Laplace机制提供的是严格的 (ε,0)-DP ,而高斯机制则提供的是松弛的 (ε,δ)-DP 机制,定义为:
Pr[M(D) ∈ S] ⩽ exp(ε) * Pr[M(D′) ∈ S] + δ 高斯机制是拉普拉斯机制的替代方案,不同在于加的是高斯噪声而不是拉普拉斯噪声。

理论机制:
随机机制函数 M(d) 满足(ε,δ)-DP,则可以定义随机机制函数M(D) = f(D) + Y,其中f(D) 为映射函数,Y为噪音满足 Y~N(0,σ^2)高斯分布抽样
,且σ^2 > (2 * Δf^2 * log(1.25/δ)) / ε^2

参数

  • 高斯分布的标准差 σ,这决定了噪声的尺度
  • ε 表示隐私预算,和噪声成负相关
  • δ 表示松弛项,比如设置为 10^(-5) ,就表示只能容忍 10^(-5) 的概率违反严格差分隐私

非数值性查询

指数机制

  • 指数机制整体的思想就是,当接收到一个查询之后,不是确定性的输出一个 r 结果(r∈R,R为给定任意范围),而是以一定的概率值返回结果,从而实现差分隐私。
    而这个概率值则是由打分函数 u(效用函数) 确定,得分高的输出概率高,得分低的输出概率低,当然分越高,表示这个数据越重要。
    效用函数:u(D,r) D 数据集,r 输出结果,u(D,r) 表示输出结果 r 的得分,另外一种效用函数为:u:D*R -> r
    u 的敏感度:∆u = max(D,D':(||D-D'||1)<=1) |u(D,R) - u(D',R)|
    指数机制的出发点即为对于输出每个可能的 r ∈ R,其概率与exp(εu(x, r)/∆u) 成正比,这样隐私损失才能定义为:
    ln(exp(εu(D, r)/∆u) / exp(εu(y, r)/∆u)) = ε[u(x, r) - u(y,r)]/∆u <= ε ,这里的隐私损失仅仅是只有一个查询结果出现的时候,当出现
    多个查询结果的时候,我们就需要考虑到一个结果占总体结果概率的多少(把结果的概率归一化):
    Pr[Me(x,u,R)=r] = (exp(εu(x, r)/2∆u) / (∑_(r'∈R)exp(εu(x, r')/2∆u))

  • 指数机制:随机化算法 Me(x,u,R)选择并输出元素r∈R的概率若与exp(εu(x, r) / 2∆u) 成正比,这里使用2△u其目的是为了弥补归一化项对机制
    造成的影响,如若不使用 2Δu ,易推知机制的隐私损失为

  • 案例1
    假设我们有大量的南瓜和四个竞标者:A,F,I,K,其中A,F,I分别出价1.00美元和K出价3.01美元,最优价格是多少?在 3.01美元时,收入为 3.01美元
    (因为只符合K的价格,故只有K买,收入3.01美元);在 3.00美元 和 1.00美元 时候,收入为 3.00美元(因为只有A、F、I符合价格,收入共3美元);但在 3.02美
    元时,收入为零(无人符合价格)!
    结合指数机制,回到上段的南瓜例子,对数据库 x 上的价格 p 的效用就是当价格为 p 且需求曲线如 x 所示时获得的利润。重要的是,潜在价格的范围应与实际
    出价无关。否则,将存在一个价格,其中一个数据集中的权重为非零,而相邻集合中的权重为零,这违反了差分隐私。

  • 案例2直接计算
    计算公式:Pr[Me(x,u,R)=r] = (exp(εu(x, r)/2∆u) / (∑_(r'∈R)exp(εu(x, r')/2∆u))

疾病 效用得分, ∆u=1 ε=0 概率 ε=0.1 概率
math u(x, r1) = 50 0.333 0.628
AI u(x, r2) = 20 0.333 0.124
DP u(x, r3) = 30 0.333 0.231

差分隐私系统学习路线

  1. 系统书籍1:The Algorithmic Foundations of Differential Privacy
  2. 系统书籍2:Differential Privacy: From Theory to Practice
  3. 系统课程:bilibili 地址

差分隐私与联邦学习

如果对联邦学习和差分隐私感兴趣,请点击
联邦学习与差分隐私

差分隐私基础知识-上相关推荐

  1. 中心化、本地化差分隐私基础知识

    差分隐私的背景和概念 由于互联网的发展,包括智能手机在内的各种终端数量剧烈的增长,使得各种公司和组织,以及政府需要收集和分析巨量的数据.在这个过程中,关于个人信息的隐私保护成为了一个大的问题.一些在大 ...

  2. 差分隐私基础及在机器学习领域的应用与对比实验

    目录 前言 一.差分隐私 二.差分隐私在机器学习领域的应用 三.DP-SGD在手写数字数据集MNIST上的对比实验 四.总结 前言 数据是人工智能学习的基础,一个表现优异的机器学习或深度学习模型离不开 ...

  3. 计算机基础知识上实验课教案,高中信息技术上册《第4课 计算机基础知识》教案...

    高中信息技术上册<第4课 计算机基础知识>教案 第4课 计算机基础知识 设计 要素 设 计 内 容 练习 内容 分析 本节通过上机练习让学生了解计算机文化的概念,介绍信息对人类社会发展地作 ...

  4. 专升本招生考试应试宝典之计算机基础知识(上)

    第一章计算机基础知识 第一节计算机基本知识 一. 计算机的诞生 人类历史上第一台电子计算机是由美国宾夕法尼亚大学的莫克利教授和他的学生埃克特设计,并于1946年2月15日在宾夕法尼亚大学成功投人运行, ...

  5. 计算机基础知识上教案,第一章 计算机基础知识教案

    <计算机文化基础>教案 第一章计算机基础知识 一.课程的性质和任务 "计算机文化基础"是大学非计算机各专业学生必修的公共基础课.课程内容着重计算机的基础知识.基本概念和 ...

  6. [译]Kinect for Windows SDK开发入门(二):基础知识 上

    上篇文章介绍了Kinect开发的环境配置,这篇文章和下一篇文章将介绍Kinect开发的基本知识,为深入研究Kinect for Windows SDK做好基础. 每一个Kinect应用都有一些基本元素 ...

  7. 韦东山 嵌入式Linux应用开发基础知识 上【gcc makefile 输入设备

    1 main的输入参数,并且在命令行运行文件的时候输入 我的练习 先写了个单纯输出的hello 按照教程里那样写hello 所以gcc编译过程应该是 先创建一个.c文件 gcc -c -o hello ...

  8. Ajax基础知识 · 上

    Ajax简单的来说,就是一个异步的javascript请求,用来获取后台服务端的数据,而并不是整个界面进行跳转. Ajax的作用:获取服务器的数据. Ajax的效果:在不刷新整个页面的情况下,通过一个 ...

  9. ELV局部视图与差分隐私【敏感度到底怎么理解】【上】

    <Analyzing Subgraph Statistics from Extended Local Views with Decentralized Differential Privacy& ...

最新文章

  1. LeetCode 快乐数(Happy Number)
  2. python介绍和用途-Python基础介绍(一)
  3. 设计模式——工厂方法模式和抽象工厂模式
  4. 订单可视化(智能制造、流程再造、企业信息化) 第五篇 团队建设
  5. 《操作系统》课程设计报告——用JAVA语言模仿实现“吃水果”问题
  6. JDK修改环境变量的作用
  7. 数据结构之线性查找和折半查找
  8. python基础整数和浮点数(一)
  9. kali php服务器,在云服务器上搭建公网kali linux2.0
  10. c758f52e87.html,鲁教版初一英语上学期期中试题及答案
  11. 【画图专题】sns.heatmap的用法简介
  12. history(路由控制)
  13. 总结之Unix的基础知识
  14. matlab如何修改图例的颜色,在MATLAB图例中设置线条颜色?
  15. 【计算机网络】宽带接入技术
  16. scala编译常见错误
  17. 如何进行内测分发?蒲公英内测托管平台使用教程
  18. 多台仪器同步测量软件,ATECLOUD智能云测试平台
  19. rust怎么存水_rust怎么装水 | 手游网游页游攻略大全
  20. 和实物只隔一个屏幕!华硕灵焕3Pro VR体验

热门文章

  1. Java中如何实现添加用户信息_如何通过Java客户端在Active Directory中创建新用户并将其添加到现有组...
  2. 记录--WebSocket 原理
  3. 华师大计算机在线作业,华东师范大学计算机考研复试机试习题
  4. [论文阅读笔记31]UER: An Open-Source Toolkit for Pre-training Models
  5. 企业网站用什么服务器操作系统?
  6. android水电工具softonic,Softonic
  7. Python match case结构化模式匹配
  8. CAD 二次开发 图层操作(3)取得指定图层下的所有对象id
  9. Linux系统之热插拨事件uevent
  10. Win11+RTX3060显卡 配置cuda和cudnn