案例研究:Netflix 大数据分析—数据驱动推荐的出现

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Netflix 是当今市场上最大的在线流媒体提供商之一。它于 1997 年开始销售 DVD 并以出租方式提供。但随着时间的推移以及市场和用户需求的变化,Netflix不得不将其商业模式转变为视频流。如今,许多其他视频流媒体平台都在提供优质内容,如 Hulu、espn、disney+ 等,为了留在市场并吸引客户,netflix 在其推荐系统中使用大数据分析。该推荐系统有助于根据客户的兴趣和需求向他们推荐电影和节目。使用从订阅者处收集的大量数据,例如用户的位置;用户观看的内容、用户搜索的数据以及用户观看的时间,Netflix 分析这些数据为客户提供更好的订阅服务。基于这些数据,训练算法以提供最佳的

一、简介

Netflix 是当今市场上最大的在线流媒体提供商之一。它于 1997 年开始销售 DVD 并以出租方式提供。但随着时间的推移以及市场和用户需求的变化,Netflix不得不将其商业模式转变为视频流。如今,许多其他视频流媒体平台都在提供优质内容,如 Hulu、espn、disney+ 等,为了留在市场并吸引客户,netflix 在其推荐系统中使用大数据分析。该推荐系统有助于根据客户的兴趣和需求向他们推荐电影和节目。使用从订阅者处收集的大量数据,例如用户的位置;用户观看的内容、用户搜索的数据以及用户观看的时间,Netflix 分析这些数据为客户提供更好的订阅服务。基于这些数据,训练算法以提供最佳的用户体验。至今为止, Netflix 共有遍布全球 2.0367 亿订阅用户,这使其成为自 2007 年推出以来市场上最大的流媒体。

今天主要是分析 Netflix 如何使用大数据来增强推荐系统以及基于一些大数据的营销和业务策略/建议SWOT 和 PESTLE 分析。

2. 挑战

2.1 数据来源

本案例研究使用的主要数据源是 Netflix Inc 网站、Blockbuster Inc 网站、大数据分析博客、推荐系统博客以及与大数据和推荐系统相关的多篇会议和期刊文章。谷歌学者也主要用作搜索引擎来检索与案例研究相关的文献。通常对于推荐系统,Netflix 使用来自其用户的数十亿评级等数据。位置、时间和日期等地理数据;用户兴趣数据,例如他们注册的内容、他们用于流式传输的设备、节目暂停、恢复或快进的点,或者节目是否被重复观看。此外,与用户观看节目需要多长时间相关的数据点?手表要么是正常速度,要么是 2 倍速等。被收集。整部电影是否被观看,如果是,他们是否重复观看了任何场景,他们是否对节目进行了评分,竖起大拇指,他们的浏览历史等都被记录下来并作为算法的数据源. 所有这些数据都是从用户兴趣中提取的,基本上它们是数据的来源。此数据用于填充基于行的两层排名系统,其中排名发生在每一行内和跨行。

2.2 数据大小

2006 年初,Netflix 组织了第一场比赛,旨在创建一种算法,该算法应该能够根据客户兴趣提供推荐。为此,Netflix 提供了包含 48 万用户对 1.7 万部电影的约 1 亿个评分的数据集。简而言之,该推荐系统的数据集大小大约包含来自 50 亿个标题的信息**[2]**。

2.3 数据存储

Netflix 产生的数据从 2016 年到 2019 年增加到 1000%。具体数字没有给出这个项目使用了多少数据存储,但我们可以想象需要多大的存储来存储 Netflix 760,000 小时观看产生的数据全球每分钟,用于推荐系统。下图显示了与隔离区数据相关的一些数字。

2.4 数据所有权

这个问题没有特定的答案,因为在互联网媒体中很难说出谁拥有数据,但由于数据是由 netflix 提供的,因此 netflix 作为一家公司拥有这些数据。他们是有权公开或私有数据的人,例如 kaggle 上的数据可用于研究目的。

2.5 数据访问权和数据隐私问题

为了训练算法,netflix 在 2006 年使用了近 480000 名用户的数据,成功地将算法的预测提高了 10%,但该公司发布了 1 亿个匿名电影评级,其中包括唯一 ID、电影名称、发行年份和上映日期订户对电影的评价。不久之后,德克萨斯大学的教授们在该数据集中确定了他们已知的 netflix 用户的一些信息。他们通过使用逆向工程以某种方式弄清楚了,从该数据中可以找到违反隐私法的用户浏览历史记录。当 netflix 想在 2010 年使用年龄、性别等个人信息开展第二届比赛时,他们被起诉了。[3].

2.6 数据质量问题

在我看来,对于训练模型,您需要清洗数据,而大数据很难清洗,这进一步降低了数据质量。另外,如果一个账号被两个用户使用,一个用户给电影打了5分,另一个用户看了同一部电影,给了不同的评价,数据集中有多个数据,不会冗余。为同一部电影提供不同的视图会降低数据质量,因为模型将无法预测用户的情绪。

2.7 面临的组织挑战

Netflix 开始在没有实体店的情况下向客户租用 DVD,这让他们在一段时间内处于亏损状态,因为他们过去常常将 DVD 运送到家里,这导致每个客户的成本很高。他们将他们的模式转变为订阅类型,客户租用 DVD 以换取订阅费。而且他们不收取滞纳金,因此在早期,他们处于巨大的损失之中。另一个挑战是维护客户,因为 hulu、espn+ 等竞争对手也有很好的内容。为此,Netflix 引入了推荐系统。Netflix 大力投资大数据分析,为用户推荐最佳内容。

2.8 技术挑战

Netflix 在项目过程中面临的主要技术挑战是:

● 如何提高训练算法的质量?

● 大数据的采集、编译、清洗和训练需要高速、计算量小的精密工具。

● 由于不使用一种算法,将多个算法的输出级联起来得到一个最终结果,这种级联需要大量的资源。

● 比赛的目标是在测验子集上使RSME 值达到0.8563 以上,这是很难实现的。

● 在探针的最小点训练模型是一个挑战。

● 预测器的训练和优化

● 用混合的整体代替单一的神经网络混合

● 数据范围之广是问题之一,因为集合中的一些用户只评论了 9 部电影,这是模型中包含的最少电影,并且提供的信息很少,无法读懂用户的想法。另一方面,一些用户对很多电影进行了评分,导致数据不平衡。

● 最大的问题是并行训练 100 多个模型并且同时调整所有参数是不可行的。

3.利益相关者

3.1 对研究的进行和结果感兴趣的人/组织

进行这项研究的人是 Srivatsa Maddodi 和 Krishna Prasad。K. 来自斯里尼瓦斯大学,他们是这项研究的主要利益相关者。任何阅读此案例研究的人都可能是次要利益相关者,因为他们对此主题感兴趣。但从更广泛的角度来看,对于任何 Netflix 研究,利益相关者将是他们的观众和订阅者,因为每项研究的目的都是为了增强他们的商业模式。即使是这个推荐系统也会向他们的订阅者推荐节目,这使他们成为主要的利益相关者。次要利益相关者将是 Netflix 研究团队的员工,他们致力于这些算法。Hulu、Disney+、ESPN 等竞争对手也可能对此类研究及其结果感兴趣,因此他们可以充当次要利益相关者。

四、要求

4.1 硬件和软件资源

使用的一些硬件/软件资源是:

● Netflix 将其所有数据存储在亚马逊网络服务 S3 存储上,这使他们能够为不同的工作负载旋转多个 Hadoop 集群,并允许他们同时访问数据。

● 他们使用Teradata 作为他们的关系数据仓库,但在未来计划迁移到Amazon Redshift。

● 用于即席查询和分析的 Hive、用于 ETL 和算法的 Pig、用于复杂算法的基于 Java 的 mapReduce 等工具是 Netflix 的支柱。

● Python 是用于编写各种ETL 过程和Pig 用户定义函数脚本的语言。

● Netflix 使用Amazon 的Elastic MapReduce (EMR) 来分发Hadoop。

● 建立在HDFS 和MapReduce 框架之上的Apache Chukwe 被Netflix 用作从分布式系统**[4]**收集日志或事件的收集系统。

4.2 商业和内部开发的资源

以下是这些推荐模型的内部开发资源:

● 他们在未来实施Hadoop 平台即服务(Genie),这将提供更高级别的抽象。它将使管理员能够管理和抽象出云中各种后端 Hadoop 资源的配置**[5]**。

● 他们还创建了旨在为netflix **[6]**提供字幕的Hermes 。

4.3 人员和专业资源

Netflix 是一家数据驱动型公司,几乎 80% 的搜索都是由专家数据工程师训练的推荐算法完成的。据统计,Netflix 在硅谷有近 800 名数据工程师,他们擅长机器学习、深度学习、人工智能等。在案例研究方面,2006 年的 Netflix 竞赛由“BellKor's Pragmatic Chaos”赢得,这是一个BellKor、Pragmatic Theory 和 BigChaos 的联合团队。BellKor 由 Robert Bell、Yehuda Koren 和 Chris Volinsky 组成。Pragmatic Theory 的成员是 Martin Piotte 和 Martin Chabbert。Andreas T̈oscher 和 Michael Jahrer 从 BigChaos **[2]**团队加入。

5.持续时间

5.1 大致的项目时间表和持续时间

训练中使用的数据是在 7 年的时间里收集的,比赛/项目从 2006 年到 2008 年持续了两年,其获胜者是 BellKor 的 Pragmatic Chaos Team。

6. 结果与发现

6.1 取得的成果和答案

Netflix 是大数据分析的早期采用者之一。这种大数据分析的使用带来了客户满意度,使 Netflix 成为最大的在线流媒体平台之一。数据分析帮助 Netflix 制作了《纸牌屋》等原创内容,事实证明这是该公司首次尝试使用数据驱动的方法进行内容创作**[7]**。这种推荐和个性化系统帮助 Netflix 以更低的取消率每年节省数十亿美元。现在用户观看的内容80%都是推荐算法的输出。

就案例研究项目而言,获胜算法能够将预测准确度提高 10.6%,并将 RMSE 降低至 88%。单独地,SVD 能够将 RMSE 降低到 89.14%,而 RBM 将 RMSE 降低到 89.90%。这个 Netflix 奖项也推动了协同过滤研究。

6.2 项目成功

是的,该项目最终取得了成功,因为获胜的算法能够将预测准确度提高 10.6% 并将 RMSE 降低到 88%。单独地,SVD 能够将 RMSE 降低到 89.14%,而 RBM 将 RMSE 降低到 89.90%。这个 Netflix 奖项也推动了协同过滤研究。这些推荐算法帮助 Netflix 每年节省数十亿美元。此外,这些算法有助于吸引更多客户进入他们的市场,从而产生巨大的收入。

6.3 发现的惊喜

下面列出了一些新发现:

● 通过在第二次尝试中包含探测集来扩展训练集,与探测 RMSE 相比,预测实现了 0.0030 到 0.0090 更好的测验 RMSE。

● 实现最佳混合结果的预测器是那些在与整体的其余部分不相关和单独实现低 RMSE 之间取得适当平衡的预测器。

● 每个预测器在与之前的所有预测器混合时都试图获得最佳结果。

● 评分电影由用户有意选择,并非随机抽样

● 发现基于矩阵分解的模型最准确。

● 此外,在案例研究中进行了SWOT 和PESTLE 分析,提供了很好的见解。

6.4 项目经验教训

单独或以并行方式训练模型并不能给出最佳结果,使用一种算法的输出作为另一种算法的输入才是最有效的方法。所以,集成技术是最好的。所有的数据特征都没有用,就像在这个项目中,提取了各种各样的特征,但只有一些能够提供用户的观点。此外,它们并没有提高经过调优的协同过滤模型的准确性。

6.5 作为项目结果采取的行动

作为该项目的结果,这些算法与其他算法合作,被用于为 1 亿用户创建个性化主页。赢得比赛的代码仍然被 netflix 用来开发高级推荐模型。由于这个项目的成功,现在几乎 80% 的推荐给用户的电影都是基于这些推荐模型。

6.6 对组织和利益相关者的价值

作为该项目的结果,作为次要利益相关者之一的 BellKor 的 Pragmatic Chaos 获胜团队经过两年的努力赢得了 100 万美元的奖励。观众也是该项目的利益相关者,他们从中受益,因为他们可以轻松地在 Netflix 上浏览自己喜欢的节目。与其他竞争对手相比,这使 Netflix 成为一个对用户更加友好的平台。作为一个组织,这些推荐模型帮助 Netflix 吸引了大量订阅者,使其成为世界上最大的流媒体公司。这些模型每年为 Netflix 节省大约 10 亿美元,并增加他们的收入**[8]**。

7. 批判

7.1 项目改进思路

Netflix 使用 A/B 测试来个性化用户体验。平台上显示的任何内容(例如:图像)均由 A/B 测试收集的数据驱动。A/B 测试的程序和步骤可以通过包括环境评估而不是算法评估来改进。它可以使用强化算法向用户提供推荐,而不是推荐系统的传统方法。奖励可以是用户满意度,状态可以是当前内容,动作可以是下一个最佳内容推荐**[8]**。

8. 技术术语

8.1 协同过滤

这种推荐系统是基于相似的用户资料。为了创建订阅者档案,推荐系统主要关注这两个信息:订阅者偏好和订阅者历史。例如,如果订户A观看犯罪、动作、恐怖电影而订户B观看犯罪、动作、喜剧电影,则订户A将喜欢看喜剧电影而订户B将喜欢看恐怖电影。

8.2 受限玻尔兹曼机

受限玻尔兹曼机 (RBM) 是一种生成式随机人工神经网络,可学习其输入集的概率分布。RBM 用于对表格数据建模,例如电影的用户评分。因此,它们经常用于推荐系统。大多数现有的协同过滤方法无法处理非常大的数据集,但当与 RBM 结合时,总体实现的错误率可能会更低。

8.3 矩阵分解

矩阵分解是推荐系统中使用的一类协同过滤算法。它的工作原理是将由评分组成的用户-项目交互矩阵分解为两个低维矩形矩阵的乘积。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
4天前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用问题之如何查看数据离线同步每天从MySQL抽取的数据量
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
分布式计算 大数据 Java
MaxCompute产品使用问题之是否可以恢复最近两天生命周期清理的数据
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
2天前
|
存储 数据采集 分布式计算
Java中的大数据处理与分析架构
Java中的大数据处理与分析架构
|
4天前
|
机器学习/深度学习 分布式计算 大数据
MaxCompute产品使用问题之删除了某个分区的数据,如何找回
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
分布式计算 DataWorks 大数据
MaxCompute产品使用问题之表数据大于1w行,如何下载数据
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
数据采集 分布式计算 DataWorks
MaxCompute产品使用问题之如何确保数据完整性验证有效
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
SQL 分布式计算 DataWorks
MaxCompute产品使用问题之dts是否支持传输数据到mc主键表2.0
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之odps数据库T1有几百行的数据,为什么出来只有5行的数据
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
4天前
|
分布式计算 NoSQL 大数据
MaxCompute产品使用问题之数据在redis里可以通过接口调用到大数据计算吗
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
4天前
|
分布式计算 运维 DataWorks
MaxCompute产品使用问题之数据如何导出到本地部署的CK
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。