首页 › 案例
Netflix · 2006–2012

百分之十,相隔二十分钟

两支队伍以一模一样的分数达到了 Netflix 的目标,早交二十分钟左右的那支拿走 100 万美元。Netflix 后来说,多出来的那点准确度,不值得花工程力气放进正式系统。

◷ 约 2 分钟

2006 年,Netflix 拿出 100 万美元,悬赏能改进它电影推荐的人。不过,比赛评的不是推荐,评的是一个数。

Netflix 的系统叫 Cinematch,它预测会员会给一部电影打几颗星。比赛衡量的是这些预测的误差,即均方根误差,在一批不公开的评分上算。Cinematch 的误差是 0.9525。要拿大奖,得把它降到 0.8572 或更低,也就是改进 10%。Netflix 在规则里写,它估计 10%「相当难」,「可能要几个月,也可能要几年」。为了让比赛有意思,它每年再设一个 5 万美元的进步奖,奖给当年改进最多的队伍。

一年后,一支叫 Korbell 的队伍以 8.43% 的改进拿下第一个进步奖。他们说花了 2000 多小时,最后组合了 107 个算法。Netflix 挑出其中最好的两个,改造到能处理自己 50 多亿条评分的数据上,放进了正式系统。

最后那一段又走了两年。2009 年 7 月 26 日,比赛快结束时,两支队伍交上来的预测,在不公开的测试集上分数一模一样:误差 0.8567,改进 10.06%。排行榜上,BellKor’s Pragmatic Chaos 的提交时间是 18:18:28,The Ensemble 是 18:38:22。规则早就定好了平局怎么办:先收到的先评。用 Netflix 的话说,获胜的提交「离这场将近三年的比赛结束只差 24 分钟」。

2009 年 9 月 21 日,奖金在纽约颁出,获奖的是一个融合了数百个预测模型的组合。

2012 年 4 月,两位 Netflix 工程师在公司技术博客上讲了它后来的下落:「我们离线评估了其中一些新方法,但测出来多出的那点准确度,似乎不值得为了放进正式系统而投入那么多工程力气。」

业务也变了。比赛开始后一年,2007 年,Netflix 推出了流媒体。到 2012 年,会员是当场挑片,可以先试看几部,Netflix 也能看到一部片子是看完了还是只看了一半。工程师写道,公司的业务目标是会员满意度和逐月续订率。比赛当初需要的,是「一个更容易评估和量化的替代问题」。准确预测评分,用他们的话说,只是推荐系统「众多组成部分之一」。

这件事里藏着几个道理

关键结果Netflix 把「推荐得更好」变成了一个谁都能核对的数:把评分预测的误差降低 10%。Netflix 后来承认,这是个替代问题,选它是因为比真正想要的东西更好评估、更好量化。

出处

  1. Netflix Prize,Rules(存档)
  2. Netflix Prize,Leaderboard(存档,2009 年 10 月)
  3. Netflix Prize 论坛,Grand Prize awarded to team BellKor's Pragmatic Chaos,2009 年 9 月(Netflix 发布的公告,存档)
  4. Xavier Amatriain、Justin Basilico,Netflix Recommendations: Beyond the 5 stars (Part 1),Netflix 技术博客,2012 年 4 月 6 日