一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于差分隐私的隐式反馈协同过滤推荐方法

2022-08-27 08:59:08 来源:中国专利 TAG:


1.本发明属于计算机推荐系统和信息安全领域,涉及一种基于差分隐私的隐式反馈协同过滤推荐方法。


背景技术:

2.隐式反馈协同过滤推荐是推荐系统常用的技术,通过对用户的隐式反馈数据建模做个性化推荐以改善客户体验。隐式反馈数据包含各种类型的用户行为,例如购买历史,观看习惯和浏览活动。但是,从保护用户隐私的角度来看,由于隐式反馈协同过滤推荐方法是建立在大量用户隐式反馈数据基础上的,将在这些数据上学习得到的推荐模型发布出去存在着泄露用户隐私的风险。
3.差分隐私是一种能够量化隐私保护水平的隐私保护框架。在此框架下,单个数据的变化对数据集处理结果的影响是极小的,那么通过公开发布的数据集处理结果,攻击者就不能以较高的可信度推测出某个数据样本的隐私信息。同时,差分隐私假设攻击者具有最大背景知识即攻击者掌握除目标数据以外的所有数据。在最大背景知识假设下,差分隐私不需要考虑攻击者可能掌握的任何信息。另外,差分隐私以数学为基础,对隐私保护进行了严格的定义并针对隐私保护水平提出了量化评估方法,使数据集在不同参数处理下的隐私保护水平具有可比性。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种基于差分隐私的隐式反馈协同过滤推荐方法,实现协同过滤推荐模型在安全性和可用性之间的良好平衡。
5.为达到上述目的,本发明提供如下技术方案:
6.一种基于差分隐私的隐式反馈协同过滤推荐方法,具体包括以下步骤:
7.s1:将用户对项目的隐式反馈数据转化成数值为0或1的隐式反馈矩阵,0表示用户对项目的非正反馈,1表示用户对项目的正反馈;
8.s2:随机初始化矩阵p、q、p是用户隐因子矩阵,表示矩阵p的第u行,代表第u个用户的隐因子向量;q是项目隐因子矩阵,表示矩阵q的第i行,代表第i个项目的隐因子向量;是加噪的项目隐因子矩阵,表示矩阵的第i行,代表第i个项目加噪的隐因子向量;d表示隐因子向量的维度;
9.s3:构建目标函数l(p,q),交替最小二乘法(als)求解并保存矩阵p;
10.s4:将s3中得到的p代入l(p,q),得到关于q的目标函数l(q),考虑每一个项目i∈i的目标函数l(qi);将l(qi)展开为多项式,计算系数的敏感度,从laplace分布采样噪声,对l(qi)做目标扰动,得到加噪的目标函数
11.s5:对所有加噪的目标函数求解,得到加噪的隐因子向量聚合所有的
得到矩阵
12.s6:根据公式进行预测,对s1所述隐式反馈矩阵中非正反馈项目的预测结果进行排序,将top-n个项目推荐给用户。
13.进一步,在所述步骤s1中,将用户对项目的隐式反馈数据转化成数值为0或1的隐式反馈矩阵数值0表示用户对项目的非正反馈,数值1表示用户对项目的正反馈,u是包含所有用户的集合,i是包含所有项目的集合,|u|表示u中用户的个数,|i|表示i中项目的个数。
14.进一步,随机初始化矩阵p、q、p是用户隐因子矩阵,表示矩阵p的第u行,代表第u个用户的隐因子向量;q是项目隐因子矩阵,表示矩阵q的第i行,代表第i个项目的隐因子向量;是加噪的项目隐因子矩阵,表示矩阵的第i行,代表第i个项目加噪的隐因子向量;d表示隐因子向量的维度。
15.进一步,在所述步骤s3中,构建目标函数l(p,q),使用交替最小二乘法求解并保存矩阵p。具体包括以下步骤:
16.s31:将隐式反馈矩阵分解成两个低维矩阵p、q,构建目标函数:
[0017][0018][0019]
其中,u表示第u个用户,i表示第i个项目,(u,i)表示第u个用户对第i个项目的隐式反馈,s表示正反馈样本集合,表示非正反馈样本集合,是正反馈损失函数,是非正反馈损失函数,α0是非正反馈损失函数的权重,λ表示正则化系数,‖
·
‖f表示矩阵的f范数,此处α0取值为1。
[0020]
s32:对每一个用户计算用户隐因子向量,第u个用户计算用户隐因子向量pu的计算公式如下:
[0021][0022]
其中,iu表示用户u的正反馈项目集合,表示用户u的非正反馈项目集合,表示表示单位矩阵,根据所有的用户隐因子向量更新矩阵p。
[0023]
s33:对每一个项目计算项目隐因子向量,第i个项目计算项目隐因子向量qi的计算公式如下:
[0024][0025]
其中,ui表示项目i的正反馈用户集合,表示项目i的非正反馈用户集合,
表示表示单位矩阵,根据所有的项目隐因子向量更新矩阵q。
[0026]
重复步骤s32、s33对p、q进行迭代,p、q满足停止条件时结束迭代并保存矩阵p。
[0027]
进一步,在所述步骤s4中,将s3中得到的p代入l(p,q),得到关于q的目标函数l(q),考虑每一个项目i∈i的目标函数l(qi),将l(qi)展开为多项式,计算系数的敏感度,从laplace分布采样噪声,对l(qi)做目标扰动,得到加噪的目标函数具体包括以下步骤:
[0028]
s41:将s3中得到的p代入l(p,q),得到关于q的目标函数l(q),考虑每一个项目i∈i的目标函数l(qi),将l(qi)展开为多项式:
[0029][0030]
其中,ui表示项目i的正反馈用户集合,表示项目i的非正反馈用户集合,表示α0是非正反馈损失函数的权重,λ表示正则化系数,‖
·
‖2表示向量的2范数;|ui|是目标函数l(qi)中的常数项,省略|ui|不影响函数l(qi)的求解,目标函数改为:
[0031]
l(qi)=l2(qi)-l1(qi) r(qi)
[0032]
其中,其中,
[0033]
s42:分别计算目标函数l(qi)中l1(qi)、l2(qi)、r(qi)的系数敏感度δ1、δ2、δ3,计算公式如下:
[0034][0035][0036]
δ3=1-α0[0037]
其中,δ2中此处只考虑对称矩阵的上三角元素导致的变化,从而降低l2(qi)系数的敏感度;接着,非正反馈损失函数将按(1-α0)的比例抵消正反馈损失函数的变化量,按此比例缩小,进一步降低了l2(qi)系数的敏感度,限制噪声规模。
[0038]
s43:分别从laplace分布采样噪声采样噪声取b

=triu(b) tril-1
(b
t
),triu(b)是b的上三角矩阵,tril-1
(b
t
)为b
t
不包含主对角元素的下三角矩阵,是对称矩阵,那么用对称噪声矩阵b

做目标函数扰动保留了矩阵的对称性,可以增强模型效用,∈=∈1 ∈2 ∈3,∈1、∈2、∈3为隐私预算,∈为总体隐私预算。噪声对目标函数l(qi)
进行扰动,laplace噪声扰动后的目标函数如下:
[0039][0040]
其中,其中,
[0041]
进一步,在所述步骤s5中,为了使l2(qi)系数的敏感度降到最低,同时最大化非正反馈损失函数与正反馈损失函数变化量的抵消程度,将中α0的值取为1,此时有δ2=0、δ3=0、∈3=∈,因此l2(qi)、r(qi)的系数不需要扰动,只需扰动l1(qi)的系数,那么只向目标函数l(qi)加入少量的laplace噪声b就能实现差分隐私。为每一个项目i∈i计算加噪的隐因子向量计算公式如下:
[0042][0043]
根据所有加噪的项目隐因子向量更新矩阵
[0044]
进一步,在所述步骤s6中,计算第u个用户的预测向量对隐式反馈矩阵r中非正反馈项目的预测结果进行排序,将top-n个项目推荐给第u个用户。
[0045]
本发明的有益效果在于:本发明针对隐式反馈协同过滤推荐中的隐私泄露问题,提出一种基于差分隐私的隐式反馈协同过滤推荐方法,将用户对项目的隐式反馈数据矩阵分解为两个低维的矩阵,分别表示用户隐因子矩阵和项目隐因子矩阵。由于直接用laplace噪声对目标函数进行扰动会使加入的噪声过大,严重影响推荐模型的可用性。因此,对目标函数进行多项式展开,降低目标函数的敏感度,缩小噪声对目标函数的影响,最大限度保留模型的准确性。本算法在确保推荐模型可用的同时能保证用户隐私数据的安全。
[0046]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0047]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0048]
图1为交替最小二乘法(als)求解矩阵p的示意图;
[0049]
图2为对目标函数加噪声,交替最小二乘法(als)求解的示意图;
[0050]
图3为向用户u推荐项目的示意图;
[0051]
图4为不同隐私预算下本发明与其他方法在hr指标上的对比结果;
[0052]
图5为不同隐私预算下本发明与其他方法在ndcg指标上的对比结果。
具体实施方式
[0053]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0054]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0055]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0056]
请参阅图1~图3,具体包括以下步骤:
[0057]
步骤1、推荐系统将收集到的用户隐式反馈数据转化为数值为0或1的隐式反馈矩阵阵数值0表示用户对项目的非正反馈,数值1表示用户对项目的正反馈,u是包含所有用户的集合,i是包含所有项目的集合,|u|表示u中用户的个数,|i|表示i中项目的个数。
[0058]
步骤2、推荐系统根据隐式反馈矩阵和隐因子向量的维度d生成矩阵p、q、并初始化。
[0059]
步骤3、构建目标函数l(p,q):
[0060][0061][0062]
其中,u表示第u个用户,i表示第i个项目,(u,i)表示第u个用户对第i个项目的隐式反馈,s表示正反馈样本集合,表示非正反馈样本集合,是正反馈损失函数,是非正反馈损失函数,α0是非正反馈损失函数的权重,λ表示正则化系数,‖
·
‖f表示矩阵的f范数,此处α0取值为1。
[0063]
步骤4、固定矩阵q,交替最小二乘法计算矩阵p,对每一个用户计算用户隐因子向量,根据所有的用户隐因子向量更新矩阵p。第u个用户计算用户隐因子向量pu的计算公式如下:
[0064][0065]
其中,iu表示用户u的正反馈项目集合,表示用户u的非正反馈项目集合,表示表示单位矩阵,根据所有的用户隐因子向量更新矩阵p。
[0066]
步骤5、固定矩阵p,交替最小二乘法计算矩阵q,对每一个项目计算项目隐因子向量,根据所有的项目隐因子向量更新矩阵q。第i个项目计算项目隐因子向量qi的计算公式如下:
[0067][0068]
其中,ui表示项目i的正反馈用户集合,表示项目i的非正反馈用户集合,表示pu×
p
ut
,表示单位矩阵,根据所有的项目隐因子向量更新矩阵q。
[0069]
重复步骤4和步骤5,p、q满足条件时停止迭代并保存矩阵p。
[0070]
步骤6、将通过步骤4和步骤5计算得到的p代入l(p,q),得到关于q的目标函数l(q),考虑每一个项目i∈i的目标函数l(qi),将l(qi)展开为多项式:
[0071][0072]
其中,ui表示项目i的正反馈用户集合,表示项目i的非正反馈用户集合,表示pu×
p
ut
,α0是非正反馈损失函数的权重,λ表示正则化系数,‖
·
‖2表示向量的2范数;|ui|是目标函数l(qi)中的常数项,省略|ui|不影响函数l(qi)的求解,目标函数改为:
[0073]
l(qi)=l2(qi)-l1(qi) r(qi)
[0074]
其中,其中,
[0075]
步骤7、分别计算目标函数l(qi)中l1(qi)、l2(qi)、r(qi)的系数敏感度δ1、δ2、δ3,计算公式如下:
[0076][0077][0078]
δ3=1-α0[0079]
其中,δ2中此处只考虑对称矩阵的上三
角元素导致的变化,从而降低l2(qi)系数的敏感度;接着,非正反馈损失函数将按(1-α0)的比例抵消正反馈损失函数的变化量,按此比例缩小,进一步降低了l2(qi)系数的敏感度,限制噪声规模。
[0080]
步骤8、分别从laplace分布采样噪声采样噪声取b

=triu(b) tril-1
(b
t
),triu(b)是b的上三角矩阵,tril-1
(b
t
)为b
t
不包含主对角元素的下三角矩阵,是对称矩阵,那么用对称噪声矩阵b

做目标函数扰动保留了矩阵的对称性,可以增强模型效用,∈=∈1 ∈2 ∈3,∈1、∈2、∈3为隐私预算,∈为总体隐私预算。噪声对目标函数l(qi)进行扰动,laplace噪声扰动后的目标函数如下:
[0081][0082]
其中,其中,
[0083]
步骤9、为了使l2(qi)系数的敏感度降到最低,同时最大化非正反馈损失函数与正反馈损失函数变化量的抵消程度,将中α0的值取为1,此时有δ2=0、δ3=0、∈3=∈,因此l2(qi)、r(qi)的系数不需要扰动,只需扰动l1(qi)的系数,那么只向目标函数l(qi)加入少量的laplace噪声b就能实现差分隐私。为每一个项目i∈i计算加噪的隐因子向量计算公式如下:
[0084][0085]
根据所有加噪的项目隐因子向量更新矩阵
[0086]
步骤10、计算第u个用户的预测向量对隐式反馈矩阵r中非正反馈项目的预测结果进行排序,将top-n个项目推荐给第u个用户。
[0087]
实施例
[0088]
本发明所述的基于差分隐私的隐式反馈协同过滤推荐方法,具体包括以下步骤:
[0089]
步骤一:将用户对项目的隐式反馈数据转化成数值为0或1的隐式反馈矩阵,数值0表示用户对项目的非正反馈,数值1表示用户对项目的正反馈。根据隐式反矩阵中所包含的用户数|u|和项目数|i|,初始化用户隐因子矩阵p和项目隐因子矩阵q。构建目标函数l(p,q),交替最小二乘法求解p并保存。求解过程如图1所示。
[0090]
步骤二:将步骤一中得到的p代入l(p,q),得到关于q的目标函数l(q),考虑每一个项目i∈i的目标函数l(qi),将l(qi)展开为多项式l(qi)=l2(qi)-l1(qi) r(qi),分别计算l(qi)中l1(qi)、l2(qi)、r(qi)的系数敏感度δ1、δ2、δ3。分别从laplace分布采样噪声取b

=triu(b) tril-1
(b
t
),triu(b)是b的上三角矩阵,tril-1
(b
t
)为b
t
不包含主对角元素的下三角矩阵,是
对称矩阵。噪声对称矩阵。噪声对目标函数l(qi)进行扰动得到为了使l2(qi)系数的敏感度降到最低,同时最大化非正反馈损失函数与正反馈损失函数变化量的抵消程度,将中α0的值取为1,求解加噪的隐因子向量具体过程如图2所示。
[0091]
步骤三:根据s6中的公式计算用户的预测向量,对隐式反馈矩阵r中非正反馈项目的预测结果进行排序,将top-n个项目推荐给第u个用户,推荐过程如图3所示。
[0092]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献