一种面向群组的基于联合概率矩阵分解的项目推荐方法_2

文档序号:9506199阅读:来源:国知局
得群组的特征向量,进而获得面向群组的项目推荐列表,从而克服 了已经存在的群推荐方法信息利用不完整的现象,为在新的阶段运用合成策略得到群推荐 结果提供了一个参考,明显提高了面向群组推荐的精度,有效地缓解了数据稀疏问题和冷 启动问题。
[0058] 2、本发明利用用户共同加入群组的信息来获得用户之间的相关性,并将这种用户 之间的相关性融入到概率矩阵分解中,提出了一种融入群组内用户相关性的联合概率矩阵 分解方法,其推荐精度明显高于未融入群组内用户相关性的概率矩阵分解方法。
[0059] 3、本发明利用融入群组内用户相关性的概率矩阵分解方法得到用户特征矩阵和 项目特征矩阵,运用合成策略将群组内用户的特征向量合成得到群组的特征向量,最后通 过群组特征向量和项目特征向量的内积获得群组对项目的预测评分;与已有的群推荐方法 相比,本发明首次在概率矩阵分解的获得用户特征矩阵阶段采用合成策略,证明了该方法 的可行性。
[0060] 4、本发明可以向群组推荐图书、电影、音乐和旅游地点等多种项目。同时,本发明 所提出的方法可以在电脑和手机的网页和App等平台上的推荐系统中使用,应用范围广 泛。
【附图说明】
[0061] 图1为本发明流程示意图;
[0062] 图2为本发明不同合成策略在准确率下的敏感性实验结果;
[0063] 图3为本发明不同合成策略在召回率下的敏感性实验结果;
[0064] 图4为本发明推荐准确率实验结果;
[0065] 图5为本发明推荐召回率实验结果。
【具体实施方式】
[0066] 本发明利用三元组表示用户对项目的评分信息和用户属于群组的信息,并且计算 基于用户属于群组三元组的用户相关性。然后将计算得到的用户相关性融入到概率矩阵分 解之中,实施基于用户相关性的联合概率矩阵分解方法,得到用户特征矩阵和项目特征矩 阵。最后通过合成策略合成用户特征矩阵得到群组特征矩阵,并结合项目特征矩阵预测群 组对项目的评分,从而依据预测评分得到面向群组的项目推荐列表。具体的说,如图1所 示,本发明方法包括以下步骤:
[0067] 步骤1、利用三元组T表示用户对项目的评分信息,利用三元组P表示用户属于群 组的信息,具体包括:
[0068] 步骤1. 1、用三元组T = <U,I,R>表示用户对项目的评分信息;U表示用户集,并有 U= IU1, U2,…,U1,…,U|L)|}而表示第i个用户,|U|为用户的总个数;I表示项目集,并 有I =仏,i2,...,L...,Im} 4表示第j个项目,111为项目的总个数;R表示评分信息 矩阵,并有R= (R1Jlulx⑴;R1^表示第i个用户U1对第j个项目I ;的评分;1彡i彡|U| ; 1 ? 11;
[0069] 步骤1. 2、用三元组P = <G,U,A>表示用户属于群组的信息;G表示群组集,并有G = {&,&,...,&,...,g|(;i} ;Gg表示第g个群组,|g|为群组的总个数;A表示群组用户矩阵, 并有A = {Ag,山G|X|U|;A &i= 1表示第i个用户U ;属于第g个群组;A &i= 0表示第i个用 户1^不属于第g个群组;1彡|G| ;
[0070] 步骤2、计算基于三元组P的用户相关性,具体步骤包括;
[0071] 步骤2.1、利用式(1)获得第i个用户U1和第m个用户Uni共同属于同一群组的个 数C 1,",从而获得所有用户之间的共同属于同一群组的信息矩阵C = IC1Jlulxlul:
[0072] Clin= |A .xn a .J (i)
[0073] 式⑴中,Au表示第i个用户1^是否属于群组集G的信息,即为群组用户矩阵A 中的第i列向量;A.^表示第m个用户Uni是否属于群组集G的信息,即为群组用户矩阵A中 的第m列向量;1彡m彡|U| ;
[0074] 步骤2. 2、利用式(2)获得归一化处理后的个数C' 从而获得所有用户之间的 共同属于同一群组的归一化信息矩阵C' = {C' IlJlulxlul:
[0076] 步骤3、将计算得到的用户相关性融入到概率矩阵分解方法中,实施基于用户相关 性的联合概率矩阵分解方法,获得用户特征矩阵W和项目特征矩阵V,具体包括:
[0077] 步骤3. 1、利用式(3)构建评分信息矩阵R的先验分布

[0079] 式⑶中,W1表示第i个用户U i的特征向量;V j表示第j个项目I』的特征向量;W 表示所有用户的特征向量所构成的用户特征矩阵;V表示所有项目的特征向量所构成的项 目特征矩阵
表示第i个用户U1对第j个项目I ,的评分R U服从均 值为g (W1'),方差为的正态分布;并有
表示将W1'的值映射到
[0, 1]内;当第i个用户U1对第j个项目I ,进行过评分,则令
[0080] 步骤3. 2、利用式(4)构建用户特征矩阵W的先验分布

[0082] 式⑷中,J表示单位向量;d/表示第i个用户Ui的特征向量W ;的方差,
表示第i个用户U1的特征向量W1服从均值为0,方差为4?/的正态分布;同 理,
表示第i个用户U1的特征向量W1服从均值为
方差 为4·/的正态分布;Wni表示第m个用户Uni的特征向量。由式(4)可以看出本发明在学习每 个用户的特征向量时,不仅考虑了用户自身的特性,即服从均值为〇的正态分布以防止过 拟合,同时还考虑到了用户之间的相关性,即每个用户的特征向量还要与同一个群组内的 用户的特征向量相似。
[0083] 步骤3.3、利用式(5)构建项目特征矩阵V的先验分布
[0085] 式(5)中,
表示第j个项目I,的特征向量V ,服从均值为0,方差为 的正态分布;
[0086] 步骤3. 4、由式(3)、式(4)和式(5)进行贝叶斯推断,获得如式(6)所示的用户特 征矩阵W和项目特征矩阵V的极大后验概_

[0088] 步骤3. 5,对式(6)经过对数处理获得式(7):
[0090] 式(7)中,H表示第i个用户的特征向量W1和第j个项目的特征向量V #勺维度, 其值由人工设定,并且远小于Iul和|V| ;D为常量;
[0091] 步骤3.6、当参数|1]|,|1|,
和H固定时,求式(7)的最大值, 相当于求式(8)的最小值,从而获得如式(8)所示的最小化目标函数L(R,C',W,V):
[0094] 步骤3. 7、利用均值为0,方差为σ;丨的正太分布随机初始化用户特征矩阵W。同时, 利用均值为〇,方差为的正太分布随机初始化项目特征矩阵V ;
[0095] 步骤3. 8、设定迭代阈值为τ,并初始化迭代次数Z = 1 ;
[0096] 步骤3. 9、利用式(9)和式(10)分别获得第Z次迭代的第i个用户U1的特征向量 W1的梯度
以及第Z次迭代的第j个项目I j的特征向量V j的梯度


[0099] 步骤3. 10、利用式(11)和式(12)分别更新第Z次迭代的第i个用户1^的特征向 量》以及第z次迭代的第j个项目I,的特征向量rf ,获得第Z+1次迭代的第i个用户 U1的特征向量W i η以及第Z+1次迭代的第j个项目I,的特征向量Ff411:
[0102] 式(11)和式(12)中,β为学习率,β足够小且β > 0,其具体值根据经验确定;
[0103] 步骤3. 11、将Ζ+1赋值给Ζ,判断Z彡τ是否成立,若成立,则重复步骤3. 9和步 骤3. 10执行;否则,表示获得更新的第i个用户U1的特征向量W' i以及更新的第j个项 目h的特征向量V',,从而获得所有用户更新的用户特征矩阵W'和更新的项目特征矩阵 Vr ;
[0104] 步骤4、利用平均策略(Average)计算得到群组特征矩阵M,具体包括:
[0105] 步骤4. 1、利用式(13)所示的平均策略(Average)计算得到第g个群组Gg的群组 特征向量Mg:
[0107] 式(13)中,表示属于第g个群组Gg内第X个用户Ux的特征向量;|G g|表示 第g个群组Gg内所含用户的个数;群推荐中基于分值的,并且常用的合成策略包括平均策 略(Average)、最小痛苦策略(LeastMisery)、最大幸福策略(MostPleasure)等三种。为了 比较不同的合成策略对本发明方法预测精度的影响,本发明在标准数据集上进行了实验, 实验结果如图2和图3所示。图2中横坐标表示向群组推荐项目的个数,纵坐标表示推荐 的准确率;图3中横坐标同样表示向群组推荐项目的个数,纵坐标表示推荐的召回率。从图 2和图3中的曲线可以看出,对于本发明所采用的标准数据集,群推荐中的平均合成策略的 预测精度明显高于最小痛苦策略和最大幸福策略。
[0108] 步骤4. 2、对所有群组,重复步骤4. 1,从而获得群组特征矩阵M= IM2,…,Mg,… M|G|};
[0109] 步骤5、获取对每个群组对项目的预测评分最高的前N个项目构成推荐列表,具体 包括:
[0
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1