2020,56(16)1引言随着信息技术和互联网的发展,人们逐渐进入信息爆炸的时代,如何从海量信息中快速获取相关的信息已成为亟待解决的问题。推荐系统作为一种有效的信息过滤技术,是解决这一问题的重要手段,在各大电商平台、音乐网站以及在线评论网站中有着广泛的应用[1]。推荐系统通过分析用户历史行为(如评分、浏览记录等),来预测用户在不同项目上的兴趣偏好,从而帮助用户快速有效地获取其需要或感兴趣的项目。随着推荐系
统的发展,各类相关理论与技术应运而生,目前应用最广泛、效果较好的是协同过滤(Collaborative Filtering )推荐算法。
协同过滤推荐算法[2-5]根据用户的行为来分析用户偏好,根据推测结果给出相关推荐内容,其中又以矩阵分解应用较广。苏庆等[6]考虑时间差因子、热门物品权重因子以及冷门物品权重因子,提出一种改进模糊划分改进非对称相似度和关联正则化的推荐算法
刘春玲,张黎
武汉纺织大学机械工程与自动化学院,武汉430200
摘要:为了改善传统推荐系统中数据稀疏问题给推荐效果带来的影响,提出了改进非对称相似度和关联正则化的推荐算法。根据不同用户和不同项目之间的不对称关系,提出一种改进相关度计算式,用于预
测评分。同时,由于社会化隐式关系的获取难度较大,利用传统相似度获取邻域集合作为用户社会关系,将关联正则化用于约束矩阵分解目标函数,缓解用户信息不对称造成的数据稀疏问题。最后在一些真实数据集上对算法进行验证,实验结果表明,与主流的推荐算法相比,该算法能够更加有效地预测实际评分。
关键词:推荐算法;矩阵分解;协同过滤;非对称相似度;关联正则化
文献标志码:A 中图分类号:TP 18doi :10.3778/j.issn.1002-8331.1907-0280
刘春玲,张黎.改进非对称相似度和关联正则化的推荐算法.计算机工程与应用,2020,56(16):45-49.
LIU Chunling,ZHANG Li.Recommendation algorithm for improving asymmetric similarity and associated regulariza-tion.Computer Engineering and Applications,2020,56(16):45-49.
Recommendation Algorithm for Improving Asymmetric Similarity and Associated Regularization LIU Chunling,ZHANG Li
School of Mechanical Engineering and Automation,Wuhan Textile University,Wuhan 430200,China
Abstract :In order to improve the impact of data sparseness on the recommendation effect in the traditional recommenda-tion system,a recommendation algorithm for improving asymmetric similarity and associated regularization is proposed.According to the asymmetry relationship between different users and different projects,an improved correlation calcula-tion formula is proposed for predicting the score.At the same time,due to the difficulty in obtaining the implicit relation-ship of socialization,this paper uses the traditional similarity to obtain the neighborhood set as the user social relationship,and the regularization is used to constrain the matrix decomposition objective function to alleviate the data sparse problem caused by user information asymmetry.Finally,the algorithm is validated in some real dataset.The experimental results show that the algorithm can predict the actual score more effectively than the mainstream recommendation algorithms.Key words :recommendation system;matrix decomposition;collaborative filtering;asymmetric similarity;associated regularization
基金项目:国家自然科学基金(No.71964023,No.71872076,No.71472143);湖北省教育厅重点项目(No.19D048)。
作者简介:刘春玲(1975—),女,教授,博士,研究方向为系统工程与优化,E-mail :****************;张黎(1996—),女,硕士研
究生,研究方向为文本挖掘、推荐算法。
收稿日期:2019-07-18修回日期:2019-09-24文章编号:1002-8331(2020)16-0045-05
CNKI 网络出版:2019-09-26,knski/kcms/detail/11.2127.TP.20190925.1357.018.html
Computer Engineering and Applications 计算机工程与应用
45
Computer Engineering and Applications计算机工程与应用2020,56(16)
聚类的协同过滤推荐算法。黄贤英等[7]考虑了用户关系的不平衡性,提出一种改进用户非对称相似性的
协同过滤推荐算法。Salakhutdinov等[8]从概率的角度解释了传统矩阵分解模型的合理性,并提出了概率矩阵分解模型(Probabilistic Matrix Factorization,PMF)。Saveski等[9]融合项目内容信息和用户历史行为提出一种LCE(Local Collective Embeddings)算法,有效缓解了冷启动问题。
融合用户信息与矩阵分解的推荐算法在一定情况下行之有效,但仍受限于数据稀疏的问题,难以解决冷启动问题,为此研究者们提出了社会化的推荐算法。为了平衡用户间信息的不对称性,Ma等[10]考虑了用户的社会信息,提出SoRec推荐算法。吴宾等[11]不仅考虑了用户的社会信息,还将用户的关联关系作为考量因素,提出联合正则化的矩阵分解算法。Guo等[12]在SVD++模型的基础上考虑用户之间的显式信任信息加入评分预测,通过用户之间的信任关系对特征向量进行学习。Yang等[13]综合考虑信任者和被信任者模型,提出了一种混合推荐算法TrustMF。Jamali等[14]运用信任传播方法,提出SocialMF,有效缓解了冷启动问题。郭宁宁等[15]提出了一种融合社交网络特征的协同过滤推荐算法,有效缓解了数据稀疏性对推荐结果的影响,并提高了推荐准确率。但以上算法的社会关系或者信任关系是显式的,信息只能通过用户标注来获取。
针对上述算法存在的问题,本文提出一种改进非对称相似度比和关联正则化的推荐算法。考虑不同用户与不同项目之间的不对称关系,提出一种改进相关度计算式,在综合考量项目与用户两种不同因素偏移量的补充量的基础上,对评分预测式加以改进。同时针对用户历史行为信息不对称的问题,利用传统相似度获取邻域集合来表示用户的社会关系,将关联正则化用于约束矩阵分解目标函数,以此缓解数据稀
疏带来的用户信息不对称。实验结果表明,与主流的推荐算法相比,该算法能够更加有效地预测实际评分。
2矩阵分解推荐算法
2.1传统矩阵分解推荐算法
一般来说,用户在评分的时候会有个人偏好,有的用户评分普遍比其他用户高,有的用户则普遍偏低,因此,一般定义基础偏移量b ui来表示用户和物品的偏好。
b ui=rˉ+b u+b i(1)其中,rˉ表示所有评分的平均值,b u表示用户u的评分偏好,b i表示用户对项目i的评分偏好。例如小明给电影《魔戒》打分,《魔戒》的平均分为3.5分,高一般电影
1.0分,小明给电影的平均评分高一般用户0.1分,则
b ui=3.5+1.0+0.1=4.6。
传统的矩阵分解将预测评分矩阵R∈R m×n分解为用户特征矩阵P∈R m×k和项目特征矩阵Q∈R k×m,其中k为特征个数。其用户的评分预测计算式见式(2):
r ui=b ui+∑
f=1
k
p T fu×q fi(2)其中,p fu表示用户u的第f个特征值,q fi表示项目i 的第f个特征值。为了提高预测精度,需要使得预测值与真实值之间的差值最小,目标函数G见式(3):
G=min
p*,q*,b*
∑(r ui-r ui)2+λ(p2u+q2i+b2u+b2i)(3)
其中,λ为正则项系数,p2u+q2i+b2u+b2i为正则项,用于防止在训练中出现过拟合。以b u为例,如果不增加正则项b2u,在训练参数时,参数迭代式为b u=b u-α(r ui-r ui)。在增加正则项后,参数迭代式变为b u=(1-λα)b u-α(r ui-r ui)。显然1-λα小于1,实现了权重衰减,也减少了训练中出现过拟合的可能。
2.2改进用户非对称性的矩阵分解推荐算法
实际情况中,不同用户之间的评分数量存在较大差异,因此其潜在特征向量的样本数也是不同的。对于
这一情况,传统的矩阵分解算法未予以考虑。黄贤英等[7]考虑了用户关系的不平衡性,对评分预测式做出了一些改进,具体见式(4):
r ui=∑
v∈R n(u)
(r ui-b vi)w uv+b ui+∑
f=1
k
p T fu×q fi(4)
其中,w uv表示用户u和用户v之间的评分关系,∑
j∈R n(u)
(r ui-b uj)w uv作为b u偏移项,是对基础偏移量的补充。当w uv和r ui-b ui较高时,说明预测值要低于实际值,此时∑
j∈R n(u)
(r ui-b uj)w uv正好可以补充预测值,使其更接近实际值。R n(u)表示用户u的前n个近邻,可以由w uv得到:
w uv=
r r
×
|
|N(u)⋂N(v)
|
|N(u)
×
|
|N(u)⋂N(v)
|
|N(u)+|
|N(v)(5)其中,N(u)表示用户u有过评分的项目数,N(v)表示用户v有过评分的项目数。基于用户非对称性的矩阵分解推荐算法的目标函数见式(6):
G=min
p*,q*,b*
∑(r ui-r ui)2+λ(p2u+q2i+b2u+b2i+w2uv)(6)上述目标函数考虑了用户之间的相关性,对于行为信息少的用户,利用其邻居的行为进行补充和修正,在一定程度上克服了数据稀疏的问题。然而,在海量用户与项目数据并存的背景下,仅考虑用户信息而未考虑项目变化的模型就显得较为单一,其忽略了项目的关联变化会影响用户之间关系的因素,容易造成数据稀疏问题,降低了算法推荐的准确度。
46
2020,56(16)3基于非对称相似度和关联正则化的推荐算法3.1基于非对称相似度的矩阵分解推荐算法基于用户非对称性的矩阵分解推荐算法仅考虑用户之间的相关性,然而不同项目之间的相关性程度也可能影响用户对项目的评分,因此本文在深入研究项目之间联系的基础上,通过综合用户信息、项目变化以及两者之间的关系来对原模型进行补充改进。具体做法为基于项目的关系在原模型的基础上增加一个偏差量用于补充项目偏差量,式(4)和式(6)分别变为了式(7)和式(8):r ui =
∑v ∈R n (u )(r ui -b vi )w uv +m i +b ui +∑f =1k p T fu ×q fi (7)G =min p *,q *,b *∑(r ui -r ui )2+λ(p 2u +q 2i +b 2u +b 2i +w 2uv +m 2i )(8)其中,m i 是b i 的偏移量,与w uv 的作用相似,是对基础偏移量的补充,如果用户u 喜欢的项目都与项目i 的相关性很高,可以使用m ij 对预测值进行修正(补充),反
之如果用户u 喜欢的项目与项目i 的相关度不高,那么使用m ij 对预测值进行修正(减少)。以电影推荐为例,如果用户u 看过《加勒比海盗》1~3部,那么在预测其对《加勒比海盗》第4部的偏好时会给予增量,而如果用户u 没有看过加勒比系列相关电影,那么在预测其对《加勒比
海盗》第4部的偏好时会给予惩罚。其具体定义见式(9):m i =∑j ∈R n (r ui -b uj )(c ij -μi )(9)
其中,c ij 表示项目i 和项目j 之间的相似度,μi 表示第i 个项目和其他所有项目相似度的均值,R n 表示所有项目。同样以电影推荐为例,在实际推荐中,如果用户经常看高分电影,则该类型用户在较小可能性下会去看低分电影。基于该种情况,本文参考用户相似度的定义,在衡量项目相似度的同时综合考虑不同项目的评分情况以及共现次数,以此提出一种改进项目相似度c ij 计
正则化其实是破坏最优化算式。其定义见式(10):c ij =cosine (i,j )×jaccard (i,j )=∑r ui r uj ∑r 2ui ∑r 2uj ×||N (i )⋂N (j )||N (i )⋃N (j )(10)
其中,N (i )表示项目i 有过评分的数量,N (j )表示项目j 有过评分的数量。cosine (i ,j )从评分角度衡量两个项目之间的相关性,jaccard (i ,j )是从共现次数角度评价两个项目之间的共现。再以电影推荐为例,如果项目i 和j 分别是热度很高的高分电影和低分电影,那么jaccard (i ,j )会较为相似,但是cosine (i ,j )会很大区别;而如果项目i 和j 分别是一个喜剧低分电影和一个恐怖低分电影,其cosine (i ,j )会较为相似,而jaccard (i ,j )区别会很大,因此式(7)可以较好地区分不同类型的电
影以及相同热度下不同口碑的电影。 3.2基于非对称相似度和关联正则化的推荐算法
社会学研究发现,同一社的用户偏好存在较大的
相似性。由Ma 等的研究可知,将社会正则化作为矩阵分解的约束可以提高矩阵分解推荐算法的效果。然而基于社会正则化的矩阵分解推荐算法一般根据用户的社会关系,这需要用户给出其信任用户,是一种显式表示。而由于涉及隐私,通常用户不会直接给出完整的信任用户,因此本文采用一种隐式表示法,将用户的近邻用户集作为其信任用户,在综合考虑不同用户与不同项目之间相关性的基础之上,提出一种基于非对称
相似度和关联正则化的推荐算法。对此,在上文改进评分预测式的基础上将关联正则化作为矩阵分解的约束,一方面可以避免模型训练过程中出现过拟合;另一方面
在模型中增加了用户信息,对于信息量很少的用户,其潜在特征向量会更接近于其近邻用户的特征向量,因此该类用户信息可以得到一定的补偿,对其进行评分预测时也能得到较高的评分预测精度。改进后的目标函数见式(11):
G =min p*,q*,b*λ(p 2u +q 2i +b 2u +b 2i +w 2uv +m 2ij )+
β∑i =1n ∑j ∈R n (i ) r ui -r uj
2
2S ij +∑(r ui -r ui )2(11)
其中,S ij
(r ui -r ˉi )(r uj -r ˉj )
β是一个常量,由于S ij 是对称矩阵,令D =j S ij =i
S ij ,L =D -S ,L 是拉普拉斯矩阵,有:
∑i =1n ∑j ∈R n (i ) r ui -r uj 22S ij =∑
i =1n
∑j ∈R n
(r 2ui -2r ui r uj +r 2uj )S ij =
∑i ∑j r 2ui S
ij +∑i ∑j r 2uj S ij -2∑i,j r
ui r uj S ij =
tr(Y T DY )-2tr(Y T SY )=2tr(Y T LY )
因此,式(11)变为式(12):
G =
min p *,q *,b *,w *∑(r ui -r ui )2+2βtr(Y T LY )+
λ(p 2
u +q 2i +b 2u +b 2i +w 2uv +m 2ij )(12)
本文使用随机梯度下降来求解式(11),其核心操作
在于计算梯度∂G /∂b u ,∂G /∂b i ,∂G /∂q i ,∂G /∂p u ,∂G /∂w uv ,∂G /∂c ij ,如式(13)~(18)所示:
∂G /∂b u =
∑j ∈R n
e ui +λb u (13)∂G /∂b i =∑j ∈R n
e ui +λb i (14)∂G /∂q i =μ∑j ∈R n (i )(r ui -r uj )S ij +2λq i +∑j ∈R n
e ui q i (15)∂G /∂p u =∑i ∈R n
e ui p u +λp u (16)
∂G /∂w uv =∑v ∈R n
e ui (r ui -b vi )+λw uv (17)
刘春玲,等:改进非对称相似度和关联正则化的推荐算法
47
Computer Engineering and Applications 计算机工程与应用
2020,56(16)∂G /∂c ij =∑i ∈R n e ui +λc ij (18)其中,e ui 表示预测评分和真实评分的差值。基于
非对称相似度和关联正则化的推荐算法的时间复杂度主要包括了对目标函数G 和各梯度的计算。计算目标函数G 的时间复杂度为O (d ||R +d ||C +d ||W ),其中||W 表示用户关联关系数量,||C 表示项目关联关系数量,||R 表示评分数量,d 表示特征空间的维度。计算梯度∂G /∂b u ,∂G /∂b i ,∂G /∂q i ,∂G /∂p u ,∂G /∂w uv ,∂G /∂c ij 的时间复杂度,分别为O (d ||R ),O (d ||R ),O (d ||C ),O (d ||R ),O (d ||R +d ||W ),O (d ||R +d ||C )。可以看出该算法训练一轮的时间复杂度为O (d ||R +d ||C +d ||W ),与用户关联关系数量、项目关联关系数量以及评分数量呈线性相关,可以处理大规模数据的推荐。4实验设计及结果分析4.1数据集及衡量标准为了对比融合项目近邻和融合用户近邻的矩阵分解推荐算法在不同数据集上的表现,本文选取了Movie-Lens10M 数据集[16]、Amazon 评论数据集[17]以及Ciao 数据集作为测试数据进行实验验证。三个数据集的评分范围均在[0,5],其统计特性见表1。本文将数据集分成训练集和测试集,训练集用于训练推荐算法中的参数,测试集用于评估推荐算法的准确性,本实验按照9∶1的比例将数据集随机分割成训练集和测试集,实验程序基于Python 语言实现。本文选择了RMSE (Root Mean Square Error )作为衡量标准,通过计算预测评分和实际评分的均方根误差来描述算法的推荐质量,RMSE 值越小说明推荐的质量越好。RMSE 的计算公式见式(19):RMSE
=(19)
其中,r ui 为实际评分,r ui 为预测评分,n 表示测试集中评分数量。4.2实验结果与分析本文做了两组对比实验,实验1研究了本文算法在不同参数下的表现,实验2对比了本文模型和一些常用算法在真实数
据集上的表现。实验1不同参数变化的效果对比这部分实验都是在MovieLens 数据集下完成。图1显示了随着迭代次数的增加,本文算法的RMSE 值变化,可以发现在迭代次数为50左右开始收敛。图2显示了本文算法在不同邻居个数下的RMSE 值变化。发现在低邻居个数的情况下,推荐效果逐步提升,但是在达到一定邻居个数之后,推荐效果出现了波
动,可能出现一定程度的下降。
图3显示了本文算法在不同潜在特征维度下的RMSE 值变化。发现在一定潜在特征维度下,算法的推荐效果逐步提升,但是在潜在特征维度达到一个特定值后,推荐算法效果近似收敛,无太大提升。实验2不同推荐算法的表现对比表2是本文算法以及一些常用推荐算法在Amazon
数据集以及MoiveLens 数据集上的RMSE 值。由实验数据可以看出,本文算法相较于其他算法在推荐准确性上有明显的提升,这是由于本文考虑了目标用户的关联用户信息。信息用户数量项目数量评分记录MovieLens 604038831000209Amazon 100053836941Ciao 735799746280391表1
三个数据集的统计特性0102030405060708090100110Step 0.890
0.885
0.8800.8750.870
0.865
0.860
0.8550.8500.845R M
S E
图1本文算法在MoiveLens 上的RMSE
值10203040506070Number of neighbors 0.91
0.90
0.890.88
0.87
0.86
0.850.84R M
S E 图2不同邻居数下的RMSE 值图3不同潜在特征维度下的RMSE 值
R M
S
E Dimension of features
48
2020,56(16)在社会化推荐系统中考虑用户的信任关系通常可以提高推荐效果。为了进一步验证本文算法的推荐效果,本文还在Ciao 数据集上进行了验证。表3显示了Ciao 数据集的信任信息。从表3和表1的数据可以看出,信任关系的稀疏性要高于评分的稀疏性。表4对比了本文算法、SVD++算法以及现有的一些社会化推荐算法。从表4可以看出,本文算法的RMSE 值优于大部分基于社会关系的推荐算法,稍逊于trustSVD 算法。而trustSVD 算法训练一轮的时间复杂度为O (d ||R c +d ||T c ),大于本文算法的时间复杂度,而且本文算法与后者算法的效果相比差别不大,因此综合来看,本文算法成本低,较容易实现。5结论本文针对用户信息量不对称问题提出一种改进非对称相似度和关联正则化的推荐算法。考虑不同用户与不同项目之间的不对称关系,提出一种改进相关度计算式,在综合考量项目与用户两种不
同因素偏移量的补充量的基础上,对评分预测式加以改进。同时针对用户历史行为信息不对称的问题,利用传统相似度获取邻域集合来表示用户的社会关系,将关联正则化用于约束矩阵分解目标函数,以此缓解数据稀疏带来的用户信息不对称。实验结果表明,与主流的推荐算法相比,该算法能够达到更好的推荐效果,同时与基于社会化的推荐系统相比,该算法的数据获取较为简单,推荐效果也有一定保证。参考文献:[1]Lv Linyuan ,Yeung C H.Recommender systems[J].Physics Reports ,2012,519(1):1-49.[2]Koren Y.Factorization meets the neighborhood :a multi-faceted collaborative filtering model[C]//14th ACM SIG-KDD International Conference on Knowledge Discovery and Data Mining ,Las Vegas ,2008.[3]Niu M Z ,Qu Y R ,Can X Z ,et al.Collaborative filter-ing with graph-based implicit feedback[C]//2017Interna-tional Conference on Computer Technology ,Electronics and Communication ,2018.[4]Roy A ,Banerjee S ,Sarkar M ,et al.Exploring new Vista of intelligent collaborative filtering :a restaurant recom-mendation paradigm[J].Journal of Computational Science ,2018,27:168-182.[5]李婷,张瑞芳,郭克华.面向个性化网站的增量协同过滤推
荐方法[J].计算机工程与应用,2019,55(4):225-232.
[6]苏庆,章静芳,林正鑫,等.改进模糊划分聚类的协同过滤推荐算法[J].计算机工程与应用,2019,55(5):118-123.[7]黄贤英,龙姝言,谢晋.基于用户非对称相似性的协同过滤推荐算法[J].四川大学学报(自然科学版),2018,55(3):489-493.[8]Salakhutdinov R ,Mnih A.Probabilistic matrix factori
za-tion[C]//International Conference on Neural Information Processing Systems ,2007.
[9]Mantrach A ,Saveski M.Item cold-start recommendations :
learning local collective embeddings[C]//8th ACM Con-ference on Recommender Systems ,2014:89-96.[10]Ma H ,Zhou D ,Liu C ,et al.Recommender systems with social regularization[C]//4th International Conference on Web Search and Web Data Mining ,Hong Kong ,China ,2011.
[11]吴宾,娄铮铮,叶阳东.联合正则化的矩阵分解推荐算法[J].
软件学报,2018,29(9):2681-2696.
[12]Guo G ,Zhang J ,Yorke-Smith N.TrusTSVD :collabora-tive filtering with both the explicit and implicit influence
of user trust and of item ratings[C]//29th AAAI Con-
ference on Artificial Intelligence ,2015.[13]Yang B ,Lei Y ,Liu J ,et al.Social collaborative filtering by trust[J].IEEE Transactions on Pattern Analysis and Ma-chine Intelligence ,2017,39(8):1633-1647.[14]Jamali M ,Ester M.A matrix factorization technique with trust propagation for recommendati
on in social networks [C]//2010ACM Conference on Recommender Systems ,Barcelona ,2010.[15]郭宁宁,王宝亮,侯永宏,等.融合社交网络特征的协同过滤推荐算法[J].计算机科学与探索,2018,12(2):208-217.
[16]GroupLens.MovieLens dataset[EB/OL].http ://u-
[17]McAuley J ,Targett C ,Shi Q F ,et al.Image-based recom-
mendations on styles and substitutes[C]//38th Interna-
tional ACM SIGIR Conference on Research and Develop-
ment in Information Retrieval ,2015:43-52.推荐算法SVD SVD++K NN NMF 本文算法Amazon 0.7420.7390.7830.8170.712MovieLens 0.8740.8620.9230.9170.847表2本文算法和其他算法的RMSE 值信任者6792被信任者7297信任数111781表3Ciao 数据集信任信息SVD++0.6130TrustMF 0.6312TrustSVD 0.5970SoRec 0.6280本文算法0.6010表4本文算法和其他算法在Ciao 数据集上的RMSE 值刘春玲,等:改进非对称相似度和关联正则化的推荐算法
49
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论