神奇的推荐系统:用得好,销量倍增

2019-05-21 23:42:11 浏览数 (1)

选自towardsdatascience

作者:Parul Pandey

机器之心编译

参与:陈韵莹、shooting

我们之前发过两篇关于推荐系统的文章,都比较浅显易懂,但不够全面,而且结合的实例也不够。本篇文章是另一个作者写的,内容还算全面,深入浅出地向我们介绍了常用的推荐系统、推荐系统的目标和工作原理等。

推荐系统概述&它们是如何提供有效的目标营销形式

很多时候人们并不知道自己想要什么,直到你把东西呈给他们看——史蒂夫·乔布斯

以下节选自克里斯·安德森的《长尾理论》一书:「在 1988 年,一位名叫乔·辛普森的英国登山者写了一本书,名为《触摸巅峰》,这本书讲述了他在秘鲁安第斯山脉接近死亡的痛苦经历。这本书得到了很高的评价,但仅仅是一个小成功,很快就被人们遗忘了。十年后,一件奇怪的事发生了。乔恩·克拉考尔写了另一本关于登山悲剧的书《进入空气稀薄地带》,这本书引起了出版界的轰动。突然,《触摸巅峰》又开始热销了。」

过了一段时间后,《触摸巅峰》的销量甚至超过了《进入空气稀薄地带》。但到底发生了什么呢?实际上由于这两本书都是基于同一个主题的,亚马逊认为喜欢《进入空气稀薄地带》的读者也可能会喜欢《触摸巅峰》并给予了推荐。人们看到推荐后买了书,然后发现自己实际上很喜欢这本书,因此写了积极的评论,然后导致了更高的销售量,最终导致更多的推荐,从而形成正反馈循环。这就是推荐系统的威力。

推荐系统有哪些?

推荐引擎试图向人们推荐产品或者服务。从某种程度上来说,推荐系统试图缩小人们的选择范围,为他们提供其最有可能购买或使用的产品或服务。推荐系统几乎无处不在,比如亚马逊、Netflix、Facebook、领英。事实上,亚马逊光靠推荐就能获得大部分收入。而像 Youtube 和 Netflix 这样的公司则依靠推荐引擎来帮助用户发现新的内容。以下为我们日常生活中的一些推荐系统用例:

亚马逊

亚马逊根据其数百万客户的数据来确定哪些商品通常是一起购买的,并以此为基础来进行推荐。亚马逊网站上的推荐是基于明确的评分、购买行为和历史浏览记录来提供的。

我本来想买《Show Dog》,但最后还买了《The Compound effect》!

领英

领英根据你过去的经历、当前的职位头衔和背书来向你建议可能的工作。

Netflix

当我们在 Netflix 上对一部电影评分或设置我们的偏好时,它用这些数据和来自其他数百个用户的类似数据来推荐电影和节目。然后 Netflix 又使用这些评分和操作来进行推荐。

Facebook

像 Facebook 这类的推荐系统并不直接推荐产品,而是推荐联系人。

除此之外,像 Spotify、Youtube、互联网电影资料库(IMDB)、猫途鹰(Trip Advisor)、谷歌新闻(Google News)等许多其他平台都在不断地给我们提供推荐和建议来满足我们的需求。

为什么要用推荐系统?

当今网上商店正在蓬勃发展,我们几乎可以通过点击鼠标来获得任何商品。然而,在传统实体店的时代,商店的储存空间有限,因此店主只能展示最受欢迎的商品,这意味着很多即使像书或 CD 这类质量好的商品也没有被展出。简而言之,店主必须预先对商品进行筛选。

然而,网购行业改变了这种情况。因为有无限的空间,所以不需要预先过滤。相反,这导致了一种后来被称为「长尾效应」的现象。

长尾现象

这种效应意思是受欢迎的少量商品在线上和线下商店都能找到。相反地,不太受欢迎的商品却占大多数并只能在网上商店找到,它们最终形成了长尾现象。然而,不受欢迎的商品也可能是好的,但在网站上找到这样的产品是一项艰巨的任务,并需要某种过滤器。这样的过滤器实际上就构成了推荐系统。

推荐系统的用法

推荐系统主要用于解决以下两个问题:

预测版本

此版本用于预测用户-项目组合的评分值。在这种情况下,我们以用户提供的评分作为训练数据。其目的是利用这些数据对用户没有交互的商品预测其评分。

排序版本

老实说,没有必要为了进行推荐而预测特定商品的用户评分。在线零售商或电子商务公司并不太关心用户的预测。相反,他们更感兴趣的是列出一个有限的清单,能给特定的人群列出最好的东西来呈现给他们。此外,客户并不想看到系统对某个商品的评分进行预测的能力,他们只想看到自己可能喜欢的东西。

推荐引擎的成功取决于它能为人们找到最佳的推荐,因此它的意义在于找到人们可能会喜欢的东西,而不是可能讨厌的东西。

推荐系统的目标

只有推荐有相关性时才会有价值

推荐系统的最终目标是增加公司的销售额。为了实现这一点,推荐系统应该只向用户展示或提供有意义的商品。查鲁·C·阿加沃尔在他的书《推荐系统》中总结了推荐引擎的期望目标,包括以下四点:

相关性

推荐的东西只有和用户相关才会有意义。用户更有可能购买或消费他们感兴趣的商品。

新颖性

除了相关性之外,新颖性也是另一个重要因素。如果推荐的项目是用户以前没有看过或消费过的,那么推荐也将更有意义。

偶然性

有时推荐一些出乎意料的项目也能促进销售。然而,偶然性与新颖性不同。引用作者的话:「如果一家新的印度餐厅在附近开业,那么对通常吃印度菜的用户推荐该餐厅就是新颖的,但不一定是偶然的。另一方面,如果向该用户推荐埃塞俄比亚餐厅,并且用户不知道这种食物可能对她有吸引力时,那么推荐是偶然的。」

多样性

此外,增加推荐的多样性也同样重要。简单地推荐与此类似的商品并没有多大用处。

推荐系统的实现原理

那么推荐系统是如何起作用的呢?假设亚马逊想向你展示图书类别的前十个推荐。在这里,亚马逊的推荐系统将根据一些关于你的数据开始来确定你的个人品味和兴趣。然后,它会将这些关于你的数据和与你类似的人的集体行为合并起来,然后向你推荐你可能喜欢的东西。但是这些关于你喜欢什么、不喜欢什么的数据从哪里来呢?

推荐引擎中的数据流

用户的偏好数据通过以下两种方式进行收集:

显式数据

要求用户以 1 到 5 星为一个项目进行评分或者对看到的内容表示喜欢或不喜欢,是一个收集显式数据的例子。在这些情况下,推荐系统会明确地询问用户是否喜欢某个特定的项目,然后这些数据被用来构建关于该用户兴趣的档案。

但是,这样有一个缺点,因为不是每个用户都会留下反馈或评分,即使他们留下评分,对不同的人来说也可能意味着不同。例如,一个 3 星的评分对一个人来说可能还不错,但对另一个人来说可能只是平均。

隐式数据

隐式数据源于用户与网站之间的交互,并将其解释为感兴趣或不感兴趣的迹象。例如,从亚马逊购买商品或观看完整的 YouTube 视频片段被认为是一种感兴趣的积极表现。隐式交互可以提供更多的数据,对于购买行为的数据,它甚至可能是更好的数据来源。

推荐系统的基本模型

目前业内使用的推荐系统有很多种。然而,重要的是决定哪种类型适应我们的需求以及我们可以使用哪种数据。选择主要取决于:

  • 我们想要识别的内容
  • 我们的数据中指定了哪种类型的关系

一些常用的推荐方法包括:

推荐系统使用的方法

下面将简单概述一下每种方法:

基于内容过滤

基于内容过滤的项目根据项目本身的属性来推荐。基于内容的过滤器所做的推荐使用个人的历史信息来通知所显示的选项。这种推荐系统寻找人们过去购买或喜欢的项目或产品之间的相似性,以便在未来进行推荐。

基于内容过滤

例如,如果用户喜欢某一本「文学」类书籍,那么向该用户推荐同一类别的书籍是有意义的。此外,推荐同一作者在同一年发行的其它作品也是一个好主意。这就是基于内容过滤的工作原理。

这种方法的优点是我们不需要很多次交易来构建模型,因为我们只需要有关产品的信息。然而,缺点是该模型没有从交易中学习,因此随着时间的推移,基于内容的系统性能没有太大的改进。

协同过滤

协同过滤使用多个用户/客户提供的综合评分来进行推荐。意思是根据其他人的协同行为来推荐物品。

有两种协同过滤的方法:

1. 基于记忆的方法,也称为基于邻域的协同过滤算法,其中用户-项目组合的评分是根据其邻域来预测的。这些邻域可以进一步通过以下两种方式来定义:

  • 基于用户的协同过滤

找到其他与你类似的人并推荐他们喜欢的东西。

  • 基于商品的协同过滤

推荐那些也买了你喜欢的东西的人所买的东西。

2. 基于模型的方法。该方法使用机器学习方法,将问题当做普通的机器学习问题,来提取对评分数据的预测。可以使用 PCA、SVD、矩阵分解、聚类、神经网络等技术。

基于集成的混合过滤

混合过滤

基于内容和协同过滤的方法都有各自的优缺点,通过将多个算法结合在一起(即混合方法),我们可以获得一个更好的系统。混合系统利用商品数据和交易数据来进行推荐。

Netflix 就是使用混合方法的很好例子。在 Netflix 里,推荐不仅仅基于人们的观看和搜索习惯(协同系统),而且还基于具有类似特征(基于内容)的电影。

混合系统的工作原理

评估推荐系统:围绕准确率的炒作

用户并不真正关心准确率

目前并没有直接的方法来衡量推荐系统有多准确。这领域的许多研究往往集中在预测用户对他们尚未打分的所有东西的评分问题上,是好是坏。但这与推荐系统在现实中所要做的大有不同。测量准确率并不是我们想要推荐系统做的事。那么,为什么均方根误差(RMSE)和准确率在推荐系统领域中非常重要呢?

其实,其中很多可以追溯到 2006 年,当时 Netflix 宣布了著名的「100 万美元奖金挑战赛」。比赛的内容是击败其 0.9525 的 RMSE,并将它降至 0.8572 及以下。由于该奖项的重点是 RMSE,因此人们只专注它,而这种影响一直持续到今天。

图源:https://www.netflixprize.com/

有趣的是,三年挑战赛中出现的大部分算法从未集成到 Netflix 中。正如 Netflix 博客中所讨论的那样:

你可能想知道两年后赢得 100 万美元奖金终极大奖的集成算法怎么样了……我们离线评估了一些新方法,但我们测试的附加准确率增益似乎并不适合引入生产环境。

我们的业务目标是最大限度地提高会员满意度和月到月的订阅保留率……现在很明显,Netflix 奖的目标——准确预测电影评级,只是高效推荐系统的众多组成部分之一,该系统可以改善会员的享受。

结论

在本文中,我们概述了推荐系统,以及它们如何通过为每个客户创建个性化的购物体验来提供有效的目标营销形式。然而,我们没有更深入地探讨各种推荐方法。这是因为每种方法都相当广泛,需要详细讨论。因此,在下一篇文章中,我将详细讨论推荐方法的工作原理及其优缺点。

原文链接:https://towardsdatascience.com/the-remarkable-world-of-recommender-systems-bff4b9cbe6a7

本文为机器之心编译,转载请联系本公众号获得授权。

0 人点赞