挖掘大量用户数据以获取个性化建议外文翻译资料

 2021-11-24 10:11

英语原文共 12 页

挖掘大量用户数据以获取个性化建议

Xavier Amalin

Netflix

xamatriain@netflix.com

摘要

Netflix奖聚焦于利用数据挖掘和机器学习技术预测用户偏好。比赛中得到了许多教训。但从那时起, 推荐系统进化了。推动这一演变的原因是, 工业中不同类型的用户数据越来越多,研究界对该领域的兴趣也越来越大。本文的目的是提供数据挖掘方法在个性化和推荐中的使用的最新概述。使用Netflix 个性化作为一个激励的用例, 我将描述不同类型的数据和机器学习技术的使用.

在介绍了传统的推荐方法之后, 我重点介绍了从 Netflix 奖中获得的一些主要经验教训。然后, 我描述了在 Netflix 中使用个性化推荐技术。最后, 我指出了当前最有前途的研究方向和在这一领域值得关注的尚未解决的问题.

1.引言

推荐系统 (RS) 是大规模数据挖掘主要应用的一个重要例子。电子商务、搜索、网络音乐和视频、游戏、甚至在线约会等应用,利用类似的技术挖掘大量数据, 以个性化的方式更好地满足用户的需求。

相对于数据挖掘技术,还存在很多可能对推荐效果影响更大的问题。比如用户交互设计等,但这些不属于本文关注范围。对于现有的应用程序,算法的改进可以带来数百万美元的价值,甚至可以成为决定企业成败的因素。另一方面,对于现有的方法或算法,添加来自不同数据源的更多特性也可以得到显著的改进。我将在第3节中描述Netflix对数据、模型和其他个性化技术的使用,还会在第4节中讨论我们应该关注更多的数据还是更好的模型。

另一个重要问题是如何衡量给定个性化技术的成功与否。根均方误差 (RMSE) 是 Netflix 奖中的离线评估指标 (参见第2节)。但还有许多其他相关指标, 如果进行优化, 将导致不同的解决方案。例如, 考虑排名指标, 如归一化折损累计增益(NDCG)或其他信息检索指标, 如召回区域下曲线的面积 (AUC)。除了优化给定的离线度量之外, 我们真正追求的是方法对企业的影响。是否有一种方法可以将算法的优点与更多面向客户的指标 (如点击率 (ctr) 或保留率)关联起来?我将在第3.1 节中介绍我们称为 '消费者数据科学'的创新方法。但在我们了解所有影响的原因和第5节描述的个性化领域的开发研究问题之前, 我们需要理解一些支持不同方法的基本技术,我将在以下各段中简要介绍它们。

1.1推荐问题的方法

构建推荐系统最常用的方法是使用众多可用的协同过滤(CF)算法之一 [1]。这些方法的基本假设基于相似原则: 在历史偏好上明显相似的用户将来也可能有相似的品味。换句话说, CF 算法假设, 为了向用户推荐任何类型的内容, 可以从用户和其他类似用户过去喜欢的内容中提取信息。在过去, k-最邻近 (KNN) 算法是CF最受欢迎的方法, 因为它显然地捕获了用户偏好:它通过为每个用户 (或物品)寻找大量相似用户(或物品),它们的偏好可直接被用于计算推荐结果。

CF的主要替代方法是基于内容的方法[46], 它根据物品本身固有的特性来识别项目之间的相似性。这些推荐系统需要一种方法来提取在物品中的内容和相似度。自动内容描述仍然只适用于某些类型的内容,并且受到一些限制。这就是为什么某些系统需要依靠专家手动输入内容并对其进行分类[56]。另一方面, 基于内容的方法可以处理CF的一些缺点, 如物品冷启动--即系统没有以前用户偏好数据的新项目的初始化.

CF 和基于内容方法可以使用混合方法以不同的方式进行组合[15]。混合RS可以组合几种不同的方法,当缺少其他方法时,其中一种方法可以提供支持。 实际上,业界使用的大多数高级推荐系统都是基于多种方法混合的,很少用纯粹基于CF或基于内容的方法。

1.2推荐系统中的数据挖掘方法

无论使用哪种方法, 推荐系统的引擎都可以看作是传统数据挖掘的特定实例[4]。数据挖掘通常分三个连续执行的步骤: 数据预处理、 数据建模和结果分析。传统的机器学习技术, 如降维、分类或聚类, 可以应用于推荐问题。在接下来的段落中,我将描述一些模型,它们超越了经典kNN,可以用来构建推荐系统。

虽然目前的趋势似乎表明,矩阵分解技术是首选的(见2.1节),但早期的工作使用了主成分分析方法(PCA)[24]。一种可能性是使用内容特性来构建决策树,该决策树对用户偏好涉及的变量进行建模[13]。贝叶斯分类器已被用作构造基于内容RS的模型[23]。人工神经网络(Ann)可以像贝叶斯网络一样用于构造基于内容RS [47]。人工神经网络还可用于组合(或混合)来自多个推荐模块或数据的输入[20]。支持向量机(SVM)最近也显示出有希望的结果[30]。

聚类方法如k-means可以作为预处理步骤来帮助邻域的构造[65]。 最后,关联规则[3]也可以使用构建推荐系统[38]。

2. Netflix大奖

2006年,Netflix 宣布了 Netflix 奖, 这是一个机器学习和数据挖掘的电影评级预测比赛。我们提供100万美元奖给那些把我们现有的Cinematch系统的精确度提高10%的人。我们举办这次比赛的目的是寻找新的方法来改进我们向会员提供的推荐建议,这是我们业务的一个关键部分。然而, 我们必须提出一个更容易评估和量化的替代问题: 预测评级的均方根误差 (RMSE) 。Netflix 奖将焦点放在推荐系统和用户数据的价值上, 以生成个性化推荐。它提供了一个清晰的问题定义,使成千上万的团队能够集中精力改进一个度量标准,从而实现了这一点。虽然这是对推荐问题的简化,但也吸取了许多教训。

2.1从竞赛中获得的经验

比赛进行到一年后, Korbell团队以8.43%的改进获得了第一进步奖。他们为了实现107种算法的最终组合,进行2000多个小时的工作,才获得这个奖。他们给了我们源代码。我们研究了这个组合中性能最好的两个基本算法: 矩阵分解 (MF) [35]和受限玻尔兹曼机(RBM)[54]。矩阵分解本身提供了 0.8914 RMSE, 而RBM单独提供了一个有竞争力的但略差的0.8990ensp;RMSE。两者的线性混合将误差降低到0.88。为了使用这些算法,我们必须努力克服一些限制,例如,它们是为处理1亿个评级而设计的,而不是我们现有的50亿个评级,而且它们不是为适应会员增加更多评级而设计的。一旦克服了这些挑战,我们就将这两种算法投入产品中,作为我们推荐引擎的一部分。

标准矩阵分解提供了用户因子向量和物品因子向量。为了预测评级, 我们首先预测基线作为用户和物品偏离平均值。通过将用户和物品因子的乘积添加到基线中, 得到预测结果。Netflix大奖中最有趣的发现之一是来自一篇博客文章。Simon Funk 介绍了一种增量、迭代和近似的方法, 即使用梯度下降计算svd [22],这为大规模数据集的矩阵分解提供了一种实用的方法。另一个增强矩阵分解方法是Koren等人提出的SVD [33]。这种非对称的变化支持隐式和显式反馈, 并不需要对用户进行参数化。

Netflix大奖中第二个被证明成功的模型是受限玻尔兹曼机(RBM)。RBM可以理解为第四代人工神经网络,第一代是60年代流行的感知器;第二代是80年代的反向传播算法;第三代是90年代的信仰网络(BNs)。RBMs是限制连接以使学习更容易的BNs。RBMs可以堆叠起来形成深度置信网络(DBN)。在Netflix大奖上,Salakhutditnov等人提出了一种RBM结构,其中包含二进制隐藏单元和软件最大可视单元,仅与电影的用户评分具有5个偏差[54]。

该竞赛还带来了许多其他的经验。例如,上述提到的矩阵分解方法与传统的邻域方法相结合 [33]。此外,在奖项的早期,很明显,考虑时间动态在用户反馈中非常重要[34]。

Netflix奖的另一个发现是,用户的显式评分是有噪声的。这在文献中已经知道了。Herlocker等人[27]创造了“魔法屏障”一词,指由于评级的自然变化导致推荐系统的准确度受到限制。事实上,这个限制与实际奖金门槛相当接近[6],并且可能是花费了这么多努力压缩RMSE的最后分数的原因中发挥了作用。

两年后,最终赢得100万美元奖金的大奖是一个令人印象深刻的汇编,也是多年努力的结晶,融合了数百种预测模型,最终跨过了竞赛的终点线[11]。最终解决方案是通过融合许多独立模型来实现的,这也突出了集成的功能强大。

在Netflix大赛中,我们评估了最终解决方案中包含的一些新方法。我们所测量的额外精度增益似乎并不足以证明将它们引入生产环境所需的工程。此外,我们当时对Netflix个性化服务的关注已经从纯粹的评分预测转向了下一个阶段。在下一节中,我将介绍构成完整个性化推荐方法的不同方法和组件,比如Netflix使用的方法和组件。

3. Netflix个性化:不仅仅是评分预测

Netflix通过这些年发现,将推荐内容尽可能多的个性化是非常有价值的。这种认识促使了上述Netflix 奖的提出。在这一节中, 我们将介绍 Netflix 个性化推荐的主要组件。但首先让我们来看看我们如何管理在这个领域创新。

3.1消费者数据科学

丰富的数据源、测量数据和相关实验使 Netflix不仅可以改进个性化算法, 还可以作为一个数据驱动的组织来运作。自公司成立以来, 我们已将这种方法嵌入到我们的文化中, 我们将其称为消费者 (数据) 科学。从广义上讲,我们的消费科学方法的主要目标是为会员进行有效的创新。我们致力于创新, 使我们能够快速、低成本、客观地评估想法。而一旦我们测试了某种物品, 我们就想了解为什么它失败了或者被取代了。这使我们能专注以提高为会员提供服务为中心目标。

那么,这在实践中如何运作? 这是传统科学过程的一个小变化,称为A/B测试(或桶测试):

1. 设定一个假设:算法/特征/设计X将提高会员对我们服务的参与度,并最终留住会员。

2. 设计测试:开发解决方案或原型。考虑诸如因变量、自变量、可控性和重要性等问题。

3.执行测试:将用户分配到不同的桶中,让他们响应不同的体验。

4.让数据自己说话:分析主要指标的显著变化,并试图通过次要指标的变化来解释它们。

当我们执行A / B测试时,我们会跟踪许多不同的指标。但我们最终信任会员参与(例如观看时间)和保留。测试通常有成千上万的会员和2到20个单元格,探索基本想法的变化。我们通常会并行运行大量的A/B测试。A/B测试让我们可以尝试激进的想法或同时测试许多方法,但关键的优势是它们允许我们的决策是数据驱动的。我们面临的一个有趣的后续问题是如何将我们的机器学习方法集成到Netflix的这种数据驱动的A/B测试文化中。我们通过离线在线测试过程完成了这一过程,该过程试图结合两者的优点(参见图1)。

图1:采用迭代和数据驱动的离线在线流程进行个性化创新

离线测试周期是我们在执行在线A/B测试之前测试和优化算法的一个步骤。为了离线测量模型性能,我们跟踪多个指标:从排名测量(例如标准化折扣累积增益)到分类指标(例如使用Netflix奖中的著名RMSE)或其他更奇特的指标来跟踪如多样性等不同方面。我们会跟踪这些指标与我们的A/B测试中可衡量的在线收益之间的关联程度。但是,由于映射并不完美,因此离线性能仅用作在后续测试中做出明智决策的指示。

一旦离线测试验证了一个假设,我们就可以设计并启动A / B测试,从会员的角度证明新功能是有效的。如果确实如此,我们将随时准备为我们的会员不断追求更好的产品。事实上,我将在下一节中描述如何实现个性化的体验。

3.2一切都是推荐

任何设备都可以在我们的主页开始个性化推荐。这个页面由一组水平排列的视频组成。每一行都有一个标题,用于表示与该组视频之间有意的重要关联,我们的大多数个性化推荐都基于行的方式,我们要确定要包含在哪些项目中,以及放置这些项目的顺序。

以前10行为例(参见图2)。这一行是我们对您最可能喜欢的10个标题的最佳猜测。当然,当我们说“你”时,实际上是指你家里的每一个人。重要的是要记住,Netflix的个性化服务是为了处理可能有不同品味的不同人群的家庭。这就是为什么当你看到你的前十名时,你可能会发现爸爸,妈妈,孩子或整个家庭的物品。即使对于单身家庭,我们也希望吸引您的兴趣和情绪。为实现这一目标,在我们系统的许多部分不仅要优化准确性,还要优化多样性。

Netflix个性化的另一个重要因素是兴趣。我们希望会员了解我们如何适应他们的品味。这不仅促进了对系统的信任,还鼓励成员提供反馈,从而获得更好的建议。促进对个性化组件信任的另一种方法是提供解释, 说明为什么我们决定推荐给定的电影或节目(参见图3)。我们的建议并不是因为它适合我们的业务需求, 而是因为它符合我们从您那里获得的信息: 您的明确品味偏好和评级、您的观看历史, 甚至你的好友推荐。

关于朋友的话题, 我们最近发布了你的脸谱连接功能。了解你的朋友不仅给我们在个性化算法中使用的另一个信号, 但它也允许不同的行, 主要依靠您的社交圈生成建议。

关于朋友的话题,我们最近发布了我们的Facebook连接功能。了解您的朋友不仅可以在我们的个性化算法中提供另一个信号,而且还允许不同的行主要依赖于您的社交圈来生成推荐。我们服务中一些最容易识别的个性化是“流派”行的集合。其中包括熟悉的高级别类别,如“喜剧”和“戏剧”,以及高度定制的片段,如“20世纪80年代的富有想象力的时间旅行电影”。每行代表3层个性化:流派本身的选择,该流派中所选标题的子集,以及这些标题的排名。行使用会员的隐式类型偏好(最近播放,评级和其他交互)生成或者通过我们的品味偏好调查提供的显式

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。