读书笔记--项亮《推荐系统实践》第一章

                                                                       第一章 好的推荐系统

1.1 前言

推荐系统的基本任务是联系用户和物品,解决信息过载的问题

分类目录和搜索引擎各自存在的问题:

分类目录:
搜索引擎:搜索引擎需要用户主动提供准确的关键词才能寻找信息

推荐系统:帮助用户快速发现有用信息,和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户的历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。

索索引擎和推荐系统的区别:
搜索引擎:用户有明确的查找需求–>用户需要
推荐系统:用户没有明确的查找需求–>用户可能感兴趣,可能会不需要

一个小知识点:长尾理论和长尾商品
长尾商品:”小众“、少数人需要

推荐的方式

  • 1 社会化推荐 2 基于内容的推荐 3 基于协同过滤的推荐

推荐算法的本质:通过一定的方式将用户和物品联系起来。

推荐系统常用的三种联系用户和物品的方式:
好友、历史兴趣、注册信息

1.2 个性化推荐系统的应用

和搜索引擎不同,个性化推荐系统需要依赖用户的行为数据,因此一般都是作为一个应用存
在于不同网站之中。个性化推荐系统在这些网站中的主要作用是通过分析大量用户行为日志,给不同用户提供不同的个性化页面展示,来提高网站的点击率和转化率。
组成:几乎所有的推荐系统应用都是由前台的展示页面、后台的日志系统以及推荐算法系统3部分构成的。

以亚马逊为例:
个性化推荐列表和相关推荐列表
个性化推荐列表:基于历史兴趣和基于好友关系
相关推荐列表:一种是包含购买了这个商品的用户也经常购买的其他商品,另一种是包含浏览过这个商品的用户经常购买的其他商品–>重要应用:打包销售
区别:使用了不同用户行为计算物品的相关性

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

1.3 推荐系统评测

一个完整的推荐系统一般存在3个参与方(如图1-22所示):用户、物品提供者和提供推荐系统的网站。

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

1 推荐系统的实验方法 获得待评测指标的方法/途径
在推荐系统中,主要有3种评测推荐效果的实验方法,即离线实验(offline experiment)、用户调查(user study)和在线实验(online experiment)。

一般来说,一个新的推荐算法最终上线,需要完成上面所说的3个实验。

首先,需要通过离线实验证明它在很多离线指标上优于现有的算法。
然后,需要通过用户调查确定它的用户满意度不低于现有的算法。
最后,通过在线的AB测试确定它在我们关心的指标上优于现有的算法。

方法一:离线实验
优缺点:
方法二:用户调查
最好的方法就是将算法直接上线测试,但是在上线测试前一般需要做一次称为用户调查的测试。

存在一些缺点,因此
1 我们在做用户调查时,一方面要控制成本,另一方面又要保证结果的统计意义。
2 需要尽量保证测试用户的分布和真实用户的分布相同,要尽量保证是双盲实验,不要让实验人员和用户事先知道测试的目标
名词:双盲实验

方法三:在线实验
常用方法:AB测试
它通过一定的规则将用户随机分成几组,并对不同组的用户采用不同的算法,然后通过统计不同组用户的各种不同的评测指标比较不同算法。
由于AB测试存在试验周期比较长等缺点,因此一般不会用AB测试测试所有的算法,而只是用它测试那些在离线实验和用户调查中表现很好的算法。
切分流量是AB测试中的关键

2 评测指标
定性或定量计算
指标一:用户满意度
用户满意度是评测推荐系统的最重要指标。
用户满意度没有办法离线计算,只能通过用户调查或者在线实验获得。

方法一:调查问卷
因此在设计问卷时需要考虑到用户各方面的感受,这样用户才能针对问题给出自己准确的回答。

方法二:在线系统
用点击率、用户停留时间和转化率等指标度量用户的满意度

指标二:预测准确度
预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力。这个指标是最重要的推荐系统离线评测指标。

在计算该指标时需要有一个离线的数据集,该数据集包含用户的历史行为记录。然后,将该数据集通过时间分成训练集和测试集。最后,通过在训练集上建立用户的行为和兴趣模型预测用户在测试集上的行为,并计算预测行为和测试集上实际行为的重合度作为预测准确度。

用以衡量预测准确度的指标:
评分预测:
评分预测的预测准确度一般通过均方根误差(RMSE)和平均绝对误差(MAE)计算。
TopN 推荐:
TopN 推荐的预测准确率一般通过准确率( precision ) / 召回率( recall )度量

指标三:覆盖率
定义:覆盖率( coverage )描述一个推荐系统对物品长尾的发掘能力。
覆盖率有不同的定义方法,最简单的定义为推荐系统能够推荐出来的物品占总物品集合的比例。

覆盖率是一个内容提供商会关心的指标。

对覆盖率的改进:
为了更细致地描述推荐系统发掘长尾的能力,需要统计推荐列表中不同物品出现次数的分布。如果所有的物品都出现在推荐列表中,且出现的次数差不多,那么推荐系统发掘长尾的能力就很好。
可以通过研究物品在推荐列表中出现次数的分布描述推荐系统挖掘长尾的能力。如果这个分布比较平,那么说明推荐系统的覆盖率较高,而如果这个分布较陡峭,说明推荐系统的覆盖率较低。

覆盖率的其他定义:
在信息论和经济学中有两个著名的指标可以用来定义覆盖率。
第一个是信息熵,第二个指标是基尼系数( Gini Index )。
从基尼系数看覆盖率:
如果基尼系数比较小–>系统/物品的流行度很平均–>系统的覆盖率较高

一个概念:马太效应
如果一个系统会增大热门物品和非热门物品的流行度差距,让热门的物品更加热门,不热门的物品更加不热门,那么这个系统就有马太效应。
现在主流的推荐算法(比如协同过滤算法)是具有马太效应的

指标四:多样性
为了满足用户广泛的兴趣,推荐列表需要能够覆盖用户不同的兴趣领域,即推荐结果需要具有多样性。
多样性描述了推荐列表中物品两两之间的不相似性。
用户 u 的推荐列表 R(u) 的多样性定义:
推荐系统的整体多样性可以定义为所有用户推荐列表多样性的平均值:
指标五:新颖性
指标六:惊喜度
指标七:信任度
指标八:实时性
指标九:健壮性
健壮性(即 robust, 鲁棒性)指标衡量了一个推荐系统抗击作弊的能力。
指标十:商业目标

获取各种评测指标的途径:

3 评测维度
增加评测维度的目的就是知道一个算法在什么情况下性能最好。(尺有所短寸有所长,找到一个看上去比较弱的算法的优势,发现一个看上去比较强的算法的缺点)
一般来说,评测维度分为如下 3 种。

用户维度 主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
物品维度 包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
时间维度 包括季节,是工作日还是周末,是白天还是晚上等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值