python实现差分隐私Laplace机制详解
作者:kyton123 发布时间:2022-01-08 16:37:41
标签:python,差分隐私,Laplace机制
Laplace分布定义:
下面先给出Laplace分布实现代码:
import matplotlib.pyplot as plt
import numpy as np
def laplace_function(x,beta):
result = (1/(2*beta)) * np.e**(-1*(np.abs(x)/beta))
return result
#在-5到5之间等间隔的取10000个数
x = np.linspace(-5,5,10000)
y1 = [laplace_function(x_,0.5) for x_ in x]
y2 = [laplace_function(x_,1) for x_ in x]
y3 = [laplace_function(x_,2) for x_ in x]
plt.plot(x,y1,color='r',label='beta:0.5')
plt.plot(x,y2,color='g',label='beta:1')
plt.plot(x,y3,color='b',label='beta:2')
plt.title("Laplace distribution")
plt.legend()
plt.show()
效果图如下:
接下来给出Laplace机制实现:
Laplace机制,即在操作函数结果中加入服从Laplace分布的噪声。
Laplace概率密度函数Lap(x|b)=1/2b exp(-|x|/b)正比于exp(-|x|/b)。
import numpy as np
def noisyCount(sensitivety,epsilon):
beta = sensitivety/epsilon
u1 = np.random.random()
u2 = np.random.random()
if u1 <= 0.5:
n_value = -beta*np.log(1.-u2)
else:
n_value = beta*np.log(u2)
print(n_value)
return n_value
def laplace_mech(data,sensitivety,epsilon):
for i in range(len(data)):
data[i] += noisyCount(sensitivety,epsilon)
return data
if __name__ =='__main__':
x = [1.,1.,0.]
sensitivety = 1
epsilon = 1
data = laplace_mech(x,sensitivety,epsilon)
for j in data:
print(j)
来源:https://blog.csdn.net/qq_38242289/article/details/80798952
0
投稿
猜你喜欢
- 在document.form1.submit();后加document.body.innerHtml = "W
- 最近项目中遇见 Jquery Ajax 缓存问题,load出来的页面状态有时正常,有时不对,记录一下,希望对大家有帮助使用jquery里lo
- 本文实例讲述了Python多线程下载文件的方法。分享给大家供大家参考。具体实现方法如下:import httplibimport urlli
- 本文实例讲述了python连接字符串的方法。分享给大家供大家参考。具体如下:方法1:直接通过加号操作符相加foobar = 'foo
- 对象Javascript 根本上是和对象相关的。数组是对象。函数是对象。对象是对象。那什么是对象呢?对象是名-值对的集合。名是字符串,值可以
- modf()方法返回两个项的元组x的整数小数部分。这两个元组具有相同x符号。则返回一个浮点数的整数部分。语法以下是modf()方
- 我们可以利用err对象来判断。当程序没有出现错误就说明已经执行了sql操作: sql="insert into
- 背景随着Web技术的发展和移动互联网的发展,Hybrid技术已经成为一种前端开发的主流技术方案。那什么是Hybrid App呢?Hybrid
- 0. 学习目标在顺序存储方式中,根据数据元素的序号就可随机存取表中任何一个元素,但同时在插入和删除运算需要移动大量的元素,造成算法效率较低。
- 前言这篇博客针对《PPython+Qt身体特征识别人数统计》编写代码,功能包括了相片,摄像头身体识别,数量统计。代码整洁,规则,易读。应用推
- Pexpect简介在讲解Pexpect之前,我们需要先了解一下Expect这个脚本语言,它是由TCL语言实现的,主要用于人机交互式对话的自动
- 如何显示存储在BLOB字段中的图像?showimges.asp' 在浏览器上单独显示图像 <%@ 
- Requests具有完备的中英文文档, 能完全满足当前网络的需求, 它使用了urllib3, 拥有其所有的特性!最近在学python自动化,
- 淘宝商城的 detail 页面“产品详情”部分是商家自定义区块,曾出现这样一个问题:推荐:css行高:line-height属性详解 <
- 在一些情况下,MySQL可以直接使用索引来满足一个 ORDER BY 或 GROUP BY 子句而无需做额外的排序。尽管 ORDER BY
- 在asp中调用sql server的存储过程可以加快程序运行速度,本文介绍了asp使用存储过程的方法。1.调用存储过程的一般方法 先假设在s
- substr(string,start,length)参数:1,string 即你要截取的字符串2,start 即要截取的开始位置(0表示从
- 现有问题当前的项目中包括一个6200万行、500多列的表。其中的数据来自SQL Server以外,它们到达的表中有一个标识主键,所有剩下的列
- 现在做的一个小项目需要用到python的相关知识,但是因为太久没用一些东西都忘掉了,因此在本篇博客中记录一下python的函数和类的基础知识
- 1 引子 Java,C#等各种高级语句的开发工具琳琅满目,争放异彩。但作为AJAX的主角的JavaScri