L3-Intro to Differential Privacy

从这节课开始就要介绍差分隐私算法了。

随机响应(Randomized Response)

场景提出

假若你是某一门课的教授,你希望统计一门课有多少学生作弊。显然你通过直接的问卷派发手段,学生不太可能会老老实实地上交真实答案。为此我们需要改进这一手段,加入一些隐私空间。场景抽象如下:

假若有\(n\)个个人,每人\(i\)拥有一份隐私秘密字节\(X_i\in \{0,1\}\),这个数据是完全保密的。为此每个人向数据分析器发送一个存在与\(X_i\)相关随机过程的\(Y_i\)。那么最终数据分析器能得到一个比例的准确估计\(p=\frac{1}{n}\sum^n_{i=1}X_i\)。

首先我们可以采用一个等值的方法,输出原值,其公式定义如下:

\[Y_i=\begin{cases}

X_i & \text{概率为1}\\

1-X_i & \text{概率为0}

\end{cases}
\]

在这种情况下,\(\tilde p=\frac{1}{n}\sum^n_{i=1}X_i\),完全符合\(\tilde p = p\)。换句话来说就是结果是完全准确的。同理这种情况下毫无隐私,也就是无隐私(No privacy)

如果我们如下进行设计:

\[Y_i=\begin{cases}

X_i & \text{概率为1/2}\\

1-X_i & \text{概率为1/2}

\end{cases}
\]

在这个时候,显然\(Y_i\)就是完美隐私的,统一不再与\(X_i\)相关,其实此时管理者根本就没有泄露出一丝关于\(X_i\)的信息。但是此时就会损失掉所有的精确度:\(\tilde Z=\frac{1}{n}\sum^n_{i=1}Y_i\)是一个伯努利分布\(\frac{1}{n}Binomial(n,1/2)\),且完全独立于统计量\(Z\)

如今,我们构造了两种情况:要么完全隐私,要么完全精确。

为此这种称为“随机响应”,由参数\(\gamma \in [0,1/2]\)

\[Y_i=\begin{cases}

X_i & \text{概率为1/2 + $\gamma$}\\

1-X_i & \text{概率为1/2 - $\gamma$}

\end{cases}
\]

那么\(Y_i\)基于\(X_i\)的隐私性有多高?我们目前先采用一种非严谨的说法:首先注意到\(\gamma=1/2\)时为最精确、毫无隐私的策略,而\(\gamma=0\)时则为统一完全随机的策略。如果\(\gamma\)取中值,即\(\gamma=1/4\)的话如何?

可见,对于最终结果的合理怀疑程度即是隐私性的程度。那么我们来看看这个策略的隐私程度如何:

首先由伯努利分布可得:

\[E[Y_i]=2\gamma X_i+1/2-\gamma
\]

为此:

\[E\bigg[\frac{1}{2\gamma}(Y_i-1/2+\gamma)\bigg]=X_i
\]

为此顺势就能得到这个比例的估计量:

\[\tilde E=\frac{1}{n}\sum^n_{i=1}\bigg[\frac{1}{2\gamma}(Y_i-1/2+\gamma)\bigg]
\]

为此我们还能得到\(\tilde p\)的方差:

\[\begin{align}
\mathbf{Var}[\tilde p]= & \mathbf{Var}\Bigg[\frac{1}{n}\sum^n_{i=1}\bigg[\frac{1}{2\gamma}(Y_i-1/2+\gamma)\bigg]\Bigg] \\ =& \frac{1}{4\gamma^2 n^2}\sum^n_{i=1}\mathbf{Var}[Y_i] \\
\le & \frac{1}{16\gamma^2 n}
\end{align}
\]

留意到最后一个不等式中是因为伯努利分布中的方差上界为\(1/4\)。此时此刻,我们就能应用切比雪夫不等式(Chebyshev’s inequality):

\[|\tilde p - p|\le O\bigg(\frac{1}{\gamma\sqrt n}\bigg)
\]

显然上式\(n\rarr \infty\)时,误差接近于\(0\)。换句话来说,如果我们要附加误差\(\alpha\),我们就需要\(n=O(1/\alpha^2\gamma^2)\)。要留意到。当\(\gamma\)接近于\(0\),误差不断增加。这相当自然,当隐私性越高,那么达到同样精确度需要的数据量就越大。

接下来,为了评价策略的隐私程度,我们会正式引入差分隐私(differential privacy)这个概念。

差分隐私(Differential Privacy)

为了安全与隐私起见,我们必须要对准确度(即隐私程度)下一个准确的定义,为此我们提出了差分隐私(Differential Privacy),又或者叫做中心化差分隐私(central differential privacy)或者置信管理者模型(trusted curator model)

假若我们在\(X_n\)中有个体\(n\),\(X_i\)。然后将这些数据传输到一个置信管理者(trusted curator)中,这些管理者通过算法\(M\)进行运作,然后通过一个计算过程输出结果。而差分隐私就是这个算法\(M\)在计算过程中所符合的性质。符合这个定义的算法在总体上其输出结果不会受到一个小个体的改变而影响严重。

定义

给定算法\(M:X^n\rarr Y\).

给定两个数据集\(X, X'\in X^n\),这两个数据集仅有一项数据不一致,称为邻近数据集(neighbouring datasets),有时候会写成\(X\sim X'\)。若算法\(M\)为\(\epsilon\)-(纯)差分隐私(ε-(pure) DP),对于一切邻近数据集\(X\)与\(X'\)以及$T \subseteq Y $,则满足:

\[\mathbf{Pr}[M(X)\in T] \le e^\epsilon\mathbf{Pr}[M(X')\in T]
\]

其中这条公式的随机因数是由\(M\)决定的

相关性质

对于差分隐私,一定要搞清楚以下性质与定义:

  • 当\(\epsilon\)越小时,隐私性越强,反之则越弱
  • 一般来说\(\epsilon\)是一个较小的常数,一般在\(0.1\)到\(5\)之间的隐私程度比较合理
  • 这是一个对下限的定义,也就是说只考虑最为糟糕的情况。也有类似的采用平均定义的方法,但是容易造成陷阱而不经常使用。
  • 之所以使用两个邻近数据集进行定义,是因为这一种带界限的差分隐私

差分隐私的目标在于使得攻击者难以分辨两个邻近数据集以达到保护隐私的目的。

值得留意的是,差分隐私适用于统计学以及机器学习,但是不适用要寻找一个个体的目标。例如可以基于阳性患者或者吸烟者比例去评估某个地区的COVID19风险或者吸烟致癌的风险,但是不可能用于寻找潜在的阳性患者。

回顾随机响应

差分隐私算法的设计一般都是围绕着几种基础的核心算法,其中一种便是随机响应。

只需要考虑具体实现即可证明,对于\((Y_1,\dots,Y_n)\)中的\(a\in\{0,1\}^n\),我们有\(\mathbf{Pr}[M(X)=a]=\prod_{i=1}^n\mathbf{Pr}[Y_i=a_i]\)。而\(X\)与\(X'\)为一对数据集为在\(j\)的邻近数据集:

\[\frac{\mathbf{Pr}[M(X)=a]}{\mathbf{Pr}[M(X')=a]}
=\frac{\prod_{i=1}^n\mathbf{Pr}[Y_i=a_i]}{\prod_{i=1}^n\mathbf{Pr}[Y_i'=a_i]}
=\frac{\mathbf{Pr}[Y_j=a_j]}{\mathbf{Pr}[Y_j'=a_j]}
\le \frac{1/2+\gamma}{1/2-\gamma}\le e^{O(\gamma)}
\]

其中显然该不等式基于\(\gamma \le 1/4\).为此我们可知\(\epsilon\)-randomized即是\(O(\epsilon)\)-差分隐私,其准确度为\(O(\frac{1}{\epsilon\sqrt{n}})\)。准确来说,随机响应比起中心化差分隐私提供更高的隐私性,称为局部差分隐私(local differential privacy),这种情况每个个体仅仅信任其本身(?)。

数据挖掘 | 数据隐私(3) | 差分隐私 | 差分隐私概论(上)(Intro to Differential Privacy 1)的更多相关文章

  1. 差分隐私(Differential Privacy)定义及其理解

    1 前置知识 本部分只对相关概念做服务于差分隐私介绍的简单介绍,并非细致全面的介绍. 1.1 随机化算法 随机化算法指,对于特定输入,该算法的输出不是固定值,而是服从某一分布. 单纯形(simplex ...

  2. Mac Mail PGP Setup 如何在苹果电脑上设置安全邮件 良好隐私密码法(英语:Pretty Good Privacy,缩写为PGP)

    背景知识 良好隐私密码法(英语:Pretty Good Privacy,缩写为PGP),一套用于讯息加密.验证的应用程序,采用IDEA的散列算法作为加密与验证之用. 关联文献:https://en.w ...

  3. 洛谷5026 Lycanthropy 差分套差分

    题目链接 https://www.luogu.com.cn/problem/P5026 题意 在一个长度为m的序列中,每次给一个下标x,和一个权值v,然后从x-v*3到x-v*2单调递增,从x-v*2 ...

  4. 【Luogu】P4231三步必杀(差分,差分)

    题目链接 郑重宣布我以后真的再也不会信样例了,三种写法都能过 另:谁评的蓝题难度qwq 蓝题有这么恐怖吗 两次差分,第一次差分,前缀和求出增量数组,第二次求出原数组顺便更新答案 看题解之后……第二次差 ...

  5. P2680 [NOIP2015 提高组] 运输计划 (树上差分-边差分)

    P2680 题目的大意就是走完m条路径所需要的最短时间(边权是时间), 其中我们可以把一条边的权值变成0(也就是题目所说的虫洞). 可以考虑二分答案x,找到一条边,使得所有大于x的路径都经过这条边(差 ...

  6. 树上差分——点差分裸题 P3128 [USACO15DEC]最大流Max Flow

    讲解: https://rpdreamer.blog.luogu.org/ci-fen-and-shu-shang-ci-fen #include <bits/stdc++.h> #def ...

  7. HDU1529-Casher Emploryment(最最...最经典的差分约束 差分约束-最长路+将环变线)

    A supermarket in Tehran is open 24 hours a day every day and needs a number of cashiers to fit its n ...

  8. [Python数据挖掘]第5章、挖掘建模(上)

    一.分类和回归 回归分析研究的范围大致如下: 1.逻辑回归 #逻辑回归 自动建模 import pandas as pd from sklearn.linear_model import Logist ...

  9. MindArmour差分隐私

    MindArmour差分隐私 总体设计 MindArmour的Differential-Privacy模块,实现了差分隐私训练的能力.模型的训练主要由构建训练数据集.计算损失.计算梯度以及更新模型参数 ...

  10. MindSpore:基于本地差分隐私的 Bandit 算法

    摘要:本文将先简单介绍Bandit 问题和本地差分隐私的相关背景,然后介绍基于本地差分隐私的 Bandit 算法,最后通过一个简单的电影推荐场景来验证 LDP LinUCB 算法. Bandit问题是 ...

随机推荐

  1. 如果XXL-JOB执行器在执行某任务中被重启了,重启后该任务能够被自动弥补调度吗

    开心一刻 上午,走路不小心踩了钉子,去打了破伤风 下午,又特么踩到了钉子,我问医生 我:还需要打针吗 医生:你有那钱还是看看眼睛吧 基础回顾 项目基于 xxl-job 2.1.0 实现的分布式调度,所 ...

  2. 【Python】【爬虫】【爬狼】004_正则规则模板及其应用

    # 正则规则模板 与 应用(一) 先看这些视频,是在哪个div里面的 for datapage in soup.find_all("div", class_="lpic& ...

  3. Maven 插件 git-commit-id-plugin,打包包含提交信息

    Maven打包发布版本可能会遇到自己的提交不起作用的情况,排查比较困难,可能需要拉下服务器上包,反编译查看是否包含自己的提交记录.如果使用的是GIT作为SCM,可以使用 git-commit-id-p ...

  4. Qt数据库应用11-通用数据生成器

    一.前言 有两种应用场景需要用到数据生成器,一种是需要测试数据库性能,比如在100万条和1000万条记录的时候对比查询或更新语句执行耗时,一种是随机模拟生成一堆数据,用来测试程序的性能,看下程序中到了 ...

  5. Spring+Vue+ElementUI的前后端分离开发项目中,前端向后端发送请求,后端返回错误:Cannot deserialize instance of `java.util.LinkedHashMap` out of START_ARRAY token

    问题描述: Spring+Vue+ElementUI的前后端分离开发项目中,前端向后端发送请求,后端返回错误:Cannot deserialize instance of `java.util.Lin ...

  6. 解读ENS网络连接,面向多云多池网络的高效互联

    本文分享自华为云社区<ENS网络连接,面向多云多池网络的高效互联>,作者:华为云Stack ENS研发团队. 1.ENS网络连接服务场景详细介绍 ENS网络连接通过统一建模和全局管控实现跨 ...

  7. CDS标准视图:维修工单实际成本数据 I_MaintOrderActualCostDataCube

    视图名称:维修工单实际成本数据 I_MaintOrderActualCostDataCube 视图类型:基础 视图代码: 点击查看代码 @VDM.viewType: #COMPOSITE @AbapC ...

  8. weixueyuan-Nginx编译及部署1

    https://www.weixueyuan.net/nginx/ Nginx是什么 Nginx(发音同"engine x")是一个高性能的反向代理和 Web 服务器软件,最初是由 ...

  9. Linux 虚拟机中不重启的情况下加新硬盘及扩展根分区容量

    我这个系统是Redhat7.7的系统.磁盘占用比较高,需要扩充空用空间,同时又不能关停服务器,或者服务.所以就需要在虚拟机中不重启的情况下加新硬盘及扩展根分区容量. 首先,看一下我这个虚拟机分区占用情 ...

  10. dart箭头函数和自执行函数的详解

    01==>箭头函数 // List list = ['苹果', '香蕉', '栗子']; // list.forEach((element) { // print(element); // }) ...