发明名称 一种基于用户和项目混合的协同过滤算法
摘要 本发明公开了一种基于用户和项目混合的协同过滤算法,包括以下步骤:步骤1:对用户‑项目评分数据集进行整理,建立用户‑项目评分矩阵U;步骤2:计算物品之间的相似度,并将相似度按照从大到小进行排序;步骤3:根据物品之间的相似度排序,产生物品的“最近邻居N”;步骤4:计算目标用户T与其他用户之间的相似度,并将相似度按照从大到小的顺序进行排序;步骤5:根据用户之间的相似度排序,产生用户的“最近邻居K”。本发明同时考虑用户相似度和项目相似度两个方面,利用加权的方法得到同时考虑用户相似度和项目相似度的项目预测评分,并根据评分的排序进行推荐,该算法能够降低平均误差MAE的值,提高推荐算法的准确率。
申请公布号 CN105976229A 申请公布日期 2016.09.28
申请号 CN201610316790.3 申请日期 2016.05.13
申请人 云南大学 发明人 李彤;于倩;刘琰;刘金卓;林英;郁湧;王海林
分类号 G06Q30/06(2012.01)I;G06F17/30(2006.01)I 主分类号 G06Q30/06(2012.01)I
代理机构 合肥顺超知识产权代理事务所(特殊普通合伙) 34120 代理人 俞强
主权项 一种基于用户和项目混合的协同过滤算法,其特征在于,包括以下步骤:步骤1:对用户‑项目评分数据集进行整理,建立用户‑项目评分矩阵U;步骤2:计算皮尔逊系数,计算物品之间的相似度,并将相似度按照从大到小进行排序,皮尔逊系数计算公式为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>s</mi><mi>i</mi><mi>m</mi><mrow><mo>(</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><munder><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></munder><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>u</mi></msub><mo>)</mo></mrow><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>u</mi></msub><mo>)</mo></mrow></mrow><mrow><msqrt><mrow><msub><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>u</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><msqrt><mrow><msub><mo>&Sigma;</mo><mrow><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>N</mi></mrow></msub><msup><mrow><mo>(</mo><msub><mi>R</mi><mrow><mi>u</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msub><mover><mi>R</mi><mo>&OverBar;</mo></mover><mi>u</mi></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt></mrow></mfrac></mrow>]]></math><img file="FDA0000989030500000011.GIF" wi="1166" he="239" /></maths>其中N表示用户评分的项目,表示用户u对项目i的评分,表示用户u对项目评分的平均值;步骤3:根据物品之间的相似度排序,产生物品的“最近邻居N”,利用最近邻居N预测用户T对其他物品的评分;步骤4:采用步骤2得出的皮尔逊系数,计算目标用户T与其他用户之间的相似度,并将相似度按照从大到小的顺序进行排序;步骤5:根据用户之间的相似度排序,产生用户的“最近邻居K”,利用最近邻居K预测用户T对其他物品的评分;步骤6:综合利用物品相似度和利用用户相似度得到的评分,如果目标用户对物品的评分预测既在“最近邻居N”中,又在“最近邻居K”中,则对预测评分进行加权计算,得到利用物品相似度和用户相似度组合的“最近邻居X”和预测评分;步骤7:据最近邻居X的排序,按照预测评分从大到小的排序输出top‑N推荐项目集。
地址 650091 云南省昆明市翠湖北路2号云南大学科学馆524