拉普拉斯噪声(Laplace noise)是一种概率分布,常用于差分隐私(Differential Privacy)中。它有两个参数:位置参数 ( b ) 和尺度参数 ( \lambda )。其概率密度函数(PDF)为:
[ f(x | b, \lambda) = \frac{1}{2\lambda} \exp\left(-\frac{|x - b|}{\lambda}\right) ]
import numpy as np
import matplotlib.pyplot as plt
# 参数设置
b = 0 # 位置参数
lambda_ = 1 # 尺度参数
# 生成拉普拉斯噪声数据
num_samples = 10000
samples = np.random.laplace(b, lambda_, num_samples)
# 绘制直方图
plt.hist(samples, bins=50, density=True, alpha=0.6, color='g')
# 绘制理论PDF曲线
x = np.linspace(-10, 10, 1000)
pdf = 1 / (2 * lambda_) * np.exp(-np.abs(x - b) / lambda_)
plt.plot(x, pdf, 'r-', lw=2)
plt.xlabel('Value')
plt.ylabel('Probability Density')
plt.title('Laplace Noise Distribution')
plt.show()
拉普拉斯噪声常用于差分隐私中,以保护数据的隐私性。例如,在数据分析、机器学习模型训练等场景中,通过在查询结果中添加拉普拉斯噪声,可以在一定程度上保护个人隐私。
通过以上步骤和方法,可以有效地绘制和分析拉普拉斯噪声分布。
领取专属 10元无门槛券
手把手带您无忧上云