[发明专利]基于项目使用次数的矩阵分解推荐方法有效

专利信息
申请号: 201610264552.2 申请日: 2016-04-25
公开(公告)号: CN105976220B 公开(公告)日: 2017-05-17
发明(设计)人: 姜元春;钱洋;杜非;刘业政;孙春华;孙见山;王佳佳 申请(专利权)人: 合肥工业大学
主分类号: G06F17/30 分类号: G06F17/30;G06Q30/06
代理公司: 安徽省合肥新安专利代理有限责任公司34101 代理人: 陆丽莉,何梅生
地址: 230009 安*** 国省代码: 安徽;34
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 项目 使用 次数 矩阵 分解 推荐 方法
【权利要求书】:

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|;

步骤2、利用式(1)将所述第i个用户Ui对第j个项目Ij的使用次数Ri,j进行归一化处理,获得归一化后的使用次数从而获得所有用户对所有项目的归一化后的使用次数:

<mrow><msub><mover><mi>R</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>R</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>)</mo></mrow><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mo>+</mo><mn>1</mn></mrow><mrow><msub><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>)</mo></mrow><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow></msub><mo>-</mo><msub><mrow><mo>(</mo><msub><mi>R</mi><mi>i</mi></msub><mo>)</mo></mrow><mi>min</mi></msub><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>

式(1)中,(Ri)min表示第i个用户Ui对所有项目使用次数的最小值;(Ri)max表示第i个用户Ui对所有项目使用次数的最大值;

步骤3、利用FPTree算法获得项目集I的频繁二项集,并用三元组P=<I,I,Y>表示项目与项目的支持度;并有Y={Yj,k}|I|×|I|;Yj,k表示第j个项目Ij与第k个项目Ik的支持度;1≤k≤|I|;

步骤4、统计第j个项目Ij的使用人数并进行归一化处理后,获得第j个项目Ij的流行度Poj,从而获得项目集I的流行度Po={Po1,Po2,...,Poj,...,Po|I|};

步骤5、利用式(2)预测所述第i个用户Ui对第j个项目Ij的使用次数

<mrow><mtable><mtr><mtd><mrow><msubsup><mover><mi>R</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mo>&prime;</mo></msubsup><mo>=</mo><msub><mover><mi>&mu;</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mo>+</mo><msub><mi>b</mi><mi>i</mi></msub><mo>+</mo><msub><mi>b</mi><mi>j</mi></msub><mo>+</mo><msub><mi>Po</mi><mi>j</mi></msub><mo>+</mo><msubsup><mi>q</mi><mi>j</mi><mi>T</mi></msubsup><mo>(</mo><mrow><msub><mi>p</mi><mi>i</mi></msub><mo>+</mo><mo>|</mo><msub><mi>N</mi><mi>i</mi></msub><msup><mo>|</mo><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mo>&Sigma;</mo><mrow><mi>l</mi><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub></mrow></munder><msub><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>l</mi></mrow></msub></mrow><mo>)</mo><mo>+</mo><mo>|</mo><msup><mi>G</mi><msub><mi>f</mi><mi>i</mi></msub></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><msup><mo>|</mo><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mo>&Sigma;</mo><mrow><msubsup><mi>f</mi><mi>i</mi><mi>a</mi></msubsup><mo>&Element;</mo><msup><mi>G</mi><msub><mi>f</mi><mi>i</mi></msub></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>^</mo></mover><mrow><msubsup><mi>f</mi><mi>i</mi><mi>a</mi></msubsup><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msubsup><mover><mi>R</mi><mo>^</mo></mover><mrow><msubsup><mi>f</mi><mi>i</mi><mi>a</mi></msubsup><mo>,</mo><mi>j</mi></mrow><mo>&prime;</mo></msubsup><mo>)</mo></mrow><msub><mi>x</mi><mrow><msubsup><mi>f</mi><mi>i</mi><mi>a</mi></msubsup><mo>,</mo><mi>i</mi></mrow></msub></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mo>|</mo><msup><mi>G</mi><msub><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><msup><mo>|</mo><mrow><mo>-</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow></msup><munder><mo>&Sigma;</mo><mrow><msubsup><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>b</mi></msubsup><mo>&Element;</mo><msup><mi>G</mi><msub><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>^</mo></mover><mrow><msubsup><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>b</mi></msubsup><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><msubsup><mover><mi>R</mi><mo>^</mo></mover><mrow><msubsup><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>b</mi></msubsup><mo>,</mo><mi>i</mi></mrow><mo>&prime;</mo></msubsup><mo>)</mo></mrow><msub><mi>Y</mi><mrow><msubsup><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>b</mi></msubsup><mo>,</mo><mi>j</mi></mrow></msub></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>

式(2)中,表示第i个用户Ui对所有项目的归一化后的使用次数的均值;bi表示第i个用户Ui对所有项目使用次数的偏移量;bj表示第j个项目Ij在使用次数上的偏移量;表示第j个项目Ij的隐特征向量的转置;pi表示第i个用户Ui的隐偏好向量;Ni表示第i个用户Ui使用过的项目的数量;wi,l表示第i个用户Ui对第l个使用过的项目的权重;fi表示第i个用户Ui的所有好友;fia表示第i个用户Ui的所有好友中第a个好友;表示第i个用户Ui的所有好友fi中使用过第j个项目Ij的好友集合;表示第i个用户Ui的所有好友fi中使用过第j个项目Ij的好友集合的数量;表示第i个用户Ui的所有好友fi中第a个好友对第j个项目Ij的真实使用次数;表示第i个用户Ui的所有好友fi中第a个好友对第j个项目Ij的预测使用次数;表示第i个用户Ui与第i个用户Ui的所有好友fi中第a个好友的亲密度;ni,j表示第i个用户Ui使用的除第j个项目Ij以外的其他项目与第j个项目Ij的频繁二项集之间的交集;表示第i个用户Ui使用的除第j个项目Ij以外的其他项目与第j个项目Ij的频繁二项集之间的交集所包含的项目;表示第i个用户Ui使用的除第j个项目Ij以外的其他项目与第j个项目Ij的频繁二项集之间的交集所包含的项目数量;表示第i个用户Ui使用的除第j个项目Ij以外的其他项目与第j个项目Ij的频繁二项集之间的交集中的第b个项目;表示第i个用户Ui使用的除第j个项目Ij以外的其他项目与第j个项目Ij的频繁二项集之间的交集中的第b个项目的真实使用次数;表示第i个用户Ui使用的除第j个项目Ij以外的其他项目与第j个项目Ij的频繁二项集之间的交集中的第b个项目预测使用次数;表示第j个项目Ij的频繁二项集中第b个项目与第j个项目Ij之间支持度;

步骤6、用式(3)所示的Ji,j表示第i个用户Ui对第j个项目Ij的真实使用次数与预测使用次数之间的损失函数;

<mrow><mtable><mtr><mtd><mrow><msub><mi>J</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mrow><mo>(</mo><msub><mover><mi>R</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msubsup><mover><mi>R</mi><mo>^</mo></mover><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mo>&prime;</mo></msubsup><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mn>1</mn></msub><mn>2</mn></mfrac><mrow><mo>(</mo><mo>|</mo><mo>|</mo><msub><mi>b</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>b</mi><mi>j</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>)</mo></mrow><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mn>2</mn></msub><mn>2</mn></mfrac><mrow><mo>(</mo><mo>|</mo><mo>|</mo><msub><mi>p</mi><mi>i</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><mo>|</mo><mo>|</mo><msub><mi>q</mi><mi>j</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munder><mo>&Sigma;</mo><mrow><mi>l</mi><mo>&Element;</mo><msub><mi>N</mi><mi>i</mi></msub></mrow></munder><msub><mi>w</mi><mrow><mi>i</mi><mo>,</mo><mi>l</mi></mrow></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>+</mo><mfrac><msub><mi>&lambda;</mi><mn>3</mn></msub><mn>2</mn></mfrac><mrow><mo>(</mo><munder><mo>&Sigma;</mo><mrow><msubsup><mi>f</mi><mi>i</mi><mi>a</mi></msubsup><mo>&Element;</mo><msup><mi>G</mi><msub><mi>f</mi><mi>i</mi></msub></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mo>|</mo><mo>|</mo><msub><mi>x</mi><mrow><msubsup><mi>f</mi><mi>i</mi><mi>a</mi></msubsup><mo>,</mo><mi>i</mi></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><munder><mo>&Sigma;</mo><mrow><msubsup><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>b</mi></msubsup><mo>&Element;</mo><msup><mi>G</mi><msub><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow></msub></msup><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow></mrow></munder><mo>|</mo><mo>|</mo><msub><mi>Y</mi><mrow><msubsup><mi>n</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mi>b</mi></msubsup><mo>,</mo><mi>j</mi></mrow></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>)</mo></mrow></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>

步骤7、利用随机梯度下降法计算获得所述第i个用户Ui对所有项目使用次数的偏移量bi、第j个项目Ij在使用次数上的偏移量bj、第j个项目Ij的隐特征向量qj、第i个用户Ui的隐偏好向量pi、第i个用户Ui对第l个使用过的项目的权重wi,l、第i个用户Ui与第i个用户Ui的所有好友fi中第a个好友的亲密度表示第j个项目Ij的频繁二项集中第b个项目与第j个项目Ij之间支持度从而获得第i个用户Ui对第j个项目Ij的预测使用次数进而获得第i个用户Ui对所有项目I的预测使用次数;

步骤8、对第i个用户Ui对所有未使用的项目I'的预测使用次数进行降序排序,选取前N的项目推荐给第i个用户Ui;从而获得第i个用户Ui的推荐结果。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201610264552.2/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top