基于WNBI和RSVD混合协同推荐算法技术领域
本发明涉及个性化推荐系统技术,尤其涉及一种基于WNBI和RSVD混合协同推荐算
法。
背景技术
随着互联网的快速发展,互联网上的数据量急剧增长,人们在获取网络上的最新
动态和海量信息的同时也面临着“信息迷航”的困境,即如何从大量无用信息中筛选出感兴
趣的有用信息。因此,推荐系统应运而生,它通过收集用户的各种信息数据,分析背后隐藏
的用户兴趣和行为模式,并根据分析结果来为用户提供私人定制的个性化推荐服务。
协同过滤推荐算法(Collaborative filtering,CF)是最早被应用于推荐系统中
且运用最为广泛的一种算法,其算法核心是依赖用户与项目之间交互的历史数据来分析用
户兴趣爱好,并广泛应用于各个领域上。它主要分为两类:基于最近邻的推荐算法和基于模
型的推荐算法。前者可分为基于用户近邻和基于项目近邻两种,主要是通过在用户群(或项
目群)中找到与目标用户(或项目)相似的用户(或项目)集合,综合这些相似用户(或项目)
的信息,形成系统对该目标用户(或项目)的喜好程度预测,然而随着用户和资源数量大规
模增加,该类算法存在数据稀疏、冷启动等问题,仅仅利用最近邻相似性度量,必然会造成
推荐质量大幅度地下降;后者通过降低维数来有效保存信息内容,同时大大降低了计算的
复杂度和对内存的需求,但过度依赖用户-项目评分矩阵,当数据稀疏时,推荐质量也会大
受影响。
当前常用降维技术包括奇异值分解(Singular Value Decomposition,SVD),贝叶
斯聚类,概率潜在语义分析和隐含狄利克雷分布。其中奇异值分解以及其变种算法,因为简
单高效的特点受到了学术界和工业界广泛的关注。Ma在An experimental study on
implicit social recommendation,in:Proceedings of the 36th international ACM
SIGIR conference on Research and development in information retrieval,ACM,
2013,pp.73-82.认为相似用户与不相似用户对目标用户都存在不同程度的影响,因此可将
这两个影响作为社会正则化因子来约束矩阵分解的目标函数。Koren在Factorization
meets the neighborhood:a multifaceted collaborativefiltering model[C]//
Proceedings of the 14th ACM SIGKDDinternational conference on Knowledge
discovery and data mining.Las Vegas,Nevada,USA,2008.提出了将近邻信息与矩阵分
解相结合的模型,此外他在矩阵分解模型的基础上对用户随时间变化而产生的行为变化进
行建模,并利用随机梯度下降法,对模型进行优化。Yelong Shen等人在Learning personal
+social latent factor model for social recommendation.KDD,page 1303-1311.ACM,
(2012)提出联合个人和社会的潜在因素(Personal Social Latent Factor Model for
Social Recommendation,PSLF)模型来进行社会化推荐。Chu-Xu Zhang在Information
filtering via collaborative userclustering modeling.Physica A 396(2014)195-
203认为具有相似兴趣的近邻用户集合对目标用户的决定会产生一定的影响,并提出了基
于用户聚类的矩阵分解方法(Matrix Factorization Based clusteringusers,UCMF)。
Szwabe在Semantically enhanced collaborativefiltering based on RSVD,in:
Proceedings of the International Conference onComputational Collective
Intelligence,2011,pp.10-19.结合随机索引(RI)技术和SVD模型来描述项目的内容特征。
除了利用用户和项目的内容特征,还出现了基于复杂网络和图论的推荐算法,该
类算法大多数是基于二部图或三部图来构建用户-项目之间的关系或用户-标签-项目关
系,不仅仅有效改善推荐的精度,而且提高了推荐的多样性和新颖性,还具有创新性。Zhou
等人在Bipartite network projection and personal recommendation[J].Physical
Review E,2007 76(4):46115提出基于网络推断(network-based inference,NBI)的推荐
算法,借鉴了物理中物质扩散过程,利用二部图进行资源分配,取得了比基于近邻的算法更
好的推荐效果。Xin Pan等人在Weighted Bipartite network and Personalized
Recommendation.Physics ProcediaVolume 3,Issue 5,August 2010,Pages 1867-1876在
zhou的基础上提出加权网络推断算法,将用户对项目的评分作为二部图中边的权重。Zhang
在Heat Conduction Process on Community Networks as aRecommendation Model[J]
.Phys.Rev.Lett.,2007,99(15):154301.提出一种类似于热量在用户—产品二部分图中扩
散的算法,可提高精度和多样性。Da-Cheng在Information Filtering via Balanced
Diffusion on Bipartite Networks.CoRR abs/1402.5774(2014)提出均衡扩散(BD)算法,
该算法利用均衡权重来结合物质扩散(MD)和热传导(HC)。Lian等在Personalized
recommendation via an improved NBIalgorithm and user influence model in a
Microblog network.Physica A 392(2013)4594-4605.提出了一种基于用户特征和改进
NBI的微博推荐算法。
发明内容
针对个性化推荐中存在的高维数据稀疏问题,本发明提出一种基于WNBI和RSVD混
合协同推荐算法,其中RSVD为规则化的奇异值分解(Regularized Singular Value
Decomposition,RSVD),可将高维的用户-项目矩阵投影到一个低维的空间,从而降低了数
据的稀疏性。WNBI为z-score归一化加权的网络推断(Weighted Network-Based Inference
with z-score normalization,WNBI),WNBI算法是基于复杂网络和图论的推荐算法,将用
户和项目抽象成网络中的节点,可有效利用隐藏在网络中的信息来进行推荐,从而提高了
系统的多样性和推荐准确度。
该方法首先利用WNBI算法将用户和项目抽象成网络中的节点,利用隐藏在网络中
的信息,挖掘项目之间更深层的潜在信息,寻找与项目相似的近邻集合,其次,利用RSVD模
型将用户-项目评分矩阵分解成为用户特征矩阵和项目特征矩阵,通过降维提高了数据密
度,最后利用项目的近邻信息来规则化RSVD模型,以改进传统方法的不足。
该方法包括如下步骤:
S1,获取训练集DT数据及由WNBI算法所获得的用户近邻集S,特征变量f;
S2,初始化用户特征向量pu和项目特征向量qi;
S3,在RSVD模型中融合由WNBI算法所获得的近邻项目信息,通过随机梯度下降法
使预测误差达到最小化,并预测误差是否小于阈值;
S4,当预测误差小于阈值时,输出用户特征向量pu和项目特征向量qi;当预测误差
不小于阈值时,跳转到S3。
本申请的有益效果:基于RSVD和WNBI的混合协同推荐算法(RSVD_WNBI)能够利用
WNBI算法所获得的隐藏在用户-项目网络中的信息来规则化RSVD模型,能提高推荐的准确
率和有效地解决评分矩阵稀疏问题。
附图说明
图1基于WNBI和RSVD混合协同推荐算法的方法步骤;
图2基于WNBI和RSVD混合协同推荐算法的原理图;
图3基于二部图的资源分配过程;
图4不同用户组的评分预测。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参
照附图,对本发明进一步详细说明。
本发明研究了一种基于WNBI和RMF混合协同推荐算法(RSVD_WNBI),WNBI算法是基
于复杂网络和图论的推荐算法,将用户和项目抽象成网络中的节点,可有效利用隐藏在网
络中的信息来进行推荐,从而提高了系统的多样性和推荐准确度,而规则化的奇异值分解
(Regularized Singular Value Decomposition,RSVD)可将高维的用户-项目矩阵投影到
一个低维的空间,从而降低了数据的稀疏性。因此利用由WNBI算法获得的项目近邻信息来
规则化RSVD模型,能有效挖掘项目之间更深层的潜在信息,从而提高了算法的准确度。实验
结果证明,相对于传统的推荐算法,该算法除了有效地提高了评分预测的准确度,还缓解了
数据稀疏性问题。
如图1所示,该方法包括如下步骤:
步骤101,获取训练集DT数据及由WNBI算法所获得的用户近邻集S,特征变量f;
步骤102,初始化用户特征向量pu和项目特征向量qi;
步骤103,在RSVD模型中融合由WNBI算法所获得的近邻项目信息,通过随机梯度下
降法使预测误差达到最小化,并预测误差是否小于阈值;
步骤104,当预测误差小于阈值时,输出用户特征向量pu和项目特征向量qi;当预测
误差不小于阈值时,跳转到S3。
本发明利用WNBI算法来获取近邻项目的信息,并将其用来规则化和优化RSVD模
型,由于WNBI算法通过将物质扩散原理引入到个性化推荐中,增加了对用户和项目度之间
关系的考虑,利用物质流动过程来计算用户/项目之间的相似性,实现评分值高的项目得到
优先推荐,同时能挖掘出隐性的项目关联信息,有效提高了算法准确度。
图2为基于WNBI和RSVD混合协同推荐算法的原理图,RSVD_WNBI模型首先利用WNBI
算法来获取近邻项目的信息,然后将近邻信息设计成正则化因子的形式来约束矩阵分解的
目标函数,并且认为目标项目与其对应的近邻项目之间具有一定的相似性,可以间接整合
这种相似度的传递并减少目标项目与近邻项目在特征向量上的距离,从而提高推荐的准确
度。
WNBI算法:
用户-项目评分矩阵采用图论中的二分图(Bipartite Graph)来表示,假设G=(V,
E)表示一个无向图,其中V表示所有节点的集合,所有节点之间的边用集合E表示。节点集合
V可以划分成互不相交的两个非空子集(U,I)分别表示用户和项目,并且图中的每条边(i,
j)所关联的两个节点i和j分属于这两个互不相交的集合,可以通过邻接矩阵Am×n来表示,
αij=1表示用户i对项目j进行了评分,否则为0。Zhou等人引入了物理学中物质扩散的原理,
通过分析二分图的结构,利用物质扩散的方法来计算用户或项目之间的相似性,最后可得
出推荐给用户的项目。
基于WNBI的推荐算法的四个大致步骤:
(a)建立二分图。如果推荐系统包含m个用户和n个项目,那么二分图有m+n个节点,
二分图边的权重为用户对项目的评分。
(b)如果用户x对项目a,c和d进行了评分,对项目b没有评分,则αxa=1,αxb=0,αxc
=1及αxd=1。那么图3(a)对应的邻接矩阵如下:
(c)资源-分配过程分两个阶段,首先由项目到用户(图3(b)),然后再回到项目(图
3(c))。图3(a)是一个二分图,左边3个圆形节点构成一个用户集合,右边四个方形节点构成
项目集合。节点的资源根据它的“出度”(即从该节点出发的边)而被稀释,如项目a被用户x
和z评过分,那么每个用户从项目a中获取1/2的资源(节点初始资源值为1)。可根据公式(2)
计算f(yl),它表示用户1通过步骤(c)计算得到的项目对用户资源分配关系,其中f(xi)初始
值为1,αil邻接矩阵A中用户i与项目l之间存在边。
(d)资源从用户集合再流回项目集合,遵循与(c)一致的原则。这样就得到了原集
合最终的资源分配,整个分配过程是通过两个集合之间的共同连接关系所实现的资源再分
配,包含了整个网络的拓扑结构信息。设资源分配矩阵为W,项目i到项目j的资源分配权重
wij可以表示为公式(3):
其中表示用户l的度;表示项目j的度。rli为用
户l对项目i的评分,h(rui)对用户评分进行z-score归一化处理。
RSVD_WNBI模型将近邻项目的信息设计成正则化因子的形式来约束矩阵分解的目
标函数,并且认为目标项目与其对应的近邻项目之间具有一定的相似性,而正则化因子可
以间接整合这种相似度的传递并减少目标项目与近邻项目在特征向量上的距离。推荐算法
中最重要的衡量标准就是要使预测误差达到最小化,我们通过对下面的目标函数最小化来
得到模型的参数:
其中pu为用户特征向量,qi为项目特征向量,λ是一个防止过拟合的参数,可以通过
交叉验证选取并且采用随机梯度下降法来优化这个损失函数,参数α决定了在RSVD模型中
融合近邻项目信息的程度,S(i)是项目i的近邻项目集。
然后为了最小化上式,采用基于梯度下降法对公式4的pu、qi求导,可以得到:
其中得到变化梯度后,为了获得最优的矩阵P和Q,需对其pu、qi
进行迭代更新,更新规则分别为:
pu←pu+γ(euiqi-λpu) (7)
其中γ为学习率,与实际应用的数据集相关。
综上,RSVD_WNBI算法如下:
实验验证:
1、实验环境
运行环境:4核,Intel Core 3.2GHz处理器,4G内存,Windows系统
2、数据集的选择
为验证本章提出算法的有效性,及考虑与其它算法的公平比较,选择了三个现实
生活的数据集MovieLens1M,Yahoo!Music和EachMovie。
(1)MovieLens1M数据集:该数据集共有3952位用户对6040部电影的100万条评分
数据(评分值为1-5的整数),该数据集的评分矩阵稀疏性为0.9538。
(2)Yahoo!Music数据集:该音乐数据集包含了2002年到2006年15,400位用户对
1000首单曲的365,704条评分数据(评分值为1-5的整数),该数据集的评分矩阵稀疏性为
0.9538,该数据集的评分矩阵稀疏性为0.9763。
(3)EachMovie数据集:该数据集共有74,424位用户对1648部电影的2,811,718条
评分数据(评分值为0-5的整数),该数据集的评分矩阵稀疏性为0.977。
本文采用10折交叉验证方案,将MovieLens1M数据集随机划分为10个不相交子数
据集。为了评估稀疏数据对算法的影响,我们使用不同比例的测试集(90%、80%和70%),
70%/30%的训练/测试集是从10个子数据集中随机抽取7个作为训练集,其余3个数据集作
为测试集。70%/30%的测试数据可分为10组,被测试算法在每组中重复执行10次,以10次
测试结果的均值作为实验的整体结果。
3、方法选择
选择最先进的基于推断和基于检索的填补方法
(1)基于近邻的方法(k-NearestNeighborCollaborative filtering):
基于用户的近邻协同推荐User-based KNN(UCF):在评分矩阵上采用皮尔逊相关
系数来计算用户之间的相似度,然后根据相似度来找目标用户的近邻用户集合,最后再根
据k个最邻近用户对未知项目i的评分来预测用户u对i的评分值。(k等于150)
基于项目的近邻协同推荐Item-based KNN(ICF):该算法与基于用户的协同推荐
类似,从项目角度出发,计算项目之间的相似性,寻找目标项目的近邻集合。(k等于150)
WNBI:在NBI算法基础上,将用户对项目的评分作为边权,根据计算资源分配权重
来预测对目标项目的评分。
(2)基于模型的方法(Model-based):
规范化奇异值分解RSVD:规范化矩阵分解把用户-项目评分矩阵分解为两个矩阵P
和Q乘积的形式。
概率矩阵分解PMF[18](Probabilistic Matrix Factorization):在RSVD基础上
增加了概率分布,假设用户和项目的隐性特征向量服从高斯先验分布。
基于社会化规则的推荐SRi+(Social Regularization with similar item
information):在规则化的矩阵分解模型中融入通过UCF获得的相似项目信息。
4、准确性比较
为了衡量RSVD-WNBI模型在项目预测方面的有效性,需要统计项目评分预测的偏
差。本文采用平均绝对误差(MAE)和均方根误差(RMSE)作为评价标准。
5、性能
为了验证本文算法的准确度,分别在3个数据集上,将RSVD_WNBI模型与6种常用推
荐算法进行性能比较,主要是2个方面:(1)准确率,(2)不同用户组的评分预测效果。该6种
算法分别为User-based KNN、Item-based KNN、WNBI、RSVD、PMF和SRi+。KNN和CDCF的近邻值
取150,RSVD、PMF和SRi+的特征向量数f取10,独立地重复10次计算,这10次计算的平均值作
为最后MAE和RMSE的实验结果,如表1所示:
表1 RSVD_WNBI与其它算法的结果对比
表2 T-test检验
*Significance at 95%.
表1和表2分别为RSVD_WNBI方法与已有的6种推荐方法在Movielens1M、Yahoo!
Music和EachMovie的准确性比较。表1显示了在三个不同稀疏度的数据集及三种不同测试
比例的实验测试中,无论是MAE还RMSE,RSVD_WNBI算法要比其它6种算法具有更高的预测准
确度。
例如在80%训练集,RSVD_WNBI算法相对于UCF、ICF、WNBI、RSVD、PMF和SRi+算法在
MAE值上分别提高了8.079%,6.744%,15.84%,1.56%,1.18%和1.48%,同时在RMSE值上
分别提高了10.27%,9.43%,22.02%,1.38%,1.68%和1.05%。其次,随着训练集的增大,
RSVD_WNBI算法的MAE和RMSE值也随之稳定下降。
为了验证实验结果的统计显著性,实验在显著性水平0.05上对交叉验证的10次结
果进行了T检验(T-test),结果如表2所示。
从2个表显示的结果发现,与其它6种算法相比较,本专利提出的基于RSVD和WNBI
的混合协同推荐算法(RSVD_WNBI)的预测准确性要高于其它6种算法,这说明通过引入从
WNBI中获取的近邻项目信息来优化RSVD模型,有助于提高推荐算法的准确性及缓解数据稀
疏性问题。
为了深入分析方法性能,将RSVD和RSVD_WNBI算法在不同评分数量的用户组上进
行预测测试。根据用户在训练集中评分的数量进行划分,Movielens1M数据集可以分为7类:
(0,20)、[20,40)、[40,80)、[80,160)、[160,320)、[320,800)和>=800,(0,20)代表评分数
量在0到20次之间的用户组,例如评分数量为38次的用户被划分在[20,40)的用户组中。3个
数据集的测试集用户组分布情况如表3、4、5所示。
表3 Movielens1M用户分组
表4 Yahoo!Music用户分组
表5 EachMovie用户分组
在Movielens1M、Yahoo!Music和EachMovie数据集上对不同用户组进行预测准确
度的测试,为了让测试更为直观,采用不含额外信息的RSVD模型作为对比方法,结果如图4
所示。从图可以看到,虽然使用不同数据集进行测试,但在所有用户组的测试中,RSVD_WNBI
算法所得到的RMSE值都要比RSVD算法的值低。即使在用户评分较少的情况下(评分数量少
于20的用户组),训练集为70%,特征量f为10时,RSVD_WNBI算法在3个数据集上的预测准确
度比RSVD算法分别提高了6.36%,6.02%和1.86%。
通过实验分析,基于RSVD和WNBI的混合协同推荐算法RSVD_WNBI,在不同数据集的
测试下,预测准确性均高于其余6种方法,这表明WNBI算法则以二分图的视角理解数据,利
用物质扩散的方法寻找已有记录的用户或项目之间的关系,弥补了降维带来信息损失的影
响。无论在用户评分量少或足够评分量的情况下,RSVD_WNBI算法均能有效地提高推荐的效
果并且有效缓解了数据稀疏性问题。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并
不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员
来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保
护范围。因此,本发明专利的保护范围应以所附权利要求为准。