-
推荐系统是当前互联网商家为用户提供个性化信息服务的主要技术手段之一。协同过滤作为一类主流的推荐算法,它利用用户对项目的历史评价信息来预测用户对未知项目的好恶并据此进行推荐。协同过滤技术需要使用大量用户数据,存在用户个人隐私泄漏的风险[1]。在基于邻居的协同过滤技术中,攻击者可以通过追踪邻居用户的推荐列表变化,推测目标用户对项目的评分[2];在基于矩阵分解的协同过滤技术中,由于分解所得的隐因子矩阵携带数据信息,可能被攻击者利用,通过重构攻击等方式推断出用户的评分数据[3-4]。遭泄露的评分可能被进一步用于推测出用户的性别、年龄等信息,侵犯用户隐私[5]。如果用户出于安全考虑拒绝提供部分信息,则可能会导致推荐系统性能下降,甚至无法提供个性化服务。因此,非常有必要在推荐系统中考虑对用户信息进行隐私保护。
文献[6]提出了差分隐私的定义,为在推荐系统中实施有效隐私保护提供了良好的理论基础。文献[7]将差分隐私保护引入协同过滤技术中,通过扰动项目协方差矩阵实现差分隐私保护。文献[8]将差分隐私应用到基于邻居的协同过滤推荐算法中,通过在邻居选择和相似性度量过程中加入噪音,实现隐私保护。文献[9]提出了两种分别对原始评分和用户相似性度量过程添加Laplace噪音的隐私保护方案。
针对基于矩阵分解的推荐算法,文献[10]在考虑推荐系统不可信的情况下,扰动矩阵分解算法的目标函数,将实施了隐私保护的项目隐因子矩阵用于推荐任务。文献[11]假设用户有不同程度的隐私保护需求,基于概率矩阵分解提出一种个性化的差分隐私推荐算法。文献[12]通过对目标函数进行扰动,提出了基于联合优化的隐私矩阵分解方案。文献[13-14]将差分隐私保护应用到矩阵分解推荐算法中,设计了3种添加噪音的方式,即分别在输入信息中、训练过程中和输出信息中添加噪音。依据这种思想,文献[15]在SVD++模型上设计了3种差分隐私保护模型。目前的工作大多通过对矩阵分解过程的各种结果(如梯度、隐因子矩阵、目标函数)加入噪声项以实现差分隐私保护,这类方案存在如下问题:1) 噪声较大。较高的隐私保护需求或敏感度会使噪声分布的方差增大,导致加入过大的噪声;2)不具通用性。加噪方法可能导致最终解在有约束问题上不可行;3)没有考虑隐因子的重要程度,影响了算法求解效率。
针对上述问题,本文将遗传算法引入矩阵分解任务,使得差分隐私保护可以通过扰动候选解的选择过程实现,而不依赖于上述加入噪声的方法[16]。此外,遗传算法中解的搜索将在可行域内进行,易于延伸到带约束的矩阵分解问题。然而,直接应用遗传算法存在如下困难:首先,矩阵分解属非凸问题且参数量大,求解难度高;其次,如何减小隐私保护机制引入的扰动也是重要挑战。为解决上述问题,本文改进了遗传算法的关键步骤,提出一种满足差分隐私保护的矩阵分解方案。本文的主要贡献为:1)将矩阵分解转化为两个交替进行的用户隐因子和项目隐因子优化问题,有效克服了求解过程中存在的解空间高维性和优化中的非凸性问题。2)考虑用户或项目对隐因子的不同偏重,重新设计了遗传算法的变异过程,提升解的搜索效率;在此基础上利用增强指数机制减轻了算法受扰动程度,更好地实现了隐私保护水平和算法效用之间的平衡。
HTML
-
采用两个常用数据集Movielens100K和YahooMusic进行实验,按8∶2的比例随机划分为训练集和测试集。两个数据集的统计属性如表1所示。
属性名 Movielens100K YahooMusic 用户数 943 8089 电影数 1682 1000 密度/% 6.3 1.8 评分均值 3.5299 2.6321 评分方差 1.2671 2.3821 用户平均评分数 106 33 项目平均受评数 59.4 270.1 -
除本文算法外,还对其他一些类似算法进行了对比实验。实验中涉及到的算法及其描述如表2所示。
本文取10次实验的平均值作为最终结果。采用均方根误差(RMSE)度量算法的性能:
式中,T为有效预测项目的个数;
${r_{ui}}$ 为用户u对项目i的真实评分;${\hat r_{ui}}$ 为用户u对项目i的预测评分。RMSE越小则推荐精度越高。 -
采用文献[14]中的预处理方式,将评分区间转换为[−1,1],设置隐因子变量域为[−1,1]。在APrivGene中,最大迭代轮次为23,候选集大小为85,柯西变异算子的步长为0.2,步长的衰减率为0.95。对比算法的参数设置均遵循相应文献中的最优参数设置。
为了保证有效的隐私保护,实验中将隐私预算ε设置为较小范围,即
$\varepsilon \in \left[ {{\rm{0}}{\rm{.1,1}}} \right]$ 。图1和图2分别给出了本算法与其他对比算法在Movielens100K和YahooMusic两个数据集上的RMSE测试结果。其中,将不考虑隐私保护的ALSBase算法的实验结果作为对比基线。从整体上看,随着ε的增大,各个算法的RMSE均逐渐减小,表明随着隐私保护水平的下降,推荐准确性增加。各算法在Movielens100K数据集上的推荐准确性均高于YahooMusic数据集,主要原因是YahooMusic数据集具有更高的稀疏性。在图1中,随着ε的变化,PGMF在Movielens100K数据集上的RMSE为:
$0.995 \leqslant $ $ {\rm{RMSE}} \leqslant 1.308$ ,低于其他的隐私保护算法。同样的趋势也存在于YahooMusic数据集的测试中。在图2中,PGMF的RMSE总是低于其他对比算法,其RMSE值的范围为$1.290 \leqslant {\rm{RMSE}} \leqslant 1.670$ ,比其他隐私保护算法平均低0.2左右,显示出了更好的准确性。在两个数据集上,PGMF与不考虑任何隐私保护的ALSBase算法的RMSE差距是最小的,同样证明了PGMF具有更好的推荐准确性。在本实验中,DPALS算法的推荐准确性比DPSGD算法要高。因为在不考虑隐私保护的情况下,ALS的性能比SGD要好,这种优越性在考虑差分隐私的情形下同样存在。但是,这两种方法都是基于传统优化方式的算法,当隐私预算ε越小,DPSGD和DPALS所引入的噪声就越大,导致求解出的隐因子向量与最优解之间差距过大,推荐准确度降低。在图1中,
$\varepsilon = 0.1$ 时,DPALS与DPSGD的RMSE都超过了2.1,而PGMF的RMSE只有1.3;在图2中,$\varepsilon = 0.1$ 时,DPALS与DPSGD的RMSE都超过了2.3,而PGMF的RMSE只有1.67。比较结果说明在隐私保护要求较高时,PGMF的优势更为明显。DPSGDInput算法是文献[13]中表现最优的算法,直接对评分数据添加噪音。它不需要在矩阵分解过程中分配隐私预算,在较低隐私保护需求下具有良好的推荐准确性。当ε=1时,其RMSE值在Movielens100K与YahooMusic数据集上分别为1.06和1.44,是除PGMF算法以外最低的。但是,这种直接对数据集加噪音的方式在高隐私保护需求下会引入过大的噪声。从图1和图2中可以看出,在ε<0.5时,该算法的推荐RMSE值显著增加,其推荐准确性比DPALSObj算法和PGMF更差。
DPALSObj算法通过对目标函数进行扰动而实现隐私保护。它的推荐精度在高隐私保护条件下,即
$\varepsilon \in \left[ {0.1,0.5} \right]$ 时,优于除PGMF之外的其他隐私保护算法。这种方法对隐私预算的大小比较敏感,在高隐私保护需求下相对于PGMF仍然引入了过大的噪声,即便在其表现更为突出的YahooMusic数据集上,其RMSE仍然明显比PGMF高。PGMF的性能优于其他算法的主要原因是采用了独特的进化方式限制了候选解集的方差,又借助增强指数机制改善了解的选择过程。所以,即使在很小的隐私预算条件下,求解出的隐因子向量都不会偏离最优解太远,实现了更高的推荐准确度。