【科学技术(8)】
NETFLIX 百万大奖的故事(3) 伍加,2011年5月3日,周二 获胜的团队的名字叫 Bellkor's Pragmatic Chaos,这个名字其实是由三个领先团队组合起来的:第一个是来自 AT&T 统计研究部的 BellKor,第二个是来自加拿大蒙特利尔的 Pragmatic Theory,第三个是来自于奥地利的 BigChaos。这种最优合并的方法也出现在其它参赛的团队里,比如这次竞赛的第二名 The Ensemle 团队就有三十几名成员,他们都是在前期比赛阶段获得较好成绩的选手,后来自愿重新组合,最终在竞赛中脱颖而出。
每一位参赛者都有自己的强项和弱项,团队重组可以使参赛者之间取长补短,优化合作。这种优势互补的方法也适用于不同算法之间的合并,事实上,探讨优秀算法之间的强强结合已经成为一个很活跃的研究方向。
NETFLIX 在这次大赛中使用两组数据:第一组数据是用户对电影的评的历史数据,它有 100480507 条,这是由 480189 名用户从 1999 年到 2005 年这六年间对 17770 部电影的评级数据,这组数据是用来让参赛者进行数据挖掘和数据分析的,如下图中的绿色左段所示。这组数据是公开数据,参赛者根据对这种数据的分析、挖掘研 究而建立自己的模型和算法,并用这组数据对该算法进行训练和修正。
第二组数据被用来测试算法的可靠性和精确性,这组数据不对参赛者公开,只被裁判用来测试参赛者的算法效果。裁判们用来评判算法优劣的标准是均方根误差 RMSE (root mean squared error),它是误差平均数的平方根,用来表明实际观测值和预测值之间的平均误差水平,其计算公式如下:
获胜团队 BPC 的算法的高明之处在于考察了用户评级数据中的时间和“频率”,用户在为影片打分时往往带有情绪影响,而情绪是与时间有关的。另外,用户的口味也许随着时间 的变化而变化;对比一位用户五年之前的打分和他最近的打分,肯定他最近的打分更为准确地反映了他当前的好恶标准,在决定他明天可能喜好哪些电影时所起的作 用更大。于是 BPC 团队就研究用户评分的结果与他们打分的时间以及频率之间的关系,建立了相关性模型。比如用户在周一和周五在打分时所用的标准有差异,有些用户在周日的情绪 最好,这时所打的分数比平时偏高。通过这样的分析,他们能更精确地发现用户对电影的喜好口味,进而对他们打分的规律预测得更为准确。下面的公式就是 BPC 算法中的核心部分:
实际的算法带有几个控制常数,需要在运行过程中精细调整,以便得出最佳的 RMSE 结果。要详细解释这个算法需要许多数学准备知识,这里就不赘述了。NETFLIX 的产品总监杭特博士解释了这个算法的重要性,他说,“成功地预测客户分别喜欢哪些影片是我们服务中一个非常关键的环节。个性化推荐的极端的例子是你进入了 一间有 10 万部影片的商店,那些你最感兴趣的影片马上就能在你的面前排成了一排,让你尽快地发现自己要看的影片。我们用预测模型来为顾客推荐影片,相信我们的顾客一 定会非常享受这项服务”。
互联网络正从一个“搜索知识”的 时代进入一个“发现知识”的时代,推荐引擎无所不在。它能为你推荐看什么电影,读什么文章,听什么音乐,买什么商品等等。搜索引擎需要一个庞大的数据库和 快速搜索算法,推荐引擎需要有一个精确的用户模型和预测决策算法;搜索引擎注重于数据,推荐引擎侧重于知识;两者相比,开发推荐引擎的难度更高。
随着算法的不断改进,推荐技术越来越普遍地应用,计算机会不会越来越多地介入我们的日常生活,甚至于控制人类?在现实生活中,有时候我们并不十分清楚自己是 否肯定需要某个东西,或者不完全清楚自己的具体需求,在这样的时候,计算机就像一位善解人意的私人秘书一样帮助你做些推荐,这是很不错的进步。当然像推荐 引擎这样的技术应用如果过于泛滥,无孔不入,当人们过于依赖于机器的时候,它对人类生活的副作用也不容忽视。
伍加,2011年5月3日,周二 http://blog.creaders.net/invictus/ |