什么是推荐系统
推荐系统的基本任务是联系用户和物品,解决信息过载的问题
其实大家对推荐系统并不陌生,在互联网时代的现在也较为常见,好比如某宝、某猫、某东等线上购物平台,当你搜索或下单过某种商品后,平台会推荐相关的一些商品给你。如果还是太抽象,那搜索引擎大家应该最熟悉不过的了,搜索引擎满足了用户有明确目的的主动查找需求,那为什么还需要推荐系统呢?搜索引擎的缺点就在于它需要用户主动提供准确的关键词来寻找信息,所以就很难解决用户很多的其他需求。
截取自图灵原创·《推荐系统实践》,图中相关内容的著作权归原著作权人所有
推荐系统恰巧解决上述问题,和搜索引擎一样,推荐系统也是一种帮助用户快速发现有用信息的工具。和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而是通过分析用户历史行为给用户的兴趣建模,从而主动给用户推荐能够满足他们兴趣和需求的信息。因此,从某种意义上说, 推荐系统和搜索引擎对于用户来说是两个互补的工具。
推荐系统常用的三种联系用户和物品的方式
截取自图灵原创·《推荐系统实践》,图中相关内容的著作权归原著作权人所有
从上图可以看出,推荐系统的本质是通过一定的方式将用户和物品联系起来,而不同的推荐系统运用了不同的推荐方式。如上述利用好友,用户的历史兴趣和注册信息等联系用户和物品。
个性化推荐系统的应用
个性化推荐系统在网站中的主要作用是通过分析大量用户行为日志,给不同用户提供不同的个性化页面展示,来提高网站的点击率和转化率。尽管不同的网站使用不同的推荐系统技术,但总地来说,几乎所有的推荐系统应用都是由前台的展示页面、后台的日志系统以及推荐算法系统三部分构成的。
应用:
- 电子商务
- 电影和视频网站
- 个性化音乐网络电台
- 社交网络
- 个性化阅读
- 基于位置的服务
- 个性化邮件
- 个性化广告
推荐系统评测
一个完整的推荐系统一般存在3个参与方(如图):用户、物品提供者和提供推荐系统的网站。
推荐系统的参与者
截取自图灵原创·《推荐系统实践》,图中相关内容的著作权归原著作权人所有
推荐系统实验方法
1.离线实验
离线实验的方法一般由如下几个步骤构成:
(1) 通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集;
(2) 将数据集按照一定的规则分成训练集和测试集;
(3) 在训练集上训练用户兴趣模型,在测试集上进行预测;
(4) 通过事先定义的离线指标评测算法在测试集上的预测结果。
注意,离线实验的指标和实际的商业指标存在差距,比如预测准确率和用户满意度之间就存在很大差别,高预测准确率不等于高用户满意度。
2.用户调查
用户调查需要有一些真实用户,让他们在需要测试的推荐系统上完成一些任务。通过分析他们的行为和答案了解测试系统的性能。
优点:可以获得很多体现用户主观感受的指标(很多离线时没有办法评测的与用户主观感受有关的指标都可以通过用户调查获得),相对在线实验风险很低,出现错误后很容易弥补。
缺点:招募测试用户代价较大,很难组织大规模的测试 用户,因此会使测试结果的统计意义不足。
3.在线实验
AB测试系统
截取自图灵原创·《推荐系统实践》,图中相关内容的著作权归原著作权人所有
一般来说,一个新的推荐算法上线,必须通过以上3个实验。
- 通过离线实验证明它在很多离线指标上优于现有的算法。
- 通过用户调查确定它的用户满意度不低于现有的算法。
- 通过在线的AB测试确定它在我们关心的指标上优于现有的算法。
评测指标
用户满意度:评测推荐系统的最重要指标,只能通过用户调查或者在线实验获得。
预测准确度:预测准确度度量一个推荐系统或者推荐算法预测用户行为的能力(评分预测、TopN推荐)。
覆盖率:
推荐系统的覆盖率的公式
多样性:描述了推荐列表中物品两两之间的不相似性。
新颖性:给用户推荐那些他们以前没有听说过的物品。
惊喜度:最近这几年推荐系统领域最热门的话题。(注意:这里讨论的是惊喜度和新颖度作为推荐指标在意义上的区别)。
信任度:如果用户信任推荐系统,那就会增加用户和推荐系统的交互。
实时性:物品(新闻、微博等)具有很强的时效性,所以需要在物品还具有时效性时就将它们推荐给用户。
健壮性:算法健壮性的评测主要利用模拟攻击。除了算法还可以以下方法:
- 设计推荐系统时尽量使用代价比较高的用户行为。
- 在使用数据前,进行攻击检测,从而对数据进行清理。
商业目标:除了满足用户发现内容的需求,也需要利用推荐系统加快实现商业上的指标。
评测维度
一般来说,评测维度分为如下3种
用户维度:主要包括用户的人口统计学信息、活跃度以及是不是新用户等。
物品维度:包括物品的属性信息、流行度、平均分以及是不是新加入的物品等。
时间维度:包括季节,是工作日还是周末,是白天还是晚上等。