概念
拉普拉斯机制
-
拉普拉斯噪声:f(D)中有d维数据,它将d个拉普拉斯噪声加入每维的数据中,
疑问:这d个数据表示同一个人数据的不同属性,如:数学、英语、政治、体育分数进行加噪还是啥意思?我现在觉得是:数据集D中有n个用户,每个用户有d个属性,那么这个噪声就是一个个添加到每一个属性中的,那每添加到一个属性的每个用户噪声一样吗?应该是不一样吧,可是这个式子好像没有体现出来呢?
-
全局敏感度:每一维的对应向量之差的绝对值,求和,取最大值。(这个取最大值不是很好理解)
- (1)从第17行的代码我读出了意思。拉普拉斯噪声是从-∞~﹢∞的,PDF曲线的意思是取到这个噪声的概率,噪声为0时概率越大,但是不代表远离0的噪声值一定取不到。所以我们的噪声值可以是0,可以是100,等情况。
(2)噪声是一个个加入给每一维的数据的。 - 体会一下,lambda取1和2时,取1的话,噪声分布差别不大;取2的话,噪声分布差别大。
5.本知识点来自该前辈文章,我节选我新学会的知识点和这篇也是。
6.P(M(D))/P(M(D’))≤e^epsilon,
如下图,两个概率比值被bound住在e^epsilon中。
从下图的文字可以看出,在图1中,epsilon越小,两个pdf线越接近,隐私保护水平高;epsilon为0时,两个pdf曲线完全一致,不能反映关于数据集的有用信息。所以就是我们常说的要考虑到安全性和可用性之间的平衡。
本知识点来自该博客[2]、[3]。 - 半年后再看这个回答,终于看懂了大部分。博客[4]
- 下面代码意思是拉普拉斯机制产生1000个随机数数量,生成的随机数序列可以用于模拟拉普拉斯分布的概率分布情况。选自该博主[5]
import numpt as np
import matplotlib.pyplot as plt
loc, scale = 0., 1.
s = np.random.laplace(loc, scale, 1000)
result_list = list(map(lambda x : x+50,s))
plt.hist(result_list, 30, density=True)
plt.show()