融入项目属性相似度的矩阵分解算法

2019-08-12 01:27宋志理胡胜利
电脑知识与技术 2019年16期
关键词:推荐算法协同过滤

宋志理 胡胜利

摘要:为了解决协同过滤算法中的数据稀疏性问题,本文提出一种融入项目属性相似度的矩阵分解算法(IS-MF)。IS-MF算法首先根据矩阵分解对原始评分矩阵降维;然后计算项目属性相似度预测再去填充原始评分矩阵的缺失数据;最后在填充后的矩阵基础上计算预测得分产生推荐。在真实的MovieLens数据集上进行实验,得出本文提出的IS-MF算法使得推荐的效果极大提高了。

关键词:矩阵分解;项目属性相似度;协同过滤;推荐算法

中图分类号:TP181 文献标识码:A

文章编号:1009-3044(2019)16-0198-01

开放科学(资源服务)标识码(OSID):

1 引言

随着大数据时代的到来,人们很难快速在网上捕捉自己需要的信息。因此出现了个性化的推荐系统。近期有许多学者提出了改进算法。针对基于改进矩阵分解的推荐算法,盛伟等人[1]提出了根据用户的评分行为将原始评分数据矩阵进行分群操作,然后对相似的用户群评分矩阵进行分解并产生推荐。考虑到语义的相似度问题,王阳等人[2]提出了基于层次结构树计算项目间的语义相似性,最后结合矩阵分解进行降维处理并产生推荐。考虑到相关度,余美华[3]提出了一种结合用户偏好度和项目相关度的算法。综合上述文献,本文提出一种融入项目属性相似度的矩阵分解算法。

2 本文算法

矩阵分解是协同过滤的最主要的推荐算法[4]。假设用户[U={u1,u2,…,un}],项目[V=j1,j2,…,jm]和评分矩阵[R∈RN×M]。用矩阵分解得到用户矩阵和项目矩阵。在项目矩阵上,求项目属性的相似度。项目属性数据潜藏着各个用户的兴趣爱好。设[X1~Xn]是项目属性名,[Amn]是对应项目[pm]在属性名[Xn]上的值。对项目[px],设[k0]为缺省,则[Axy∈k0,k1,…,kl],则两个项目属性相似度公式为:

根据得到的属性相似度,将填充原始评分矩阵的稀缺部分,可得新的评分矩阵;最后获取项目的邻居集并预测评分。设[γ]表示相似阈值,获取邻居集式为:[Sj=LTopk];预测式为:[Ruj=rj+i∈S(j)sim(i,j)(ru,i-ri)i∈S(j)sim(i,j) ];其中,[Ruj]表示用户[u]对项目[j]的评级,[ri]和[rj]分别表示对项目[i]和项目[j]的平均评级。

3 实验与分析

本文的实验数据集采用的是:[MovieLens 1M ML 1 M];其中包含的用户数:6040,项目数:3706,交互:1000209,稀疏度:95.53%。在实验中采用留一法,训练与测试数据集为4:1,评估标准采用的是平均绝对误差([MAE])来进行评估的[5]。设n为测试集的大小,则[MAE]的计算式为:[MAE=i=1npi-qin]。

将本文的IS-MF算法与基于用户的协同过滤([UBCF])、基于项目的协同过滤([IBCF])在共同的数据集下进行对比验证。实验结果如图1所示:

由于MAE值越小,推荐的效果越好。根据最后的实验结果证明,本文提出的[IS-MF]算法的MAE值低于其他算法。

4 总结

针对数据稀疏性缺陷,本文提出一种加入项目属性相似度的矩陣分解算法,能有效提高推荐算法的精确性。在未来工作中,打算考虑加入自动编码器,进一步的捕获项目的特征,进而提高推荐的性能。

参考文献:

[1] 盛伟,王保云,何苗,余英.基于评分相似性的群稀疏矩阵分解推荐算法[J].计算机应用,2017,37(05):1397-1401.

[2] 王阳,钟勇,李振东,杨观赐.融合语义相似度与矩阵分解的评分预测算法[J].计算机应用,2017,37(S1):287-291.

[3] 俞美华.融合用户兴趣度与项目相关度的电影推荐算法研究[J].电脑知识与技术,2017,13(08):22-26.

[4] Liu Y, Wang S, Khan M S, et al. A novel deep hybrid recommender system based on auto-encoder with neural collaborative filtering [J]. Big Data Mining and Analytics, 2018, 1(3): 211-221.

[5] 邢长征,杨晓婷.基于 SVD++ 与标签的跨域推荐模型[J].计算机工程,2018,4;36.

【通联编辑:梁书】

猜你喜欢
推荐算法协同过滤
改进的协同过滤推荐算法