基于差分隐私保护的邻域推荐方法与流程

文档序号:15230164发布日期:2018-08-21 19:19阅读:585来源:国知局

本发明涉及数据分析与数据挖掘技术领域,特别是一种基于差分隐私保护的邻域推荐方法。



背景技术:

当今社会,随着互联网和移动互联网的快速普及与发展,各类网络应用与移动app已经融入到人们日常工作生活的方方面面,例如即时通讯、社交网络、电子商务与电子支付等等,人们的日常工作与生活已经离不开互联网与移动互联网。网民数量与网站应用数量的飞速增长的同时,互联网上的各类信息也在加速增长中,在巨大的网民与网站基数下,每时每刻增加的信息数量已经超过一般人的承受能力。这使得在海量的互联网数据中,人们无法主动有效的找到、处理和利用自己想要的数据,这种情况被称作信息过载(informationoverload)问题。

在信息过载的时代,人们也在寻找解决信息处理与利用的有效方案。推荐系统不仅帮助人们更有效地获得想要的信息,也帮助信息提供者更好的将自己的信息推送到目标人群中,推荐系统已经成为当今互联网的重要环节。推荐系统的工作就是分析用户的喜好与使用习惯,建立用户与信息或产品之间的关系模型,再利用推荐方法完成相应的推荐。推荐系统在为用户建立定制化服务时,最基本的方法是通过用户自己设置自己想要的信息或产品的类型来获得推荐。推荐系统为了提供更准确的服务,使自己的推荐更符合用户的需求,需要收集大量的用户行为、使用习惯等信息来进行推荐,例如用户的浏览记录、购买信息、评分数据等信息。而且往往用户行为数据越丰富、越详细,构建的推荐模型就越准确。但是,在这大量的用户行为、使用习惯等信息中存在泄露用户个人隐私的风险。对于推荐系统来说,尽最大可能地保护用户的隐私安全与提升推荐系统的推荐准确度同等重要。因为更安全的隐私保护会减少用户分享自己隐私信息的担忧,使用户会更愿意提供自己的真实使用数据给推荐系统。而更丰富和准确的数据则会进一步提高推荐的准确度,提供更好的用户体验,从而进一步提高用户对推荐系统的信心与参与度,促成一个良性的循环。因此推荐系统的隐私保护研究,对于推动推荐系统良性发展,是具有非常重要的意义的。

dwork2006年提出了差分隐私机制。它首先定义了一个极为严格的攻击模型,通过对数据集中的原始信息或者统计数据添加噪声来实现对隐私的保护。因此即使攻击者拥有除目标隐私信息外的所有背景知识,隐私数据依然可以得到有效的保护。这些差分隐私的优点使得它受到国内外研究者的广泛研究。由于差分隐私保护在实际的使用过程中,大多是通过在数据集或者方法的输出结果中添加噪声来实现,如果不恰当的使用,则会造成数据集中添加噪声过大、数据可用性降低的情况。



技术实现要素:

本发明的目的在于提供一种基于差分隐私保护的邻域推荐方法,可以在提供推荐结果时,对用户的信息进行差分隐私保护,并能够保证较好的推荐准确度。

实现本发明目的的技术解决方案是:一种基于差分隐私保护的邻域推荐方法,包括以下步骤:

步骤1、在训练阶段,将已收集的用户对物品的评价或喜好,转化为用户-评分矩阵,作为推荐方法模型的训练集;

步骤2、通过差分隐私平均值和偏置项计算方法,计算出差分隐私保护下的平均值;

步骤3、通过基于差分隐私的偏置项计算,计算出差分隐私保护下的用户偏置项和物品偏置项;

步骤4、在评分预测阶段,利用基于指数机制的差分隐私保护邻居选择方法选择邻居;

步骤5、利用相似度的局部敏感度,添加拉普拉斯噪声进行差分隐私保护;

步骤6、最后利用评分预测模型与训练出的差分隐私保护模型参数,预测用户对物品的评分。

进一步地,步骤1中所述的在训练阶段,将已收集的用户对物品的评价或喜好,转化为用户-评分矩阵,具体如下:

将已收集的用于对物品的评价或喜好的,转化为n×m的用户-评分矩阵rn×m,用户集u={u1,u2,...,un},其中n为用户总数,物品集i={i1,i2,...,im},其中m为物品总数,rui为用户u对物品i的评分。

进一步地,步骤2中所述的通过差分隐私平均值计算方法,计算出差分隐私保护下的平均值,具体如下:

(3.1)计算评分求和的敏感度:δrsum=rmax-rmin,其中rmax表示评分中的最大值,rmin表示评分中的最小值;

(3.2)计算评分计数的敏感度:δrcount=1;

(3.3)计算出差分隐私保护的评分和其中ε1为平均值计算的差分隐私预算,r表示评分矩阵,rui为评分矩阵中用户u对物品i的评分;

(3.4)计算出差分隐私保护的评分计数|r|\+lap(2δrcount/ε1);

(3.5)计算差分隐私保护的评分平均值:

进一步地,步骤3中所述的通过基于差分隐私的偏置项计算,计算出差分隐私保护下的用户偏置项和物品偏置项,具体如下:

(4.1)对于每个评分rui计算如果||eui||大小超过了emax,则根据emax对eui进行截断;

(4.2)更新bu:

(4.3)更新bi:

(4.4)对于每个用户u更新bu:bu=bu+lap(2w*sbu/ε2),如果bu大小超过了bumax,则根据bumax对bu进行截断;

(4.5)对于每个物品i更新bi:bi=bi+lap(2w*sbi/ε2),如果bi大小超过了bimax,则根据bimax对bi进行截断;

(4.6)对上述步骤迭代w次后,返回bu,bi;

其中参数ε2为差分隐私保护偏置项计算的隐私预算,γ为学习速率,λ为正则化参数,方法迭代终止条件为固定迭代次数,w为迭代次数。

进一步地,步骤4中所述的在评分预测阶段,利用基于指数机制的差分隐私保护邻居选择方法选择邻居,具体如下:

假设用户-物品评分数据r=rui,目标用户为u,目标物品为i,候选物品列表为i,候选物品列表中包含是当前用户曾经评价过且与物品i存在相似度的物品;设qi(i,nj)为可用性函数,nj为根据可用性函数qi(i,nj)每次输出的邻居,由于邻居选择的主要目的是从候选物品列表i中选择与当前物品ii相似度最大的k个物品,因此采用物品间相似度作为可用性函数,即:

qi(i,nj)=sim(i,j)

其中sim(i,j)为物品ii与物品ij的相似度;

假设δq为可用性函数的敏感度,根据差分隐私保护指数机制的定义,提出的差分隐私邻居选择方法在每次选择的过程中,根据指数机制的定义,以与成比例的概率从i中选出邻居nj;随后将方法迭代k次,选取k个隐私保护邻居,输出即为物品i的k个差分隐私保护邻居。

进一步地,步骤5中所述的利用相似度的局部敏感度,添加拉普拉斯噪声进行差分隐私保护,具体如下:

差分隐私保护相似度加扰的目的是在进行评分预测时,对其中的相似度进行差分隐私保护,差分隐私保护的实现方式为拉普拉斯机制;

假设δrsim为相似度的敏感度,ε4为差分隐私保护相似度加扰隐私预算,为上一步邻居选择环节选择出的物品i的k个邻居,对于中的每个物品j,按如下公式计算差分隐私保护的相似度:

本发明与现有技术相比,其显著优点为:(1)基于差分隐私保护技术,对基于邻域的推荐方法的训练过程进行隐私保护,使得训练得到的模型参数满足差分隐私的要求;(2)在差分隐私的保护下,即使攻击者拥有除目标隐私信息外的所有背景知识,用户隐私数据依然可以得到有效的保护;(3)提供一定的隐私保护的情况下获得较好的推荐准确度,且相比于已有的差分隐私保护邻域方法,可以在略牺牲隐私保护效果的情况下,获得更好的推荐准确度,具有更好的实用价值。

附图说明

图1是本发明基于差分隐私保护的邻域推荐方法的流程示意图。

图2是本发明基于差分隐私保护的邻域推荐方法的实验结果图。

具体实施方式

下面结合附图对本发明做进一步的说明:

如图1所示,本发明基于差分隐私保护的邻域推荐方法,具体步骤如下:

步骤1、在训练阶段,将已收集的用户对物品的评价或喜好,转化为用户-评分矩阵,作为推荐方法模型的训练集,具体如下:

将已收集的用于对物品的评价或喜好的,转化为n×m的用户-评分矩阵rn×m,用户集u={u1,u2,...,un},其中n为用户总数,物品集i={i1,i2,...,im},其中m为物品总数,rui为用户u对物品i的评分。

步骤2、通过差分隐私平均值和偏置项计算方法,计算出差分隐私保护下的平均值,具体如下:

(3.1)计算评分求和的敏感度:δrsum=rmax-rmin,其中rmax表示评分中的最大值,rmin表示评分中的最小值;

(3.2)计算评分计数的敏感度:δrcount=1;

(3.3)计算出差分隐私保护的评分和其中ε1为平均值计算的差分隐私预算,r表示评分矩阵,rui为评分矩阵中用户u对物品i的评分;

(3.4)计算出差分隐私保护的评分计数|r|+lap(2δrcount/ε1);

(3.5)计算差分隐私保护的评分平均值:

步骤3、通过基于差分隐私的偏置项计算,计算出差分隐私保护下的用户偏置项和物品偏置项,具体如下:

(4.1)对于每个评分rui计算如果||eui||大小超过了emax,则根据emax对eui进行截断;

(4.2)更新bu:

(4.3)更新bi:

(4.4)对于每个用户u更新bu:bu=bu+lap(2w*sbu/ε2),如果bu大小超过了bumax,则根据bumax对bu进行截断;

(4.5)对于每个物品i更新bi:bi=bi+lap(2w*sbi/∈2),如果bi大小超过了bimax,则根据bimax对bi进行截断;

(4.6)对上述步骤迭代w次后,返回bu,bi;

其中参数∈2为差分隐私保护偏置项计算的隐私预算,γ为学习速率,λ为正则化参数,方法迭代终止条件为固定迭代次数,w为迭代次数。

步骤4、在评分预测阶段,利用基于指数机制的差分隐私保护邻居选择方法选择邻居,具体如下:

假设用户-物品评分数据r=rui,目标用户为u,目标物品为i,候选物品列表为i,候选物品列表中包含是当前用户曾经评价过且与物品i存在相似度的物品;设qi(i,nj)为可用性函数,nj为根据可用性函数qi(i,nj)每次输出的邻居,由于邻居选择的主要目的是从候选物品列表i中选择与当前物品ii相似度最大的k个物品,因此采用物品间相似度作为可用性函数,即:

qi(i,nj)=sim(i,j)

其中sim(i,j)为物品ii与物品ij的相似度;

假设δq为可用性函数的敏感度,根据差分隐私保护指数机制的定义,提出的差分隐私邻居选择方法在每次选择的过程中,根据指数机制的定义,以与成比例的概率从i中选出邻居nj;随后将方法迭代k次,选取k个隐私保护邻居,输出即为物品i的k个差分隐私保护邻居。

步骤5、利用相似度的局部敏感度,添加拉普拉斯噪声进行差分隐私保护,具体如下:

差分隐私保护相似度加扰的目的是在进行评分预测时,对其中的相似度进行差分隐私保护,差分隐私保护的实现方式为拉普拉斯机制;

假设δrsim为相似度的敏感度,∈4为差分隐私保护相似度加扰隐私预算,为上一步邻居选择环节选择出的物品i的k个邻居,对于中的每个物品j,按如下公式计算差分隐私保护的相似度:

步骤6、最后利用评分预测模型与训练出的差分隐私保护模型参数,预测用户对物品的评分,评分随后被用于推荐,例如根据评分大小,选择评分较高的物品推荐给用户。

实施例1

本发明提出的基于差分隐私保护的邻域推荐方法,具体实现过程如下:

在推荐系统中,协同过滤(collaboratefilter)这一概念最早出现于1992年,是由goldberg等学者最早提出来的。经过近20多年的发展,目前已经不仅是推荐系统领域中应用最早的推荐技术之一,而且是使用最广泛的推荐技术。协同过滤方法的核心思想在于:通过收集用户的历史行为数据(评价信息、购买信息等),利用兴趣相似、行为相近的用户群体的喜好来进行个性化推荐。为了建立推荐模型,基于协同过滤的推荐方法需要把物品和用户两者建立某种关系来实现推荐,而推荐的效果好坏也取决于物品与用户之间关系建立的好坏。协同过滤方法中通常会把用户对物品的喜好用n×m的用户-评分矩阵rn×m来表示,n个用户使用u={u1,u2,...,un}表示,m个物品使用i={i1,i2,...,im}来表示,用户u对物品i的评分使用rui来表示,一般rui较大表示用户u较为喜欢物品i,而rui较小则表示用户u较为不喜欢甚至讨厌物品i,对于一般的推荐系统来说,rui的大小是在确定的一个范围内的,如果用户u未对物品i进行过评分,则rui是未知的。对于一般的推荐系统来说,用户-评分矩阵通常是非常稀疏的,即大部分评分rui都是未知的,因为一个用户通常只会对很少一部分物品进行评分。表1展示了一个用户-物品评分矩阵的例子,其中评分的范围为1~5。

表1用户-物品评分矩阵

以邻域模型为基础的推荐方法在大多数目前正在运作的商业系统中仍然被广泛地使用着,原因在于邻域模型不仅相对简单,而且邻域模型具有其他的模型所不具有的优点:

(1)可解释性:在推荐系统的研究领域中,解释推荐系统的重要性受到很多人的认可。这是因为用户在使用推荐功能时希望能知道能给出这样推荐的原因,而不是仅仅得到推荐系统给出的推荐物品列表。对推荐系统的解释不仅仅可以提供更好的用户体验,同时也可以鼓励用户更多的与系统进行交互,例如可以鼓励用户根据系统推荐原理对不合理推荐的结果进行修正,通过合理的交互来获得更符合自己要求的推荐结果,从而让系统提高长期的推荐准确性。基于邻域的推荐系统中的相似度相比基于矩阵分解的推荐系统中的隐性因子可以提供更好且更直观的解释性,而且可以识别出用户历史行为中对推荐结果影响较大的行为。

(2)新的评分:邻域模型可以在用户输入新的评分以后立刻给出更新过的推荐结果。在基于物品的邻域推荐系统中,物品之间的关系(例如相似度)通常是稳定的,并不是每天都会变化。当新的用户在系统中有行为发生后,系统可以立即处理新的评分并提供推荐,而不需要重新训练模型来和训练新的参数。通常当系统新录入物品时,系统才会需要学习新的参数。在大多数情况下(例如音乐网站或者电影网站),用户和物品间的这种非对称性可以配合的很好:系统需要对新进入系统的用户(或者老用户的新评分)立即做出推荐反馈,因为这些用户期望有高质量的服务。另一方面,物品进入新的系统后,等待一定时间后再把它们推荐给用户也是合情合理的。

考虑到基于邻域的推荐系统在实际生活中仍然存在的广泛的应用,因此设计一种针对基于邻域的协同过滤推荐系统的差分隐私保护模型也是有必要的。目前已有的针对邻域协同过滤推荐方法提出的差分隐私保护模型大多是在最基本的邻域模型提出的,由于推荐系统评分存在偏置项,因此对于基于邻域的推荐系统,如果可以将偏置项因素考虑到模型中,可以使模型更好的解释用户评分所反映的偏好,从而相应地提高推荐准确率。因此在基本的邻域推荐方法模型的基础上引入偏置项,相比较基本的邻域推荐方法模型,主要的改进是在评分预测时考虑了偏置项对评分的影响,此时评分预测的模型为:

其中,μ为评分的全局平均数,bu为用户偏置项,bi为物品偏置项。在利用最近邻预测当前用户评分时,去除了评分中偏置项所占部分,使得预测更加符合实际情况。为了方便描述,节所采用的邻域协同过滤推荐模型只描述采用物品间相似度的邻域协同过滤模型,对于基于用户间相似度的邻域协同过滤推荐模型,基本原理是类似的。在此预测模型的基础上,利用偏置项改进的邻域协同过滤方法的主要流程如下:

(1)计算所有评分的平均值μ,计算偏置项bu,bi;

(2)计算物品间的相似度矩阵s;

(3)在预测用户u对物品i的评分时,根据相似度选择与物品i相似的k个邻居

(4)预测评分。

其中,为了计算出用户偏置项bu与物品偏置项bi,采用的方法是与矩阵分解中的方法类似的优化损失函数的方式。首先定义最小化误差为:

随后可以利用随机梯度下降或者交替最小二乘法对误差进行求解,从而得到用户偏置项bu与物品偏置项bi。采用的是用随机梯度下降求解的方式,这里迭代终止条件为固定迭代w次后停止。求解过程为:

(1)对于每个评分计算eui:eui=rui-(μ+bu+bi)

(2)更新bu:bu=bu+γ(eui-λbu)

(3)更新bi:bi=bi+γ(eui-λbi)

(4)对上述步骤迭代w次后,返回bu,bi

当获得计算得到偏置项后,剩下的工作与基本的基于邻域的协同过滤模型基本一致,通过计算用户间或物品间的相似度,选取相应的k个邻居。

差分隐私与k匿名体系等传统隐私技术的不同在于,差分隐私对于隐私攻击定义了一种严格的数学模型,对隐私泄露风险也给出了严谨、定量化的表示和证明。虽然差分隐私技术是基于数据扰乱的隐私保护技术,通过加入噪声使得原有的数据失真,但差分隐私所加入的噪声量大小与数据集的大小无关,噪声的大小只与数据集的敏感度和隐私参数∈是有关。所以在某些情况下通过添加极少量的噪声就可以为大规模的数据集提供较高级别的隐私保护。这使得差分隐私保护技术可以在大幅度降低隐私泄露风险的同时,确保数据的可用性。正是由于差分隐私技术的这些优势,使得该方法自提出以来一直受到相关领域研究人员的广泛研究。

定义(∈-差分隐私).假设存在一个随机方法a,方法a的取值范围为range(a)。d和d′为至多只差一条记录的两个任意数据集,它们也被称作邻近数据集。pr[e]表示事件e发生的概率,它的大小由随机方法a的随机性控制。当随机方法a在数据集d和d′上的结果s(s∈range(a))满足如下不等式时,满足∈-差分隐私:

pr[a(d)∈s]≤e×pr[a(d′)∈s]

定义中∈被称为隐私预算,它∈的大小决定了差分隐私的隐私保护程度。∈越大,随机方法在d和d′上输出的结果分布的区别也就越大,此时数据集中一条数据造成的查询结果改变也就越大,隐私保护水平越低,反之亦然。当∈为0的时候,随机方法a的隐私性达到最高,但在邻近数据集d与d′上的输出结果分布将完全一致,因而无法体现出数据集中的任何有用信息。因此在实际应用中,∈的取值需要考虑数据可用性与数据完全性之间的平衡。

差分隐私保护的实现通常是在原本方法或函数输出的结果中添加适当的随机噪声来完成的,而噪声的大小除了与∈有关外,还取决于方法的敏感度。方法的敏感度,是指从原始数据集中删除其中的任意一条记录后,对方法的结果可能造成的最大改变。

在差分隐私保护中,定义了全局敏感度(globalsensitivity)。

定义2.2(全局敏感度).对某一函数f:d→rd,d表示函数输出向量的维度,

d′与d为至多只差一条记录的任意两个数据集,则函数f对应的全局敏感度为:

gsf(d)=maxd,d′||f(d)-f(d′)||k

其中||||k表示lk-范数。

从定义中可以看出,全局敏感度的大小和数据集中数据分布情况无关,而是和函数相关。有些函数的敏感度很小,例如计数函数的敏感度为1。而有些函数的敏感度则非常大,例如求和函数的敏感度为数据集中最大值与最小值的绝对值的最大值。

通常情况下,一个复杂的方法往往包含多个查询步骤的组合,然而在给定的隐私预算∈下,多次以隐私预算∈对同一数据集进行查询可能会造成隐私信息的泄露,因此为了让多次查询的组合满足隐私预算∈的要求,需要考虑将整体的隐私预算分配到各个环节之中。针对差分隐私的组合问题,差分隐私保护存在序列组合性和并行组合性这两个性质。

定义(序列组合性).给定数据集d和隐私保护方法a1,a2,...,an,且方法ai(1≤i≤n),满足∈i-差分隐私,则{a1,a2,...,an}在d上的序列组合a1(d),a2(d),...,an(d)满足∑∈i-差分隐私。

定义(并行组合性).设d为一个数据集,将其划分为n个不想交的子集,则有d={d1,d2,...,dn},对于隐私保护方法a1,a2,...,an,ai(1≤i≤n)满足∈i-差分隐私,则方法a1,a2,...,an分别在{d1,d2,...,dn}上的系列操作a1(d1),a2(d2),...,an(dn)满足max∈i-差分隐私。

为了对评分的全局平均值进行差分隐私保护,需要使得攻击者无法从计算出的评分平均值中判断评分矩阵中一条评分数据是否存在,因此需要在全局平均值的计算过程中,添加差分隐私噪声,掩盖一条评分数据可能造成的最大改变。评分的全局平均值计算公式为:

其中r表示评分矩阵,μ表示平均值,rui表示用户u对物品i的评分,|r|表示评分的总数。计算分为评分的求和与计数两部分,因此可以通过分别对求和与计数的结果中添加随机噪声,实现求和与计数函数的差分隐私保护,再利用差分隐私保护的序列组合性来实现整个平均值计算的差分隐私保护。假设评分的最大值为rmax,最小值为rmin,对于评分的求和操作,一条评分数据对于求和的可能的最大改变为rmax-rmin,因此评分求和的敏感度为δrsum=rmax-rmin,对于评分的计数操作,一条评分数据对于评分计数的最大改变为1,因此评分计数的敏感度为δrcount=1。

定义(拉普拉斯机制).对于任意一个函数f:d→rd,若随机方法a的输出结果a(d)满足:

a(d)=f(d)+(laplace(δf/∈))d

则称随机方法a满足∈-差分隐私。拉普拉斯机制生成的随机噪声大小与δf成正比,与∈成反比。

本发明采用拉普拉斯机制来计算差分隐私保护的评分平均值,假设ε1为计算平均值的隐私预算,差分隐私保护的评分平均值计算公式如下:

其中,差分隐私平均值计算中的评分求和与评分计数的隐私预算分别为∈1/2。

为了对评分的全局平均值进行差分隐私保护,需要使得攻击者无法从计算出的评分平均值中判断评分矩阵中一条评分数据是否存在,因此需要在全局平均值的计算过程中,添加差分隐私噪声,掩盖一条评分数据可能造成的最大改变。评分的全局平均值计算公式为:

计算分为评分的求和与计数两部分,因此可以通过分别对求和与计数的结果中添加随机噪声,实现求和与计数函数的差分隐私保护,再利用差分隐私保护的序列组合性来实现整个平均值计算的差分隐私保护。假设评分的最大值为rmax,最小值为rmin,对于评分的求和操作,一条评分数据对于求和的可能的最大改变为rmax-rmin,因此评分求和的敏感度为δrsum=rmax-rmin,对于评分的计数操作,一条评分数据对于评分计数的最大改变为1,因此评分计数的敏感度为δrcount=1。

本发明采用拉普拉斯机制来计算差分隐私保护的评分平均值,假设∈1为计算平均值的隐私预算,差分隐私保护的评分平均值计算公式如下:

其中,差分隐私平均值计算中的评分求和与评分计数的隐私预算分别为∈1/2。

在发明采用的邻域协同过滤推荐推荐方法中,采用的方法是在随机梯度下降每次迭代的最后,对偏置项添加拉普拉斯噪声实现差分隐私保护,添加的噪声大小由偏置项的敏感度决定,偏置项的敏感度的大小为每次迭代中,添加或删除评分矩阵中一条评分数据可能造成的偏置项的最大改变。设sbu,sbi分别表示bu,bi的敏感度,则有:

sbu≤max||γ(e′ui-λ·bu)||1=γ(emax+λ·bumax)

sbi≤max|γ(e′ui-λ·bi)||1=γ(emax+λ·bimax)

其中bumax,bimax分别表示bu,bi中值的上界,emax表示评分值误差的上界。在提出的方法中bumax,bimax等偏置项值的上界将作为参数提供,emax也通过参数来提供,但具体的值会根据emax=rmax-μ+bumax+bimax计算来确定。

当计算得到偏置项的敏感度后,就可以通过在随机梯度下降的每次迭代的最后,对偏置项添加拉普拉斯噪声,实现差分隐私保护。提出的方法在每次迭代添加噪声后,对于偏置项的值还进行了额外截断操作,确保偏置项的值不超过上界并降低噪声的影响。此外,对于评分误差eui,也在每次计算后通过emax进行截断。

综上,基于差分隐私的偏置项计算过程如下:

(1)对于每个评分rui计算如果||eui||大小超过了emax,则根据emax对eui进行截断

(2)更新bu:

(3)更新bi:

(4)对于每个用户u更新bu:bu=bu+lap(2w*sbu/∈2),如果bu大小超过了bumax,则根据bumax对bu进行截断

(5)对于每个物品i更新bi:bi=bi+lap(2w*sbi/∈2),如果bi大小超过了bimax,则根据bimax对bi进行截断

(6)对上述步骤迭代w次后,返回bu,bi

其中参数∈2为差分隐私保护偏置项计算的隐私预算,γ为学习速率,λ为正则化参数,方法迭代终止条件为固定迭代次数,w为迭代次数。

差分隐私邻居选择目的在于选取k个邻居的过程中能满足差分隐私保护,从而能够在一定程度上抵御类似knn攻击的攻击,保护用户的隐私不会泄露。因此为了实现k个邻居选择过程的差分隐私保护,就不能仅仅是将相似度排序后,选取相似度最大的k个项作为邻居,而是需要通过差分隐私机制来进行选择。考虑到邻居选择的过程输出的邻居是离散型数据,因此提出了一种基于差分隐私保护的指数机制的差分隐私的邻居选取方法,差分隐私的邻居选取过程可以描述为:

假设用户-物品评分数据r=rui,目标用户为u,目标物品为i,候选物品列表为i,候选物品列表中包含是当前用户曾经评价过且与物品i存在相似度的物品。设qi(i,nj)为可用性函数,nj为根据可用性函数qi(i,nj)每次输出的邻居。由于邻居选择的主要目的是从候选物品列表i中选择与当前物品ii相似度最大的k个物品,因此采用物品间相似度作为可用性函数,即:

qi(i,nj)=sim(i,j)

其中sim(i,j)为物品ii与物品ij的相似度。

假设δq为可用性函数的敏感度,根据差分隐私保护指数机制的定义,提出的差分隐私邻居选择方法在每次选择的过程中,根据指数机制的定义,以与成比例的概率从i中选出邻居nj。随后将方法迭代k次,选取k个隐私保护邻居,输出即为物品i的k个差分隐私保护邻居。

差分隐私保护相似度加扰的目的主要是在利用式4.1进行评分预测时,对其中的相似度进行差分隐私保护,差分隐私保护的实现方式为拉普拉斯机制。假设δrsim为相似度的敏感度,∈4为差分隐私保护相似度加扰隐私预算,为上一步邻居选择环节选择出的物品i的k个邻居,对于中的每个物品j,按如下公式计算差分隐私保护的相似度:

基于差分隐私保护的邻域推荐算法主要分为算法的训练与预测,其中差分隐私保护平均值计算与差分隐私保护偏置项计算环节处于训练部分,基于差分隐私的邻居选取以及基于差分隐私的相似度加扰处于预测部分。算法的具体实现如方法1与2所示:

方法2基于差分隐私保护的邻域协同过滤方法预测部分

实验与仿真,为了说明方法的效果,在此利用实验与仿真进行说明。实验环境为windows1064位操作系统cpu型号为intel(r)core(tm)i7-6700kcpu@4.00ghz,内存为24gb。方法采用使用python进行实现。实验的数据集采用了推荐方法等领域使用较为广泛的数据集:movielens-100k数据集:

movielens数据集是由grouplens(www.grouplens.org)研究组从movielens网站上收集并制作的数据集,数据集中包括了用户对电影的打分数据以及用户和电影自身的属性。movielens数据集有ml-100k,ml-1m,ml-10m,ml-20m等不同规格的数据,100k,1m等数字表示了数据集中评分数据的数量级,本发明采用的是其中的ml-100k与ml-1m数据集,数据集的数据规模为100000条与1000000条。ml-100k中的100000条评分数据中包含了943个用户对1622部电影的评分记录,评分收集时间段为1997年9月-1998年4月,为期七个月。数据集中评分的范围为1-5且每个用户至少评分了20部电影。在实验中,需要将上述数据集中的评分数据分为训练集与测试集。对于ml-100k数据集,本文的实验均采用五折交叉验证的方式来训练与验证推荐方法的准确度。

对于基于邻域的推荐方法,实验的基本参数配置如表2所示。

表2差分隐私保护的矩阵分解方法参数

隐私预算的分配方面,对于基于差分隐私保护的邻域推荐方法,对于总隐私预算∈,平均值计算隐私预算为∈1=0.02*∈,差分隐私保护偏置项计算隐私预算为∈2=0.9*∈。隐私邻居选择隐私预算为∈3=0.05*∈,相似度计算隐私预算为∈4=0.03*∈。

实际生活中衡量一个推荐系统的推荐质量有很多种评价指标,如点击率、转化率、排序准确度等等,但在实验的角度通常采用的是评分准确度。对于推荐方法领域,常用的评分准确度评价指标通常有mae(平均绝对误差,meanabsoluteerror)与rmse(均方根误差,rootmeansquareerror)两种,这里我们采用rmse作为评价推荐方法评分准确度的评价指标。rmse的具体计算方法如下:

其中,r表示测试集中评分数据的评分矩阵,rui表示测试集中用户u对物品i的实际评分,r′ui表示推荐方法的预测评分。通常rmse越小,说明推荐的结果与实际的结果误差相对较小,推荐方法的准确度越高,意味着推荐质量也越高。考虑到差分隐私方法会向数据集中添加随机噪声,这可能会造成同样的参数与方法计算出的rmse有所差距,因此这里实验结果中的rmse是多次实验取平均值的结果,实验结果中的rmse均为是5次运行结果的均值。

在实验结果上,这里采用的将隐私保护方法在不同隐私预算∈下计算所得到的rmse值绘制成曲线,随后通过对比分析不同隐私保护方法或者不同参数下计算所得到的不同曲线得来评价隐私保护方法的好坏。如果某隐私保护方法曲线可以在相同的隐私预算∈下得到较低的rmse值,则说明方法在具有相同隐私保护的情况下可以获得较高的推荐准确度。反之,如果隐私保护方法曲线在相同隐私预算∈下的rmse值较高,则说明该隐私保护方法在相同隐私保护的情况下,推荐准确度较差。对于不同参数下的方法评价,采用的方法是类似的。

为了验证本发明提出推荐方法的有效性,我们将本发明提出的基于差分隐私保护的邻域推荐方法(differentiallyprivatematrixfactorization,dpmf)与4种推荐方法进行实验对比:

(1)平均值预测(itemaverage,简称ia):对所有用户的评分都采用当前物品的评分平均值进行预测,无隐私保护。

(2)基本的基于邻域的推荐方法(basicknearestneighbors,简称basicknn):基本的基于邻域的推荐方法,在相似度计算方式上,在实验中采用的是余弦相似度,无隐私保护。

(3)带偏置项的基于邻域的推荐方法(biasedknearestneighbors,简称biasedknn):在基本的基于邻域的推荐方法的基础上,引入偏置项的改进后的方法,在相似度计算方式上,同样采用的余弦相似度,无隐私保护。

(4)隐私保护预处理邻域推荐方法(privatepreprocessedknearestneighbors,简称ppknn):对评分矩阵差分隐私预处理后,再使用基本的基于邻域的推荐方法训练的推荐方法。

其中,的实验同样采用ia作为推荐方法的基准线。basicknn用来对比偏置项的优化效果,而biasedknn则是对比采用的差分隐私保护所带来的推荐准确度的损失,ppknn则是用来对比差分隐私保护效果的方法。通过提出的dpknn与ppknn对比,可以对比提出的差分隐私保护方法dpknn与已有的差分隐私保护推荐方法之间的差异。

实验(隐私保护推荐方法推荐效果)

实验的目的是考察隐私保护推荐方法在不同隐私预算下的准确度,从而说明隐私保护推荐方法相对于无隐私保护的推荐方法在隐私保护时隐私保护带来的推荐准确度损失的代价的大小。实验在ml-100k数据集上进行。实验结果如图2所示。在无隐私保护的方法中,ia,basicmf与biasedmf由于没有差分隐私保护,它们的rmse值不会随着隐私预算∈的变化而变化,一直维持一条直线的状态。

首先,从图中可以看到,在无隐私保护的方法中,basicknn与biasedknn都是低于ia的,biasedknn的rmse值比basicknn低,说明利用偏置项优化的邻域推荐方法相比较基本的邻域推荐方法,推荐效果有一定的提升。

对于隐私保护方法dpknn,在三个数据集中,在隐私预算较低的时候,dpknn的rmse值相对于basicknn与biasedknn相比相对较大,当逐渐增大时,dpknn方法的rmse值逐步降低,并逐渐低于ia,与basicknn的基准线。这说明了提出的差分隐私保护邻域推荐方法可以在达到一定程度的隐私保护的情况下,获得较好的个性化推荐效果,甚至优于传统推荐方法的效果。

对于ppknn与dpknn两种隐私保护方法的对比,ppknn在较低隐私预算下获得了比提出的dpmf方法更低的rmse曲线,说明差分隐私预处理方法对基于邻域的模型是比较有效的,但是随着隐私预算的增加,ppknn的缺点就暴露出来了,虽然dpknn的rmse值随着隐私预算的增加也在逐渐降低,但在在降低到一定的幅度后就无法继续降低了。而提出的dpknn方法随着隐私预算的增加,rmse值逐步降低并低于ppknn与basicknn的rmse直线。这说明了,提出的dpknn方法在差分隐私保护预算略高的情况下,虽然牺牲了一些隐私保护效果,但推荐准确度有显著的提高。并且由于在dpknn方法中对邻域推荐方法的四个环节进行了差分隐私保护,因此即使隐私预算略高,从差分隐私的定义上来说,隐私保护效果会略差,但是在实际情况中,由于本文在方法的四个环节采用了不同类型的差分隐私保护,而ppknn仅仅是在预处理环节进行了差分隐私保护,由于dpknn的保护更为全面,即使隐私预算较高,但实际的隐私保护效果并不会比隐私预算较低的ppknn方法差。而且推荐系统往往更追求推荐效果,因此dpknn在实际应用中的价值是高于ppknn的。

综上所述,本组实验结果表明:提出的dpknn方法不仅是可行的,且可以在确保较高隐私保护程度的情况下,提供较好的推荐准确度。而且相比已有的对邻域推荐方法进行差分隐私保护的方法,可以在稍微牺牲隐私保护的情况下,获得更好的推荐准确度,具有更好的实用价值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1