论文部分内容阅读
互联网的出现和普及给用户带来便利的同时产生了大量的信息。为了帮助人们做出提供选择快速决策,推荐系统需要收集用户的历史数据进行建模分析,来实现推荐服务。矩阵分解推荐算法是协同过滤中最受欢迎的算法之一,有较高的推荐精确度。传统的矩阵分解方法主要应用于集中式环境中,用户需要把各自的历史数据提供给服务器,对于不受信任的推荐服务器,存在隐私泄露的风险。随着个人信息泄露的情况在不断的出现,人们越来越重视隐私保护问题,更多的数据拥有者不愿意提供自身的数据,因此,应用于分布式推荐系统中的矩阵分解算法应运而生。为了解决分布式推荐系统中的隐私问题,现有的做法主要分为两种,一种是基于数据扰动的方式来保护数据的安全,通过差分隐私加噪的方法,或采用随机扰动,将梯度数据加噪扰动后再发送到服务器聚合通常因为保护数据的隐私性而牺牲了部分的数据效用性,因此导致推荐效果的下降。另一种则采用加密的方法来保证数据的无损失计算,利用同态性质进行加密计算保证模型训练过程中数据安全性的同时不降低推荐的精度。但是采用同态加密等算法,伴随大量的加密解密过程,因而降低了整个推荐算法的时间效率。基于现有的工作,主要关注分布式推荐下的矩阵分解中存在的隐私问题,设计一种新的隐私保护方案能够保证在数据隐私安全的前提下,尽可能提高计算效率,同时保证较好的推荐效果。主要研究工作如下:首先针对分布式场景下的矩阵分解推荐算法中由于梯度上传进行协作计算导致用户隐私被恶意推断的问题进行了分析。随后分析了在分布式环境下的矩阵分解过程中,基于随机化扰乱的隐私保护技术在梯度下降过程中,噪声由于迭代累加后会导致误差过大等问题,设计了一种可抵消的噪声来处理梯度数据,进行高效隐私保护计算同时降低矩阵分解计算中引起的数据损失,以提高推荐的正确性。该算法能在保护用户隐私安全的同时保证推荐的精确度。同时关注了分布式环境下计算复杂度与通信负载的问题,结合实际情况将项目区分为敏感与非敏感两种,设计个性化扰动矩阵生成方法,在训练过程中只需要对敏感项目进行扰乱即可,进一步优化了算法的效率。此外,由于在用户端与服务器端之间不断的进行迭代计算,会涉及到用户与服务端的频繁交互,由于梯度数据维度过大,用户端交互过于频繁,存在用户端的计算压力过大的问题。针对该问题,通过对传输梯度进行降维压缩减少迭代过程中的通信开销。最后,给出了详细的系统设计,从预测误差、推荐准确率、运行效率和通信开销等方面对系统进行了性能评估和度量,并通过实验对比了基于差分隐私的矩阵分解推荐算法和基于同态加密技术的矩阵分解算法,验证了算法的有效性。