CN105260390A - 一种面向群组的基于联合概率矩阵分解的项目推荐方法 - Google Patents
一种面向群组的基于联合概率矩阵分解的项目推荐方法 Download PDFInfo
- Publication number
- CN105260390A CN105260390A CN201510581626.0A CN201510581626A CN105260390A CN 105260390 A CN105260390 A CN 105260390A CN 201510581626 A CN201510581626 A CN 201510581626A CN 105260390 A CN105260390 A CN 105260390A
- Authority
- CN
- China
- Prior art keywords
- sigma
- user
- group
- formula
- prime
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
Abstract
本发明公开了一种面向群组的基于联合概率矩阵分解的项目推荐方法,其特征包括如下步骤:步骤一,用三元组表示用户对项目的评分信息和用户属于群组的信息;步骤二,计算基于用户属于群组信息三元组的用户相关性;步骤三,实施基于用户相关性的联合概率矩阵分解方法,获得用户特征矩阵和项目特征矩阵;步骤四,利用平均策略计算得到群组特征矩阵;步骤五,获取每个群组对项目的预测评分最高的前N个项目构成推荐列表。本发明将基于群组信息的用户相关性融入到概率矩阵分解之中,实施基于用户相关性的联合概率矩阵分解,并且利用平均策略计算得到群组特征矩阵,从而得到面向群组的推荐结果,在一定程度上能过为群组提供更加准确的个性化服务。
Description
技术领域
本发明涉及计算机应用技术领域,具体地说是一种面向群组的基于联合概率矩阵分解的项目推荐方法。
背景技术
随着信息技术和社交网络的快速发展,各种虚拟社区不断涌现,社区中的用户之间交流越来越便捷。频繁的社区活动使用户结成群组,共同参与一些活动,他们的行为表现出一定的群组特征。因此,推荐系统面向的用户从个体转向群组的情况越来越多,群组推荐就是根据群组内用户的综合偏好,为其推荐感兴趣的信息和项目。目前,MusixFX,PolyLens,TV4M等群组推荐系统已经被陆续开发出来并广泛应用,大幅度减少了群组用户搜索信息消耗的时间和精力,提升了群组用户的满意度。
群推荐技术是在基于个人的推荐技术的基础上发展起来的,其主要思路是在基于个人的推荐技术的个体偏好提取、评分预测和获得个人推荐列表等不同阶段运用合成策略,从而获得面向群组的推荐。现有的研究方法虽然能够为群组推荐系统的构建提供理论基础和实践指导,但是仍然存在很多不足之处:
(1)没有考虑群组内用户之间的相关性。已有的面向群组的推荐方法很少考虑用户之间的相关性,或者只是从全局的角度考虑用户之间的相关性,却没有考虑群组内用户之间的相关性。实际上,用户加入某一群组,是因为用户的个人偏好与群组的整体偏好存在一定的相关性。因此,群组内的用户之间在个人偏好方面也存在一定的相关性,而且,随着用户加入相同群组的个数越来越多,这种相关性会越来越强。但是,现有的面向群组的推荐方法却没有考虑群组内成员之间的相关性这一重要因素,降低了面向群组的推荐系统的精度。
(2)群推荐的合成阶段问题。现有的基于矩阵分解的群推荐方法,一种是在运用矩阵分解方法之前的个人特征偏好提取阶段,运用合成策略得到群组的偏好,然后,运用矩阵分解方法获得对群组的推荐结果。另一种是在通过矩阵分解方法得到个人对项目的预测评分后,对预测评分或者是通过预测评分得到的个人推荐列表运用合成策略,从而得到面向群组的推荐列表。然而,在通过对用户项目评分矩阵实施矩阵分解获得用户特征矩阵后,将群组内用户的特征向量运用合成策略合成得到群组的特征向量,这一阶段的合成问题还没有进行研究。
发明内容
本发明是为了克服现有技术存在的不足之处,提供一种面向群组的基于联合概率矩阵分解的项目推荐方法,以期能充分考虑群组内成员之间的相关性,并在群推荐的新的合成阶段运用合成策略,从而能提高面向群组的项目推荐的精度,提升群组内成员对推荐结果的满意度。
本发明为达到上述发明目的采用如下技术方案:
本发明一种面向群组的基于联合概率矩阵分解的项目推荐方法的特点是按如下步骤进行:
步骤1、构造三元组T和三元组P:
步骤1.1、用三元组T=<U,I,R>表示用户对项目的评分信息;U表示用户集,并有U={U1,U2,...,Ui,...,U|U|};Ui表示第i个用户;I表示项目集,并有I={I1,I2,...,Ij,...,I|I|};Ij表示第j个项目;R表示评分信息矩阵,并有R={Ri,j}|U|×|I|;Ri,j表示第i个用户Ui对第j个项目Ij的评分;1≤i≤|U|;1≤j≤|I|;
步骤1.2、用三元组P=<G,U,A>表示用户属于群组的信息;G表示群组集,并有G={G1,G2,...,Gg,...,G|G|};Gg表示第g个群组;A表示群组用户矩阵,并有A={Ag,i}|G|×|U|;Ag,i=1表示第i个用户Ui属于第g个群组;Ag,i=0表示第i个用户Ui不属于第g个群组;1≤g≤|G|;
步骤2、计算基于三元组P的用户相关性;
步骤2.1、利用式(1)获得第i个用户Ui和第m个用户Um共同属于同一群组的个数Ci,m,从而获得所有用户之间的共同属于同一群组的信息矩阵C={Ci,m}|U|×|U|:
Ci,m=|A·i∩A·m|(1)
式(1)中,A·i表示第i个用户Ui是否属于群组集G的信息;A·m表示第m个用户Um是否属于群组集G的信息;1≤m≤|U|;
步骤2.2、利用式(2)获得归一化处理后的个数C′i,m,从而获得所有用户之间的共同属于同一群组的归一化信息矩阵C′={C′i,m}|U|×|U|:
步骤3、利用联合概率矩阵分解方法获得用户特征矩阵W和项目特征矩阵V:
步骤3.1、利用式(3)构建评分信息矩阵R的先验分布
式(3)中,Wi表示第i个用户Ui的特征向量;Vj表示第j个项目Ij的特征向量;W表示所有用户的特征向量所构成的用户特征矩阵;V表示所有项目的特征向量所构成的项目特征矩阵;表示第i个用户Ui对第j个项目Ij的评分Ri,j服从均值为g(Wi TVj),方差为的正态分布;并有表示将Wi TVj的值映射到[0,1]内;当第i个用户Ui对第j个项目Ij进行过评分,则令否则,令
步骤3.2、利用式(4)构建用户特征矩阵W的先验分布
式(4)中,J表示单位向量;表示第i个用户Ui的特征向量Wi的方差,表示第i个用户Ui的特征向量Wi服从均值为0,方差为的正态分布;同理,表示第i个用户Ui的特征向量Wi服从均值为方差为的正态分布;Wm表示第m个用户Um的特征向量;
步骤3.3、利用式(5)构建项目特征矩阵V的先验分布
式(5)中,表示第j个项目Ij的特征向量Vj服从均值为0,方差为的正态分布;
步骤3.4、由式(3)、式(4)和式(5)进行贝叶斯推断,获得如式(6)所示的用户特征矩阵W和项目特征矩阵V的极大后验概率
步骤3.5、对式(6)经过对数处理获得式(7):
式(7)中,H表示第i个用户的特征向量Wi和第j个项目的特征向量Vj的维度;D为常量;
步骤3.6、对式(7)进行推导,获得如式(8)所示的最小化目标函数L(R,C′,W,V):
式(8)中,
步骤3.7、随机初始化用户特征矩阵W和项目的特征矩阵V;
步骤3.8、设定迭代阈值为τ,并初始化迭代次数Z=1;
步骤3.9、利用式(9)和式(10)分别获得第Z次迭代的第i个用户Ui的特征向量Wi的梯度以及第Z次迭代的第j个项目Ij的特征向量Vj的梯度
步骤3.10、利用式(11)和式(12)分别更新第Z次迭代的第i个用户Ui的特征向量Wi (Z)以及第Z次迭代的第j个项目Ij的特征向量获得第Z+1次迭代的第i个用户Ui的特征向量Wi(Z+1)以及第Z+1次迭代的第j个项目Ij的特征向量
式(11)和式(12)中,β为学习率;
步骤3.11、将Z+1赋值给Z,判断Z≤τ是否成立,若成立,则重复步骤3.9和步骤3.10执行;否则,表示获得更新的第i个用户Ui的特征向量W′i以及更新的第j个项目Ij的特征向量V′j,从而获得所有用户更新的用户特征矩阵W′和更新的项目特征矩阵V′;
步骤4、利用平均策略计算得到群组特征矩阵M:
步骤4.1、利用式(13)得到第g个群组Gg的群组特征向量Mg:
式(13)中,表示属于第g个群组Gg的第x个用户UX的特征向量;|Gg|表示第g个群组Gg内所含用户的个数;
步骤4.2、对所有群组,重复步骤4.1,从而获得群组特征矩阵M={M1,M2,…,Mg,…M|G|};
步骤5、获取对每个群组的预测评分最高的前N个项目构成推荐列表:
步骤5.1、利用式(14)得到第g个群组Gg对第j个项目Ij的预测评分
式(14)中,表示第g个群组Gg的特征向量Mg中第l个元素;表示第j个项目Ij的特征向量Vj中第l个元素;
步骤5.2、重复步骤5.1,从而获得第g个群组Gg对所有项目的预测评分,并从所有项目的预测评分中选取评分最高的且第g个群组Gg中所有用户均未评分的前N个项目组成第g个群组Gg的推荐列表,从而获得所有群组的推荐列表。
与已有技术相比,本发明有益效果体现在:
1、本发明将群组内用户相关性融入到概率矩阵分解中,并且通过合成策略合成群组内用户的特征向量获得群组的特征向量,进而获得面向群组的项目推荐列表,从而克服了已经存在的群推荐方法信息利用不完整的现象,为在新的阶段运用合成策略得到群推荐结果提供了一个参考,明显提高了面向群组推荐的精度,有效地缓解了数据稀疏问题和冷启动问题。
2、本发明利用用户共同加入群组的信息来获得用户之间的相关性,并将这种用户之间的相关性融入到概率矩阵分解中,提出了一种融入群组内用户相关性的联合概率矩阵分解方法,其推荐精度明显高于未融入群组内用户相关性的概率矩阵分解方法。
3、本发明利用融入群组内用户相关性的概率矩阵分解方法得到用户特征矩阵和项目特征矩阵,运用合成策略将群组内用户的特征向量合成得到群组的特征向量,最后通过群组特征向量和项目特征向量的内积获得群组对项目的预测评分;与已有的群推荐方法相比,本发明首次在概率矩阵分解的获得用户特征矩阵阶段采用合成策略,证明了该方法的可行性。
4、本发明可以向群组推荐图书、电影、音乐和旅游地点等多种项目。同时,本发明所提出的方法可以在电脑和手机的网页和App等平台上的推荐系统中使用,应用范围广泛。
附图说明
图1为本发明流程示意图;
图2为本发明不同合成策略在准确率下的敏感性实验结果;
图3为本发明不同合成策略在召回率下的敏感性实验结果;
图4为本发明推荐准确率实验结果;
图5为本发明推荐召回率实验结果。
具体实施方式
本发明利用三元组表示用户对项目的评分信息和用户属于群组的信息,并且计算基于用户属于群组三元组的用户相关性。然后将计算得到的用户相关性融入到概率矩阵分解之中,实施基于用户相关性的联合概率矩阵分解方法,得到用户特征矩阵和项目特征矩阵。最后通过合成策略合成用户特征矩阵得到群组特征矩阵,并结合项目特征矩阵预测群组对项目的评分,从而依据预测评分得到面向群组的项目推荐列表。具体的说,如图1所示,本发明方法包括以下步骤:
步骤1、利用三元组T表示用户对项目的评分信息,利用三元组P表示用户属于群组的信息,具体包括:
步骤1.1、用三元组T=<U,I,R>表示用户对项目的评分信息;U表示用户集,并有U={U1,U2,...,Ui,...,U|U|};Ui表示第i个用户,|U|为用户的总个数;I表示项目集,并有I={I1,I2,...,Ij,...,I|I|};Ij表示第j个项目,|I|为项目的总个数;R表示评分信息矩阵,并有R={Ri,j}|U|×|I|;Ri,j表示第i个用户Ui对第j个项目Ij的评分;1≤i≤|U|;1≤j≤|I|;
步骤1.2、用三元组P=<G,U,A>表示用户属于群组的信息;G表示群组集,并有G={G1,G2,...,Gg,...,G|G|};Gg表示第g个群组,|G|为群组的总个数;A表示群组用户矩阵,并有A={Ag,i}|G|×|U|;Ag,i=1表示第i个用户Ui属于第g个群组;Ag,i=0表示第i个用户Ui不属于第g个群组;1≤g≤|G|;
步骤2、计算基于三元组P的用户相关性,具体步骤包括;
步骤2.1、利用式(1)获得第i个用户Ui和第m个用户Um共同属于同一群组的个数Ci,m,从而获得所有用户之间的共同属于同一群组的信息矩阵C={Ci,m}|U|×|U|:
Ci,m=|A·i∩A·m|(1)
式(1)中,A·i表示第i个用户Ui是否属于群组集G的信息,即为群组用户矩阵A中的第i列向量;A·m表示第m个用户Um是否属于群组集G的信息,即为群组用户矩阵A中的第m列向量;1≤m≤|U|;
步骤2.2、利用式(2)获得归一化处理后的个数C′i,m,从而获得所有用户之间的共同属于同一群组的归一化信息矩阵C′={C′i,m}|U|×|U|:
步骤3、将计算得到的用户相关性融入到概率矩阵分解方法中,实施基于用户相关性的联合概率矩阵分解方法,获得用户特征矩阵W和项目特征矩阵V,具体包括:
步骤3.1、利用式(3)构建评分信息矩阵R的先验分布
式(3)中,Wi表示第i个用户Ui的特征向量;Vj表示第j个项目Ij的特征向量;W表示所有用户的特征向量所构成的用户特征矩阵;V表示所有项目的特征向量所构成的项目特征矩阵;表示第i个用户Ui对第j个项目Ij的评分Ri,j服从均值为g(Wi TVj),方差为的正态分布;并有表示将Wi TVj的值映射到[0,1]内;当第i个用户Ui对第j个项目Ij进行过评分,则令否则,令
步骤3.2、利用式(4)构建用户特征矩阵W的先验分布
式(4)中,J表示单位向量;表示第i个用户Ui的特征向量Wi的方差,表示第i个用户Ui的特征向量Wi服从均值为0,方差为的正态分布;同理,表示第i个用户Ui的特征向量Wi服从均值为方差为的正态分布;Wm表示第m个用户Um的特征向量。由式(4)可以看出本发明在学习每个用户的特征向量时,不仅考虑了用户自身的特性,即服从均值为0的正态分布以防止过拟合,同时还考虑到了用户之间的相关性,即每个用户的特征向量还要与同一个群组内的用户的特征向量相似。
步骤3.3、利用式(5)构建项目特征矩阵V的先验分布
式(5)中,表示第j个项目Ij的特征向量Vj服从均值为0,方差为的正态分布;
步骤3.4、由式(3)、式(4)和式(5)进行贝叶斯推断,获得如式(6)所示的用户特征矩阵W和项目特征矩阵V的极大后验概率
步骤3.5,对式(6)经过对数处理获得式(7):
式(7)中,H表示第i个用户的特征向量Wi和第j个项目的特征向量Vj的维度,其值由人工设定,并且远小于|U|和|V|;D为常量;
步骤3.6、当参数|U|,|I|,和H固定时,求式(7)的最大值,相当于求式(8)的最小值,从而获得如式(8)所示的最小化目标函数L(R,C′,W,V):
式(8)中,
步骤3.7、利用均值为0,方差为的正太分布随机初始化用户特征矩阵W。同时,利用均值为0,方差为的正太分布随机初始化项目特征矩阵V;
步骤3.8、设定迭代阈值为τ,并初始化迭代次数Z=1;
步骤3.9、利用式(9)和式(10)分别获得第Z次迭代的第i个用户Ui的特征向量Wi的梯度以及第Z次迭代的第j个项目Ij的特征向量Vj的梯度
步骤3.10、利用式(11)和式(12)分别更新第Z次迭代的第i个用户Ui的特征向量以及第Z次迭代的第j个项目Ij的特征向量获得第Z+1次迭代的第i个用户Ui的特征向量Wi(Z+1)以及第Z+1次迭代的第j个项目Ij的特征向量
式(11)和式(12)中,β为学习率,β足够小且β>0,其具体值根据经验确定;
步骤3.11、将Z+1赋值给Z,判断Z≤τ是否成立,若成立,则重复步骤3.9和步骤3.10执行;否则,表示获得更新的第i个用户Ui的特征向量W′i以及更新的第j个项目Ij的特征向量V′j,从而获得所有用户更新的用户特征矩阵W′和更新的项目特征矩阵V′;
步骤4、利用平均策略(Average)计算得到群组特征矩阵M,具体包括:
步骤4.1、利用式(13)所示的平均策略(Average)计算得到第g个群组Gg的群组特征向量Mg:
式(13)中,表示属于第g个群组Gg内第x个用户UX的特征向量;|Gg|表示第g个群组Gg内所含用户的个数;群推荐中基于分值的,并且常用的合成策略包括平均策略(Average)、最小痛苦策略(LeastMisery)、最大幸福策略(MostPleasure)等三种。为了比较不同的合成策略对本发明方法预测精度的影响,本发明在标准数据集上进行了实验,实验结果如图2和图3所示。图2中横坐标表示向群组推荐项目的个数,纵坐标表示推荐的准确率;图3中横坐标同样表示向群组推荐项目的个数,纵坐标表示推荐的召回率。从图2和图3中的曲线可以看出,对于本发明所采用的标准数据集,群推荐中的平均合成策略的预测精度明显高于最小痛苦策略和最大幸福策略。
步骤4.2、对所有群组,重复步骤4.1,从而获得群组特征矩阵M={M1,M2,…,Mg,…M|G|};
步骤5、获取对每个群组对项目的预测评分最高的前N个项目构成推荐列表,具体包括:
步骤5.1、利用式(14)得到第g个群组Gg对第j个项目Ij的预测评分
式(14)中,表示第g个群组Gg的特征向量Mg中第l个元素;表示第j个项目Ij的特征向量Vj中第l个元素;
步骤5.2、重复步骤5.1,从而获得第g个群组Gg对所有项目的预测评分,并从所有项目的预测评分中选取评分最高的且第g个群组Gg中所有用户均未评分的前N个项目组成第g个群组Gg的推荐列表,从而获得所有群组的推荐列表。
针对本发明进行实验论证,具体包括:
(1)准备标准数据集
本发明使用Last.fm数据集作为标准数据集验证面向群组的基于联合概率矩阵分解的项目推荐方法的有效性,Last.fm数据集是应用广泛的个性化推荐数据集。在Last.fm数据集中,包括100000位独立用户,22443个音乐的29908020条收听记录,25397个独立群组。训练集和测试集采用80%/20%的规则进行分割,即80%用来对模型进行训练,20%用来测试模型的有效性。
(2)评价指标
采用推荐系统领域常用的准确率(Precision)和召回率(Recall)作为本实验的评价指标。准确率(Precision)表示为推荐的项目当中,真正符合群组兴趣点的项目所占的比例,准确率(Precision)越大,推荐质量越高。召回率(Recall)表示推荐项目当中符合群组兴趣的占测试集中项目的比例,召回率(Recall)越大,推荐质量越高。设X表示群推荐的结果,Y表示测试集。则准确率(Precision)和召回率(Recall)的定义为式(15)和(16):
(3)在标准数据集上进行实验
为了验证本发明所提出的融入群组内用户相关性的联合概率矩阵分解方法有效性,以及在获取用户特征矩阵阶段实施群推荐合成策略的可行性。本文在Last.fm数据集上进行建模和推荐,并将推荐结果和测试集进行比较。实验结果如图4和图5所示,图4和图5中横坐标均表示推荐的个数,图4中纵坐标表示推荐的准确率,图5中纵坐标表示推荐的召回率。并且,在图4和图5中,GMF表示未融入群组内用户间相关性,在获得用户特征矩阵阶段运用合成策略的群推荐方法;而RGMF表示融入了群组内用户间相关性,在获得用户特征矩阵阶段运用合成策略的群推荐方法。由图4和图5看出,融入群组内用户相关性的概率矩阵分解方法在准确率和召回率方面均优于为普通的概率矩阵分解方法,并且证明了在获取用户特征矩阵阶段实施群推荐合成策略的可行性。
Claims (1)
1.一种面向群组的基于联合概率矩阵分解的项目推荐方法,其特征是按如下步骤进行:
步骤1、构造三元组T和三元组P:
步骤1.1、用三元组T=<U,I,R>表示用户对项目的评分信息;U表示用户集,并有U={U1,U2,...,Ui,...,U|U|};Ui表示第i个用户;I表示项目集,并有I={I1,I2,...,Ij,...,I|I|};Ij表示第j个项目;R表示评分信息矩阵,并有R={Ri,j}|U|×|I|;Ri,j表示第i个用户Ui对第j个项目Ij的评分;1≤i≤|U|;1≤j≤|I|;
步骤1.2、用三元组P=<G,U,A>表示用户属于群组的信息;G表示群组集,并有G={G1,G2,...,Gg,...,G|G|};Gg表示第g个群组;A表示群组用户矩阵,并有A={Ag,i}|G|×|U|;Ag,i=1表示第i个用户Ui属于第g个群组;Ag,i=0表示第i个用户Ui不属于第g个群组;1≤g≤|G|;
步骤2、计算基于三元组P的用户相关性;
步骤2.1、利用式(1)获得第i个用户Ui和第m个用户Um共同属于同一群组的个数Ci,m,从而获得所有用户之间的共同属于同一群组的信息矩阵C={Ci,m}|U|×|U|:
Ci,m=|A·i∩A·m|(1)
式(1)中,A·i表示第i个用户Ui是否属于群组集G的信息;A·m表示第m个用户Um是否属于群组集G的信息;1≤m≤|U|;
步骤2.2、利用式(2)获得归一化处理后的个数C′i,m,从而获得所有用户之间的共同属于同一群组的归一化信息矩阵C′={C′i,m}|U|×|U|:
步骤3、利用联合概率矩阵分解方法获得用户特征矩阵W和项目特征矩阵V:
步骤3.1、利用式(3)构建评分信息矩阵R的先验分布
式(3)中,Wi表示第i个用户Ui的特征向量;Vj表示第j个项目Ij的特征向量;W表示所有用户的特征向量所构成的用户特征矩阵;V表示所有项目的特征向量所构成的项目特征矩阵;表示第i个用户Ui对第j个项目Ij的评分Ri,j服从均值为方差为的正态分布;并有表示将的值映射到[0,1]内;当第i个用户Ui对第j个项目Ij进行过评分,则令否则,令
步骤3.2、利用式(4)构建用户特征矩阵W的先验分布
式(4)中,J表示单位向量;表示第i个用户Ui的特征向量Wi的方差,表示第i个用户Ui的特征向量Wi服从均值为0,方差为的正态分布;同理,表示第i个用户Ui的特征向量Wi服从均值为方差为的正态分布;Wm表示第m个用户Um的特征向量;
步骤3.3、利用式(5)构建项目特征矩阵V的先验分布
式(5)中,表示第j个项目Ij的特征向量Vj服从均值为0,方差为的正态分布;
步骤3.4、由式(3)、式(4)和式(5)进行贝叶斯推断,获得如式(6)所示的用户特征矩阵W和项目特征矩阵V的极大后验概率
步骤3.5、对式(6)经过对数处理获得式(7):
式(7)中,H表示第i个用户的特征向量Wi和第j个项目的特征向量Vj的维度;D为常量;
步骤3.6、对式(7)进行推导,获得如式(8)所示的最小化目标函数L(R,C′,W,V):
式(8)中,
步骤3.7、随机初始化用户特征矩阵W和项目的特征矩阵V;
步骤3.8、设定迭代阈值为τ,并初始化迭代次数Z=1;
步骤3.9、利用式(9)和式(10)分别获得第Z次迭代的第i个用户Ui的特征向量Wi的梯度以及第Z次迭代的第j个项目Ij的特征向量Vj的梯度
步骤3.10、利用式(11)和式(12)分别更新第Z次迭代的第i个用户Ui的特征向量以及第Z次迭代的第j个项目Ij的特征向量获得第Z+1次迭代的第i个用户Ui的特征向量以及第Z+1次迭代的第j个项目Ij的特征向量
式(11)和式(12)中,β为学习率;
步骤3.11、将Z+1赋值给Z,判断Z≤τ是否成立,若成立,则重复步骤3.9和步骤3.10执行;否则,表示获得更新的第i个用户Ui的特征向量Wi′以及更新的第j个项目Ij的特征向量Vj′,从而获得所有用户更新的用户特征矩阵W′和更新的项目特征矩阵V′;
步骤4、利用平均策略计算得到群组特征矩阵M:
步骤4.1、利用式(13)得到第g个群组Gg的群组特征向量Mg:
式(13)中,表示属于第g个群组Gg的第x个用户UX的特征向量;|Gg|表示第g个群组Gg内所含用户的个数;
步骤4.2、对所有群组,重复步骤4.1,从而获得群组特征矩阵M={M1,M2,…,Mg,…M|G|};
步骤5、获取对每个群组的预测评分最高的前N个项目构成推荐列表:
步骤5.1、利用式(14)得到第g个群组Gg对第j个项目Ij的预测评分
式(14)中,表示第g个群组Gg的特征向量Mg中第l个元素;表示第j个项目Ij的特征向量Vj中第l个元素;
步骤5.2、重复步骤5.1,从而获得第g个群组Gg对所有项目的预测评分,并从所有项目的预测评分中选取评分最高的且第g个群组Gg中所有用户均未评分的前N个项目组成第g个群组Gg的推荐列表,从而获得所有群组的推荐列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510581626.0A CN105260390B (zh) | 2015-09-11 | 2015-09-11 | 一种面向群组的基于联合概率矩阵分解的项目推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510581626.0A CN105260390B (zh) | 2015-09-11 | 2015-09-11 | 一种面向群组的基于联合概率矩阵分解的项目推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105260390A true CN105260390A (zh) | 2016-01-20 |
CN105260390B CN105260390B (zh) | 2016-11-16 |
Family
ID=55100083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510581626.0A Active CN105260390B (zh) | 2015-09-11 | 2015-09-11 | 一种面向群组的基于联合概率矩阵分解的项目推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105260390B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491540A (zh) * | 2017-08-24 | 2017-12-19 | 济南浚达信息技术有限公司 | 一种结合深度贝叶斯模型和协同异构信息嵌入的电影推荐方法 |
CN107491813A (zh) * | 2017-08-29 | 2017-12-19 | 天津工业大学 | 一种基于多目标优化的长尾群组推荐方法 |
CN107657347A (zh) * | 2017-09-30 | 2018-02-02 | 桂林电子科技大学 | 一种面向群组的旅游推荐方法 |
CN107833117A (zh) * | 2017-12-13 | 2018-03-23 | 合肥工业大学 | 一种考虑标签信息的贝叶斯个性化排序推荐方法 |
CN108388624A (zh) * | 2018-02-12 | 2018-08-10 | 科大讯飞股份有限公司 | 多媒体信息推荐方法及装置 |
CN109002541A (zh) * | 2018-07-23 | 2018-12-14 | 合肥工业大学 | 一种融合群组信息的列表级学习项目推荐方法 |
CN109033815A (zh) * | 2018-06-15 | 2018-12-18 | 国网浙江省电力有限公司 | 基于矩阵分解的Webshell检测方法 |
CN109903127A (zh) * | 2019-02-14 | 2019-06-18 | 广州视源电子科技股份有限公司 | 一种群组推荐方法、装置、存储介质及服务器 |
CN109918576A (zh) * | 2019-01-09 | 2019-06-21 | 常熟理工学院 | 一种基于联合概率矩阵分解的微博关注推荐方法 |
CN110008402A (zh) * | 2019-02-22 | 2019-07-12 | 苏州大学 | 一种基于社交网络的去中心化矩阵分解的兴趣点推荐方法 |
CN110188289A (zh) * | 2019-06-05 | 2019-08-30 | 南京邮电大学 | 一种面向群组的服务推荐列表生成方法 |
CN110321492A (zh) * | 2019-06-13 | 2019-10-11 | 华中科技大学 | 一种基于社区信息的项目推荐方法及系统 |
CN110825981A (zh) * | 2019-11-06 | 2020-02-21 | 合肥工业大学 | 一种基于证据理论的群推荐方法 |
CN112883264A (zh) * | 2021-02-09 | 2021-06-01 | 联想(北京)有限公司 | 一种推荐方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473291A (zh) * | 2013-09-02 | 2013-12-25 | 中国科学院软件研究所 | 一种基于隐语义概率模型的个性化服务推荐系统及方法 |
CN103927347A (zh) * | 2014-04-01 | 2014-07-16 | 复旦大学 | 一种基于用户行为模型和蚁群聚类的协同过滤推荐算法 |
US20150248720A1 (en) * | 2014-03-03 | 2015-09-03 | Invent.ly LLC | Recommendation engine |
-
2015
- 2015-09-11 CN CN201510581626.0A patent/CN105260390B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473291A (zh) * | 2013-09-02 | 2013-12-25 | 中国科学院软件研究所 | 一种基于隐语义概率模型的个性化服务推荐系统及方法 |
US20150248720A1 (en) * | 2014-03-03 | 2015-09-03 | Invent.ly LLC | Recommendation engine |
CN103927347A (zh) * | 2014-04-01 | 2014-07-16 | 复旦大学 | 一种基于用户行为模型和蚁群聚类的协同过滤推荐算法 |
Non-Patent Citations (1)
Title |
---|
包红云等: "集成组内标签与用户链接关系的Flickr组推荐模型", 《模式识别与人工智能》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491540A (zh) * | 2017-08-24 | 2017-12-19 | 济南浚达信息技术有限公司 | 一种结合深度贝叶斯模型和协同异构信息嵌入的电影推荐方法 |
CN107491813A (zh) * | 2017-08-29 | 2017-12-19 | 天津工业大学 | 一种基于多目标优化的长尾群组推荐方法 |
CN107657347A (zh) * | 2017-09-30 | 2018-02-02 | 桂林电子科技大学 | 一种面向群组的旅游推荐方法 |
CN107657347B (zh) * | 2017-09-30 | 2020-10-23 | 桂林电子科技大学 | 一种面向群组的旅游推荐方法 |
CN107833117B (zh) * | 2017-12-13 | 2020-03-17 | 合肥工业大学 | 一种考虑标签信息的贝叶斯个性化排序推荐方法 |
CN107833117A (zh) * | 2017-12-13 | 2018-03-23 | 合肥工业大学 | 一种考虑标签信息的贝叶斯个性化排序推荐方法 |
CN108388624A (zh) * | 2018-02-12 | 2018-08-10 | 科大讯飞股份有限公司 | 多媒体信息推荐方法及装置 |
CN109033815A (zh) * | 2018-06-15 | 2018-12-18 | 国网浙江省电力有限公司 | 基于矩阵分解的Webshell检测方法 |
CN109002541A (zh) * | 2018-07-23 | 2018-12-14 | 合肥工业大学 | 一种融合群组信息的列表级学习项目推荐方法 |
CN109002541B (zh) * | 2018-07-23 | 2021-12-07 | 合肥工业大学 | 一种融合群组信息的列表级学习项目推荐方法 |
CN109918576A (zh) * | 2019-01-09 | 2019-06-21 | 常熟理工学院 | 一种基于联合概率矩阵分解的微博关注推荐方法 |
CN109918576B (zh) * | 2019-01-09 | 2021-01-05 | 常熟理工学院 | 一种基于联合概率矩阵分解的微博关注推荐方法 |
CN109903127A (zh) * | 2019-02-14 | 2019-06-18 | 广州视源电子科技股份有限公司 | 一种群组推荐方法、装置、存储介质及服务器 |
CN110008402A (zh) * | 2019-02-22 | 2019-07-12 | 苏州大学 | 一种基于社交网络的去中心化矩阵分解的兴趣点推荐方法 |
CN110008402B (zh) * | 2019-02-22 | 2021-09-03 | 苏州大学 | 一种基于社交网络的去中心化矩阵分解的兴趣点推荐方法 |
CN110188289A (zh) * | 2019-06-05 | 2019-08-30 | 南京邮电大学 | 一种面向群组的服务推荐列表生成方法 |
CN110321492A (zh) * | 2019-06-13 | 2019-10-11 | 华中科技大学 | 一种基于社区信息的项目推荐方法及系统 |
CN110825981A (zh) * | 2019-11-06 | 2020-02-21 | 合肥工业大学 | 一种基于证据理论的群推荐方法 |
CN112883264A (zh) * | 2021-02-09 | 2021-06-01 | 联想(北京)有限公司 | 一种推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105260390B (zh) | 2016-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105260390A (zh) | 一种面向群组的基于联合概率矩阵分解的项目推荐方法 | |
EP3623956A1 (en) | Method and apparatus for obtaining recommendation information, and electronic device | |
CN104935963B (zh) | 一种基于时序数据挖掘的视频推荐方法 | |
CN103064945B (zh) | 基于本体的情境搜索方法 | |
CN103955464B (zh) | 一种基于情境融合感知的推荐方法 | |
CN103886054B (zh) | 一种网络教学资源的个性化推荐系统和推荐方法 | |
CN108090229A (zh) | 一种基于卷积神经网络确定评分矩阵的方法和装置 | |
CN103023977B (zh) | 基于位置信息的推荐系统及推荐方法 | |
CN102495864A (zh) | 基于评分的协同过滤推荐方法及系统 | |
CN105787061A (zh) | 信息推送方法 | |
CN107909433A (zh) | 一种基于大数据移动电子商务的商品推荐方法 | |
CN101853470A (zh) | 一种基于社会化标签的协同过滤方法 | |
CN101354714B (zh) | 一种基于概率潜在语义分析的问题推荐方法 | |
CN104281956A (zh) | 基于时间信息的适应用户兴趣变化的动态推荐方法 | |
CN104391849A (zh) | 融入时间上下文信息的协同过滤推荐方法 | |
CN102982107A (zh) | 一种融合用户、项目和上下文属性信息的推荐系统优化方法 | |
CN109492076B (zh) | 一种基于网络的社区问答网站答案可信评估方法 | |
CN107391670A (zh) | 一种融合协同过滤和用户属性过滤的混合推荐方法 | |
CN104239496A (zh) | 一种结合模糊权重相似性度量和聚类协同过滤的方法 | |
CN106156333A (zh) | 一种融合社会化信息的改进单类协同过滤方法 | |
CN103744917A (zh) | 混合推荐方法及系统 | |
CN105808786B (zh) | 一种基于内容互信的协同主题回归标签推荐方法 | |
CN101355457A (zh) | 测试方法及测试设备 | |
CN104182392A (zh) | 服务推荐处理的方法和装置 | |
CN103365842B (zh) | 一种页面浏览推荐方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |