Netflix大部分的推荐机制都是采用机器学习的算法



Netflix大部分的推荐机制都是采用机器学习的算法。传统方式上,咱们会收集一组用户如何使用咱们服务的数据,而后在这组数据上采用一种新的机器学习算法。接下来咱们会经过A/B测试的方式测试这个算法与当前的系统进行比较。A/B 测试经过一组随机的用户数据去测试新的算法是否比当前的系统更好。A组的成员会获得经过如今的系统生成的图片而B组会获得新的算法所生成的图片。若是B组的用户在Netflix有更高的转化率,那咱们就会把这个新的算法推广到整个客户群。但有一点很差的是,这种方式会产生损失(Regret):许多用户在很长一段时间内没法获得这种更好的用户体验。下图展现了这一过程:算法


640?wx_fmt=png

640?wx_fmt=png


为了下降损失(Regret),咱们再也不采用批量机器学习的方式,而是考虑在线机器学习。针对配图的个性化定制,咱们采用的线上学习框架是“上下文老虎机”(contextual bandits)。相比于之前等着收集一整批次的数据,等着学习一个模型,而后等着一个A/B测试来得出结论,“上下文老虎机”能针对每一个用户和情境快速找出最优的个性化配图选择。简要地说,“上下文老虎机”是一类在线学习算法,这类算法经过在一个变化的状况下不断将所学模型应用于每一个用户情景的好处来平衡收集足够的数据去学习一个无偏模型的代价。在咱们以前非个性化的图片筛选框架中,咱们用的是“非上下文情境的老虎机”(non-contextual bandits),这种方法在寻找最佳配图时不考虑上下文情境。而对于个性化来讲,用户就是上下文情境,由于咱们指望不一样的用户对配图有不一样的回应。api


“上下文老虎机”的一个重要属性是它们天生就能将损失(Regret)最小化。“上下文老虎机”的训练数据是经过在学习模型的预测中注入受控的随机化变量得到的。随机化方案的复杂程度能够变化,从具备均匀随机性的简单ε贪婪公式(epsilon-greedy formulations)到可以根据模型的不肯定性自适应地改变闭环方案。咱们笼统地称之为数据探索(data exploration)。一个影片的全部备选配图数量和系统部署到的用户整体大小决定了数据探索策略的选择。有了这样的探索,咱们须要记录关于每一个配图选择的随机化的信息。这个记录容许咱们修正偏斜的选择倾向,从而以下所述,用不偏倚的方式执行离线模型评估。框架


因为实际上有的用户的配图呈现选择可能并不会用那次预测中最好的图像,因此“上下文老虎机”里的数据探索通常都是有必定代价的(Regret)。这一随机化对于用户体验(进而对于咱们的指标)有怎样的影响呢?对于超过一亿用户来讲,数据探索致使的损失(Regret)通常都很小,并且被隐式地分摊到了咱们庞大用户群的每一个用户,来帮助提供目录中的一小部分配图的反馈。这使得平均每一个用户的数据探索代价微不足道,这对于选择“上下文老虎机”来运转咱们用户体验中的关键部分,是一个很是重要的考量。若是数据探索的代价很高,那用“上下文老虎机”作随机化和数据探索就会不太合适。机器学习


在咱们的线上探索方案中,咱们得到的训练数据集记录了对于每一个(用户,影片名,图片)元组,其对应的影片是否被播放。此外,咱们还可以控制数据探索使得配图筛选结果不要改变得太过频繁。这使得特定的配图与用户是否播放影片之间的归因变得清晰。咱们还经过关注用户参与的质量来仔细地肯定每一个观察值的标签,从而避免学习的模型推荐了“标题党”图片:那些诱使用户开始播放,但最终致使低质量参与(很快就关掉)的图片。学习


Netflix大部分的推荐机制都是采用机器学习的算法。传统方式上,咱们会收集一组用户如何使用咱们服务的数据,而后在这组数据上采用一种新的机器学习算法。接下来咱们会经过A/B测试的方式测试这个算法与当前的系统进行比较。A/B 测试经过一组随机的用户数据去测试新的算法是否比当前的系统更好。A组的成员会获得经过如今的系统生成的图片而B组会获得新的算法所生成的图片。若是B组的用户在Netflix有更高的转化率,那咱们就会把这个新的算法推广到整个客户群。但有一点很差的是,这种方式会产生损失(Regret):许多用户在很长一段时间内没法获得这种更好的用户体验。下图展现了这一过程:测试


640?wx_fmt=png

640?wx_fmt=png


为了下降损失(Regret),咱们再也不采用批量机器学习的方式,而是考虑在线机器学习。针对配图的个性化定制,咱们采用的线上学习框架是“上下文老虎机”(contextual bandits)。相比于之前等着收集一整批次的数据,等着学习一个模型,而后等着一个A/B测试来得出结论,“上下文老虎机”能针对每一个用户和情境快速找出最优的个性化配图选择。简要地说,“上下文老虎机”是一类在线学习算法,这类算法经过在一个变化的状况下不断将所学模型应用于每一个用户情景的好处来平衡收集足够的数据去学习一个无偏模型的代价。在咱们以前非个性化的图片筛选框架中,咱们用的是“非上下文情境的老虎机”(non-contextual bandits),这种方法在寻找最佳配图时不考虑上下文情境。而对于个性化来讲,用户就是上下文情境,由于咱们指望不一样的用户对配图有不一样的回应。ui


“上下文老虎机”的一个重要属性是它们天生就能将损失(Regret)最小化。“上下文老虎机”的训练数据是经过在学习模型的预测中注入受控的随机化变量得到的。随机化方案的复杂程度能够变化,从具备均匀随机性的简单ε贪婪公式(epsilon-greedy formulations)到可以根据模型的不肯定性自适应地改变闭环方案。咱们笼统地称之为数据探索(data exploration)。一个影片的全部备选配图数量和系统部署到的用户整体大小决定了数据探索策略的选择。有了这样的探索,咱们须要记录关于每一个配图选择的随机化的信息。这个记录容许咱们修正偏斜的选择倾向,从而以下所述,用不偏倚的方式执行离线模型评估。spa


因为实际上有的用户的配图呈现选择可能并不会用那次预测中最好的图像,因此“上下文老虎机”里的数据探索通常都是有必定代价的(Regret)。这一随机化对于用户体验(进而对于咱们的指标)有怎样的影响呢?对于超过一亿用户来讲,数据探索致使的损失(Regret)通常都很小,并且被隐式地分摊到了咱们庞大用户群的每一个用户,来帮助提供目录中的一小部分配图的反馈。这使得平均每一个用户的数据探索代价微不足道,这对于选择“上下文老虎机”来运转咱们用户体验中的关键部分,是一个很是重要的考量。若是数据探索的代价很高,那用“上下文老虎机”作随机化和数据探索就会不太合适。.net


在咱们的线上探索方案中,咱们得到的训练数据集记录了对于每一个(用户,影片名,图片)元组,其对应的影片是否被播放。此外,咱们还可以控制数据探索使得配图筛选结果不要改变得太过频繁。这使得特定的配图与用户是否播放影片之间的归因变得清晰。咱们还经过关注用户参与的质量来仔细地肯定每一个观察值的标签,从而避免学习的模型推荐了“标题党”图片:那些诱使用户开始播放,但最终致使低质量参与(很快就关掉)的图片。3d

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------