CN111125517B - 一种基于差分隐私和时间感知的隐式矩阵分解推荐方法 - Google Patents

一种基于差分隐私和时间感知的隐式矩阵分解推荐方法 Download PDF

Info

Publication number
CN111125517B
CN111125517B CN201911238456.0A CN201911238456A CN111125517B CN 111125517 B CN111125517 B CN 111125517B CN 201911238456 A CN201911238456 A CN 201911238456A CN 111125517 B CN111125517 B CN 111125517B
Authority
CN
China
Prior art keywords
user
matrix
item
representing
scoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911238456.0A
Other languages
English (en)
Other versions
CN111125517A (zh
Inventor
李蜀瑜
耿玥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shaanxi Normal University
Original Assignee
Shaanxi Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shaanxi Normal University filed Critical Shaanxi Normal University
Priority to CN201911238456.0A priority Critical patent/CN111125517B/zh
Publication of CN111125517A publication Critical patent/CN111125517A/zh
Application granted granted Critical
Publication of CN111125517B publication Critical patent/CN111125517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于差分隐私和时间感知的隐式矩阵分解推荐方法,可使隐私保护和推荐的准确度达到很好的平衡。思路为:首先对用户的评分数据进行规范化,在将用户的评分数据发送给推荐系统之前,为每个子评分矩阵分配隐私预算,对矩阵中的每个评分进行扰动,再利用改进的隐式矩阵分解算法构建子矩阵分解模型,分析用户在每个时间间隔从数据集中学习到的兴趣,得到子矩阵的用户特征矩阵和项目特征矩阵,再利用自回归时间序列分析模型挖掘用户和项目的特征随时间变化趋势,计算得到未来某个时间段的行为预测值,选择预测评分值最大的TOP‑N个项目对用户进行推荐。

Description

一种基于差分隐私和时间感知的隐式矩阵分解推荐方法
技术领域
本发明涉及数据安全技术领域,特别涉及一种基于差分隐私和时间感知的隐式矩阵分解推荐方法。
背景技术
大数据时代为用户提供了丰富的信息,影响着越来越多的人的日常生活。与此同时,它给各行各业研究带来了巨大的机遇和挑战。如何从海量的数据中提取有用的知识成为一个关键问题,越来越受到人们的关注。推荐系统利用数据挖掘技术为用户提供个性化的服务,解决了信息过载问题,并已应用于许多工业领域。同时,推荐系统也引起了许多研究者的关注。推荐系统的研究已成为当前的一个重要研究领域。
推荐系统根据用户的行为记录为用户提供个性化的推荐服务,然而,个性化和隐私保护之间往往存在着矛盾。利用推荐系统收集的信息,潜在的对手甚至系统服务器可以推断出用户的敏感信息,例如家庭位置、政治观点、宗教倾向等。因此,为了保护用户隐私,许多研究通过传统的隐私保护方法,如密码学、扰动、混淆,对原始用户数据进行了篡改。虽然传统的隐私保护方法在推荐中得到了广泛的应用,但这些方法往往存在着隐私保障观念薄弱的问题,影响了最终结果的可信度。
发明内容
针对现有技术中存在的问题,本发明的目的在于提供一种基于差分隐私和时间感知的隐式矩阵分解推荐方法,该方法在保护个人隐私数据不受侵害的情况下,不仅可以解决用户兴趣漂移的问题,同时也可起到缓解数据稀疏性和数据降维的效果,使隐私保护和推荐的准确度达到很好的平衡。
为达到上述目的,本发明采用以下技术方案予以实现。
一种基于差分隐私和时间感知的隐式矩阵分解推荐方法,包括以下步骤:
步骤1,确定用户对项目的历史评分数据集D,所述用户对项目的历史评分数据集D包括M个用户和N个项目,以及用户-项目评分矩阵
Figure BDA0002305505630000021
其中,M表示用户的个数,N表示项目的个数;所述用户-项目评分矩阵中的元素记为rui,rui∈R,代表用户u对项目i的评分;每条评分记录都有其对应的时间戳,代表用户u对项目i评分的具体时间;
步骤2,对用户-项目评分矩阵R进行归一化处理,使得矩阵中每个元素的取值范围转化为0到1区间内,得到预处理后的用户-项目评分矩阵
Figure BDA0002305505630000022
步骤3,设定时间序列P={t1,t2,...,tT},T表示时间序列的长度,根据用户评分数据的时间戳,划分所述预处理后的用户-项目评分矩阵
Figure BDA0002305505630000023
得到T个互不相交的子评分矩阵,即用户的时间序列评分矩阵
Figure BDA0002305505630000024
步骤4,根据时间衰减函数为所述用户的时间序列评分矩阵
Figure BDA0002305505630000025
分配隐私预算{ε12,...,εT};并对评分矩阵
Figure BDA0002305505630000026
中的所有项目评分
Figure BDA0002305505630000027
添加拉普拉斯噪声,得到扰动后的用户的时间序列评分矩阵
Figure BDA0002305505630000028
其中
Figure BDA0002305505630000029
步骤5,随机初始化用户特征矩阵
Figure BDA00023055056300000210
和项目特征矩阵
Figure BDA00023055056300000211
其中K为超参数,表示K维潜在向量空间;设定最大迭代次数为maxIter,获得优化更新后的用户特征矩阵Pt和项目特征矩阵Qt
步骤6,对于扰动后的用户的序列评分矩阵
Figure BDA0002305505630000031
中的任一t时刻的评分矩阵
Figure BDA0002305505630000032
执行步骤5,获得用户序列特征矩阵P1,P2,...PT和项目特征矩阵Q1,Q2,...QT
步骤7,利用自回归模型计算用户和项目特征矩阵随时间变化的趋势,根据得到的T个时间段中的用户特征矩阵和项目特征矩阵,获得T+1时刻的用户特征矩阵PT+1以及T+1时刻的项目特征矩阵QT+1
步骤8,计算T+1时间段的评分矩阵R'T+1=PT+1QT+1,选择预测评分值最大的TOP-N个项目对用户进行推荐,实现对用户推荐其未来某一段时间可能感兴趣的项目的任务。
本发明的总体思想是为不可信的推荐系统提供扰动的用户对项目的评分数据,防止推荐系统得到用户的敏感信息。本发明提供的方法通过将矩阵分解与时序模型相结合的方式,利用自回归模型和矩阵分解算法完成推荐的任务。首先利用隐式矩阵分解算法得到用户和项目的特征向量,算法考虑到未评分的数据权重,对稀疏矩阵进行较好的数据处理;其次利用自回归模型研究时间序列中用户和项目特征向量的变化,可以捕获用户的兴趣随时间的变化,同时利用差分隐私机制对用户的评分进行很好的保护。
与现有技术相比,本发明的有益效果为:
本发明考虑到时间对用户的历史评分数据的权重影响,根据时间衰减函数,结合差分隐私模型对不同时间段的评分数据进行输入扰动,避免了在不受信的推荐系统中敏感信息泄露的问题;其次根据项目的流行度来分配缺失数据的权重,设计了隐式反馈矩阵分解算法,有效的调整了传统的矩阵分解模型;再者考虑到用户兴趣随时间会不断变化,将用户和项目特征矩阵的时序数据代入多维时序模型中,有效的解决用户的兴趣漂移问题;通过上述隐私保护步骤,使得用户的历史评分数据在隐私保护的前提下,依然能够对用户有较好的推荐效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于差分隐私和时间感知的隐式矩阵分解推荐方法的一种实施例的流程示意图;
图2为对两个数据集Movielens-100k和Yelp使用传统的推荐系统模型DP-SVD和本发明提出的推荐系统模型DP-TRS在相同的隐私预算分配的情况下,随着迭代次数的增加,两个模型的收敛速度及推荐准确度的对比情况结果图;
图3为对数据集Movielens-1M使用本发明提出的推荐系统模型DP-TRS,在不同隐私预算和不同参数的情况下,对比推荐结果的准确度的效果图;
图4为对数据集Yelp使用本发明提出的推荐系统模型DP-TRS,在不同隐私预算和不同参数的情况下,对比推荐结果的准确度的效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了一种基于差分隐私和时间感知的隐式矩阵分解推荐方法,主要思路为:首先对用户的评分数据进行规范化,目的是提高模型收敛速度和精度。在将用户的评分数据发送给推荐系统之前,本发明利用时间衰减函数为每个子评分矩阵分配隐私预算,通过差分隐私的Laplace机制对矩阵中的每个评分进行扰动,保证了用户的敏感信息不被泄露。要提供相对准确的项目推荐,就需要捕捉用户的动态兴趣和项目内容的时间变化。同时考虑到利用改进的隐式矩阵分解算法构建子矩阵分解模型,分析用户在每个时间间隔从数据集中学习到的兴趣,得到子矩阵的用户特征矩阵和项目特征矩阵,然后利用自回归时间序列分析模型挖掘用户和项目的特征随时间变化趋势,通过矩阵计算得到未来某个时间段的行为预测值,选择预测评分值最大的TOP-N个项目对用户进行推荐。
示例性的,
参考图1,本发明实施例提供了一种基于差分隐私和时间感知的隐式矩阵分解推荐方法,包括以下步骤:
步骤1,确定用户对项目的历史评分数据集D,所述用户对项目的历史评分数据集D包括M个用户和N个项目,以及用户-项目评分矩阵
Figure BDA0002305505630000051
其中,M表示用户的个数,N表示项目的个数;所述用户-项目评分矩阵中的元素记为rui,rui∈R,代表用户u对项目i的评分;每条评分记录都有其对应的时间戳,代表用户u对项目i评分的具体时间;
步骤2,对用户-项目评分矩阵R进行归一化处理,使得矩阵中每个元素的取值范围转化为0到1区间内,得到预处理后的用户-项目评分矩阵R;
步骤3,根据数据集中的时间戳属性,对历史评分数据做分片处理,设定时间序列P={t1,t2,...,tT},T表示时间序列的长度,本实施例设定T=30和T=60;根据用户评分数据的时间戳,划分预处理后的用户-项目评分矩阵
Figure BDA0002305505630000061
得到T个互不相交的子评分矩阵,即用户的时间序列评分矩阵
Figure BDA0002305505630000062
步骤4,对步骤3划分好的用户的时间序列评分矩阵
Figure BDA0002305505630000063
分配隐私预算{ε12,...,εT};并对评分矩阵
Figure BDA0002305505630000064
中的所有项目评分
Figure BDA0002305505630000065
添加拉普拉斯噪声,得到扰动后的用户的时间序列评分矩阵
Figure BDA0002305505630000066
其中
Figure BDA0002305505630000067
考虑到随着时间的流逝,用户的兴趣也在变化,对于用户来说时间久远的评分对于现在来说没有那么重要。若对每个时间段的评分都采用统一的预算分配,则对于敏感的数据不能增加更多的隐私保护,同时还可能对结果产生大量的误差干扰。
因此,本发明考虑到用户对项目的评分的重要性随时间呈现衰减的趋势,针对不同时间段的用户项目评分采取利用时间衰减函数分配隐私预算的方式,根据时间的久远程度为用户的评分分配不同的隐私预算,对不同敏感程度的数据进行了与之相应的隐私保护。
具体的,包含以下子步骤:
子步骤4.1,对于任意t(t∈T)时刻的用户的时间序列评分矩阵
Figure BDA0002305505630000068
根据时间衰减函数,为所述时间序列评分矩阵
Figure BDA0002305505630000069
分配的隐私预算εt(0≤t≤T)为:
Figure BDA0002305505630000071
其中,Importt=1·e-α(T-t),代表评分数据随时间的重要程度;α是超参数;ε是超参数,代表隐私保护程度,ε值越小,隐私保护程度越高,ε值越大,隐私保护程度越低。
子步骤4.2,对所述用户的时间序列评分矩阵
Figure BDA0002305505630000072
中的所有项目评分
Figure BDA0002305505630000073
添加拉普拉斯噪声,对于任一用户u对项目i的评分
Figure BDA0002305505630000074
根据公式
Figure BDA0002305505630000075
加入噪声
Figure BDA0002305505630000076
其中,
Figure BDA0002305505630000077
子步骤4.3,将扰动后的评分控制在范围
Figure BDA0002305505630000078
中,根据公式:
Figure BDA0002305505630000079
作为后处理,对扰动后的评分进行限制,得到扰动后的用户的序列评分矩阵
Figure BDA00023055056300000710
其中
Figure BDA00023055056300000711
步骤5,随机初始化用户特征矩阵
Figure BDA00023055056300000712
和项目特征矩阵
Figure BDA00023055056300000713
其中K为超参数,表示K维潜在向量空间;设定最大迭代次数为maxIter,获得优化更新后的用户特征矩阵Pt和项目特征矩阵Qt
由于评分矩阵空间较大,并且评分矩阵为一个稀疏矩阵,即存在大量负反馈评分。因此本发明考虑到推荐系统很容易访问项目端的负反馈信息,基于某些项目属性对缺失的数据进行加权,设计的目标函数如下:
Figure BDA00023055056300000714
其中第一项表示观察到的评分的预测误差,这已被广泛用于建模显式评分中,其中wui定义为每条评分记录
Figure BDA0002305505630000081
的权重,并且使用W=[wui]M×N来表示权重矩阵,估计评分
Figure BDA0002305505630000082
第二项表示对于缺失的数据的处理,它充当了负反馈的作用。其中:
Figure BDA0002305505630000083
其中cui表示缺失评分的项目的置信度。c0和k是超参数,代表用户的活跃度和项目的流行程度各自的权重。
Figure BDA0002305505630000084
表示项目i的受欢迎程度,由其在隐式反馈数据中的出现频率fi可知。
Figure BDA0002305505630000085
表示用户的活跃度,从用户u对项目评分的频率fu可知。第三项是正则化项,防止过拟合。λ控制正则化的强度,这通常是防止过拟合的L2规范。pu表示用户u的潜在特征向量,qi表示项目i的潜在特征向量。
因此本发明通过设计的隐式矩阵分解算法,根据t时刻的评分矩阵
Figure BDA0002305505630000086
执行子步骤5.1至子步骤5.5,可以得到用户特征矩阵
Figure BDA0002305505630000087
和项目特征矩阵
Figure BDA0002305505630000088
具体的,
子步骤5.1,随机初始化用户特征矩阵Pt和项目特征矩阵Qt,计算估计评分
Figure BDA0002305505630000089
其中
Figure BDA00023055056300000810
表示原始评分数据加噪后的评分
Figure BDA00023055056300000811
中非零的用户-项目对;
子步骤5.2,设定最大迭代次数为maxIter,循环执行子步骤5.3-5.6;
子步骤5.3,计算缓存
Figure BDA00023055056300000812
对于每个用户u(1≤u≤M),重复执行子步骤5.3.1;
子步骤5.3.1,对于潜在特征f(1≤f≤k),k为超参数,表示潜在特征数目,重复执行子步骤5.3.1.1-5.3.1.3;
子步骤5.3.1.1,对于
Figure BDA0002305505630000091
其中
Figure BDA0002305505630000092
表示被用户u评价过的项目的集合,遍历参数i,根据公式计算:
Figure BDA0002305505630000093
子步骤5.3.1.2,根据公式计算:
Figure BDA0002305505630000094
子步骤5.3.1.3,对于
Figure BDA0002305505630000095
再次遍历参数i,根据公式计算:
Figure BDA0002305505630000096
子步骤5.4,结束子步骤5.3的所有遍历后,得到一次迭代中更新后的用户特征矩阵Pt
子步骤5.5,计算缓存Sq=PTP,对于每个项目i(1≤i≤N),重复执行子步骤5.5.1;
子步骤5.5.1,对于潜在特征f(1≤f≤k);重复执行子步骤5.5.1.1-5.5.1.3;
子步骤5.5.1.1,对于
Figure BDA0002305505630000097
其中
Figure BDA0002305505630000098
表示评价过的项目i的所有用户的集合;遍历参数i,根据公式计算:
Figure BDA0002305505630000099
子步骤5.5.1.2,根据公式计算:
Figure BDA00023055056300000910
子步骤5.5.1.3,对于
Figure BDA00023055056300000911
再次遍历参数i,根据公式计算:
Figure BDA0002305505630000101
子步骤5.6,结束子步骤5.5的所有遍历后,得到一次迭代中更新后的项目特征矩阵Qt
子步骤5.7,通过迭代子步骤5.3-5.6,达到maxIter次后,得到优化更新后的用户特征矩阵Pt和项目特征矩阵Qt
步骤6,对于扰动后的用户的序列评分矩阵
Figure BDA0002305505630000102
中的任一t时刻的评分矩阵
Figure BDA0002305505630000103
执行步骤5,获得用户序列特征矩阵P1,P2,...PT和项目特征矩阵Q1,Q2,...QT
步骤7,利用自回归模型计算用户和项目特征矩阵随时间变化的趋势,根据得到的T个时间段中的用户特征矩阵和项目特征矩阵,获得T+1时刻的用户特征矩阵PT+1以及T+1时刻的项目特征矩阵QT+1
具体的,包含以下子步骤:
子步骤7.1,利用得到的T个用户特征矩阵Pt(t∈T)和项目特征矩阵Qt(t∈T),通过以下公式执行子步骤7.2,计算得到T+1时刻的用户u的用户特征矩阵
Figure BDA0002305505630000104
和项目特征矩阵
Figure BDA0002305505630000105
Figure BDA0002305505630000106
Figure BDA0002305505630000107
其中
Figure BDA0002305505630000108
是系数矩阵,
Figure BDA0002305505630000109
为白噪声;
子步骤7.2,预测用户特征矩阵
Figure BDA00023055056300001010
执行子步骤7.2.1,用最小二乘估计方法学习公式中的参数
Figure BDA00023055056300001011
子步骤7.2.1,计算残差
Figure BDA00023055056300001012
并且利用子步骤7.2.2计算使残差平方和
Figure BDA00023055056300001013
达到最小,得到自回归参数的估计;
子步骤7.2.2,计算:
Figure BDA0002305505630000111
得到如下线性方程组:
Y=XC+ε
目标函数表示为:
L(C)=(Y-XC)T(Y-XC)=YYT-2YTXC+CTXTXC
对参数C求导并令其为0,可得:
Figure BDA0002305505630000112
参数C的最小二乘估计为:
C=(XTX)-1XTY
将参数C带入式
Figure BDA0002305505630000113
中,得T+1时刻的用户特征矩阵
Figure BDA0002305505630000114
子步骤7.3,预测项目特征矩阵QT+1,执行子步骤7.2.1,用最小二乘估计方法学习公式中的参数
Figure BDA0002305505630000115
带入式
Figure BDA0002305505630000116
中,得T+1时刻的项目特征矩阵QT+1
步骤8,计算T+1时间段的评分矩阵R'T+1=PT+1QT+1,选择预测评分值最大的TOP-N个项目对用户进行推荐,实现对用户推荐其未来某一段时间可能感兴趣的项目的任务。
通过以下仿真实验对本发明所提供的基于差分隐私和时间感知的隐式矩阵分解推荐方法效果作进一步验证说明。
1、仿真实验条件:
实验环境:采用Inter(R)Core(TM)i5-6600CPU@3.30HGz,64位Windows10操作系统和Python3.6、JAVA语言作为本发明的开发环境。
实验数据:采用公开数据集Yelp和Movielens-100k(ML-100K)、Movielens-1M(ML-1M)作为本发明使用的数据集。
具体数据情况如表1数据集信息统计表所示;
数据集名称 用户数量 项目数量 评分记录条数
Movielens-100k 568 917 83437
Movielens-1M 4297 3018 938553
Yelp 1392 4075 133383
评估方法:本发明采用平均绝对误差(Mean Absolute Error,MAE)对预测结果的有效性进行评估。MAE通过计算预测评分与实际评分之间的偏差来度量预测的准确性,是最常用的一种推荐效果评估方法,该值越小,表明预测的性能越好。
Figure BDA0002305505630000121
其中rui
Figure BDA0002305505630000122
分别表示用户对项目的真实评分和预测评分;R表示样本的数量。
为了保证实验的真实可靠性,本发明采用5倍交叉验证来训练和评估推荐系统。即将每个数据集平分为5个子数据集,其中采取前4个作为训练集,最后1个为测试集,并且取实验的平均值作为最终结果。
2、仿真实验结果:
仿真实验结果一
选取Movielens-100k和Yelp两个数据集作为本次实验的数据集,本次实验主要是比较传统的推荐系统模型DP-SVD和本发明提出的推荐系统模型DP-TRS在相同的隐私预算分配的情况下,在迭代过程中,两个模型的收敛速度及准确度的对比情况。本次的实验参数设置为总的隐私预算ε=1,对于DP-TRS来说,采取联合潜在特征空间的维度K=30,时间序列的长度T=30作为其设定的参数。则求得不同的迭代次数下传统的推荐系统模型DP-SVD和本发明提出的推荐系统模型DP-TRS推荐效果性能评估如图2所示。从图2可以看出,所取的Movielens-100k数据集在传统的推荐系统模型DP-SVD中的平均绝对误差最低降到了0.9左右,而在本发明提出的推荐系统模型DP-TRS中的平均绝对误差最低降到了0.47左右;所取的Yelp数据集在传统的推荐系统模型DP-SVD中的平均绝对误差最低降到了0.72左右,而在本发明提出的推荐系统模型DP-TRS中的平均绝对误差最低降到了0.48左右,并且两组实验结果都趋于稳定。由此可以得出,在总的隐私预算相同的情况下,本发明提出的推荐系统模型DP-TRS的收敛速度比传统的推荐系统模型DP-SVD收敛速度要快。并且在模型收敛后,本发明提出的推荐系统模型DP-TRS的准确度要高于传统的推荐系统模型DP-SVD。从而可知,本发明提供的模型在保证差分隐私的情况下,保证了良好的推荐准确性,并且数据集越大,推荐的准确率越稳定。
仿真实验结果二
选取Movielens-1M和Yelp两个数据集作为本次实验的数据集,模型DP-TRS主要有三个重要的参数:隐私参数ε控制模型的保护程度;联合潜在特征空间的维度K和时间序列的长度T控制模型的准确度。本次实验主要是对比不同隐私预算和不同参数的数据集的情况下,对推荐结果的准确度的变化。图3是采用数据集Movielens-1M,设总的隐私预算ε分别为ε=0.1、ε=0.5、ε=1、ε=5、ε=10的情况下,不同的潜在特征空间的维度K=30、K=64和不同的时间序列的长度T=30、T=60对实验结果的准确度的影响。其中clean K=30T=30、clean K=64T=30、clean K=30T=60和clean K=64T=60均为不对原始数据添加噪声的实验结果。图4是采用数据集Yelp,设置总的隐私预算ε分别为别ε=0.1、ε=0.5、ε=1、ε=5、ε=10的情况下,不同的潜在特征空间的维度K=30、K=64和不同的时间序列的长度T=30、T=60对实验结果的准确度的影响。其中clean K=30T=30、clean K=64T=30、cleanK=30T=60和clean K=64T=60均为不对原始数据添加噪声的实验结果。从图3和图4可以看出,(1)在时间序列的长度相同的情况下,潜在特征空间的维度越大,平均绝对误差越小,即推荐效果越好;(2)在潜在特征空间的维度相同的情况下,时间序列的长度为60的推荐效果要优于时间序列的长度为30的推荐效果;(3)随着隐私预算的增加,在差分隐私保护下的实验结果越来越接近未加噪数据的实验结果,说明可以本发明提供的推荐系统模型可以在一定程度上保证用户评分数据隐私的情况下,提供良好的推荐效果,达到推荐系统的效用性和隐私保护的安全性的平衡。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (3)

1.一种基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,包括以下步骤:
步骤1,确定用户对项目的历史评分数据集D,所述用户对项目的历史评分数据集D包括M个用户和N个项目,以及用户-项目评分矩阵
Figure FDA0003992956620000011
其中,M表示用户的个数,N表示项目的个数;所述用户-项目评分矩阵中的元素记为rui,rui∈R,代表用户u对项目i的评分;每条评分记录都有其对应的时间戳,代表用户u对项目i评分的具体时间;
步骤2,对用户-项目评分矩阵R进行归一化处理,使得矩阵中每个元素的取值范围转化为0到1区间内,得到预处理后的用户-项目评分矩阵
Figure FDA0003992956620000012
步骤3,设定时间序列P={t1,t2,...,tT},T表示时间序列的长度,根据用户评分数据的时间戳,划分所述预处理后的用户-项目评分矩阵
Figure FDA0003992956620000013
得到T个互不相交的子评分矩阵,即用户的时间序列评分矩阵
Figure FDA0003992956620000014
步骤4,根据时间衰减函数为所述用户的时间序列评分矩阵
Figure FDA0003992956620000015
分配隐私预算{ε12,...,εT};并对评分矩阵
Figure FDA0003992956620000016
中的所有项目评分
Figure FDA0003992956620000017
添加拉普拉斯噪声,得到扰动后的用户的时间序列评分矩阵
Figure FDA0003992956620000018
其中
Figure FDA0003992956620000019
步骤5,随机初始化用户特征矩阵
Figure FDA00039929566200000110
和项目特征矩阵
Figure FDA00039929566200000111
其中K为超参数,表示K维潜在向量空间;设定最大迭代次数为maxIter,获得优化更新后的用户特征矩阵Pt和项目特征矩阵Qt
步骤5包括以下子步骤:
子步骤5.1,随机初始化用户特征矩阵Pt和项目特征矩阵Qt,计算估计评分
Figure FDA00039929566200000112
其中
Figure FDA00039929566200000113
Figure FDA00039929566200000114
表示原始评分数据加噪后的评分
Figure FDA00039929566200000115
中非零的用户-项目对;
其中,pu表示用户u的潜在特征向量,为K×1的竖向量,
Figure FDA0003992956620000021
为pu的转置向量,qi表示项目i的潜在特征向量,为K×1的竖向量;
子步骤5.2,设定最大迭代次数为maxIter,循环执行子步骤5.3-5.6;
子步骤5.3,计算缓存
Figure FDA0003992956620000022
对于每个用户u(1≤u≤M),重复执行子步骤5.3.1;其中,ci表示缺失评分的项目的置信度,qi表示项目i的潜在特征向量,
Figure FDA0003992956620000023
为qi的转置向量;
子步骤5.3.1,对于潜在特征f(1≤f≤k),k为超参数,表示潜在特征数目,重复执行子步骤5.3.1.1-5.3.1.3;
子步骤5.3.1.1,对于
Figure FDA0003992956620000024
其中
Figure FDA0003992956620000025
表示被用户u评价过的项目的集合,遍历参数i,根据公式计算:
Figure FDA0003992956620000026
其中,puf表示用户u的第f个潜在特征值,qif表示项目i的第f个潜在特征值,
Figure FDA0003992956620000027
为用户u对项目i的预测评分,
Figure FDA0003992956620000028
表示不含潜在特征f的预测评分;
子步骤5.3.1.2,根据公式计算:
Figure FDA0003992956620000029
其中,cui表示缺失评分的项目的置信度,wui为每条评分记录
Figure FDA00039929566200000210
的权重,puk表示用户u的第k个潜在特征值,
Figure FDA00039929566200000211
表示扰动后的评分记录,
Figure FDA00039929566200000212
表示缓存矩阵Sq中第k行,第f列的元素值,
Figure FDA00039929566200000213
表示缓存矩阵Sq中第f行,第f列的元素值,λ表示正则化项,用于防止过拟合;
子步骤5.3.1.3,对于
Figure FDA00039929566200000214
再次遍历参数i,根据公式计算:
Figure FDA00039929566200000215
其中,puf表示用户u的第f个潜在特征值,qif表示项目i的第f个潜在特征值,
Figure FDA0003992956620000031
为用户u对项目i的预测评分,
Figure FDA0003992956620000032
表示不含潜在特征f的预测评分;
子步骤5.4,结束子步骤5.3的所有遍历后,得到一次迭代中更新后的用户特征矩阵Pt
子步骤5.5,计算缓存Sq=PTP,对于每个项目i(1≤i≤N),重复执行子步骤5.5.1;
其中,
Figure FDA0003992956620000033
为用户特征矩阵,PT为P的转置矩阵;
子步骤5.5.1,对于潜在特征f(1≤f≤k);重复执行子步骤5.5.1.1-5.5.1.3;
子步骤5.5.1.1,对于
Figure FDA0003992956620000034
其中
Figure FDA0003992956620000035
表示评价过的项目i的所有用户的集合;遍历参数i,根据公式计算:
Figure FDA0003992956620000036
其中,puf表示用户u的第f个潜在特征值,qif表示项目i的第f个潜在特征值,
Figure FDA0003992956620000037
为用户u对项目i的预测评分,
Figure FDA0003992956620000038
表示不含潜在特征f的预测评分;
子步骤5.5.1.2,根据公式计算:
Figure FDA0003992956620000039
其中,cui表示缺失评分的项目的置信度,wui为每条评分记录
Figure FDA00039929566200000310
的权重,qik表示项目i的第k个潜在特征值,
Figure FDA00039929566200000311
表示扰动后的评分记录,
Figure FDA00039929566200000312
表示缓存矩阵Sp中第k行,第f列的元素值,
Figure FDA00039929566200000313
表示缓存矩阵Sp中第f行,第f列的元素值,λ表示正则化项,用于防止过拟合;
子步骤5.5.1.3,对于
Figure FDA00039929566200000314
再次遍历参数i,根据公式计算:
Figure FDA00039929566200000315
子步骤5.6,结束子步骤5.5的所有遍历后,得到一次迭代中更新后的项目特征矩阵Qt
子步骤5.7,通过迭代子步骤5.3-5.6,达到maxIter次后,得到优化更新后的用户特征矩阵Pt和项目特征矩阵Qt
步骤6,对于扰动后的用户的序列评分矩阵
Figure FDA0003992956620000041
中的任一t时刻的评分矩阵
Figure FDA0003992956620000042
执行步骤5,获得用户序列特征矩阵P1,P2,...PT和项目特征矩阵Q1,Q2,...QT
步骤7,利用自回归模型计算用户和项目特征矩阵随时间变化的趋势,根据得到的T个时间段中的用户特征矩阵和项目特征矩阵,获得T+1时刻的用户特征矩阵PT+1以及T+1时刻的项目特征矩阵QT+1
步骤7包含以下子步骤:
子步骤7.1,利用得到的T个用户特征矩阵Pt(t∈T)和项目特征矩阵Qt(t∈T),通过以下公式执行子步骤7.2,计算得到T+1时刻的用户u的用户特征矩阵
Figure FDA0003992956620000043
和项目特征矩阵
Figure FDA0003992956620000044
Figure FDA0003992956620000045
Figure FDA0003992956620000046
其中
Figure FDA0003992956620000047
是系数矩阵,
Figure FDA0003992956620000048
为白噪声;
子步骤7.2,预测用户特征矩阵
Figure FDA0003992956620000049
执行子步骤7.2.1,用最小二乘估计方法学习公式中的参数
Figure FDA00039929566200000410
子步骤7.2.1,计算残差
Figure FDA00039929566200000411
并且利用子步骤7.2.2计算使残差平方和
Figure FDA00039929566200000412
达到最小,得到自回归参数的估计;
子步骤7.2.2,计算:
Figure FDA0003992956620000051
得到如下线性方程组:
Y=XC+ε
目标函数表示为:
L(C)=(Y-XC)T(Y-XC)=YYT-2YTXC+CTXTXC
对参数C求导并令其为0,可得:
Figure FDA0003992956620000052
参数C的最小二乘估计为:
C=(XTX)-1XTY
将参数C带入式
Figure FDA0003992956620000053
中,得T+1时刻的用户特征矩阵
Figure FDA0003992956620000054
子步骤7.3,预测项目特征矩阵QT+1,执行子步骤7.2.1,用最小二乘估计方法学习公式中的参数
Figure FDA0003992956620000055
带入式
Figure FDA0003992956620000056
中,得T+1时刻的项目特征矩阵QT+1
步骤8,计算T+1时间段的评分矩阵R'T+1=PT+1QT+1,选择预测评分值最大的TOP-N个项目对用户进行推荐,实现对用户推荐其未来某一段时间可能感兴趣的项目的任务。
2.根据权利要求1所述的基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,步骤4包括以下子步骤:
子步骤4.1,对于任意t(t∈T)时刻的用户的时间序列评分矩阵
Figure FDA0003992956620000057
根据时间衰减函数,为所述时间序列评分矩阵
Figure FDA0003992956620000058
分配的隐私预算εt(0≤t≤T)为:
Figure FDA0003992956620000061
其中,Importt=1·e-α(T-t),代表评分数据随时间的重要程度;α是超参数;ε是超参数,代表隐私保护程度;
子步骤4.2,对所述用户的时间序列评分矩阵
Figure FDA0003992956620000062
中的所有项目评分
Figure FDA0003992956620000063
添加拉普拉斯噪声,对于任一用户u对项目i的评分
Figure FDA0003992956620000064
根据公式
Figure FDA0003992956620000065
加入噪声
Figure FDA0003992956620000066
其中,
Figure FDA0003992956620000067
子步骤4.3,将扰动后的评分控制在范围
Figure FDA0003992956620000068
中,根据公式:
Figure FDA0003992956620000069
作为后处理,对扰动后的评分进行限制,得到扰动后的用户的序列评分矩阵
Figure FDA00039929566200000610
其中
Figure FDA00039929566200000611
3.根据权利要求1所述的基于差分隐私和时间感知的隐式矩阵分解推荐方法,其特征在于,在进行步骤5.1-5.5时,设定目标函数如下:
Figure FDA00039929566200000612
其中,wui定义为每条评分记录
Figure FDA00039929566200000613
的权重;W=[wui]M×N,表示权重矩阵;
Figure FDA00039929566200000614
为用户u对项目i的预测评分;
Figure FDA00039929566200000615
其中,cui表示缺失评分的项目的置信度;c0和k是超参数,代表用户的活跃度和项目的流行程度各自的权重;
Figure FDA0003992956620000071
表示项目i的受欢迎程度,由其在隐式反馈数据中的出现频率fi可知;
Figure FDA0003992956620000072
表示用户的活跃度,从用户u对项目评分的频率fu可知;
其中,λ为超参数,代表约束正则化;pu表示用户u的潜在特征向量,qi表示项目i的潜在特征向量。
CN201911238456.0A 2019-12-06 2019-12-06 一种基于差分隐私和时间感知的隐式矩阵分解推荐方法 Active CN111125517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911238456.0A CN111125517B (zh) 2019-12-06 2019-12-06 一种基于差分隐私和时间感知的隐式矩阵分解推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911238456.0A CN111125517B (zh) 2019-12-06 2019-12-06 一种基于差分隐私和时间感知的隐式矩阵分解推荐方法

Publications (2)

Publication Number Publication Date
CN111125517A CN111125517A (zh) 2020-05-08
CN111125517B true CN111125517B (zh) 2023-03-14

Family

ID=70498078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911238456.0A Active CN111125517B (zh) 2019-12-06 2019-12-06 一种基于差分隐私和时间感知的隐式矩阵分解推荐方法

Country Status (1)

Country Link
CN (1) CN111125517B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112632462B (zh) * 2020-12-22 2022-03-18 天津大学 基于时序矩阵分解的同步量测缺失数据修复方法及装置
CN113177229A (zh) * 2021-04-29 2021-07-27 Oppo广东移动通信有限公司 数据处理方法及相关装置
CN113204793A (zh) * 2021-06-09 2021-08-03 辽宁工程技术大学 一种基于个性化差分隐私保护的推荐方法
CN113449210B (zh) * 2021-07-01 2023-01-31 深圳市数字尾巴科技有限公司 基于时空特征的个性化推荐方法、装置、电子设备及存储介质
CN114491095A (zh) * 2022-01-18 2022-05-13 南京大学 基于时序漂移的潜在因子模型对项目的推荐方法
CN117688613B (zh) * 2024-02-01 2024-04-12 清华大学深圳国际研究生院 一种对于分类型任务时间序列发布的差分隐私保护方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015175141A1 (en) * 2014-05-16 2015-11-19 Thomson Licensing Method, apparatus and system for preserving privacy during media consumption and recommendation
CN105103487A (zh) * 2013-08-09 2015-11-25 汤姆逊许可公司 用于基于矩阵分解的到评级贡献用户的隐私保护推荐的方法和系统
CN107392049A (zh) * 2017-07-26 2017-11-24 安徽大学 一种基于差分隐私保护的推荐方法
CN108280217A (zh) * 2018-02-06 2018-07-13 南京理工大学 一种基于差分隐私保护的矩阵分解推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150122162A (ko) * 2013-03-04 2015-10-30 톰슨 라이센싱 프라이버시 보호 카운팅을 위한 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105103487A (zh) * 2013-08-09 2015-11-25 汤姆逊许可公司 用于基于矩阵分解的到评级贡献用户的隐私保护推荐的方法和系统
WO2015175141A1 (en) * 2014-05-16 2015-11-19 Thomson Licensing Method, apparatus and system for preserving privacy during media consumption and recommendation
CN107392049A (zh) * 2017-07-26 2017-11-24 安徽大学 一种基于差分隐私保护的推荐方法
CN108280217A (zh) * 2018-02-06 2018-07-13 南京理工大学 一种基于差分隐私保护的矩阵分解推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A differential privacy framework for matrix factorization recommender systems;Arik Friedman等;《User Modeling and User-Adapted Interaction》;20160816;第26卷(第5期);第425-458页 *
一种基于差分隐私和时序的推荐系统模型研究;范利云等;《电子学报》;20170930;第45卷(第9期);第2057-2064页 *

Also Published As

Publication number Publication date
CN111125517A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111125517B (zh) 一种基于差分隐私和时间感知的隐式矩阵分解推荐方法
US11100247B2 (en) Differentially private processing and database storage
US10586068B2 (en) Differentially private processing and database storage
Li et al. Resolving conflicts in heterogeneous data by truth discovery and source reliability estimation
Niu et al. A relaxed gradient based algorithm for solving Sylvester equations
Agarwal et al. Localized factor models for multi-context recommendation
Steck Training and testing of recommender systems on data missing not at random
Bedia et al. Predicting plant species distribution across an alpine rangeland in northern Spain. A comparison of probabilistic methods
US20100169158A1 (en) Squashed matrix factorization for modeling incomplete dyadic data
Zhang et al. Robust collaborative filtering based on non-negative matrix factorization and R1-norm
Zhu et al. Assigning reliability values to recommendations using matrix factorization
Jiao et al. A novel learning rate function and its application on the SVD++ recommendation algorithm
Sangogboye et al. A framework for privacy-preserving data publishing with enhanced utility for cyber-physical systems
Khenissi et al. Theoretical modeling of the iterative properties of user discovery in a collaborative filtering recommender system
Zheng et al. A Matrix Factorization Recommendation System-Based Local Differential Privacy for Protecting Users' Sensitive Data
Yang et al. A differential privacy framework for collaborative filtering
Forzani et al. Supervised dimension reduction for ordinal predictors
CN114003960A (zh) 一种神经网络模型的训练方法
Gati et al. Differentially Private Tensor Deep Computation for Cyber–Physical–Social Systems
Zdunek et al. Distributed geometric nonnegative matrix factorization and hierarchical alternating least squares–based nonnegative tensor factorization with the MapReduce paradigm
Liu et al. Gaussian process for recommender systems
CN117540791B (zh) 一种对抗训练的方法及装置
KR102266853B1 (ko) 다중 유형 페어와이즈 기반 아이템 추천 방법 및 장치
Shukla et al. A tensor decomposition based approach for context-aware recommender systems (CARS)
Baek et al. An Optimal Semiparametric Method for Two‐group Classification

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant