推荐系统-协同过滤原理与实现 (2)

recall

准确率为:

precession

这里用更加形象的方法表示,将数据分成四个部分 A,B,C,D
R(u) = A + B; 

T(u) = A + C;

Recall =  A / (A + C)

Precession = A / (A + B)

未命名文件

4.评测指标——覆盖率

覆盖率描述了推荐系统对物品长尾的发掘能力,高的覆盖率表示推荐系统可以推荐一些长尾部分的物品,这是物品提供商比较关心的。对覆盖率一个简单定义为推荐系统能够推荐出来的物品占总物品I的比例,假设系统用户集合为U,为每个用户u推荐物品为R(u),那么推荐系统覆盖率可以表示为:

5.评测指标——多样性

用户的兴趣是广泛的,因此推荐系统推荐给用户的物品也应该是多样的。比如,用户爱看的书不仅有历史文学书,也可能有心理专业书,且看的比例约为7:3,所以在推荐的时候,也应该考虑为用户推荐这两类书籍,且比例也约为7:3。

6.评测指标——新颖性

新颖性即推荐给用户他们之前不知道的物品,将用户有过行为的物品从推荐表中剔除掉。评测新颖性的最简单方法是利用推荐结果的平均流行度,即推荐的物品的平均热门程度越低,其新颖性越高。

7.其他

 

三、协同过滤介绍

同过滤就是指用户可以齐心协力,通过不断地和网站互动,使自己的推荐列表能够不断过滤掉自己不感兴趣的物品,从而越来越满足自己的需求。

显性反馈:用户明确表示对物品喜好的行为。这要方式是评分和喜欢/不喜欢。

隐形反馈:不能明确反应用户喜好的行为。(购买日志、阅读日志、浏览日志)

. 基于用户的协同过滤算法(UserCF

算法核心:当一个用户A需要个性化推荐时,可以先找到他有相似兴趣的其他用户,然后把那些用户喜欢的、而用户A没听过的物品推荐给A。

a) 找到和目标用户兴趣相似的用户集合

b) 找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。

步骤(a)的关键就是计算两个用户的兴趣相似度。这里,协同过滤算法主要利用行为的相似度计算兴趣的相似度。给定用户u和用户v,令N(u)表示用户u曾经有过正反馈的物品集合,令N(v)为用户v曾经有过正反馈的物品集合。那么,我们可以通过如下的Jaccard公式简单地计算u和v的兴趣相似度或者通过余弦公式:

             jaccard                                                     余项公式:

wuv

           

wuv2

这个一个行为记录 我们可以根据余弦公式计算如下

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwzdy.html