一种基于加权协同过滤算法的电影推荐方法技术

技术编号:18289543 阅读:51 留言:0更新日期:2018-06-24 04:16
本发明专利技术公开了一种基于加权协同过滤算法的电影推荐方法,方法包括获取历史评分数据集,基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL其中,对第一历史评分矩阵RCF进行协同过滤生成第一评分矩阵R’CF,合并第一评分矩阵R’CF及第二历史评分矩阵RSL生成第二评分矩阵Rmn,对第二评分矩阵进行加权协同过滤计算出所有电影的第一预测评分,将所有电影按照其第一预测评分的大小以预设规律进行排序并进行推荐。本发明专利技术通过预设阈值对用户进行分层,使协同过滤时矩阵更稠密,减少由于评分矩阵规模增长带来的计算耗时增加,使得计算时间在不同规模的数据集上差异不会太大。

【技术实现步骤摘要】
一种基于加权协同过滤算法的电影推荐方法
本专利技术属于多媒体信息处理
,具体涉及一种基于加权协同过滤算法的电影推荐方法。
技术介绍
使用协同过滤算法进行推荐是推荐系统领域最成熟、通用的一种方法,传统的协同过滤算法分为基于项目的协同过滤(movie-basedCollaborativeFiltering)和基于用户的协同过滤(User-basedCollaborativeFiltering)。SlopeOne是一种movie-Based协同过滤推荐算法主要思想是利用全体用户的评分偏差来预测特定用户的评分。该算法思想易于理解,可以在各种平台上轻松实现,精度和运算速度上均优于传统协同过滤算法,但其太依赖于用户的历史评分因而存在冷启动和矩阵稀疏的问题,因此存在待改进的地方。因此提高slopeone算法的输入矩阵的密度是解决该算法在稀疏矩阵表现不佳的重要办法,是将slopeone成功用于电影推荐系统的基础。为了解决这个问题,一种方法是引入奇异值分解方法改进SlopeOne算法,但该改进算法的空间复杂度过大,且矩阵降维易造成信息丢失,对于一个在推荐速度、推荐精度上有一定要求的电影推荐系统来说,实用价值不大;一种方法是结合项目相似度计算和SlopOne算法,这种方法在一定程度上改善了数据稀疏性,但在大规模数据集中进行相似度计算所需要的时间复杂度太高。针对以上存在的问题,为了较好的解决传统协同过滤和SlopeOne算法存在的问题,本专利技术提出了一种基于加权协同过滤算法的电影推荐方法。
技术实现思路
针对现有技术中存在的上述不足,本专利技术提供了一种基于加权协同过滤算法的电影推荐方法,通过预设阈值对用户进行分层,使协同过滤时矩阵更稠密,减少由于评分矩阵规模增长带来的计算耗时增加,使得计算时间在不同规模的数据集上差异不会太大。为解决上述技术问题,本专利技术采用了如下的技术方案:一种基于加权协同过滤算法的电影推荐方法,包括:获取历史评分数据集;基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL,其中,所述第一历史评分矩阵RCF包括了第一用户对电影的历史评分数据,所述第一用户是为预设阈值及预设阈值以上的个数的电影进行过评分的用户,所述第二历史评分矩阵RSL包括了第二用户对电影的历史评分数据,所述第二用户是为预设阈值以下的个数的电影进行过评分的用户;对所述第一历史评分矩阵RCF进行协同过滤生成第一评分矩阵R’CF;合并所述第一评分矩阵R’CF及所述第二历史评分矩阵RSL生成第二评分矩阵Rmn;对所述第二评分矩阵进行加权协同过滤计算出所有电影的第一预测评分;将所有电影按照其第一预测评分的大小以预设规律进行排序并进行推荐。优选地,所述对所述第一历史评分矩阵RCF进行协同过滤生成第一评分矩阵R’CF包括:计算所述第一历史评分矩阵RCF中所有电影之间的相似度;基于所有电影之间的相似度计算所述第一历史评分矩阵RCF中没有评分的电影的第二预测评分;基于所述第一历史评分矩阵RCF及所述第二预测评分生成所述第一评分矩阵R’CF。优选地,所述对所述第二评分矩阵进行加权协同过滤计算出所有电影的第一预测评分包括:计算所有电影的平均偏差;基于所述平均偏差计算所有电影的第一预测评分。优选地,所述基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL包括基于所述历史评分数据集生成总历史评分矩阵,基于所述总历史评分矩阵生成第一历史评分矩阵RCF及第二历史评分矩阵RSL,所述第二评分矩阵Rmn中用户及电影的顺序与所述总历史评分矩阵中的用户及电影的顺序相同。优选地,所述计算第一历史评分矩阵RCF中所有电影之间的相似度包括:采用公式计算第一历史评分矩阵RCF中所有电影之间的相似度;其中,sim(j,i)表示电影j和电影i的相似度,Uji表示对电影j和i同时评分的用户的集合,j和i可以指代任意两部不同的电影,ru,j表示用户u对电影j的评分,ru,i表示用户u对电影i的评分,和分别表示电影j和i的平均评分。优选地,所述基于所有电影之间的相似度计算所述第一历史评分矩阵RCF中没有评分的电影的第二预测评分包括:采用公式计算所述第一历史评分矩阵RCF中没有评分的电影的第二预测评分;其中,Ni表示电影i的最近邻,i为任意一部电影,表示用户的历史均分,表示电影i的平均评分,Pui表示用户u对电影i的第二预测评分,rui表示用户u对i的最近邻电影的评分,n为i的最近邻电影,Sim(i,n)表示电影i和电影n的相似度。优选地,所述计算所有电影的平均偏差包括:采用公式计算所有电影的平均偏差;其中,devj,i表示电影j和电影i的偏差,电影i和电影j表示任意两部不相同的电影,Sj,i(x)表示同时对电影i,j评分的用户集合,card()表示其中包含元素的个数,uj表示电影j的评分,ui表示电影i的评分。优选地,基于平均偏差计算所有电影的第一预测评分包括:采用公式计算所有电影的第一预测评分;其中,cj,i=card(Sj,i(x)),P('u)j为电影j的第一预测评分,devj,i表示电影j和电影i的偏差,ui表示电影i的评分,S(u)-{j}表示除了电影j以外的电影的集合,电影j和电影i为任意两部不同的电影。综上所述,一种基于加权协同过滤算法的电影推荐方法,包括获取历史评分数据集,基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL,其中,第一历史评分矩阵RCF包括了第一用户对电影的历史评分数据,第一用户是为预设阈值及预设阈值以上的个数的电影进行过评分的用户,第二历史评分矩阵RSL包括了第二用户对电影的历史评分数据,第二用户是为预设阈值以下的个数的电影进行过评分的用户,对第一历史评分矩阵RCF进行协同过滤生成第一评分矩阵R’CF,合并第一评分矩阵R’CF及第二历史评分矩阵RSL生成第二评分矩阵Rmn,对第二评分矩阵进行加权协同过滤计算出所有电影的第一预测评分,将所有电影按照其第一预测评分的大小以预设规律进行排序并进行推荐。本专利技术通过预设阈值对用户进行分层,使协同过滤时矩阵更稠密,减少由于评分矩阵规模增长带来的计算耗时增加,使得计算时间在不同规模的数据集上差异不会太大。附图说明图1为本专利技术公开的一种基于加权协同过滤算法的电影推荐方法的流程图。具体实施方式下面结合附图对本专利技术作进一步的详细说明。如图1所示,为本专利技术公开的一种基于加权协同过滤算法的电影推荐方法的流程图,包括:S101、获取历史评分数据集;在本专利技术中历史评分数据集可以采用大小为1M的MovieLens数据集(一种明尼苏达大学用于电影推荐系统的公开数据集)。S102、基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL,其中,第一历史评分矩阵RCF包括了第一用户对电影的历史评分数据,第一用户是为预设阈值及预设阈值以上的个数的电影进行过评分的用户,第二历史评分矩阵RSL包括了第二用户对电影的历史评分数据,第二用户是为预设阈值以下的个数的电影进行过评分的用户;生成的矩阵中,行为不同的用户,列为不同的电影,每个元素就是某个用户对某个电影的评分。根据需要设置一个预设阈值,使用预设阈值对用户进行分层,生成第一历史评分矩阵RCF及第二历史评分矩阵RSL。S103、对第一历本文档来自技高网...
一种基于加权协同过滤算法的电影推荐方法

【技术保护点】
1.一种基于加权协同过滤算法的电影推荐方法,其特征在于,包括:获取历史评分数据集;基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL,其中,所述第一历史评分矩阵RCF包括了第一用户对电影的历史评分数据,所述第一用户是为预设阈值及预设阈值以上的个数的电影进行过评分的用户,所述第二历史评分矩阵RSL包括了第二用户对电影的历史评分数据,所述第二用户是为预设阈值以下的个数的电影进行过评分的用户;对所述第一历史评分矩阵RCF进行协同过滤生成第一评分矩阵R’CF;合并所述第一评分矩阵R’CF及所述第二历史评分矩阵RSL生成第二评分矩阵Rmn;对所述第二评分矩阵进行加权协同过滤计算出所有电影的第一预测评分;将所有电影按照其第一预测评分的大小以预设规律进行排序并进行推荐。

【技术特征摘要】
1.一种基于加权协同过滤算法的电影推荐方法,其特征在于,包括:获取历史评分数据集;基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL,其中,所述第一历史评分矩阵RCF包括了第一用户对电影的历史评分数据,所述第一用户是为预设阈值及预设阈值以上的个数的电影进行过评分的用户,所述第二历史评分矩阵RSL包括了第二用户对电影的历史评分数据,所述第二用户是为预设阈值以下的个数的电影进行过评分的用户;对所述第一历史评分矩阵RCF进行协同过滤生成第一评分矩阵R’CF;合并所述第一评分矩阵R’CF及所述第二历史评分矩阵RSL生成第二评分矩阵Rmn;对所述第二评分矩阵进行加权协同过滤计算出所有电影的第一预测评分;将所有电影按照其第一预测评分的大小以预设规律进行排序并进行推荐。2.如权利要求1所述的基于加权协同过滤算法的电影推荐方法,其特征在于,所述对所述第一历史评分矩阵RCF进行协同过滤生成第一评分矩阵R’CF包括:计算所述第一历史评分矩阵RCF中所有电影之间的相似度;基于所有电影之间的相似度计算所述第一历史评分矩阵RCF中没有评分的电影的第二预测评分;基于所述第一历史评分矩阵RCF及所述第二预测评分生成所述第一评分矩阵R’CF。3.如权利要求1所述的基于加权协同过滤算法的电影推荐方法,其特征在于,所述对所述第二评分矩阵进行加权协同过滤计算出所有电影的第一预测评分包括:计算所有电影的平均偏差;基于所述平均偏差计算所有电影的第一预测评分。4.如权利要求1-3任一项所述的基于加权协同过滤算法的电影推荐方法,其特征在于,所述基于历史评分数据集生成第一历史评分矩阵RCF及第二历史评分矩阵RSL包括基于所述历史评分数据集生成总历史评分矩阵,基于所述总历史评分矩阵生成第一历史评分矩阵RCF及第二历史评分矩阵RSL,所述第二评分矩阵Rmn中用户及电影的顺序与所述总历史评分矩阵中的用户及电影的顺序相...

【专利技术属性】
技术研发人员:何波裴剑辉闫河
申请(专利权)人:重庆理工大学
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1