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. c++的OJ练习一

    1.1599.米老鼠偷糖果 2.1323.扩建花圃问题 3.P1425.小鱼的游泳时间 4.1598.文具店的折扣 5.P5706.再分肥宅水 6.1345.玫瑰花圃 7.P3954.NOIP2017 ...

  2. vue3 在给路由跳转增加动画之后,跳转时页面会出现上下抖动的问题

    这个问题需要分两个步骤解决: 抖动的页面有多个多根节点 增加离开过渡的css样式 v-leave-to: {display: none} 解决步骤1 (抖动的页面有多个多根节点) 我在为路由跳转增加了 ...

  3. django推导流程

    目录 一.纯手撸web框架 二.基于wsgiref模块 三.代码封装优化 四.动静态网页 五.jinja2模块 六.前端.后端.数据库三者联动 一.纯手撸web框架 1.web框架的本质 理解1:连接 ...

  4. Springboot 指定外部配置文件启动

    <resources> <resource> <directory>src/main/resources</directory> <filteri ...

  5. 区块链技术已经衰落了吗?(区块链已die)

    区块链技术已经好多年没有听到有人提了,不过比特币却一直是不是的又新闻出现,当然国内已经把比特币交易归入到了不合法的地位了.区块链技术是国家战略的技术,但是这个技术说实话确实不是很高深,或者说蛮easy ...

  6. Qt编写的项目作品6-可视化大屏电子看板系统

    一.功能特点 采用分层设计,整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件. 子控件包括饼图.圆环图.曲线图.柱状图.柱状分组图.横向柱状图.横向柱状分组图.合格率 ...

  7. Error:java: 无效的源发行版: 11

    问题描述: 昨天下载 ali 的一个 demo.本地 idea 编译的时候报错. Error:java: 无效的源发行版: 11 具体原因: 项目的 jdk (Project SDK)版本 和项目的语 ...

  8. 记录实现倒计时的方法,配合按钮的disabled

    记录一个自己实现倒计时的方法,现在可以网上有很多插件,自己实现记录一下 // 倒计时 countDown() { this.disabled = true let number = 60 this.c ...

  9. 安装Rational rose软件简单教程

    安装Rational rose软件简单教程 一.下载文件 百度云盘下载链接:https://pan.baidu.com/s/1QWmTgxKlQtE5flP7dXIF5w 提取码:wjnq 二.装虚拟 ...

  10. 测试直播伴侣和OBS对透明度的支持哪个好?

    测试直播伴侣和OBS对透明度的支持哪个好? 抖音无人直播,用抖音弹幕助手 测试直播伴侣和OBS对透明度的支持哪个好?抖音无人直播,用抖音弹幕助手 ​测试地址1 ​测试地址2