【读书笔记】推荐系统实践-常见推荐算法及应用

《推荐系统实践》系统性地介绍了推荐系统这一领域,思路清晰,详细介绍了各个领域不同情景的推荐算法的应用,是一本很好的推荐系统入门书,尤其第二第三章的讲解比较细致。(Ps:书中插入的python代码有点生硬,读者可以直接忽略)

衡量推荐算法的指标

  • 用户满意度

    满意度是评测推荐系统最重要的指标,但是无法通过离线计算获得,只能通过用户调查或者在线实验。

  • 预测准确度

    对于TopN推荐(这里主要讨论TopN推荐),对于准确度的衡量有两个指标。R(u)是针对测试集,根据用户在训练集上的行为给用户作出的推荐列表,而T(u)是用户在测试集上的行为列表。

    • 召回率:表示用户喜欢的物品列表里被推荐系统推荐到的比例

    Recall=uUR(u)T(u)uU|T(u)| R e c a l l = ∑ u ∈ U R ( u ) ⋂ T ( u ) ∑ u ∈ U | T ( u ) |

    • 准确率:表示推荐系统推荐给用户的列表里用户喜欢该推荐的比例

    Precision=uUR(u)T(u)uU|R(u)| P r e c i s i o n = ∑ u ∈ U R ( u ) ⋂ T ( u ) ∑ u ∈ U | R ( u ) |

  • 覆盖率:述一个推荐系统对物品长尾的发掘能力。覆盖率 最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。假设系统的用户集合为U ,推荐系统给每个用户推荐一个长度为N的物品列表R(u) 。

    Coverage=uUR(u)|I| C o v e r a g e = ⋃ u ∈ U R ( u ) | I |

  • 多样性:多样性描述了推荐列表中物品两两之间的不相似性,与推荐的相似性是相对的。

  • 新颖性:是指给用户推荐那些他们以前没有听说过的物品,给用户带来新颖感

  • 惊喜度:区别于新颖性,如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意,那么就可以说推荐结果的惊喜度很高,而推荐的新颖性仅仅取决于用户是否听说过这个推荐结果。

  • 信任度:指用户给推荐系统给出结果的信任,可以通过增加推荐系统的透明度(给出推荐理由)和考虑用户的社交网络(用户更信任他们的好友)来提升推荐系统的信任度。

  • 实时性:表现在用户行为变化后,即使更新推荐列表;同时在新的物品加入系统,物品能够被推荐到用户。

  • 健壮性:推荐系统能够抗攻击,推荐系统依赖用户行为,如果用户刻意造假用户行为,就会对推荐结果造成影响(如淘宝刷单强行将物品刷到热门,被推荐的概率大大增加)。增加健壮性的方法有:

    • 使用代价比较高的用户行为赋予更高的权重,代价比较的高的行为造假率低。
    • 使用数据前,进行攻击检测

推荐算法简介

当前业界用的最多的算法就是基于领域的推荐算法,包括基于用户的协同过滤和基于内容的系统过滤,当然还有一些其他算法,包括了基于图的推荐算法、基于内容的推荐算法、隐语义模型、利用标签推荐等等。

1. 基于用户的协同过滤

a.推荐思想

当一个用户A需要个性化推荐 时,可以先找到和他有相似兴趣的其他用户(这里的兴趣相似指两人感兴趣的物品重合度高),然后把那些用户喜欢的、而用户A没有听说过的物品推荐给A。这种方法称为基于用户的协同过滤算法。

主要步骤包括:

  • 找到和目标用户兴趣相似的用户集合(计算与当前用户兴趣相似度高的用户)
  • 找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户
b.算法实现

给定用户u和用户v,令N(u)表示用户u曾经有过正反馈的物品集合,令N(v) 为用户v曾经有过正反馈的物品集合。那么u与v的相似度可以如下计算:

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值