推荐系统实战
Recommender Systems
推荐系统广泛应用于工业领域,在日常生活中无处不在。这些系统被用于许多领域,如在线购物网站(例如。,亚马逊网站)音乐/电影服务网站(如Netflix和Spotify)、移动应用程序商店(如IOS应用程序商店和google play)、在线广告等等。
推荐系统的主要目标是帮助用户发现要观看的电影、要阅读的文本或要购买的产品等相关项目,从而创造出令人愉悦的用户体验。此外,推荐系统是最强大的机器学习系统,在线零售商实施,以增加收入。推荐系统是搜索引擎的替代品,减少了主动搜索的工作量,并为用户提供了从未搜索过的服务。许多公司在更有效的推荐系统的帮助下,设法使自己在竞争对手中处于领先地位。因此,推荐系统不仅是日常生活的中心,而且在某些行业中也是不可或缺的。
将介绍推荐系统的基本原理和发展,并探讨一些常用的基本技术来构建具有不同可用数据源的推荐系统及其实现。具体地说,将学习如何预测用户对一个潜在项目的评价,如何生成一个项目的推荐列表,以及如何从丰富的功能中预测点击率。这些任务在实际应用程序中很常见。将获得有关解决实际推荐问题的实际经验,不仅使用经典方法,而且还使用更先进的基于深度学习的模型。
在过去的十年里,互联网已经发展成为一个大规模在线服务的平台,深刻地改变了交流、阅读新闻、购买产品和观看电影的方式。与此同时,在线提供的数量空前的物品(用“物品”一词指电影、新闻、书籍和产品)需要一个系统来帮助发现喜欢的物品。因此,推荐系统是一种强大的信息过滤工具,可以促进个性化服务,为个人用户提供量身定制的体验。简言之,推荐系统在利用大量可用数据使选择变得可管理方面起着关键作用。如今,推荐系统是亚马逊、Netflix和YouTube等许多在线服务提供商的核心。比如,亚马逊推荐的深度学习书籍的例子。使用推荐系统的好处有两个方面:一方面,可以大大减少用户查找项目的工作量,并缓解信息过载的问题。另一方面,可以为在线服务提供商增加商业价值,是重要的收入来源。本文推荐系统的基本概念、经典模型和最新研究进展,并给出实例。
1. Collaborative Filtering
从推荐系统协同过滤(CF)中的重要概念开始,该概念首先由Tapestry系统提出,指的是“人协作以帮助彼此执行过滤过程,以便处理发布到新闻组的大量电子邮件和消息”。这个词被赋予了更多的意义。从广义上讲,是使用涉及多个用户、代理和数据源之间协作的技术来筛选信息或模式的过程。自CF出现以来,CF有多种形式和众多的CF方法被提出。
总体而言,CF技术可分为:基于内存的CF、基于模型的CF以及混合[Su&Khoshgoftaar,2009]。代表性的基于内存的CF技术是基于最近邻的CF,例如基于用户的CF和基于项的CF。潜在因子模型(如矩阵分解)是基于模型的CF的例子,基于内存的CF在处理稀疏和大规模数据方面存在局限性,因为是基于公共项计算相似性值的。基于模型的方法以其较好的处理稀疏性和可扩展性的能力而越来越受到人的欢迎。许多基于模型的CF方法可以通过神经网络进行扩展,从而在深度学习中随着计算加速而产生更灵活和可伸缩的模型。一般来说,CF只使用用户项交互数据来进行预测和建议。除了CF之外,基于内容和基于上下文的推荐系统在合并项目/用户的内容描述和上下文信号(如时间戳和位置)方面也很有用。显然,当不同的输入数据可用时,可能需要调整模型类型/结构。
2. Explicit Feedback and Implicit Feedback
为了了解用户的偏好,系统应收集用户的反馈信息。反馈可以是显性的,也可以是隐性的。例如,IMDB为电影收集一到十颗星的明星评级。YouTube为用户提供了“拇指向上”和“拇指向下”按钮,以显示偏好。显然,收集明确的反馈需要用户主动表明兴趣。尽管如此,明确的反馈并不总是现成的,因为许多用户可能不愿意给产品评分。相对而言,隐式反馈通常很容易获得,因为主要涉及到对用户点击等隐式行为的建模。因此,许多推荐系统都是以隐式反馈为中心,通过观察用户行为来间接反映用户的意见。有多种形式的隐性反馈,包括购买历史、浏览历史、手表甚至鼠标移动。例如,同一作者购买了许多书的用户可能喜欢该作者。请注意,隐式反馈固有的噪声。只能猜测喜好和真正的动机。用户观看了一部电影并不一定表示对该电影的正面看法。
3. Recommendation Tasks
在过去的几十年里,许多推荐任务被研究过。基于应用领域,有电影推荐、新闻推荐、兴趣点推荐等。也可以根据反馈和输入数据的类型来区分任务,例如,评级预测任务旨在预测明确的评级。Top-n推荐(项目排名)根据隐含的反馈为每个用户个人排列所有项目。如果还包括时间戳信息,可以构建序列感知建议。另一个流行的任务叫做点击率预测,也是基于隐式反馈的,但是可以利用各种分类特征。向新用户推荐和向现有用户推荐新项目称为冷启动推荐。
4. Summary
- Recommender systems are important for individual users and industries. Collaborative filtering is a key concept in recommendation.
- There are two types of feedbacks: implicit feedback and explicit feedback. A number of recommendation tasks have been explored during the last decade.