基于时间衰减的协同过滤推荐算法

Sincetimefactorisnotconsideredincalculatingscorematrixintraditionalcollaborativefiltering,theaccuracyforrecommendationislimited.Inordertosolvethisproblem,weproposeamethod,whichintegratesthetimefactorintotheuserscorematrix.Inthismethod,firsttheforgettingcurveandthememoryperiodareincorporatedintothealgorithmasthetimefactor.ThenEbbinghausforgettingcurveisfittedwithpotentialfunction.Thiswaycangetmorecorrectcorrelationfunctionbetweentimeandinterestdecay.Finallyalltheresultsareimportedintotheuserscorematrix,andthenthematrixisappliedincollaborativefilteringrecommendationalgorithm.Thefactors,whichaddthememorycycletothescore,makethetargetuserpredictthepredictedprojectscoremoreaccurately.Theexperimentsshowthattheresultsobtainedwiththeproposedmethodaremuchmoreaccuratethanthatoftheoriginalone.

本文通过Python的matplotlib包,对艾宾浩斯遗忘曲线进行拟合,输入曲线数据,即天数和记忆量,观察形状,可以用指数函数进行拟合,结果如图1所示。

最终的艾宾浩斯遗忘曲线的拟合公式为:

设用户集U={U1,U2,…,Un},项目集合M={M1,M2,…,Mn}。

记忆周期因子的表达式如式(7)所示:

最终的评分预测公式为:

式中:Sim(u,ui)表示目标用户u和用户ui的相似度;N为用户u及用户ui共同参与的项目数;gui,s为用户ui赋予项目s的分值。

输入:数据集S

输出:推荐影片的评分矩阵并选出Top20

//遍历数据集S中的用户

3根据式(3),计算Wt,即每个用户对于已经评分的项目的遗忘值

4endfor//遍历结束

//遍历数据集中的用户

//找到用户i和用户j共同评分过的项目

//遍历项目集中共同评分过的项目

8通过式(4)计算用户间相似度

9endfor

10endfor

11选出每个用户相似度最高的10个用户,获得相似用户矩阵USER

//遍历相似用户

//找到相似用户接触过但是目标用户没接触的项目,获取项目集合Mnew

14通过式(6)预测目标用户对Mnew的评分,获取评分最高的N个MnewTopN

15endfor

16returnMnewTopN

实验所用数据集为MovieLensml-1M版本数据集,由984个用户,2000个电影,以及10万条评分组成。

平均绝对误差计算公式为:

式中:ru,i为用户u的实际评分值;Pu,i为用户u的预测评分值。

本文改进的算法与传统的算法相比,实验结果如图3所示。

图3是对所有用户的MAE取出并进行均值计算获得的最终结果,现随机取出20个用户,用折线图来表示其MAE的一个趋势,如图4所示更直观地看出新算法的MAE值

在总体上普遍小于传统CF算法。

本文的改进算法与传统的算法相比,在推荐准确度方面有所提高,实验结果如图5所示。

由图5可以看出,基于改进的协同过滤算法比传统的协同过滤算法在条件相同的情况下,命中率更高。

THE END
1.相关商品推荐:基于协同过滤的推荐算法协同过滤算法适用于很多领域,比如电商平台、社交网络、新闻推荐、音乐电影推荐等。通过分析用户的行为,协同过滤算法可以为用户提供个性化的推荐产品或内容,提高用户体验和购买转化率。 实现原理 协同过滤算法的实现原理是基于用户行为的相似性,通过用户之间的行为数据进行比较和匹配,找到相似的用户或商品,从而预测用户对未接...https://www.jianshu.com/p/396b7c403ee4
2.通过社交网络关系的图卷积协同过滤实现的产品推荐方法基于用户的协同过滤算法原理是利用其相似用户对该物品的所有评分的加权平均值,以此来 预测用户对某项物品的未知评分,而基于物品的协同过滤算法是预测用户对某项物品的评分是基 于用户对相似物品的平均评分。基于邻域的cf方法的关键问题是计算相似度和如何加权汇总评 分。 https://www.xjishu.com/zhuanli/55/202111235556.html
1.协同过滤算法在电商推荐系统中的应用:原理与实践3.1 算法原理概述 协同过滤算法通过分析用户和商品之间的关系,找出用户之间的相似性和商品之间的相似性,从而实现推荐。具体来说,协同过滤算法的核心思想是: 利用用户的浏览历史、购买记录、评分等行为数据,建立用户画像。 利用商品的销售数据、用户评分、标签等数据,建立物品画像。 https://blog.csdn.net/2405_88636357/article/details/143904879
2.协同过滤算法原理51CTO博客已为您找到关于协同过滤算法原理的相关内容,包含IT学习相关文档代码介绍、相关教程视频课程,以及协同过滤算法原理问答内容。更多协同过滤算法原理相关解答可以来51CTO博客参与分享和学习,帮助广大IT技术人实现成长和进步。https://blog.51cto.com/topic/780fa7612181653.html
3.CollaborativeFiltering(协同过滤)算法详解基于用户协同过滤算法的原理图 所以,协同过滤算法主要分为两个步骤: 1、寻找相似的用户集合; 2、寻找集合中用户喜欢的且目标用户没有的进行推荐。 具体实现 一、寻找用户间的相似度 1、Jaccard公式 Jaccard系数主要用于计算符号度量或布尔值度量的个体间的相似度,因为个体的特征属性都是由符号度量或者布尔值标识,因此...https://cloud.tencent.com/developer/article/1085760
4.字节跳动AI高级产品经理田宇洲:AI产品经理需要掌握的核心算法...R2.ai:端到端完成数据清洗到模型搭建,非机器学习专家也可使用,高级数据质检、调参和算法选择等功能,供机器学习专家手动调教模型,比肩人类数据科学家,不断自学习改进建模流程,建模速度可达小时/分钟级,透明可追溯的建模流程。 Q4. 机器学习的基础算法原理及应用场景是怎样的? https://maimai.cn/article/detail?fid=1246742214&efid=hW5NlFAEkS-MHjfZl5IAxg