1.7 案例:Netflix在机器学习竞赛中学到的经验
美国领先的付费视频公司 Netflix 在机器学习、系统推荐方面都做出了卓越的贡献, 早在 2007 年,Netflix 就率先提出了百万美元大奖,奖励在 Netflix Prize 竞赛中优胜的队伍。Netflix Prize通过为期三年的竞赛,积累了机器学习宝贵的第一手资料,成为了机器学习中的经典案例,这里我们介绍以下两个方面。
1.7.1 Netflix 用户信息被逆向工程
Netflix Prize进行影片推荐预测时,使用的数据包括用户名、影片名、评价日期、评价等级等信息,为了防止泄露用户个人的隐私信息,Netflix对用户名进行了加密处理。
尽管如此,德州大学的研究人员仍然通过逆向工程成功得到了一些用户的个人信息。他们是怎么做到的呢?原来 Netflix 用户在评价一个影片的时候,往往还会去互联网影片库 IMDB 上转载自己的评论。德州大学的研究人员将 Netflix 数据集中的评论和IMDB 中的评论按照评论日期进行配对,很快就发现了具有上面行为的若干用户,其中不乏具有隐秘性取向的用户。这一研究结果一经发出之后,这些用户的生命安全直接受到了威胁,这也直接导致了 Netflix 在 2010 年遭到了以上用户的起诉,并且取消了 2010 年以后的所有竞赛。
通过这一案例,我们意识到了在设计机器学习应用的时候一定要把用户隐私保护放在第一位。一些社会边缘个体特别容易因为自己的行为特征与大众不同而被模型泄露。
1.7.2 Netflix 最终胜出者模型无法在生产环境中使用
2009 年 Netflix 最终胜出的队伍为BellKor,该队伍是由四个队伍混合而成的。为什么要混合队伍呢?笔者曾有幸亲自向BellKor 成员之一的 Michael Jahrer 请教。故事是这样的,在比赛进行到了白热化阶段之后,来自雅虎、贝尔实验室、Commendo Research and Consulting 和 Pragmatic Theory 这四个队伍得到的结果都不相上下,这个时候,往往要在进行大量的参数调校后,模型才会有很少一点的提升。
2009 年的时候,机器学习领域已经出现了 Emsemble 的概念。Emsemble 的意思是通过混搭来源不同的模型的结果,取长补短,以得到更为强大的模型。很自然的,上面这四支队伍先后决定合并成为一个大集体,最后取得了 Netflix 比赛的最终胜利。
比赛确实是结束了,运用 Emsemble 过程带来的负面影响是,最终模型是由上百个小模型组成的,每个小模型都可能是由不同的语言来写成的,需要自己特殊的预处理程序,而且还需要独立的模型训练架构。虽然按照约定,Netflix 享有最终模型的使用权,但是实际上由于训练和运用模型的复杂性,Netflix 至今也没有将上述模型运用到实际应用中去。
通过这一案例,我们可以学到,先进、前沿的机器学习模型固然很重要,得在运用的时候仍然要考虑到训练、运用的复杂性。一切从实际出发,也是本书全文的贯穿思想。