[发明专利]一种面向群组的基于联合概率矩阵分解的项目推荐方法有效
申请号: | 201510581626.0 | 申请日: | 2015-09-11 |
公开(公告)号: | CN105260390B | 公开(公告)日: | 2016-11-16 |
发明(设计)人: | 王刚;蒋军;程八一;何耀耀;汪洋;孙二冬;夏婷婷 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q50/00 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230009 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种面向群组的基于联合概率矩阵分解的项目推荐方法,其特征包括如下步骤:步骤一,用三元组表示用户对项目的评分信息和用户属于群组的信息;步骤二,计算基于用户属于群组信息三元组的用户相关性;步骤三,实施基于用户相关性的联合概率矩阵分解方法,获得用户特征矩阵和项目特征矩阵;步骤四,利用平均策略计算得到群组特征矩阵;步骤五,获取每个群组对项目的预测评分最高的前N个项目构成推荐列表。本发明将基于群组信息的用户相关性融入到概率矩阵分解之中,实施基于用户相关性的联合概率矩阵分解,并且利用平均策略计算得到群组特征矩阵,从而得到面向群组的推荐结果,在一定程度上能过为群组提供更加准确的个性化服务。 | ||
搜索关键词: | 一种 面向 基于 联合 概率 矩阵 分解 项目 推荐 方法 | ||
【主权项】:
一种面向群组的基于联合概率矩阵分解的项目推荐方法,其特征是按如下步骤进行:步骤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服从均值为
方差为
的正态分布;并有
表示将WiTVj的值映射到[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的特征向量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的推荐列表,从而获得所有群组的推荐列表。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510581626.0/,转载请声明来源钻瓜专利网。
- 上一篇:装配整体式钢筋砼地下综合管廊
- 下一篇:管道接头