CN109933726A - 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法 - Google Patents

基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法 Download PDF

Info

Publication number
CN109933726A
CN109933726A CN201910219541.6A CN201910219541A CN109933726A CN 109933726 A CN109933726 A CN 109933726A CN 201910219541 A CN201910219541 A CN 201910219541A CN 109933726 A CN109933726 A CN 109933726A
Authority
CN
China
Prior art keywords
user
target
film
score
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910219541.6A
Other languages
English (en)
Other versions
CN109933726B (zh
Inventor
蒋军
刘建生
张东翠
江任伟
叶紫妍
李文君
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangxi University of Science and Technology
Original Assignee
Jiangxi University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jiangxi University of Science and Technology filed Critical Jiangxi University of Science and Technology
Priority to CN201910219541.6A priority Critical patent/CN109933726B/zh
Publication of CN109933726A publication Critical patent/CN109933726A/zh
Application granted granted Critical
Publication of CN109933726B publication Critical patent/CN109933726B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法,首先利用数据挖掘中min‑max数据归一化方法对评分数据归一化,使评分数据在设定区间之内;再结合电影信息表中的电影属性信息与归一化的用户评分数据设计属性权重赋值模型,计算每位用户的平均加权兴趣向量;然后运用K‑means聚类算法,按照每位用户的平均加权兴趣向量对用户进行分类,得到多个用户兴趣集合;对目标用户进行推荐时先判断用户所在的兴趣集合,再在目标用户所在的兴趣集合中利用基于用户的协同过滤推荐算法(User‑based CF)完成电影推荐。与同类方法相比,本发明能够显著提高推荐结果的精准度。

Description

基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法
技术领域
本发明涉及一种电影推荐方法,具体是基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法。
背景技术
处在大数据时代的今天,海量的数据以***的方式充斥着我们每个人的日常生活。网上购物颠覆了传统的买卖方式,社交网络拓宽了我们交际的范围,博客论坛成为我们记录生活的一部分,那么如何向用户提供个性化的、具有针对性的信息服务成为无数电商以及网络平台关注的焦点。协同过滤推荐能够及时跟踪用户的需求变化来自动调整信息服务的方式和内容,是一种极具潜力的解决信息过载的个性化服务技术。在大大节约了商家的广告宣传费用的同时又提高了用户的关注度,也帮助用户在更短的时间里买到自己心仪的商品,达到了一举三赢的效果。
协同过滤推荐算法相比其他的推荐算法具有很大优势,主要体现在以下几个方面:①算法的个性化、自动化程度高;②推荐领域广泛;③易产生新异推荐;④技术上易于实现。国内外的研究人员提出了各种各样的基于协同过滤的推荐方法,例如钱程和阳小兰发表的“一种电影个性化推荐***的研究与实现”(见[J].计算机与数字工程,2011,8,P73-76),电影推荐***基于改进的协同过滤推荐算法,并针对电影领域进行实验,实验证明了推荐***的可行性以及高效性;李剑锋和秦拯发表的“一种基于局部近邻Slope One协同过滤推荐算法”(见[J].计算机工程与科学,2011,7,P1346-1350),解决在构建电影评分偏差表时噪声数据对评分偏差的影响,从而提高的评分预测的准确性以及推荐的精准度;朱东郡等发表的“基于标签聚类和兴趣划分的协同过滤推荐算法”(见[J].计算机工程,2017,11,P146-151),算法通过对标签聚类对用户兴趣进行划分,并引入时间因子跟踪用户的兴趣变化,相比传统的协同过滤推荐算法,实验表明改进后的算法能够深入挖掘用户兴趣,适应用户的兴趣变化,进而使推荐精度的得到提高。
从协同过滤推荐算法研究现状可知,推荐技术在大数据时代的今天已经得到了广泛的应用,不过传统的协同过滤推荐算法存在数据稀疏性、冷启动、扩展性等问题,这些问题直接或者间接地导致***在推荐时推荐精准度不高、推荐效率低下、推荐实时性不佳以及不能很好地应对新电影或新用户进入***的推荐(见翁小兰、王志坚所发表的“协同过滤推荐算法研究进展”,[J].计算机工程与应用,2018,54(1),P25-31)。
发明内容
本发明的目的是提供一种基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法,它引入用户加权兴趣向量并结合K-means聚类,在很大程度上减少了邻居用户的搜索时间,且显著提高了推荐结果的合理性,使推荐结果更为精准。
本发明所采用的技术方案是:基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法,包括以下步骤:
步骤1,收集用户的评分数据,得到用户-电影评分矩阵S;
其中,矩阵的每个元素sij为用户原始评分数据,表示用户i对电影j的评分,用户没有评分过的电影分值为0,用户下标i=1,2,…,m,电影下标j=1,2,…,n,m为用户的个数,n为电影的个数;
步骤2,选用min-max数据归一化方法对用户评分数据归一化,使得用户的评分数值在设定区间之内,进而得到归一化用户评分,min-max数据归一化公式如下:
其中,minA为用户评分数据集A中最小的数据,maxA为用户评分数据集A中最大的数据,newmax为设定区间的上界,newmin为设定区间的下界,sij为原始评分数据,nij为归一化后的评分数据;
步骤3,按照步骤2对用户集合中每位用户的评分数据进行相同的处理,最终得到归一化用户评分矩阵N如下:
其中,矩阵的每个元素nij为归一化后的评分数据,表示用户i对电影j的归一化评分;
步骤4,在用户集合中选取一个用户Useri,通过该用户的评分电影并结合电影信息表中的电影属性,匹配得到该用户所评分的每个电影的属性向量Attributeij如下:
其中,表示用户i所评分的第j个电影的第f个属性,且对于电影具有的属性的初始值为1,不具有的属性初始值为0,属性下标f=1,2,…,F,F表示电影属性个数;
步骤5,对步骤4中用户Useri所评分的每个电影,并结合该用户对每个电影的归一化评分以及对应的电影属性得到该用户的加权兴趣向量Attribute_scorei,由于用户所评分的不同电影中存在属性相同的情况,故采用平均加权兴趣向量Avg_attribute_scorei来描述该用户的综合兴趣爱好,Avg_attribute_scorei表示为:
其中,表示用户i对属性f的平均加权评分;
加权兴趣向量公式为:
Attribute_scorei=nij·Attributeij
平均加权兴趣向量每个分量的计算公式为:
其中,表示用户i所评分的所有电影中相同属性的计数;
步骤6,按照步骤4、步骤5对用户集合中的每位用户进行相同的处理,最终得出每位用户的平均加权兴趣向量;
步骤7,设定聚类簇数K并创建K个空的用户兴趣集合{C1,C2,...,Ck,…,CK};其中,类簇下标k=1,2,3,…,K;
步骤8,在用户集合中随机选取K个用户的平均加权兴趣向量作为初始类簇中心{μ12,...,μk,…,μK};
步骤9,从用户集中选取一个用户Useri并计算该用户的平均加权兴趣向量到各个聚类中心的距离dik,求出与该用户距离最近的聚类中心μk,并将该用户纳入相应的类簇Ck中;
距离公式:
dik=‖Avg_attribute_scoreik2
聚类公式:
μk=argmink∈{1,2,3…,K}dik
步骤10,按照步骤9对用户集合中的每位用户进行相同的处理,将所有用户都归入相应的类簇中;
步骤11,选取K个类簇中的一个类簇Classk,计算该类簇中所有用户的平均加权兴趣向量的均值向量作为该类簇新的聚类中心μ’k
其中,Card(Ck)为类簇Ck中用户的数量;
步骤12,按照步骤11对K个类簇中的每个类簇进行聚类中心更新操作,得到新的聚类中心{μ'1,μ'2,...,μ'k,…,μ'K};
步骤13,重复步骤9、步骤10、步骤11、步骤12,直到每个类簇的聚类中心不再改变时输出K个类簇以及对应的聚类中心
步骤14,选取目标用户集合中的一个目标用户Target_usert,通过计算该目标用户平均加权兴趣向量与各个聚类中心的距离,判断目标用户所在兴趣集合,具体计算公式同步骤5和步骤9;其中,目标用户集合是用户集合的一个子集,目标用户下标t=1,2,3,…,T,T为目标用户集合中用户的数量;
步骤15,利用皮尔逊相关系数公式计算步骤14中目标用户Target_usert与其所在的兴趣集合中每个用户的评分相似度Sim_scorete;利用余弦相似度公式计算步骤14中目标用户Target_usert与其所在的兴趣集合中每个用户的平均加权兴趣向量相似度Sim_attributete;其中,兴趣集合中用户下标 表示兴趣集合中的用户的数量,皮尔逊相关系数公式:
其中,Ite表示用户t,e共同评分的电影集合,电影c属于集合Ite,ntc表示用户t对电影c的归一化评分,分别表示用户t,e对电影c的归一化平均评分;
余弦相似度公式:
其中,分别表示用户t,e的平均加权兴趣向量;
步骤16,结合步骤14中目标用户Target_usert与所在兴趣集合中每个用户的评分相似度Sim_scorete和平均加权兴趣相似度Sim_attributete得到该目标用户与兴趣集合中每个用户的综合相似度Simte
Simte=λSim_scorete+(1-λ)Sim_attributete
其中λ为评分权重因子;
步骤17,以综合相似度Simte为标准,对步骤14中目标用户Target_usert所在的兴趣集合中的用户进行综合相似度排序,得到该目标用户的序列化邻居用户集合;
步骤18,按照步骤步骤14、步骤15、步骤16、步骤17对目标用户集合中的每个用户进行相同的处理,最终得出每位目标用户的序列化邻居用户集合;
步骤19,设定参照邻居用户数N以及目标用户的推荐电影个数R;其中,参照邻居用户数N的取值范围是0到m,目标用户的推荐电影个数R的取值范围是0到n;
步骤20,在目标用户集合中选取一个用户Target_usert并查看该目标用户的序列化邻居集合,取前N个用户构成该目标用户的参照邻居用户集NNt并作为计算目标用户未评分电影的预测评分依据;
步骤21,利用现有的基于用户的协同过滤推荐算法,通过步骤20中目标用户Target_usert的参照邻居用户集NNt计算该目标用户未评分电影j的预测评分Ptj,预测评分公式如下:
其中,参照用户u属于集合NNt,Simtu目标用户Target_usert与参照邻居用户u的综合相似度,nuj为参照邻居用户u对电影j的归一化评分,分别为参照邻居用户u和目标用户Target_usert所评分电影的归一化平均评分;
步骤22,按照步骤21对步骤20中目标用户Target_usert所有未评分电影进行相同的处理,得出该目标用户未评分电影的预测评分;
步骤23,按照步骤20、步骤21、步骤22对目标用户集中每位用户进行相同的处理,得出每位目标用户未评分电影的预测评分;
步骤24,对目标用户集中每位用户的预测评分电影按照预测评分数据的大小排序,得到每位目标用户的序列化预测评分电影集合;
步骤25,在目标用户集中选取一个用户Target_usert,查看该目标用户的序列化预测评分电影集合并取出预测评分大小前R个电影作为该目标用户的推荐电影列表Recommend_itemt
步骤26,按照步骤25,对目标用户集中每位用户进行相同的处理,最终得出每位目标用户的电影推荐列表。
本发明首先通过电影评分数据和电影属性信息构建用户平均加权兴趣向量,并以此为聚类标准利用K-means聚类算法对用户兴趣进行划分,判断目标用户所在的用户兴趣集合后,再利用基于用户综合相似度的协同过滤推荐算法对目标用户进行电影推荐,能够有效提高用户兴趣划分的精度,并使兴趣划分结果更具有说服力,同时,改进的算法能够有效提高推荐的精准度。
具体实施方式
下面通过实施例对本发明进一步说明。
实施例:
步骤1,收集用户的评分数据,得到用户-电影评分矩阵S;
其中,矩阵的每个元素sij为用户原始评分数据,表示用户i对电影j的评分,用户没有评分过的电影分值为0,用户下标i=1,2,…,m,电影下标j=1,2,…,n,m=459个用户,n=1683个电影;
步骤2,选用min-max数据归一化方法对用户评分数据归一化,使得用户的评分数值在设定区间之内,进而得到归一化用户评分,min-max数据归一化公式如下:
其中,minA为用户评分数据集A中最小的数据,maxA为用户评分数据集A中最大的数据,newmax为设定区间的上界,这里newmax=1,newmin为设定区间的下界,这里newmin=0,sij为用户原始评分数据,nij为归一化后的评分数据;
步骤3,按照步骤2对用户集合中每位用户的评分数据进行相同的处理,最终得到归一化用户评分矩阵N如下:
其中,矩阵的每个元素nij为归一化后的评分数据,表示用户i对电影j的归一化评分;
步骤4,在用户集合中选取一个用户Useri,通过该用户的评分电影并结合电影信息表中的电影属性,匹配得到该用户所评分的每个电影的属性向量Attributeij如下:
其中表示用户i所评分的第j个电影的第f个属性,且对于电影具有的属性的初始值为1,不具有的属性初始值为0,属性下标f=1,2,…,F,F=19个电影属性;
步骤5,对步骤4中用户Useri所评分的每个电影,并结合该用户对每个电影的归一化评分以及对应的电影属性得到该用户的加权兴趣向量Attribute_scorei,由于用户所评分的不同电影中存在属性相同的情况,故采用平均加权兴趣向量Avg_attribute_scorei来描述该用户的综合兴趣爱好,Avg_attribute_scorei表示为:
其中,表示用户i对属性f的平均加权评分;
加权兴趣向量公式为:
Attribute_scorei=nij·Attributeij
平均加权兴趣向量每个分量的计算公式为:
其中,表示用户i所评分的所有电影中相同属性的计数;
步骤6,按照步骤4、步骤5对用户集合中的每位用户进行相同的处理,最终得出每位用户的平均加权兴趣向量;
步骤7,设定聚类簇数K=7并创建K个空的用户兴趣集合{C1,C2,...,Ck,…,CK};其中,类簇下标k=1,2,3,…,K;
步骤8,在用户集合中随机选取K个用户的平均加权兴趣向量作为初始类簇中心{μ12,...,μk,…,μK};
步骤9,从用户集中选取一个用户Useri并计算该用户的平均加权兴趣向量到各个聚类中心的距离dik,求出与该用户距离最近的聚类中心μk,并将该用户纳入相应的类簇Ck中;
距离公式:
dik=‖Avg_attribute_scoreik2
聚类公式:
μk=argmink∈{1,2,3…,K}dik
步骤10,按照步骤9对用户集合中的每位用户进行相同的处理,将所有用户都归入相应的类簇中;
步骤11,选取K个类簇中的一个类簇Classk,计算该类簇中所有用户的平均加权兴趣向量的均值向量作为该类簇新的聚类中心μ’k
其中,Card(Ck)为类簇Ck中用户的数量;
步骤12,按照步骤11对K个类簇中的每个类簇进行聚类中心更新操作,得到新的聚类中心{μ’1,μ’2,...,μ’k,…,μ’K};
步骤13,重复步骤9、步骤10、步骤11、步骤12,直到每个类簇的聚类中心不再改变时输出K个类簇以及对应的聚类中心
步骤14,选取目标用户集合中的一个目标用户Target_usert,通过计算该目标用户平均加权兴趣向量与各个聚类中心的距离,判断目标用户所在兴趣集合,具体计算公式同步骤5和步骤9;其中,目标用户集合是用户集合的一个子集,目标用户下标t=1,2,3,…,T,T=15为目标用户集合中用户的数量;
步骤15,利用皮尔逊相关系数公式计算步骤14中目标用户Target_usert与其所在的兴趣集合中每个用户的评分相似度Sim_scorete;利用余弦相似度公式计算步骤14中目标用户Target_usert与其所在的兴趣集合中每个用户的平均加权兴趣向量相似度Sim_attributete;其中,兴趣集合中用户下标 表示兴趣集合中的用户的数量,皮尔逊相关系数公式:
其中,Ite表示用户t,e共同评分的电影集合,电影c属于集合Ite,ntc表示用户t对电影c的归一化评分,分别表示用户t,e对电影c的归一化平均评分;
余弦相似度公式:
其中,分别表示用户t,e的平均加权兴趣向量;
步骤16,结合步骤14中目标用户Target_usert与所在兴趣集合中每个用户的评分相似度Sim_scorete和平均加权兴趣相似度Sim_attributete得到该目标用户与兴趣集合中每个用户的综合相似度Simte
Simte=λSim_scorete+(1-λ)Sim_attributete
其中λ=0.5为评分权重因子;
步骤17,以综合相似度Simte为标准,对步骤14中目标用户Target_usert所在的兴趣集合中的用户进行综合相似度排序,得到该目标用户的序列化邻居用户集合;
步骤18,按照步骤步骤14、步骤15、步骤16、步骤17对目标用户集合中的每个用户进行相同的处理,最终得出每位目标用户的序列化邻居用户集合;
步骤19,设定参照邻居用户数N=50以及目标用户的推荐电影个数R=3;
步骤20,在目标用户集合中选取一个用户Target_usert并查看该目标用户的序列化邻居集合,取前N个用户构成该目标用户的参照邻居用户集NNt并作为计算目标用户未评分电影的预测评分依据;
步骤21,利用现有的基于用户的协同过滤推荐算法,通过该目标用户的参照邻居用户集NNt计算步骤20中目标用户Target_usert未评分电影j的预测评分Ptj,预测评分公式如下:
其中,参照用户u属于集合NNt,Simtu目标用户Target_usert与参照邻居用户u的综合相似度,nuj为参照邻居用户u对电影j的归一化评分,分别为参照邻居用户u和目标用户Target_usert所评分电影的归一化平均评分;
步骤22,按照步骤21对步骤20中目标用户Target_usert所有未评分电影进行相同的处理,得出该目标用户未评分电影的预测评分;
步骤23,按照步骤20、步骤21、步骤22对目标用户集中每位用户进行相同的处理,得出每位目标用户未评分电影的预测评分;
步骤24,对目标用户集中每位用户的预测评分电影按照预测评分数据的大小排序,得到每位目标用户的序列化预测评分电影集合;
步骤25,在目标用户集中选取一个用户Target_usert,查看该目标用户的序列化预测评分电影集合并取出预测评分大小前R个电影作为该目标用户的推荐电影列表Recommend_itemt
步骤26,按照步骤25,对目标用户集中每位用户进行相同的处理,最终得出每位目标用户的电影推荐列表如下表所示:
用户ID 电影ID 推荐度 电影名称 上映时间 电影类型
1 286 0.491894943 英国病人 1996/11/15 剧情/爱情/战争
1 288 0.484551354 惊声尖叫 1996/12/20 恐怖/惊悚
1 313 0.409694965 泰坦尼克号 1997/1/1 动作/剧情/爱情
2 181 0.452393451 绝地归来 1997/3/14 动作/冒险/爱情/科幻/战争
2 50 0.451925329 星球大战 1977/1/1 动作/冒险/爱情/科幻/战争
2 56 0.424829407 低俗小说 1994/1/1 犯罪/剧情
3 50 0.738579245 星球大战 1977/1/1 动作/冒险/爱情/科幻/战争
3 174 0.649054488 夺宝奇兵 1981/1/1 动作/冒险
3 1 0.43643319 玩具总动员 1995/1/1 动画/儿童/喜剧
4 286 0.705007461 英国病人 1996/11/15 剧情/爱情/战争
4 1 0.598696812 玩具总动员 1995/1/1 动画/儿童/喜剧
4 269 0.559529731 光猪六壮士 1997/1/1 喜剧
5 2 0.28007448 黄金眼 1995/1/1 动作/冒险/惊悚
5 3 0.28007448 四个房间 1995/1/1 惊悚
5 4 0.28007448 矮子当道 1995/1/1 动作/喜剧/剧情
6 286 0.480748696 英国病人 1996/11/15 剧情/爱情/战争
6 313 0.374679595 泰坦尼克号 1997/1/1 动作/剧情/爱情
6 258 0.349422009 超时空接触 1997/7/11 剧情/科幻
7 302 0.487497457 洛杉矶机密 1997/1/1 犯罪/黑色/神秘/惊悚
7 300 0.399722325 空军一号 1997/1/1 动作/惊悚
7 313 0.381757066 泰坦尼克号 1997/1/1 动作/剧情/爱情
8 258 0.37488492 超时空接触 1997/7/11 剧情/科幻
8 286 0.346908433 英国病人 1996/11/15 剧情/爱情/战争
8 100 0.330122541 冰血暴 1997/2/14 犯罪/剧情/惊悚
9 181 0.74976984 绝地归来 1997/3/14 动作/冒险/爱情/科幻/战争
9 172 0.738579245 帝国反击 1980/1/1 动作/冒险/剧情/爱情/科幻/战争
9 174 0.699412164 夺宝奇兵 1981/1/1 动作/冒险
10 181 0.937837838 绝地归来 1997/3/14 动作/冒险/爱情/科幻/战争
10 258 0.823528967 超时空接触 1997/7/11 剧情/科幻
10 127 0.763423644 教父 1972/1/1 动作/犯罪/剧情
11 300 0.369100872 空军一号 1997/1/1 动作/惊悚
11 302 0.317162022 洛杉矶机密 1997/1/1 犯罪/黑色/神秘/惊悚
11 294 0.310736895 大话王 1997/3/21 喜剧
12 288 0.772151029 惊声尖叫 1996/12/20 恐怖/惊悚
12 269 0.699412164 光猪六壮士 1997/1/1 喜剧
12 302 0.693816867 洛杉矶机密 1997/1/1 犯罪/黑色/神秘/惊悚
13 100 0.430304227 冰血暴 1997/2/14 犯罪/剧情/惊悚
13 258 0.279328292 超时空接触 1997/7/11 剧情/科幻
13 181 0.252949813 绝地归来 1997/3/14 动作/冒险/爱情/科幻/战争
14 286 0.851226705 英国病人 1996/11/15 剧情/爱情/战争
14 258 0.713417989 超时空接触 1997/7/11 剧情/科幻
14 269 0.684172992 光猪六壮士 1997/1/1 喜剧
15 174 0.437640516 夺宝奇兵 1981/1/1 动作/冒险
15 318 0.306296684 辛德勒名单 1993/1/1 剧情/战争
15 98 0.305640543 沉默的羔羊 1991/1/1 剧情/惊悚

Claims (1)

1.基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法,其特征在于,包括以下步骤:
步骤1,收集用户的评分数据,得到用户-电影评分矩阵S;
其中,矩阵的每个元素sij为用户原始评分数据,表示用户i对电影j的评分,用户没有评分过的电影分值为0,用户下标i=1,2,…,m,电影下标j=1,2,…,n,m为用户的个数,n为电影的个数;
步骤2,选用min-max数据归一化方法对用户评分数据归一化,使得用户的评分数值在设定区间之内,进而得到归一化用户评分,min-max数据归一化公式如下:
其中,minA为用户评分数据集A中最小的数据,maxA为用户评分数据集A中最大的数据,newmax为设定区间的上界,newmin为设定区间的下界,sij为原始评分数据,nij为归一化后的评分数据;
步骤3,按照步骤2对用户集合中每位用户的评分数据进行相同的处理,最终得到归一化用户评分矩阵N如下:
其中,矩阵的每个元素nij为归一化后的评分数据,表示用户i对电影j的归一化评分;
步骤4,在用户集合中选取一个用户Useri,通过该用户的评分电影并结合电影信息表中的电影属性,匹配得到该用户所评分的每个电影的属性向量Attributeij如下:
其中,表示用户i所评分的第j个电影的第f个属性,且对于电影具有的属性的初始值为1,
不具有的属性初始值为0,属性下标f=1,2,…,F,F表示电影属性个数;
步骤5,对步骤4中用户Useri所评分的每个电影,并结合该用户对每个电影的归一化评分以及对应的电影属性得到该用户的加权兴趣向量Attribute_scorei,由于用户所评分的不同电影中存在属性相同的情况,故采用平均加权兴趣向量Avg_attribute_scorei来描述该用户的综合兴趣爱好,Avg_attribute_scorei表示为:
其中,表示用户i对属性f的平均加权评分;
加权兴趣向量公式为:
Attribute_scorei=nij·Attributeij
平均加权兴趣向量每个分量的计算公式为:
其中,表示用户i所评分的所有电影中相同属性的计数;
步骤6,按照步骤4、步骤5对用户集合中的每位用户进行相同的处理,最终得出每位用户的平均加权兴趣向量;
步骤7,设定聚类簇数K并创建K个空的用户兴趣集合{C1,C2,...,Ck,...,CK};其中,类簇下标k=1,2,3,...,K;
步骤8,在用户集合中随机选取K个用户的平均加权兴趣向量作为初始类簇中心{μ1,μ2,...,μk,...,μK};
步骤9,从用户集中选取一个用户Useri并计算该用户的平均加权兴趣向量到各个聚类中心的距离dik,求出与该用户距离最近的聚类中心μk,并将该用户纳入相应的类簇Ck中;
距离公式:
dik=||Avg_attribute_scoreik||2
聚类公式:
μk=argmink∈{1,2,3...,K}dik
步骤10,按照步骤9对用户集合中的每位用户进行相同的处理,将所有用户都归入相应的类簇中;
步骤11,选取K个类簇中的一个类簇Classk,计算该类簇中所有用户的平均加权兴趣向量的均值向量作为该类簇新的聚类中心μ’k
其中,Card(Ck)为类簇Ck中用户的数量;
步骤12,按照步骤11对K个类簇中的每个类簇进行聚类中心更新操作,得到新的聚类中心{μ’1,μ’2,...,μ’K,...,μ’k};
步骤13,重复步骤9、步骤10、步骤11、步骤12,直到每个类簇的聚类中心不再改变时输出K个类簇以及对应的聚类中心
步骤14,选取目标用户集合中的一个目标用户Target_usert,通过计算该目标用户平均加权兴趣向量与各个聚类中心的距离,判断目标用户所在兴趣集合,具体计算公式同步骤5和步骤9;其中,目标用户集合是用户集合的一个子集,目标用户下标t=1,2,3,...,T,T为目标用户集合中用户的数量;
步骤15,利用皮尔逊相关系数公式计算步骤14中目标用户Target_usert与其所在的兴趣集合中每个用户的评分相似度Sim_scorete;利用余弦相似度公式计算步骤14中目标用户Target_usert与其所在的兴趣集合中每个用户的平均加权兴趣向量相似度Sim_attributete;其中,兴趣集合中用户下标 表示兴趣集合中的用户的数量,皮尔逊相关系数公式:
其中,Ite表示用户t,e共同评分的电影集合,电影c属于集合Ite,ntc表示用户t对电影c的归一化评分,分别表示用户t,e对电影c的归一化平均评分;
余弦相似度公式:
其中,分别表示用户t,e的平均加权兴趣向量;
步骤16,结合步骤14中目标用户Target_usert与所在兴趣集合中每个用户的评分相似度Sim_scorete和平均加权兴趣相似度Sim_attributete得到该目标用户与兴趣集合中每个用户的综合相似度Simte
Simte=λSim_scorete+(1-λ)Sim-attributete
其中λ为评分权重因子;
步骤17,以综合相似度Simte为标准,对步骤14中目标用户Target_usert所在的兴趣集合中的用户进行综合相似度排序,得到该目标用户的序列化邻居用户集合;
步骤18,按照步骤步骤14、步骤15、步骤16、步骤17对目标用户集合中的每个用户进行相同的处理,最终得出每位目标用户的序列化邻居用户集合;
步骤19,设定参照邻居用户数N以及目标用户的推荐电影个数R;其中,参照邻居用户数N的取值范围是0到m,目标用户的推荐电影个数R的取值范围是0到n;
步骤20,在目标用户集合中选取一个用户Target_usert并查看该目标用户的序列化邻居集合,取前N个用户构成该目标用户的参照邻居用户集NNt并作为计算目标用户未评分电影的预测评分依据;
步骤21,利用现有的基于用户的协同过滤推荐算法,通过步骤20中目标用户Target_usert的参照邻居用户集NNt计算该目标用户未评分电影j的预测评分Ptj,预测评分公式如下:
其中,参照用户u属于集合NNt,Simtu目标用户Target_usert与参照邻居用户u的综合相似度,nuj为参照邻居用户u对电影j的归一化评分,分别为参照邻居用户u和目标用户Target_usert所评分电影的归一化平均评分;
步骤22,按照步骤21对步骤20中目标用户Target_usert所有未评分电影进行相同的处理,得出该目标用户未评分电影的预测评分;
步骤23,按照步骤20、步骤21、步骤22对目标用户集中每位用户进行相同的处理,得出每位目标用户未评分电影的预测评分;
步骤24,对目标用户集中每位用户的预测评分电影按照预测评分数据的大小排序,得到每位目标用户的序列化预测评分电影集合;
步骤25,在目标用户集中选取一个用户Target_usert,查看该目标用户的序列化预测评分电影集合并取出预测评分大小前R个电影作为该目标用户的推荐电影列表Recommend_itemt
步骤26,按照步骤25,对目标用户集中每位用户进行相同的处理,最终得出每位目标用户的电影推荐列表。
CN201910219541.6A 2019-03-22 2019-03-22 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法 Active CN109933726B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910219541.6A CN109933726B (zh) 2019-03-22 2019-03-22 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910219541.6A CN109933726B (zh) 2019-03-22 2019-03-22 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法

Publications (2)

Publication Number Publication Date
CN109933726A true CN109933726A (zh) 2019-06-25
CN109933726B CN109933726B (zh) 2022-04-12

Family

ID=66987989

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910219541.6A Active CN109933726B (zh) 2019-03-22 2019-03-22 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法

Country Status (1)

Country Link
CN (1) CN109933726B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598778A (zh) * 2019-09-04 2019-12-20 卓尔智联(武汉)研究院有限公司 旅游推荐方法、计算机装置及可读存储介质
CN111143699A (zh) * 2020-01-03 2020-05-12 上海理工大学 基于相似性与置信度聚类的推荐***
CN112784172A (zh) * 2021-01-22 2021-05-11 杭州电子科技大学 一种在线的群组电影推荐方法
CN113411645A (zh) * 2021-06-16 2021-09-17 北京百度网讯科技有限公司 信息推荐方法及装置、电子设备和介质
CN113449406A (zh) * 2020-03-27 2021-09-28 华晨宝马汽车有限公司 打紧工具方案推荐方法和装置及存储介质
CN117174330A (zh) * 2023-08-21 2023-12-05 肾泰网健康科技(南京)有限公司 一种基于机器学习的IgA肾病患者治疗方案推荐方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212900A1 (en) * 1998-06-12 2006-09-21 Metabyte Networks, Inc. Method and apparatus for delivery of targeted video programming
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和***
CN102609860A (zh) * 2012-01-20 2012-07-25 彭立发 一种适用于电子商务的商品与信息分类推荐方法及***
US20120290950A1 (en) * 2011-05-12 2012-11-15 Jeffrey A. Rapaport Social-topical adaptive networking (stan) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
CN103678431A (zh) * 2013-03-26 2014-03-26 南京邮电大学 一种基于标准标签和项目评分的推荐方法
CN103793476A (zh) * 2014-01-08 2014-05-14 西安电子科技大学 基于网络社区的协同过滤推荐方法
CN104063481A (zh) * 2014-07-02 2014-09-24 山东大学 一种基于用户实时兴趣向量的电影个性化推荐方法
CN106202331A (zh) * 2016-07-01 2016-12-07 中国传媒大学 分层次隐私保护的推荐***及基于该推荐***的作业方法
CN109034981A (zh) * 2018-08-23 2018-12-18 上海海事大学 一种电商协同过滤推荐方法
CN109947987A (zh) * 2019-03-22 2019-06-28 江西理工大学 一种交叉协同过滤推荐方法
CN110347935A (zh) * 2019-07-18 2019-10-18 齐鲁工业大学 基于用户兴趣变化的个性化影视项目推荐方法及***

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212900A1 (en) * 1998-06-12 2006-09-21 Metabyte Networks, Inc. Method and apparatus for delivery of targeted video programming
CN101685458A (zh) * 2008-09-27 2010-03-31 华为技术有限公司 一种基于协同过滤的推荐方法和***
US20120290950A1 (en) * 2011-05-12 2012-11-15 Jeffrey A. Rapaport Social-topical adaptive networking (stan) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging
CN102609860A (zh) * 2012-01-20 2012-07-25 彭立发 一种适用于电子商务的商品与信息分类推荐方法及***
CN103678431A (zh) * 2013-03-26 2014-03-26 南京邮电大学 一种基于标准标签和项目评分的推荐方法
CN103793476A (zh) * 2014-01-08 2014-05-14 西安电子科技大学 基于网络社区的协同过滤推荐方法
CN104063481A (zh) * 2014-07-02 2014-09-24 山东大学 一种基于用户实时兴趣向量的电影个性化推荐方法
CN106202331A (zh) * 2016-07-01 2016-12-07 中国传媒大学 分层次隐私保护的推荐***及基于该推荐***的作业方法
CN109034981A (zh) * 2018-08-23 2018-12-18 上海海事大学 一种电商协同过滤推荐方法
CN109947987A (zh) * 2019-03-22 2019-06-28 江西理工大学 一种交叉协同过滤推荐方法
CN110347935A (zh) * 2019-07-18 2019-10-18 齐鲁工业大学 基于用户兴趣变化的个性化影视项目推荐方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
何明等: "一种融合聚类与用户兴趣偏好的协同过滤推荐算法", 《计算机科学》 *
吕晓敏: "基于项目聚类和评分预测的协同过滤推荐算法研究", 《中国管理信息化》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110598778A (zh) * 2019-09-04 2019-12-20 卓尔智联(武汉)研究院有限公司 旅游推荐方法、计算机装置及可读存储介质
CN111143699A (zh) * 2020-01-03 2020-05-12 上海理工大学 基于相似性与置信度聚类的推荐***
CN111143699B (zh) * 2020-01-03 2023-07-28 上海理工大学 基于相似性与置信度聚类的推荐***
CN113449406A (zh) * 2020-03-27 2021-09-28 华晨宝马汽车有限公司 打紧工具方案推荐方法和装置及存储介质
CN113449406B (zh) * 2020-03-27 2024-01-23 华晨宝马汽车有限公司 打紧工具方案推荐方法和装置及存储介质
CN112784172A (zh) * 2021-01-22 2021-05-11 杭州电子科技大学 一种在线的群组电影推荐方法
CN112784172B (zh) * 2021-01-22 2022-04-08 杭州电子科技大学 一种在线的群组电影推荐方法
CN113411645A (zh) * 2021-06-16 2021-09-17 北京百度网讯科技有限公司 信息推荐方法及装置、电子设备和介质
CN113411645B (zh) * 2021-06-16 2022-12-06 北京百度网讯科技有限公司 信息推荐方法及装置、电子设备和介质
CN117174330A (zh) * 2023-08-21 2023-12-05 肾泰网健康科技(南京)有限公司 一种基于机器学习的IgA肾病患者治疗方案推荐方法

Also Published As

Publication number Publication date
CN109933726B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
CN109933726A (zh) 基于用户平均加权兴趣向量聚类的协同过滤电影推荐方法
CN108205682B (zh) 一种用于个性化推荐的融合内容和行为的协同过滤方法
Zhang et al. Gmove: Group-level mobility modeling using geo-tagged social media
Li et al. Multiple location profiling for users and relationships from social network and content
CN104462385B (zh) 一种基于用户兴趣模型的电影个性化相似度计算方法
Liu et al. Exploring personal impact for group recommendation
CN110598130B (zh) 一种融合异构信息网络和深度学习的电影推荐方法
Mavromatis et al. Graph infoclust: Leveraging cluster-level node information for unsupervised graph representation learning
Zhou et al. Mining personally important places from GPS tracks
Li et al. Adsgnn: Behavior-graph augmented relevance modeling in sponsored search
CN107894998B (zh) 视频推荐方法及装置
CN108665323A (zh) 一种用于理财产品推荐***的集成方法
Rahmani et al. Category-aware location embedding for point-of-interest recommendation
Zhao et al. A probabilistic lifestyle-based trajectory model for social strength inference from human trajectory data
CN107256512A (zh) 一种购房个性化推荐方法及***
CN102880644A (zh) 社区发现方法
CN111324816B (zh) 一种基于区域划分和上下文影响的兴趣点推荐方法
Chen et al. Next POI recommendation based on location interest mining with recurrent neural networks
CN109947987A (zh) 一种交叉协同过滤推荐方法
CN109492776A (zh) 基于主动学习的微博流行度预测方法
Ghane’i-Ostad et al. Detecting overlapping communities in LBSNs by fuzzy subtractive clustering
Wang et al. Toward the new item problem: context-enhanced event recommendation in event-based social networks
Godoy et al. Hybrid content and tag-based profiles for recommendation in collaborative tagging systems
Kim et al. Proxy anchor-based unsupervised learning for continuous generalized category discovery
Jain et al. Recommendations with context aware framework using particle swarm optimization and unsupervised learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant