发明名称 一种融合社交信息的推荐系统解决方法
摘要 本发明涉及一种融合社交信息的推荐系统解决方法,包括:选取一段时间内的用户对商品的评分,以这些用户对这些商品的评分,用户好友关系信息和用户的自身特性作为数据集;统计出全部用户数和全部商品数,构建用户‑商品真实评分矩阵,随机选取一部分评分数据作为训练集同时构建用户好友矩阵,用户自身特性矩阵;计算用户和其好友之间的相似度;采用隐语义模型,生成用户特征矩阵和商品特征矩阵,矩阵相乘得到预测评分;计算预测评分跟真实评分之间的均方根误差RMSE,并加入用户之间相似度作为社交信息对误差的权重。采用梯度下降算法对的用户特征和商品特征进行迭代更新。本发明有效提高对新用户的推荐准确度。
申请公布号 CN106384259A 申请公布日期 2017.02.08
申请号 CN201610810501.5 申请日期 2016.09.08
申请人 天津大学 发明人 成石;王宝亮;毛陆虹;常鹏
分类号 G06Q30/06(2012.01)I;G06Q30/02(2012.01)I 主分类号 G06Q30/06(2012.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 程毓英
主权项 一种融合社交信息的推荐系统解决方法,包括下列步骤:(1)选取一段时间内的用户对商品的评分,以这些用户对这些商品的评分,用户好友关系信息和用户的自身特性作为数据集;(2)统计出全部用户数和全部商品数,构建用户‑商品真实评分矩阵,随机选取一部分评分数据作为训练集,另一部分%的评分数据作为测试集,同时构建用户好友矩阵,用户自身特性矩阵;(3)根据(2)中得到的训练数据,按照下述公式计算用户和其好友之间的相似度:<maths num="0001"><math><![CDATA[<mrow><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>f</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><mi>j</mi><mo>&Element;</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&cap;</mo><mi>I</mi><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow></mrow></munder><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>f</mi><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>f</mi></msub><mo>)</mo></mrow></mrow><mrow><msqrt><mrow><munder><mo>&Sigma;</mo><mrow><mi>j</mi><mo>&Element;</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&cap;</mo><mi>I</mi><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow></mrow></munder><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>i</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>&CenterDot;</mo><msqrt><mrow><munder><mo>&Sigma;</mo><mrow><mi>j</mi><mo>&Element;</mo><mi>I</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow><mo>&cap;</mo><mi>I</mi><mrow><mo>(</mo><mi>f</mi><mo>)</mo></mrow></mrow></munder><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>f</mi><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>f</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow></mfrac><mo>+</mo><mfrac><msqrt><msup><mrow><mo>(</mo><msub><mi>D</mi><mi>i</mi></msub><mo>-</mo><msub><mi>D</mi><mi>f</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></msqrt><mrow><msqrt><mrow><msup><msub><mi>D</mi><mi>i</mi></msub><mn>2</mn></msup></mrow></msqrt><mo>&CenterDot;</mo><msqrt><mrow><msup><msub><mi>D</mi><mi>f</mi></msub><mn>2</mn></msup></mrow></msqrt></mrow></mfrac></mrow>]]></math><img file="FDA0001111652510000011.GIF" wi="1511" he="238" /></maths>I(i)为用户i评分的商品集,I(f)用户i的好友f评分的商品集,I(i)∩I(f)为用户i和其好友f都进行过评分的商品集,R<sub>ij</sub>为用户i对商品j的评分,R<sub>fj</sub>为用户i的好友f对商品j的评分,<img file="FDA0001111652510000012.GIF" wi="46" he="58" />为用户i的全部评分均值,<img file="FDA0001111652510000013.GIF" wi="56" he="64" />为用户i的好友f的全部评分均值,D<sub>i</sub>为用户i的自身特性,D<sub>f</sub>为用户i的好友f的自身特性;(4)采用隐语义模型,提取用户和商品数量相同的潜在特征,生成用户特征矩阵和商品特征矩阵,矩阵相乘得到预测评分;计算预测评分跟真实评分之间的均方根误差RMSE,并加入用户之间相似度作为社交信息对误差的权重。最终整合的误差函数如下:<maths num="0002"><math><![CDATA[<mrow><mi>min</mi><mi>&xi;</mi><mrow><mo>(</mo><mi>R</mi><mo>,</mo><mi>U</mi><mo>,</mo><mi>V</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><munderover><mi>&Sigma;</mi><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>-</mo><msubsup><mi>U</mi><mi>i</mi><mi>T</mi></msubsup><msub><mi>V</mi><mi>j</mi></msub><mo>)</mo></mrow><mn>2</mn></msup><mo>+</mo><mfrac><mi>&alpha;</mi><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>M</mi></munderover><msub><mi>&Sigma;</mi><mrow><mi>f</mi><mo>&Element;</mo><mi>F</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow></msub><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>f</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo><msub><mi>U</mi><mi>i</mi></msub><mo>-</mo><msub><mi>U</mi><mi>f</mi></msub><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><msub><mi>&lambda;</mi><mn>1</mn></msub><mo>|</mo><mo>|</mo><mi>U</mi><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>+</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><mo>|</mo><mo>|</mo><mi>V</mi><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup></mrow>]]></math><img file="FDA0001111652510000014.GIF" wi="1719" he="143" /></maths>U<sub>i</sub>为用户i的特征,V<sub>j</sub>为商品j的特征,U为用户特征矩阵,V为商品特征矩阵。M为用户总数,N为商品总数。α为用户好友相似度权重,λ<sub>1</sub>,λ<sub>2</sub>为防止产生过拟合的正则化权重,F(i)为用户i的好友集,f为用户i的好友,U<sub>f</sub>为好友f的特征,‖·‖<sup>2</sup>为欧式距离。(5)采用梯度下降算法对步骤(4)的用户特征和商品特征进行迭代更新,如果误差函数minξ(R,U,V)小于预设误差值或迭代次数达到预设次数则停止迭代,否则返回(4)继续计算。(6)采用测试集数据,进行算法评估,计算预测分数和真实分数的均方根误差RMSE,RMSE越小推荐结果越好,根据预测分数,对于目标用户,根据预测分数从大到小对商品进行排序,如果目标用户喜欢的商品集中在排序的靠前部分,则证明算法有效,反之说明算法无效。
地址 300072 天津市南开区卫津路92号