构建实时机器学习系统
上QQ阅读APP看书,第一时间看更新

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最终胜出的队伍为Bell Kor,该队伍是由四个队伍混合而成的。为什么要混合队伍呢?笔者曾有幸亲自向Bell Kor成员之一的Michael Jahrer请教。故事是这样的,在比赛进行到了白热化阶段之后,来自雅虎、贝尔实验室、Commendo Research and Consulting和Pragmatic Theory这四个队伍得到的结果都不相上下,这个时候,往往要在进行大量的参数调校后,模型才会有很少一点的提升。

2009年的时候,机器学习领域已经出现了Emsemble的概念。Emsemble的意思是通过混搭来源不同的模型的结果,取长补短,以得到更为强大的模型。很自然的,上面这四支队伍先后决定合并成为一个大集体,最后取得了Netflix比赛的最终胜利。

比赛确实是结束了,运用Emsemble过程带来的负面影响是,最终模型是由上百个小模型组成的,每个小模型都可能是由不同的语言来写成的,需要自己特殊的预处理程序,而且还需要独立的模型训练架构。虽然按照约定,Netflix享有最终模型的使用权,但是实际上由于训练和运用模型的复杂性,Netflix至今也没有将上述模型运用到实际应用中去。

通过这一案例,我们可以学到,先进、前沿的机器学习模型固然很重要,得在运用的时候仍然要考虑到训练、运用的复杂性。一切从实际出发,也是本书全文的贯穿思想。