潜在因子模型(Latent Factor Model)是一种常见的数据降维技术,可以将高维数据表示为低维特征空间中的因子分解形式。假设我们有 个用户和
其中 表示用户
对物品
的评分,
表示全局平均值,
和
分别表示用户
和物品
的潜在向量(或者说“因子”),
是一个随机噪声项,通常假设
为了满足差分隐私,我们需要保证相邻的数据集只有微小的变化会导致输出的概率分布变化也很小。具体地,考虑两个相邻的数据集 和
,它们只相差一个用户
对物品
的评分,我们要保证通过概率分布
和
计算出的条件概率比值
不会太大。这里
是模型的输出结果,即用户
对物品
为了方便计算,我们假设噪声项 服从标准正态分布,即
。这时,模型的训练过程可以看成是最小化观测数据和模型预测之间的均方误差(MSE)加上一个正则化项:
其中
接下来,我们考虑如何加入噪声使得这个模型满足差分隐私。为了简化推导,我们假设每个用户只对少量物品进行评分,且每个物品也只被少数用户评分,这样数据矩阵是非常稀疏的。此时,我们可以将每个元素 分别视为一个独立的查询,然后对每个查询都加入独立同分布的噪声
,其中
是一个与查询结果范围相关的参数,
于是,我们可以得到不加噪声和加噪声的模型预测之间的条件概率比值:
其中, 是在不加噪声时的条件概率,
是在加噪声时的条件概率,
是原始数据集,
是添加了拉普拉斯噪声的数据集,
是模型对
的预测评分,
是控制隐私保护和查询精度之间的权衡参数。
表示两个集合的对称差集。此公式用于计算矩阵分解任务中差分隐私机制的参数
。
其中 表示两个数据集的对称差分,即只包含在其中一个数据集中的元素。注意到噪声的方差是与隐私参数
接下来,我们需要计算上式中指数部分的值。注意到:
因此,我们可以进一步得到:
现在的问题是如何计算 和
的值。由于加入的噪声是独立同分布的,因此对于每个查询
,我们可以独立地生成两个噪声
和
,然后计算出对应的预测结果
和
。这样,我们就可以将上式进一步转化为:
化简一下可以得到:
现在的问题是如何计算 的值。注意到这个值可以看成是两个低维向量空间的内积,因此可以用矩阵乘法来实现。具体地,我们可以构造两个矩阵
和
,其中
是潜在因子的维度,然后令
和
。这样,
就可以表示为
。于是,我们就可以将条件概率比值进一步转化为:
这里 表示 Frobenius 范数,即矩阵所有元素的平方和的平方根。注意到这里用到了矩阵
和
为了达到这个目的,我们可以对每个用户的潜在向量 加入独立同分布的噪声
,对每个物品的潜在向量
加入独立同分布的噪声
。这样,对于不同的数据集
和
,我们可以得到两个带噪声的矩阵
和
,它们的元素都服从概率分布
。然后,我们可以将矩阵
和
分别替换为
和
,得到带噪声的乘积矩阵
。由于加入的噪声是独立同分布的,因此对于任意的两个查询
和
,它们生成的噪声是独立的,因此它们对应的乘积矩阵元素也是独立的。这意味着,整个矩阵
满足
-差分隐私,其中
综上所述,我们证明了在潜在因子模型中加入独立同分布的噪声可以满足差分隐私。具体地,对于每个查询 ,我们生成两个独立的噪声
和
,然后计算
和
。接下来,我们使用
和
为了保证乘法 满足差分隐私,我们对矩阵
和
加入独立同分布的噪声,得到带噪声的矩阵
和
,然后将它们替换成原来的矩阵,在加噪声的乘积矩阵
中进行乘法运算。最终,整个过程都满足
-差分隐私,其中
上述内容是基于原始的“Differential Privacy for Matrix Factorization”论文进行阐述的。该论文由McSherry等人撰写,发表在ACM Conference on Computer and Communications Security (CCS) 2009上。
















