0

我已经实现了高斯和拉普拉斯机制,以便在差分隐私的上下文中向查询添加噪声。在比较两种机制时,Gaussian 似乎比 Laplace 添加了更多的噪声,这与其背后的理论相矛盾,因为 Gaussian 是 DP 的宽松定义。

def laplaceMechanism(x, epsilon):
    private_val = x + np.random.laplace(0, 1/epsilon, 1)[0]
    return private_val

def gaussianMechanism(x, epsilon, delta):
    sigma = np.sqrt(2 * np.log(1.25 / delta)) * 1 / epsilon
    private_val = x + np.random.normal(0, sigma, 1)[0]    
    return private_val

该图显示了应用于计数查询时的错误,例如“数据库中有多少人超过 30 岁?” 在 epsilon 的不同值上。通过比较添加噪声前后的查询结果,使用均方根误差测量误差。db 的大小为 200。黄线表示拉普拉斯机制,而红色、蓝色、绿色和青色表示高斯,delta 分别为 1/100、1/200、1/1000 1/10000。

高斯机制的误差高于拉普拉斯,这意味着高斯比拉普拉斯增加了更多的噪声。此外,据我了解,delta 越低,线应该越接近拉普拉斯机制,这在图中显示为相反。

所以我试图理解为什么我的机制与它背后的理论不符。任何反馈表示赞赏。

在此处输入图像描述

4

0 回答 0