APP下载

基于TSVD的协同过滤推荐算法研究

2022-04-29周艳李凯付高宇向铭杰曹建波叶栩见

电脑知识与技术 2022年4期
关键词:推荐算法协同过滤

周艳 李凯 付高宇 向铭杰 曹建波 叶栩见

摘要:针对经典的协同过滤推荐算法的一系列不足,如用户冷启动、商品评分稀疏性以及推荐精度不高,文章提出基于截断奇异值分解(TSVD)的协同过滤推荐算法。使用TSVD技术对稀疏矩阵进行降维处理,利用Jaccard相似度算法计算用户间相似度,提高推荐精度。实验结果显示,基于截断奇异值分解(TSVD)的协同过滤算法体现良好的推荐质量及预测精度。

关键词:推荐算法;协同过滤;稀疏矩阵;截断奇异值分解

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

文章编号:1009-3044(2022)04-0075-02

1 引言

随着互联网、信息技术的飞速发展,用户获取信息的来源越来越丰富,但繁杂的信息在网络过滤中容易造成流失。对于“大数据时代”背景下的电子商务,为用户推出个性化的推荐系统愈加重要,它能通过集中分析用户行为和偏好,为用户提供个性化的推荐服务,并根据新收集到的用户行为数据,自动更新并调整推荐内容[1]。用户个性化的推荐系统是一种更智能、更现代化的信息过滤方式,它的出现对电子商务平台和社交信息平台产生了质的影响。

协同过滤算法是推荐算法中最经典、使用范围最广泛的一种类型,有广大的应用远景和潜在商业价值,在电子商务中其主要价值体现在:能发掘潜在用户;提高了电子商务平台的差异化销售能力;提升了广告渠道转化效率和用户的个性化体验[2]。

其中基于用户的协同过滤算法是通过分析用户在平台上的历史浏览记录及搜索记录,得出用户对商品或内容的基本偏好(如购物车内容,浏览内容,商品评论等),并对这些偏好进行记录,得出大量用户对同类商品的偏好方向和程度,为偏好相似的用户推荐同类商品或依据有相似偏好的用户近期的搜索内容和关注热点为其他用户进行参考性推荐[3]。

但随着使用者规模的指数级扩大时,基于用户的推荐算法也有些难以避免的难题,比如“冷启动”问题,其表现为当在面对新用户的时候,因其无历史浏览痕迹以及搜索记录而不能对其完成良好的推荐。针对这个情况,本文提供了一种基于TSVD的协同过滤推荐算法,对该类项目的用户平均水平进行推荐,使推荐结果更加精确。

2 算法介绍

本文提出的算法根据用户的评分信息预测用户可能感兴趣的项目进行推荐,并考虑参考评分信息的可信度等指标,对推荐结果进行优化。该算法依赖用户-评分二维矩阵,它记录了每个用户对不同项目的评分记录,评分区间为[1,5],对没有评分的项目则取0分。采取TSVD技术对评分矩阵进行降维,最后得出用户对项目的预测评分,在这过程中穿插KNN(K-Nearest Neighbor)算法获得最近邻居集合,并将预测评分较高的项目推送給用户。流程图如图1所示。

输入:用户对项目的评分信息。

输出:预测评分矩阵。

Step 1:将原始的用户评分信息变换为评分矩阵。

Step 2:利用TSVD方法,使稀疏的评分矩阵实现良好的降低维度的效果。

Step 3:根据公式(1)计算用户间的相似度。

Step 4:利用KNN算法求得用户最近邻居集合。

Step 5:通过公式(2)生成预测评分矩阵,将由Top-N算法生成的预测评分较高的N个项目进行推送[4]。

2.1 TSVD矩阵分解技术

截断奇异值分解(TSVD)是SVD奇异值分解的变形,都为矩阵分解技术,用于对高秩的稀疏矩阵进行降维处理,得到低秩的矩阵接近原始矩阵[5]。TSVD和SVD的不同在于其只计算用户指定的最大奇异值,并可指定生成指定维度的矩阵。

TSVD矩阵分解过程具体可以解释为一个非方阵矩阵[An×d],经过降维处理后可将原矩阵表示成三个矩阵相乘,即[An×d=Un×rr×dV*d×d],其中,[Un×r]为原矩阵的左奇异矩阵,[V*d×d]为原矩阵的右奇异矩阵,[∑r×d]是对角矩阵。

通过TSVD矩阵分解后,可以成功将原本的高秩稀疏矩阵转化为一个近似等价的低秩矩阵,解决了原始数据中项目评分相较于项目数较少的问题。

2.2 Jaccard相似度计算

Jaccard相似度是推荐算法中较为广泛地用于相似度度量的算法。因此本文中的用户间相似度由两个n维空间向量利用Jaccard相似度算法计算得到的相似度进行表示。

Jaccard相似度是将评分矩阵看作n维向量组,并利用不同数据集合间的交集和并集的比值来推算用户之间的相似度值大小,计算用户j和用户k间相似度[J(j,k)]的公式为:

其中[J(j,k)]表示用户j,k的相似度;其中,j和k分别表示两个用户对所有项目的评分情况。

因此本文利用Jaccard相似度计算得到每两个用户间的相似度,再通过KNN算法得到同特定用户相似度较高的用户集合。

2.3 预测评分矩阵

通过KNN算法获得最近邻居集合后,通过式子(2)得到推荐用户对没有评价项目的预测评分,生成预测评分矩阵[6]。预测评分公式如下:

其中[rrui]表示在TSVD降维后用户u对项目i的评分值;[ru]表示用户u的评分均值。

最终利用Top-N推荐推送评分较高的N个结果,完成推介。

3 实验分析

3.1 实验环境

本文采用的实验平台是PC(Intel(R),CPU i7-8750H,2.20GHz,RAM 16GB)和Windows 10操作系统,使用JAVA来实现代码块。

文章选用的数据集来自美国GroupLens项目中收集的MovieLens 100K的用户电影评分数据集合,其中涵盖900多位用户对1680部左右电影的100,000项电影评分数据(1-5)。

3.2 评价标准

预测精度是一种衡量由算法得到的预测评分同用户对项目的真实评分之间差异程度的重要标准,由于不同机器学习算法学习得到的模型存在区别,因此所使用的评估标准也不尽相同,在推荐算法领域,被广泛使用的评估标准有均方根误差(RMSE)、均方误差(MSE),当这两个误差结果值越小,代表推荐模型表现更加优秀,能够实现较好的推荐质量[7-8]。MSE、RMSE的计算公式如(3)和(4)所示。

其中,[ri]为用户对项目的真实评分,[ri]为项目推荐算法生成的预测评分,N为实验中所使用的相关数据集的数据量。

3.3 实验结果与分析

图2显示的是随邻居数改变,不同算法的MAE取值的变化。图2可见,伴随着邻居个数取值的变大,基于用户的协同过滤UCF的取值最初是逐渐减小,当邻居个数增加至12,得到最小的MAE值,然而后续邻居数的变化中,取值不降反增。基于SVD-CF的协同过滤算法同TSVD-TF算法的MAE值都是随邻居个数增加而呈下降趋势,和UCF算法相似,当邻居数量增加至12时,取到最小值,随后趋于稳定。从图2中可见,即便邻居数量取值不同,改进的两种算法计算出的MAE值皆比传统推荐算法获得的MAE值低。但TSVD-CF算法MAE值同SVD-CF算法得到的取值进行对比后显示TSVD-CF算法取值更低,并在所有邻居数取值中保持最低,在邻居个数为12时,取到最小值并在接下来保持在0.76左右。

本文所提出的TSVD-CF算法与UCF和SVD-CF算法相比在项目相似度计算上更为精准。

图3中展现的是随邻居数改变,不同算法RMSE取值的变化。从图3中可见,邻居数量逐渐增加,三种推荐算法的RMSE值随之减小,除了UCF算法在邻居数增加12后有明显的上升趋势,TSVD-CF算法和SVD-CF算法在邻居数为10后RMSE值趋于稳定,在邻居数不同的情况下,本文所提出的TSVD-CF算法始终保持最低的RMSE值,说明此推荐算法在计算方面考虑到了更加全面的因素,能更加精确地预测评分。从图3中可以看出本文所提出的算法的RMSE值在邻居数取到12时达到了最小值,在随后增加的过程中稳定在0.97左右。

结果说明,从MAE值和RMSE值两种评估标准上进行比较,本文提出的算法相较SVD-CF和UCF其他两种协同过滤推荐算法,在对稀疏矩阵降维方面有更好的表现,其提高预测精度的效果更加优越,是有效可行的。

4 结束语

文章对于现有的推荐系统因数据较少而导致推荐精确度不高的缺陷,采用基于TSVD的协同过滤推荐,使推荐结果更加

准确。算法首先采用TSVD矩阵分解,将原本的稀疏矩阵进行数据特征的挖掘,降维成近似等价的低秩矩阵,缓解了原始数据稀疏性的问题。采用KNN算法得到邻居集合并利用预测算法得到预测评分,并选取评分较高的N个项目进行推送。实验结果显示,TSVD-CF推荐算法不仅有效解决了用户评分数据较少的难题,而且优化了算法的推荐精度。

参考文献:

[1] 鐘豪.基于异构用户反馈数据的协同过滤算法研究[D].杭州:浙江大学,2015.

[2] 赵尉翔.基于协同过滤技术的推荐算法研究[D].西安:长安大学,2018.

[3] 刘娟.Mahout平台下协同过滤推荐算法的研究[D].西安:西安理工大学,2016.

[4] 张盼盼.基于信任机制的并行推荐算法研究[D].长沙:湖南大学,2017.

[5] 徐吉.基于协同过滤和矩阵分解的推荐系统研究与应用[D].宁波:宁波大学,2019.

[6] 张洁,李港.一种基于评分信息熵的融合协同过滤算法[J].南京邮电大学学报(自然科学版),2021(2):76-81.

[7] 武文硕,左安.基于迭代SVD的电影推荐算法的研究[J].电脑知识与技术,2021,17(15):1-3.

[8] 王建芳,李骁,武文琪,等.一种SVD和信任因子相结合的协同过滤算法[J].小型微型计算机系统,2017,38(6):1290-1293.

收稿日期:2021-08-25

基金项目:嘉兴学院2020年度校级SRT计划项目(项目编号:8517203331)

作者简介:周艳(1999—),女,浙江丽水人,学士,研究方向为系统设计与分析;李凯(1988—),男,浙江嘉兴人,讲师,硕士,研究方向为智能计算与图像处理;付高宇(2000—),女,安徽滁州人,学士,研究方向为数据库设计与分析;向铭杰(1999—),男,四川乐山人,学士,研究方向为数据库设计与分析;曹建波(1999—),男,浙江温州人,学士,研究方向为系统设计与分析;叶栩见(1999—),男,浙江台州人,学士,研究方向为系统设计与分析。

猜你喜欢

推荐算法协同过滤
改进的协同过滤推荐算法
校园社交平台中标签系统的研究
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
社交网络推荐系统
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述
基于情景感知的高校移动社交网络平台设计与开发