Netflix推荐系统(Part Seven)-改善实验系统

栏目: 数据库 · 发布时间: 6年前

内容简介:原文来自Netflix体验由一系列排名算法提供支持,每种算法都针对不同的目的进行了优化。 例如,主页上的Top Picks行根据视频的个性化排名提出建议,而Trending Now行也包含最近的流行趋势。 这些算法以及许多其他算法一起用于为超过1亿成员构建个性化主页。在Netflix,我们努力不断改进我们的推荐系统。 开发过程始于创建新的排名算法并离线评估其性能。 然后,我们利用A / B测试对核心评估指标进行在线测量,这与我们最大化用户满意度的业务目标密切相关。 此类指标包括每月订阅保留和用户观看时长。

原文来自 Innovating Faster on Personalization Algorithms at Netflix Using Interleaving 。如发现任何侵权行为,请联系我。

Netflix体验由一系列排名算法提供支持,每种算法都针对不同的目的进行了优化。 例如,主页上的Top Picks行根据视频的个性化排名提出建议,而Trending Now行也包含最近的流行趋势。 这些算法以及许多其他算法一起用于为超过1亿成员构建个性化主页。

在Netflix,我们努力不断改进我们的推荐系统。 开发过程始于创建新的排名算法并离线评估其性能。 然后,我们利用A / B测试对核心评估指标进行在线测量,这与我们最大化用户满意度的业务目标密切相关。 此类指标包括每月订阅保留和用户观看时长。 随着排名算法和整体Netflix产品的优化,在这些指标中的significant increase需要越来越大的样本量和越来越长的实验持续时间。

为了加快算法创新的步伐,我们设计了一个两阶段的在线实验过程。 第一阶段是一个快速修剪步骤,我们从一大组初始想法中确定最有前途的排名算法。 第二阶段是对减少的算法集进行传统的A / B测试,以测量它们对长期用户行为的影响。 在这篇博文中,我们专注于我们进入第一阶段的方法:一种interleaving技术,可以让我们更精确地衡量用户偏好。

Faster algorithm innovation with interleaving

通过快速测试大量idea,我们可以提高学习速度和算法创新速度。 我们通过引入在线实验的初始修剪阶段,扩展了可以测试的新算法的数量。这一方法满足以下两个属性:

  • 它对 排序 算法质量非常敏感,即,与传统的A / B测试相比,它使用相当小的样本大小, 即可可靠地识别出最佳算法。
  • 它可以预测第二阶段的成功:第一阶段测量的指标与我们的核心A / B评估指标一致。

我们使用interleaving技术(参见Chapelle et al.)实现了上述目标,这大大加快了我们的实验过程(见图2)。 第一阶段在几天内完成,给我们留下了一小部分最有前途的排名算法。 第二阶段仅测试这些选中的算法,,与传统的A / B测试相比,这使我们可以为整个实验分配更少的成员,并减少实验总持续时间。

Netflix推荐系统(Part Seven)-改善实验系统

Using a repeated measures design to determine preferences

为了围绕interleaving提供的灵敏度增益建立直觉,让我们考虑一个实验,以确定在群体中是否首选可口可乐或百事可乐。 如果我们使用传统的A / B测试,我们可能会将人口随机分成两组并进行盲审。 一组只提供可口可乐,第二组只提供百事可乐(两种饮料都没有可识别的标签)。 在实验结束时,我们可以通过测量两组之间饮料消耗的差异以及该测量中的不确定程度来确定是否存在对可口可乐或百事可乐的偏好,这可以告诉我们是否存在统计学上的显著差异。

虽然这种方法有效,但仍然可能有改进的机会。 首先,存在测量不确定性的主要来源:人群中苏打消费习惯的广泛变化,从几乎不消耗任何苏打的人到消费大量的人。 其次,重汽水消费者可能只占人口的一小部分,但他们的消费可能占整体汽水消费的很大比例。 因此,即使两组之间重度苏打消费者的微小不平衡也可能对我们的结论产生不成比例的影响。 在运行在线实验时,消费者互联网产品经常面临与其最活跃用户相关的类似问题,无论是测量Netflix上的流媒体时间等指标的变化,还是发送的消息或社交应用中共享的照片。

作为传统A / B测试的替代方案,我们可以使用重复测量设计来测量对可口可乐或百事可乐的偏好。 在这种方法中,人口不会随机分裂。 相反,每个人都可以选择可口可乐或百事可乐(两个品牌都没有可识别的标签,但仍然在视觉上可以区分)。 在实验结束时,我们可以在person-level的水平上比较可口可乐或百事可乐的苏打水消费比例。 在这个设计中,1)我们消除了population-level的苏打消费习惯所带来的不确定性,2)通过给予每个人相同的权重,我们降低了受到重苏打不平衡的重大影响的可能性。

Interleaving at Netflix

在Netflix,我们在实验的第一阶段使用interleaving来确定两个排名算法之间的成员偏好。 下图描绘了A / B测试和interleaving之间的差异。 在传统的A / B测试中,我们选择两组订户:一组接受排名算法A,另一组接受B。在interleaving中,我们选择一组订户,这些订户暴露于通过混合排名生成的interleaving排名算法A和B。这使我们可以同时向用户提供选择,以确定他们对排名算法的偏好。(成员无法区分特定视频是由哪个算法推荐的。)我们通过比较用户观看的小时数来计算排名算法的相对偏好。

Netflix推荐系统(Part Seven)-改善实验系统

当从Netflix主页上的一行中的两个排名算法A和B生成交错的视频集时,我们必须考虑位置偏差的存在:成员播放视频的概率随着我们从左向右而减小。 为了对interleaving产生有效测量,我们必须确保在一行中的任何给定位置,视频来自排序算法A或B的可能性相同。

为了解决这个问题,我们一直在使用team draft interleaving的变体,它模仿了友谊赛的团队选择过程。在这个过程中,两名队长投掷硬币以确定谁先选择,然后他们交替选择队员。每个队长选择在他们的偏好列表中最高并且仍然可用的玩家。此过程将持续到团队选择完成为止。将此类比应用于Netflix推荐的interleaving过程,视频代表可用的玩家,排名算法A和B代表两个团队队长的有序偏好。我们随机确定哪个排名算法将第一个视频贡献给interleaving list算法然后交替,每个算法贡献他们仍然可用的排名最高的视频(参见图4)。对排名算法A或B的用户偏好是通过测量哪个算法产生在交错行内观看的较长小时数来确定的。

Netflix推荐系统(Part Seven)-改善实验系统

Comparing the sensitivity of interleaving to traditional A/B testing

我们在两阶段在线实验过程中使用interleaving的第一个要求是,它需要在样本量很小的情况下,可靠地识别更好的排序算法。 为了评估interleaving满足此要求的程度,我们转向两种排名算法A和B具有已知相对质量的情况:排名B优于排名A.然后我们使用这两个算法,与A / B测试并行运行interleaving实验 。

为了比较interleaving与A / B测试的灵敏度,我们使用不同的样本大小,计算了interleaving preference和A / B metrics。其中样本来自bootstrap subsampling。 在执行bootstrap analysis时,我们要么模拟将N个用户分配给交织单元,要么将N / 2个用户分配给传统A / B实验的每个单元。 如果我们随机猜测哪个ranker更好,那么结果不同于真实偏好的概率将是50%。 当这个概率为5%时,我们检测排名质量的差异的结果达到95%的置信度。 因此,使用较少数量的user跨越threshold的度量标准是更灵敏的度量标准。

下图显示了我们分析的结果。 我们将interleaving preference与A / B设置中通常使用的两个指标进行比较:overall streaming和一个algo-specific engagement metric。 用于评估A / B测试的指标的敏感度可在很大范围内变化。 我们发现interleaving是非常敏感的:它只需要我们最灵敏的A / B指标百分之一的用户,就能达到95%的置信度。

Netflix推荐系统(Part Seven)-改善实验系统

Correlation of interleaving metrics with A/B metrics

我们的第二个要求是在interleaving阶段测量的指标需要与我们传统的A / B测试指标保持一致。 我们现在评估interleaving preference是否可以预测后续A / B测试中的排名者的表现。

下图显示了interleaving preference度量值与A / B度量值与对照值相比的变化。 每个数据点代表一个排序算法,该算法根据production ranker进行评估,production ranker用作对照组。 我们发现interleaving度量与我们最敏感的A / B评估度量之间存在非常强的相关性和一致性,这让我们相信interleaving preference可以预测传统A / B实验的成功。

Netflix推荐系统(Part Seven)-改善实验系统

Conclusion

Interleaving是一种强大的技术,使我们能够加速Netflix的排名算法创新。它允许我们敏感地测量成员对排名算法的偏好,并在几天内确定最有希望的candidate。这使我们能够快速测试一系列新算法,从而提高我们的学习速度。

虽然interleaving提供了灵敏度的巨大提升并且与A / B指标良好对齐,但它确实存在局限性。首先,实现interleaving框架相当复杂,这对工程能力是一种挑战。业务逻辑的存在可能进一步干扰整个流程,这需要构建可扩展的解决方案以进行一致性检查和某些问题的自动检测。其次,虽然interleaving能够快速识别最佳排序算法,但是限制是它是用户对排名算法的偏好的相对测量。也就是说,它不允许我们直接衡量一些指标的变化。

我们通过在第二阶段进行A / B实验来解决后一种限制,这时我们已经从初始ideas选出了最佳候选者集合。 这使我们可以通过增加每个算法分配的的样本大小来启动实验,这使我们能够仔细测量长期用户行为。 应对这些挑战并开发更好的衡量方式是我们不断探索的方面。


以上所述就是小编给大家介绍的《Netflix推荐系统(Part Seven)-改善实验系统》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Essential PHP Security

Essential PHP Security

Chris Shiflett / O'Reilly Media / 2005-10-13 / USD 29.95

Being highly flexible in building dynamic, database-driven web applications makes the PHP programming language one of the most popular web development tools in use today. It also works beautifully wit......一起来看看 《Essential PHP Security》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

URL 编码/解码
URL 编码/解码

URL 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具