python实现差分隐私Laplace机制详解


Posted in Python onNovember 25, 2019

Laplace分布定义:

python实现差分隐私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()

效果图如下:

python实现差分隐私Laplace机制详解

接下来给出Laplace机制实现:

python实现差分隐私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)

以上这篇python实现差分隐私Laplace机制详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python贪吃蛇游戏编写代码
Oct 26 Python
CentOS中升级Python版本的方法详解
Jul 10 Python
matplotlib subplots 设置总图的标题方法
May 25 Python
Python RabbitMQ消息队列实现rpc
May 30 Python
python中的不可变数据类型与可变数据类型详解
Sep 16 Python
快速解决pyqt5窗体关闭后子线程不同时退出的问题
Jun 19 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
python多维数组分位数的求取方式
Mar 03 Python
大数据分析用java还是Python
Jul 06 Python
如何在windows下安装配置python工具Ulipad
Oct 27 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 Python
Python中第三方库Faker的使用详解
Apr 02 Python
python3实现弹弹球小游戏
Nov 25 #Python
python数据化运营的重要意义
Nov 25 #Python
python实现拉普拉斯特征图降维示例
Nov 25 #Python
python模块hashlib(加密服务)知识点讲解
Nov 25 #Python
Python3如何对urllib和urllib2进行重构
Nov 25 #Python
python pygame实现球球大作战
Nov 25 #Python
Python内置加密模块用法解析
Nov 25 #Python
You might like
PHP学习资料汇总与网址
2007/03/16 PHP
PHP 字符串分割和比较
2009/10/06 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
PHP中Fatal error session_start()错误解决步骤
2014/08/05 PHP
PHP的mysqli_rollback()函数讲解
2019/01/23 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
2020/04/06 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
js中对函数设置默认参数值的3种方法
2015/10/23 Javascript
JS实现alert中显示换行的方法
2015/12/17 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
JavaScript实现的鼠标响应颜色渐变效果完整实例
2017/02/18 Javascript
ES6中Math对象的部分扩展
2017/02/20 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
js实现飞机大战小游戏
2020/08/26 Javascript
Vue中computed和watch有哪些区别
2020/12/19 Vue.js
从零学Python之入门(三)序列
2014/05/25 Python
python实战之实现excel读取、统计、写入的示例讲解
2018/05/02 Python
idea创建springMVC框架和配置小文件的教程图解
2018/09/18 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
python实现Flappy Bird源码
2018/12/24 Python
Django 过滤器汇总及自定义过滤器使用详解
2019/07/19 Python
Python制作词云图代码实例
2019/09/09 Python
PYTHON实现SIGN签名的过程解析
2019/10/28 Python
Python读取yaml文件的详细教程
2020/07/21 Python
详解python中的异常和文件读写
2021/01/03 Python
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
团员的自我评价
2013/12/01 职场文书
会议活动邀请函
2014/01/27 职场文书
党员评议思想汇报
2014/10/08 职场文书
专职安全员岗位职责
2015/04/11 职场文书
2015年学校安全管理工作总结
2015/05/11 职场文书