推荐系统实践读书笔记

本文是关于推荐系统实践的读书笔记,涵盖了好的推荐系统特征、利用用户行为数据的策略、协同过滤算法、评测指标以及冷启动问题的解决方案。协同过滤分为基于用户和物品的,其中ItemCF通过用户行为计算物品相似度。评测指标包括精确率、召回率、覆盖率和新颖度。冷启动问题涉及新用户、新物品和新系统,解决方法包括利用用户注册信息、选择启动物品和利用物品内容信息。
摘要由CSDN通过智能技术生成

推荐系统实战

好的推荐系统

个性化推荐系统需要依赖用户的行为数据。几乎所有的推荐系统应用都是由**前台的展示页面、后台的日志系统以及推荐算法系统**3部分构成的。

个性化推荐的两个条件:

  • 第一是存在信息过载,因为如果用户可以很容易地从所有物品中找到喜欢的物品,就不需要个性化推荐了。
  • 第二是用户大部分时候没有特别明确的需求,因为用户如果有明确的需求,可以直接通过搜索引擎找到感兴趣的物品。

预测准确度是推荐系统领域的重要指标。但是好的推荐系统不仅仅能够准确预测用户的行为,而且能够扩展用户的视野,帮助用户发现那些他们可能会感兴趣,但却不那么容易发现的东西。

利用用户行为数据

基于用户行为分析的推荐算法是个性化推荐系统的重要算法,学术界一般将这种类型的算法
称为==协同过滤算法==。

用户行为在个性化推荐系统中一般分两种——显性反馈行为(explicit feedback)隐性反馈行为(implicit feedback)。显性反馈行为包括用户明确表示对物品喜好的行为。隐性反馈行为指的是那些不能明确反应用户喜好的行为,隐性反馈虽然不明确,但数据量更大

学术界对协同过滤算法进行了深入研究,提出了很多方法,比如基于邻域的方法(neighborhood-based)、隐语义模型(latent factor model)、基于图的随机游走算法(random walk on graph)等。

业界得到最广泛应用的算法是基于邻域的方法,分为:

  • 基于用户的协同过滤算法 这种算法给用户推荐和他兴趣相似的其他用户喜欢的物品。
  • 基于物品的协同过滤算法 这种算法给用户推荐和他之前喜欢的物品相似的物品。

评测指标

对用户u推荐N个物品(记为R(u)),令用户u在测试集上喜欢的物品集合为T(u)

精确率

精确率(precision)是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是
P  = \frac{TP}{TP+FP}

由此,得到

Precision=u|R(u)T(u)|u|T(u)|

召回率

召回率(recall)是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

R = \frac{TP}{TP+FN}

由此得到:

Recall=u|R(u)T(u)|u|R(u)|

==召回率描述有多少比例的用户—物品评分记录包含在最终的推荐列表中,而准确率描述最终的推荐列表中有多少比例是发生过的用户—物品评分记录==

==其实就是分母不同,一个分母是预测为正的样本数,另一个是原来样本中所有的正样本数。==

在信息检索领域,精确率和召回率又被称为查准率查全率

查准率=检索出的相关信息量 / 检索出的信息总量

查全率=检索出的相关信息量 / 系统中的相关信息总量

覆盖率

覆盖率反映了推荐算法发掘长尾的能力,覆盖率越高,说明推荐算法越能够将长尾中的物品推荐给用户。用简单定义如下:

Coverage=|uUR(u)||I|

该覆盖率表示最终的推荐列表中包含多大比例的物品。如果所有的物品都被推荐给至少一个
用户,那么覆盖率就是100%。

新颖度

新颖度,这里用推荐列表中物品的平均流行度度量推荐结果的新颖度。如果推荐出的物品都很热门,说明推荐的新颖度较低,否则说明推荐结果比较新颖。

基于邻域的算法

基于用户的协同过滤(UserCF)

两个步骤:

  • 找到和目标用户兴趣相似的用户集合。
  • 找到这个集合中的用户喜欢的,且目标用户没有听说过的物品推荐给目标用户。

给定用户u和用户v,令 N(u) 表示用户u曾经有过正反馈的物品集合,令 N(v) 为用户v曾经有过正反馈的物品集合,那么可以用如下==Jaccard公式==简单计算u和v的兴趣相似度。

Wuv=|N(u)N(v)||N(u)N(v)|

或者使用==余弦系数==公式:
Wuv=|N(u)N(v)||N(u)||N(v)|

如下的公式度量了UserCF算法中用户u对物品i的感兴趣程度:
p(u,i)=vS(u,K)N(i)Wuvrvi

其中, S(u,K) 包含和用户u兴趣最接近的K个用户, N(i) 是对物品i有过行为的用户集合, Wuv
是用户u和用户v的兴趣相似度, rvi 代表用户v对物品i的兴趣,因为使用的是单一行为的隐反馈数
据,所以所有的 rvi=1


两个用户对冷门物品采取过同样的行为更能说明他们兴趣的相似度。因此,John S. Breese在论文中提出了如下公式,根据用户行为计算用户的兴趣相似度:

Wuv=iN(u)N(v)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值