APP下载

结合多信息的概率矩阵分解模型

2018-12-10古来黄俊张若凡

软件导刊 2018年9期
关键词:协同过滤

古来 黄俊 张若凡

摘要:为了改善传统协同过滤推荐算法的冷启动与数据稀疏问题,基于概率矩阵分解模型,将用户属性、物品关系与时序行为融合到模型中,通过不断调整3种模型所占权重,得到最小的RMSE值。在Movielens数据集上进行实验,并与其它相关算法的RMSE值进行比较。实验结果表明,结合多信息的概率矩阵分解模型的RMSE值低于其它推荐方法,即推荐精度优于其它方法。结合多信息的概率矩阵分解模型,在数据稀疏情况下,也能保持较好的推荐性能,推荐精度得到一定程度提升。

关键词:协同过滤;用户属性;物品关系;时序行为;PMF

DOIDOI:10.11907/rjdk.181146

中图分类号:TP301

文献标识码:A文章编号文章编号:16727800(2018)009006705

英文标题Probability Matrix Factorization Model Combined with Multiple Information

--副标题

英文作者GU Lai,HUANG Jun,ZHANG Ruofan,GU Zhixing,XU Ermin

英文作者单位(School of Telecommunications and Information Engineering,Chongqing University of Posts and Telecommunication,Chongqing 400065,China)

英文摘要Abstract:In order to improve the cold start and data sparsity of the traditional collaborative filtering recommendation algorithm,user attributes,item relationship and sequential behavior are merged into probabilistic matrix factorization model,and the minimum RMSE value is obtained by constantly adjusting the weight of the three models.Experiments on the Movielens data set are compared with the RMSE values of other related algorithms.The experimental results show that the RMSE value of the probability matrix factorization model with multiple information is lower than other recommended methods,and recommendation accuracy is better than the other methods.The probability matrix factorization model combined with multi information can also maintain better recommendation performance in the case of data sparsity,and the accuracy of recommendation is improved.

英文关键词Key Words:collaborative filtering;user attributes;items relationship;sequential behaviors;PMF

0引言

如今,每天的生活中充斥着大量信息,用户在海量信息中作出选择十分困难,因而推荐系统应运而生,其能够主动给用户推荐满足其需求的信息[1]。但推荐系统在实际应用中,往往面临着数据稀疏和冷启动问题[3]。协同过滤[3]是推荐系统中运用最广泛的一种方法,可以分为基于邻域[4]和基于模型[4]两类。矩阵分解方法作为解决数据稀疏问题的方法之一,受到学者们的重点关注。根据文献[5],SocialMF在计算用户隐特征向量时,考虑了用户社交信任的影响;根据文献[6],RSTE既考虑了用户自身偏好,又考虑了用户信任朋友的偏好;根据文献[7],TimeSVD++将时间因素加入SVD++中。

以上推荐方法的推荐效果都不错,但其忽略了物品之间关系与用户自身属性。因此,本文提出一种结合用户属性、物品关系与时间因素的概率矩阵分解模型。

1概率矩阵分解模型

概率矩阵分解(Probability Matrix Factorization,PMF)[8]是隐语义模型的概率化形式,从概率角度预测用户对物品的评分。在推荐系统中,给出N个用户和M个物品。用户对物品的喜好程度可以用一个N×M的评分矩阵表示:R=[Ri,j]N×M,其中Ri,j表示用戶i对物品j的评分。

使用PMF分解用户—物品评分矩阵,得到两个低维度的潜在特征矩阵,分别代表用户特征和物品特征。其中,U∈RD×N代表用户潜在特征,V∈RD×M代表物品潜在特征,D是隐特征维度。

根据用户和物品隐特征矩阵,可以得到用户i对物品j的评分:

R^i,j=UiTVj(1)

假设已有用户物品评分数据的条件概率分布函数为[9]:

p(R|U,V,σR2)=∏Ni=1∏Mj=1[N(Ri,j|UiTVj,σR2)]Iij(2)

其中,N(x|μ,σ2)表示均值为μ、方差为σ2的高斯分布概率密度函数,Iij为指示函数。

假设用户和物品的隐特征向量服从均值为0的高斯先验[9]:

p(U|σU2)=∏Ni=1N(Ui|0,σU2I)(3)

p(V|σV2)=∏Mj=1N(Vj|0,σV2I)(4)

根据贝叶斯推理,隐特征向量U和V的后验概率如下:

p(U,V|R,K,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|σU2)p(V|σV2)=∏Ni=1∏Mj=1[N(Ri,j|UiTVj,σR2)]Iij×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(5)

2算法实现

2.1结合用户属性的PMF

在PMF基础上结合用户自身属性,并对不同属性赋予不同权值 [10]。用户的潜在特征受到其相似用户潜在特征影响:

U^i=∑t∈QiKi,tUt(6)

其中,K为归一化的用户相似度矩阵,Qi为与用户i相似的用户集。本文根据用户属性求解用户之间的相似度:

(1)性别。Uig表示用户i的属性g,wg表示性别属性权值。定义用户性别取值如下:

Uig=0,g=“男”1,g=“女” (7)

当两用户性别相同,则性别相似度为1,反之为0。因此用户性别相似度如下:

Simg(Ui,Uj)=0,[]Uig≠Ujgwg,[]Uig=Ujg(8)

(2)职位/邮编。职位和邮编属性的相似度计算与性别类似,则相似度如下:

Simo(Ui,Uj)=0,[]Uio≠Ujowo,[]Uio=Ujo(9)

Simz(Ui,Uj)=0,[]Uiz≠Ujzwz,[]Uiz=Ujz(10)

(3)年龄。用户年龄属性的相似度计算如下:

Sima(Ui,Uj)=wa×(1-Uia-Ujamax(Uia,Uja))(11)

其中,Uia-Uja表示用户年龄差,max (Uia,Uja)表示两用户中较大的年龄值。

综上,用户相似度如下:

Si,t=Simg(Ui,Ut)+Simo(Ui,Ut)+Sima(Ui,Ut)+Simz(Ui,Ut)(12)

各属性的权值定义为:wg=0.1,wo=0.4,wa=02,wz=0.3。

用户i对用户j的预测评分如下:

R^i,j=∑t∈QiKi,tUtTVj(13)

对于用户特征矩阵,服从高斯先验分布:

p(U|K,σU2,σK2)∝p(U|σU2)×p(U|K,σK2)=∏Ni=1N(Ui|0,σU2I)×∏Ni=1N(Ui|∑t∈QiKi,tUt,σK2I)(14)

根据贝叶斯推理,用户和物品特征的后验概率如下:

p(U,V|R,K,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|K,σU2,σK2)p(V|σV2)=∏Ni=1∏Mj=1[N(Ri,j|UiTVj,σR2)]Iij×∏Ni=1N(Ui|∑t∈QiKi,tUt,σK2I)×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(15)

2.2結合物品信息的PMF

用户之间存在一定关系,物品之间也存在着一定联系。物品的潜在特征向量受到相似物品影响。

V^j=∑k∈FjPj,kVk(16)

其中,Fj表示与物品j相似的物品集合,这里利用改进的余弦相似度算法[11]。

Sj,k=∑i∈U(j)∩U(k)(Ri,j-R^i)(Ri,k-R^i)∑i∈U(j)∩U(k)(Ri,j-R^i)2·∑i∈U(j)∩U(k)(Ri,k-R^i)2(17)

用户i对用户j的预测评分如下:

R^i,j=∑k∈FjPj,kUiTVk(18)

物品的特征矩阵服从高斯先验分布。

p(V|P,σV2,σP2)∝p(V|σV2)×p(V|P,σP2)=∏Mj=1N(Vj|0,σV2I)×∏Mj=1N(Vj|∑k∈FjPj,kVk,σP2I)(19)

根据贝叶斯推理,用户和物品特征的后验概率如下:

p(U,V|R,P,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|σU2)p(V|P,σV2,σP2)=∏Ni=1∏Mj=1N(Ri,j|UiTVj,σR2)Iij×∏Mj=1N(Vj|∑k∈FjPj,kVk,σP2I)×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(20)

2.3结合时间因素的PMF

借鉴图论中有向图的思想构建基于用户(物品)的消费网络图,定义消费网络图G={U,E},其中U表示用户集合,E表示边的集合,W表示边的权重。若在一定时间段内,用户i和用户n先后购买了同一物品,则Ei→n的权重Wi→n加1。图2是基于用户的消费网络图,定义用户之间的影响关系权重如下:

Ti→n=Wi→nf(Ui,Un)(21)

其中,f(Ui,Un)表示两用户购买商品的并集,Ti→n为用户i对用户n的影响力。

基于物品的消费网络与图2类似,图3中边的权重表示先后消费两商品的用户数量。定义物品之间的影响关系权重如下:

Sj→m=Wj→mf(Vj,Vm)(22)

将这些信息融合到概率矩阵分解模型中,用户(物品)特征向量受到相似用户(物品)影响。

U^i=∑n∈NiTi→nUn(23)

V^j=∑m∈NjSj→mVm(24)

其中,Ni表示与用户i有影响关系的用户集合,Nj表示与物品j有影响关系的物品集合。

用户i对物品j的预测评分如下:

R^i,j=∑n∈Ni∑m∈NjTi→nSj→mUnTVm(25)

用户和物品的特征矩阵服从高斯分布:

p(U|T,σU2,σT2)∝p(U|σU2)×p(U|T,σT2)=∏Ni=1N(Ui|0,σU2I)×∏Ni=1N(Ui|∑n∈NiTi→nUn,σT2I)(26)

p(V|S,σV2,σS2)∝p(V|σV2)×p(V|S,σS2)=∏Mj=1N(Vj|0,σV2I)×∏Mj=1N(Vj|∑m∈NjTj→mVm,σS2I)(27)

根据贝叶斯推理,用户和物品特征的后验概率如下:

p(U,V|R,T,S,σR2,σU2,σV2)∝p(R|U,V,σR2)p(U|T,σU2,σT2)p(V|S,σV2,σS2)=∏Ni=1∏Mj=1N(Ri,j|UiTVj,σR2)Iij×∏Ni=1N(Ui|∑n∈NiTi→nUn,σT2I)×∏Mj=1N(Vj|∑m∈NjSj→mVm,σS2I)×∏Nj=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(28)

2.4模型融合

本文采用線性加权方式将3个模型合并成一个新模型,用户和物品特征的后验概率定义为:

p(U,V|R,K,P,T,S,σ2,σU2,σV2)=∏Ni=1∏Mj=1[N(Ri,j|αR0+βR1+γR2,σ2)]Iij×∏Ni=1N(Ui|0,σU2I)×∏Mj=1N(Vj|0,σV2I)(29)

其中,R0、R1和R2分别表示结合用户属性、物品关系和时间因素的预测评分。α、β和γ分别表示3个模型所占权重,且0≤α,β,γ≤1,α+β+γ=1。本文概率模型如图4所示。

为便于求解,对后验概率进行对数处理:

lnp(U,V|R,K,P,T,S,σ2,σU2,σV2)=-12σ2∑Ni=1∑Mj=1Iij(Ri,j-(αR0+βR1+γR2))2-12σU2∑Ni=1UiTUi-12σV2∑Mj=1VjTVj-12((∑Ni=1∑Mj=1Iij)lnσ2+NDlnσU2+MDlnσV2)+C(30)

其中,C表示一个独立于参数的常数。最大化取对数后的后验概率等同于最小化带有正则化项的误差平方和:

L(R,K,P,T,S,U,V)=12∑Ni=1∑Mj=1Iij(Ri,j-(αR0+βR1+γR2))2+λU2∑Ni=1‖Ui‖2+λV2∑Mj=1‖Vj‖2(31)

其中,λU=σ2/σU2,λV=σ2/σV2。

根据梯度下降法[15],可得到每个用户(商品)的特征向量。梯度计算方法如下:

LUi=α∑p∈Ai∑Mj=1Ipj(α∑t∈QpKp,tUtTVj+β∑k∈FjPj,kUpTVk+γ∑n∈Np∑m∈NjTp→nSj→mUnTVm-Rp,j)Kp,iVj+β∑Mj=1Iij(αR0+βR1+γR2-Ri,j)∑k∈FjPj,kVk+γ∑q∈Bi∑Mj=1Iqj(α∑t∈QqKq,tUtTVj+β∑k∈FjPj,kUqTVk+γ∑n∈Nq∑m∈NjTq→nSj→mUnTVm-Rq,j)∑m∈NjTq→iSj→mVm+λUUi

(32)

LVj=α∑Ni=1Iij(αR0+βR1+γR2-Ri,j)∑t∈QiKi,tUtT+β∑Ni=1∑r∈Cj(α∑t∈QiKi,tUtTVr+β∑k∈FrPr,kUiTVk+γ∑n∈Ni∑m∈NrTi→nSr→mUnTVm-Ri,r)Pr,jUiT+γ∑s∈Dj∑Ni=1(α∑t∈QiKi,tUtTVs+β∑k∈FsPs,kUiTVk+γ∑n∈Ni∑m∈NsTi→nSs→mUnTVm-Ri,s)∑n∈NiTi→nSs→jUnT+λVVj(33)

其中,Ai是用户i在用户属性方面的相似用户集合,Bi是用户i在时序行为方面的影响用户集合,Cj是物品j在物品关系方面的相似物品集合,Dj是物品j在时序行为方面的影响物品集合。

3实验与分析

3.1实验数据集

本文采用Movielens网站提供的数据文件ml-100k.zip[12]作为实验数据集,数据集中包含信息如表1所示。

3.2实验度量方法

本文采用均方根误差(Root Mean Squared Error,RMSE)作为度量方法:

RMSE=1N∑i,j(Ri,j-R^i,j)2(34)

3.3对比实验分析

为验证本文模型效果,实验选取4种方法与本文算法进行对比,主要包括以下方法:①User_based[14]:基于用户的协同过滤方法;②Item_based[1]:基于物品的协同过滤方法;③PMF[8]:利用用户历史行为数据,将用户评分矩阵分解为两个低维特征矩阵;④TimeSVD++[13]:在SVD++算法基础上考虑时间对评分预测的影响。

表2显示了不同推荐方法在不同训练集和隐特征维度下的RMSE值对比结果。

通过对表中数据的分析与对比,可得出以下实验结论:①随着训练数据集增大,推荐准确率也随之提升。由表2可以看出,80%的训练集和90%的训练集相比,当维度为5(10)时,本文算法的RMSE降低了1.31%(1.34%);②隐特征向量维度增大,可以提高推荐准确率。RMSE的值随着维度增大而减少,但计算复杂度也随之增加;③在所有最理想情况下,与其它方法相比,本文算法的推荐精度得到一定程度提高。

4结语

本文将用户属性、物品信息和时间因素融合到概率矩阵分解模型中,提升了推荐的准确性和多样性,还一定程度上缓解了冷启动和数据稀疏问题。后续研究如何将文本内容数据信息融合到矩阵分解模型中,以进一步提高算法推荐性能。

参考文献参考文献:

[1]SARWAR B,KARYPIS G,KONSTAN J,et al.Item-based collaborative filtering recommendation algorithms[C].International Conference on World Wide Web.ACM,2001:285295.

[2]王升升,赵海燕,陈庆奎,等.基于社交标签和社交信任的概率矩阵分解推荐算法[J].小型微型计算机系统,2016,37(5):921926.

[3]SARWAT M,MOKBEL M F.Collaborative filtering[M].New York:Springer ,2017.

[4]ZHANG H,LIU W,LIU W,et al.Discrete collaborative filtering[C].International ACM SIGIR Conference on Research and Development in Information Retrieval.ACM,2016:325334.

[5]WANG D,MA J,LIAN T,et al.Recommendation based on weighted social trusts and item relationships[C].ACM Symposium on Applied Computing.ACM,2014:254259.

[6]MAH,KINGI ,LYUMR,et al.Learning to recommend with social trust ensemble[C].International ACM Sigir Conference on Research & Development in Information Retrieval,2009:203210.

[7]RODRIGUES C M,RATHI S,PATIL G.An efficient system using item & userbased CF techniques to improve recommendation[C].International Conference on Next Generation Computing Technologies.IEEE,2017:569574.

[8]MI C,PENG P,XIAO L,et al.Recommendation algorithm based on user trust and interest with probability matrix factorization[C].International Conference on Advanced Cloud & Big Data.IEEE Computer Society,2017:355361.

[9]SALAKHUTDINOV R,MNIH A.Bayesian probabilistic matrix factorization using Markov chain Monte Carlo[C].International Conference on Machine Learning,2008:880887.

[10]鄭志蕴,贾春园,王振飞,等.基于微博的用户相似度计算研究[J].计算机科学,2017,44(2):262266.

[11]董祥和,齐莉丽,董荣和.优化的协作过滤推荐算法[J].计算机工程与应用,2009,45(8):229232.

[12]MI C,PENG P,XIAO L,et al.Recommendation algorithm based on user trust and interest with probability matrix factorization[C].International Conference on Advanced Cloud & Big Data.IEEE Computer Society,2017:355361.

[13]KOREN Y.Collaborative filtering with temporal dynamics[J].Communications of the ACM,2009,53(4):447456.

[14]项亮.推荐系统实践[M].北京:人民邮电出版社,2012.

[15]潘彬.结合时间序列的协同主题回归推荐算法研究[D].呼和浩特:内蒙古大学,2017.

责任编辑(责任编辑:黄健)

猜你喜欢

协同过滤
改进的协同过滤推荐算法