Netflix 推荐系统:第一部分

原文链接:http://techblog.netflix.com/2012/04/netflix-recommendations-beyond-5-stars.html

在这篇包含两个部分的博文中,我们将揭开
Netflix 最有价值的资产——推荐系统的面纱。在第一部分,我们将介绍 Netflix Prize 对推荐领域的贡献,Netflix
推荐服务的主要模块,以及推荐服务如何满足网站的商业需求。在第二部分,我们将介绍我们使用的数据和模型,讨论如何将离线的机器学习实验与线上的 A/B
测试相结合。

Netflix Prize 和推荐系统
在 2006 年,我们宣布举办 Netflix Prize,这是一个旨在解决电影评分预测问题的机器学习和数据挖掘的比赛。对于那些能够将我们的推荐系统
Cinematch 的准确率提升 10% 的个人或团队,我们提供 100
万美金的奖励。我们希望通过比赛发现新的方法来改善我们提供给用户的推荐结果,这是我们商业模式的核心部分。当然,我们需要一个比较容易评测和量化的指标:我们选择的评测指标是均方根误差(RMSE,预测评分和真实评分之间的均方根误差)。比赛的要求是打败我们系统
0.9525 的 RMSE 得分,并将其降低到 0.8572 或更低。

 

比赛开始一年后,Korbell
的团队以 8.43% 的提升赢得了第一个阶段奖。他们付出了超过 2000 个小时的努力,融合了 107
种算法才得到了这份奖金。然后,他们将源代码交给了我们,我们分析了其中两种最有效的算法:矩阵分解(通常被叫做
SVD,奇异值分解)和局限型玻尔兹曼机(RBM)。SVD 取得 0.8914 的 RMSE,RBM 取得 0.8990 的
RMSE,将这两种方法线型融合能将 RMSE 降低到
0.88。为了将这些算法应用到我们的实际系统中,我们必须克服一些限制,例如比赛的数据集是一亿个评分,但实际的线上系统是 50
亿个,并且这些算法的设计并没有考虑用户不断产生的新评分。但最终我们克服了这些困难,并把这两种算法应用到了我们的产品中,而且作为我们推荐引擎的一部分一直被使用到现在。

如果你关注比赛的结果,可能对两年后大奖的归属很感兴趣。这是一项令人印象深刻的工作,数百种预测模型被融合在一起,最终突破了
0.8572
的临界线。我们评测了一些最新的离线算法,但是很遗憾,这些在比赛数据上胜出的算法,到了线上却表现不够出色。因此,我们并没有应用到我们的线上环境。与此同时,我们的关注点也从提升
Netflix 的个性化体验转移到了下一个层级。在下文中,我们将解释为什么要转移关注点?

从美国 DVD 租赁到全球视频流媒体服务
近几年,随着
Netflix 业务的发展,我们对推荐算法的关注点发生了变化。在 Netflix Prize 举办一年后的 2007
年,我们发布了实时流媒体服务。流媒体不仅改变了用户与系统的交互方式,也改变了推荐算法的的可用数据类型。对 DVD
租赁业务来说,目标是帮助用户找到电影,并在接下来的数天或数周内邮寄到用户邮箱。用户从选择电影到观看电影,期间有一个过程,在这个过程中收不到用户的任何反馈。一旦用户不满意,想要更换

DVD,代价会很大,需要花费一天以上的时间,所以用户一般会仔细挑选。而对流媒体用户来说,选一部电影立马就可以观看,甚至可以在很短时间内观看多部电影。同时,我们可以通过统计知道用户是看完了整部电影,还是只看了一部分。

另一个巨大的变化是,流媒体服务从单纯的
Web 网站扩展到了成百上千的不同设备。例如:Netflix 比赛举办后的两年,微软就发布了集成 Roku 播放器的
XBox。仅仅又过了一年,Netflix 发布了 iPhone 客户端。现在,各种 Android 和最新的 Apple TV 上都有
Netflix 的身影。

两年前,我们走向国际,推出了加拿大版本。2011 年,我们的服务扩展到了 43
个拉美国家和地区。最近,我们还登录了英国和爱尔兰。今天,Netflix 已经遍布 47 个国家,共有超过 2300 万的订阅用户。在 2011
年第一季度,这些用户通过上百种不同的设备观看了 20 亿个小时的视频。每天有 200 万部电影和电视剧被观看,并新增 400 万个用户评分。

我们已经在这些新的场景中添加了个性化服务,现在有 75% 的视频观看是与推荐系统有关的。我们取得这样的成绩源于我们不断优化用户体验,通过优化算法,我们改善了用户满意度。下面我们列举一些使用在推荐系统中的技术和算法。

推荐无处不在
经过几年的实践,我们发现尽可能的集成个性化推荐到功能中,会对我们的订阅用户产生巨大的价值。我们的个性化从首页就开始了,包括按行展示的视频,每一行有一个主题,主题揭示了这行视频的内在联系。大多数个性化都是基于挑选行视频的方法,包括哪些行该放那些视频,以及如何对视频进行排序。

以顶部的
10 行为例:我们猜测这是你最可能喜欢的 10 个主题。当然,我们说“你”的时候也包含了你的家人。值得注意的是,Netflix
的个性化是针对每一个家庭,而一个家庭的不同成员会有不同的兴趣和口味。这也就是为什么要选 10 行的原因,你可能会发现这 10
行已经涵盖了对爸爸、妈妈、小孩或者整个家庭的推荐。即使这个家庭只有一个用户,我们也希望能兼顾到这个用户的不同兴趣和情绪。为了做到这一点,我们系统的不仅要提高准确度,还要提高推荐结果的多样性。

 

Netflix

个性化推荐系统的另一个重要元素是认知(awareness)。我们想让用户知道我们是如何把握他们的喜好。这不仅能让用户信任我们的系统,而且还能鼓励用户提交更多的反馈来帮助我们把推荐做得更好。提升个性化推荐信任度的另一种方法是提供推荐理由,为什么我们要推荐这部电影或电视剧?我们不是因为商业需求给用户推荐,而是基于我们从用户那里获得的信息,包括:用户评分、观看记录、用户好友的推荐等等。

 

关于基于好友的推荐,我们最近在
47 个服务国家中的 46 个发布了我们的 Facebook 连接组件。这第 47 个就是美国,因为受
VPPA(《录像隐私权保护法案》,1998)的影响。朋友了解的内容不仅仅为我们的推荐算法提供了另一个数据来源,也使我们能够以社交圈生成几行新的推荐结果。

 

我们的推荐服务中最让人印象深刻的一点便是“风格”为主题的几行推荐结果。这里既包含了像“喜剧”这样的大类,也包含了像“时空穿越”这样长尾里面的小类。每一行的展现都考虑了三个方面:选择哪一种风格,选择这个风格里的哪些视频,这些视频如何排序。用户对这个模块的关注度是很高的,当我们把长尾里的类别放到前面的时候,检测到用户的停留时间有明显的增长。其他的诸如新颖性和多样性也是推荐服务考虑的重要因素,以便为用户生成上千种可能的视频组合。

 

我们也为每一行的选择提供了推荐理由。有些是基于隐式反馈,如:最近观看记录、用户评分和其他交互;有些是基于显示反馈,显示反馈是通过我们邀请用户来做口味偏好调查得来的。

 

基于相似性的推荐也是我们个性化推荐服务的一个重要部分。相似性是一个很宽泛的概念,描述的对象可以是不同的电影、用户,也可以是评分、视频元信息等。此外,这些相似性可以混合作为其他模块的特征。相似性也可以用在多种场景之中,例如:当用户搜索一部电影或者把一部电影放到播放列表的时候,可以为用户生成“特定风格”的推荐结果,这些结果是基于用户最近关注过的视频。如果你对相似性系统的体系结构感兴趣,想进行一些深入的了解,可以关注我们过去的博客

 
 

上述的场景中,包括优选的
10
行推荐、风格推荐、基于相似性的推荐,都要涉及到排序算法,即:选择什么样的顺序来排列每一行中的视频,这是提供有效推荐结果的关键一步。排序系统的目标是在特定的场景下实时的为一组视频找到最佳的排列顺序(简单说就是把用户最感兴趣的视频排列在前)。我们将排序系统的任务分解为:评分、排序、过滤。我们的商业目标是最大化用户的满意度和每月订阅保有量,这实际上等价于最大化用户的视频观看次数。因此,我们优化我们的算法,对那些用户最可能观看和喜欢的视频给最高的分数。

现在我们已经明确的知道
Netflix Prize
的目标是提高电影评分预测的准确度,这只是一个有效的推荐系统众多构成的一种。我们还需要考虑像用户场景、视频流行度、用户兴趣、可解释性、新颖性、多样新和惊喜度等方方面面。为了考虑这些因素,我们要挑选合适的算法。在本文的第二部分,我们将详细的讨论排序问题,深入探讨的我们的数据和模型,以及我们所作的一些创新工作。

————————————————————————————————————
这篇
blog 分两部分,内容很长。第一部分介绍的内容并没有透露任何技术细节,主要是介绍了 Netflix 推荐系统的产品形式(推荐场景)以及
Netflix Prize 带给他们的收益,感觉像是产品经理写写出来的:),但是 blog 的第二部分:排序还是透露了不少技术细节。详见:

> bornhe‘s blog Netflix 推荐系统:第二部分

原文地址:https://www.cnblogs.com/boonya/p/12154062.html

时间: 2024-08-14 09:05:01

Netflix 推荐系统:第一部分的相关文章

转:netflix推荐系统竞赛

原文链接:Netflix recommendations: beyond the 5 stars (Part 1), (Part 2) 原文作者:Xavier Amatriain and Justin Basilico 翻译:大魁 前言 Nexflix是一家提供在线视频流媒体服务和DVD租赁业务的公司,也是著名的Netflix大奖赛的发起者.如果读者希望进一步了解Netflix,建议读一下和讯上的一篇文章: Netflix:从传统DVD租赁向流媒体华丽转身 以及爱范儿上的: Netflix成功的

Netflix推荐系统:从评分预测到消费者法则

原文链接:Netflix recommendations: beyond the 5 stars (Part 1), (Part 2) 原文作者:Xavier Amatriain and Justin Basilico 翻译:大魁 前言 Nexflix是一家提供在线视频流媒体服务和DVD租赁业务的公司,也是著名的Netflix大奖赛的发起者.如果读者希望进一步了解Netflix,建议读一下和讯上的一篇文章: Netflix:从传统DVD租赁向流媒体华丽转身 以及爱范儿上的: Netflix成功的

Netflix推荐系统的最新解读:算法、商业价值与创新

2009年由Netflix发起的Netflix Prize百万美金竞赛,绝对是推荐系统领域最标致性的事件,这次比赛不但吸引了众多专业人士开始投身于推荐系统领域的研究工作,也让这项技术从学术圈真正地进入到了商业界,引发了热烈的讨论并逐渐深入到了商业的核心腹地,功德无量.当然,最受益的肯定还是Netflix公司自己,不仅大有取代Amazon成为新一代推荐引擎之王的架势,而且从商业回报本身上看也无疑取得了非常巨大的回报.7年过去了,Netflix推荐系统的现状如何呢?ResysChina将带来最新的深

推荐系统资料汇总

大数据/数据挖掘/推荐系统/机器学习相关资源Share my personal resources 视频大数据视频以及讲义http://pan.baidu.com/share/link?shareid=3860301827&uk=3978262348浙大数据挖掘系列http://v.youku.com/v_show/id_XNTgzNDYzMjg=.html?f=2740765用Python做科学计算http://www.tudou.com/listplay/fLDkg5e1pYM.htmlR语

机器学习大数据数据挖掘推荐系统相关资源

原文:http://www.kuqin.com/shuoit/20151130/349205.html 书籍 各种书~各种ppt~更新中~ http://pan.baidu.com/s/1EaLnZ 机器学习经典书籍小结 http://www.cnblogs.com/snake-hand/archive/2013/06/10/3131145.html 机器学习&深度学习经典资料汇总 http://www.thebigdata.cn/JiShuBoKe/13299.html 视频 浙大数据挖掘系列

Netflix是如何向4000万用户精准推荐电影的

虎嗅注:本文来自爱范儿网,虎嗅进行了相关编辑.在信息爆炸的时代,智能推荐应时而生.内容提供商能够对用户的爱好做出更为细致的分析,从而做出更加个性化的推荐.Atlantic网站的Alexis C. Madrigal通过对Netflix影片分类的深入分析以及采访Netflix产品副总裁,揭示了Netflix影视推荐背后的真相. 外界的解读:语法 Netflix 推荐影片的时候,会给出一个非常细致的类型,或者说是一种“微类型”.Alexis 想要整理出一份完整的微类型列表.由于Netflix的微类型多

《转》推荐系统经典论文文献及业界应用

转载自http://semocean.com 列了一些之前设计开发百度关键词搜索推荐引擎时, 参考过的论文, 书籍, 以及调研过的推荐系统相关的工具:同时给出参加过及未参加过的业界推荐引擎应用交流资料(有我网盘的链接), 材料组织方式参考了厂里部分同学的整理. 因为推荐引擎不能算是一个独立学科,它与机器学习,数据挖掘有天然不可分的关系,所以同时列了一些这方面有用的工具及书籍,希望能对大家有所帮助. Survey方面的文章及资料 Adomavicius G, Tuzhilin A. Toward

Netflix工程总监眼中的分类算法:深度学习优先级最低

Netflix工程总监眼中的分类算法:深度学习优先级最低 摘要:不同分类算法的优势是什么?Netflix公司工程总监Xavier Amatriain根据奥卡姆剃刀原理依次推荐了逻辑回归.SVM.决策树集成和深度学习,并谈了他的不同认识.他并不推荐深度学习为通用的分类技术. [编者按]针对Quora上的一个老问题:不同分类算法的优势是什么?Netflix公司工程总监Xavier Amatriain近日给出新的解答,他根据奥卡姆剃刀原理依次推荐了逻辑回归.SVM.决策树集成和深度学习,并谈了他的不同

Mahout--(五)mahout疑问解答

来源:http://www.douban.com/note/245740667/ 提问1: 博涛前辈,您好! 打搅您了,我想请教您一些问题.我是一名在读研一学生.研究推荐系统方面的知识. 我一直非常困惑,在实际应用中,给定一个应用系统.比如淘宝,或者给定一个应用系统积累的数据集,怎样用推荐系统的思想着手分析,怎样为系统设计一个好的推荐方法,又是怎样一个流程去分析这类问题?我看了mahout in action书中recommendations章节chapter 5提到对于一个数据集的分析思路,先