主页 > Q慢生活 >从资料之海捞出冠军杯(2-2) >


从资料之海捞出冠军杯(2-2)

  • 2020-06-17
  • 333人已阅读
從資料之海撈出冠軍杯(2/2)

在紧张刺激的资料探勘比赛中,且看资讯专家如何运用适当的策略与演算法,逐步提升预测模型的準确度。

(续前文)

拟定策略

2011年的资料探勘杯其实和〈会思考的电脑〉文中所提到的Netflix百万奖金大赛十分相似。和该比赛比起来,2011年的资料探勘杯具有「资料量更大」(2.6亿笔,相对于Netflix的1亿笔)及「额外资讯更多」两项特点。其中所谓的「额外资讯」,是指主办单位提供了歌曲的作者、专辑、类型等相关资讯,希望预测系统能善加利用。大量的资料及额外资讯,让参赛者很难设计有效率的系统来充份运用所有的资料和资讯,就像教材太多,学生很难有效率地读完一样。这些特点,让2011年的资料探勘杯比起Netflix百万大赛更为複杂而困难。

在Netflix百万大赛里一个重要的系统设计方向,就像阿布–莫斯塔法的文章中所提到的奇异值分解法(singular value decomposition)一样,是希望能有效率地计算出使用者及歌曲的特性。举例来说,如果系统知道,李四喜欢充满童趣的歌曲,而「快乐天堂」是首充满童趣的歌曲,那幺系统可能可以推论:李四会喜欢「快乐天堂」这首歌。这里的是否充满童趣,就是歌曲的一项特性。「快乐天堂」在这项特性上可能分数很高,而「陆军军歌」可能分数不高。每个使用者喜不喜欢童趣,则是该使用者的特性,李四可能这项特性值很高,王五可能这项特性值不高。把许多不同的特性从大量资料以及额外资讯中萃取出来后,想预测李四对「快乐天堂」的喜好时,只要把这些特性的符合度加总起来就可以了。

Netflix百万大赛中,领先群的团队开发出许多方法,可以自动从资料中萃取出这些特性,而在2011年资料探勘杯里,台湾大学的团队总共使用了五大类的方法来分析资料并做出预测,分别是芳邻法、矩阵因式分解(matrix factorization,包括奇异值分解法)、限制型波兹曼机(restricted Boltzmann machine,这是一种基于类神经网络的特性萃取法)、机率式潜在语意分析(probabilistic latent semantic analysis,一种基于机率模型的特性萃取法)、监督式迴归分析(supervised regression,可以看成是传统统计学中线性迴归法的延伸)。

在这五大类方法中,表现最好的单一方法是矩阵因式分解,它所预测出来的分数和实际分数的均方根误差是22.9022,也就是说,如果这个方法预测你对某首歌的喜好度是70分的话,你实际的喜好度大概会落在47~93分之间。这样的误差看似很大,在这个比赛中,却已经是很不容易的成绩。最后台湾大学拿到第一名的解法,均方根误差是21.0147。从22.9022进步到21.0147的背后,是数个月的努力以及许多先进的机器学习技巧。

台大团队由林智仁教授、林守德教授和我、三位助教及19位学生组成。25名师生对于这种「协同筛选」的问题,在一开始其实都是新手;相反地,许多参加过Netflix百万大赛的队伍,经验都丰富得多。比赛虽然3月15日才开始,台大的团队从前一年的11月就开始招兵买马,并在11月30日正式成军,利用上学期的学期末及寒假的时间,大量阅读相关文献以进入状况。并由三位指导老师在下学期开设「机器学习的理论与实务」的课程,做为参加这项比赛的平台。

坚持到底,绝不放弃

比赛在3月15日开始,当时台大团队首先努力实作并尝试Netflix百万大赛中已经使用的各式方法,勉强向前追赶。在第一次团队上传的时候,结果连前20名都排不上。而当时一路领先的队伍叫做Commendo,其实就是Netflix百万大赛冠军队伍的部份成员。但我们并不气馁,我们把团队分为六个小组,小组之间透过课程内互相讨论与良性竞争,分头去研究不同的方法。每週三小时的课程讨论中,六个小组会报告当週的成果,供老师、助教及同学讨论,团队每週也会订定下週的完成事项及目标。下课后,同学们要花上数十小时去研究新的方法并调整、撰写程式,并且及早把程式放到电脑上去分析资料。因为这个比赛的资料量实在太大,往往程式一开始执行,要花三、四天才跑得出结果,同学们必须非常小心,随时注意程式执行的状况。如果运气不好程式有错或者电脑跳电,很可能跑了几天的结果都白费了。

靠着分组的策略及所有成员的努力,让台大团队在广度上取得了优势。在比赛的中期,台大团队靠着广泛尝试这五大类方法并加以改善,稳定维持在前五名,却似乎难以超越Commendo一枝独秀的气势。

这样的情况在比赛的最后两週开始改变,当时台大团队已经尝试过上百种不同的预测系统模型。最后的冲刺时刻,团队成员把重点放在让这些众多系统模型截长补短。团队的成员开发了一个方法,能够知道各个不同的系统在什幺状况下比较準确,例如甲系统可能对抒情类歌曲预测得比较準,乙系统可能对高使用量的使用者预测得比较準。最后团队成员尝试把这些不同系统组合在一起,测试资料中看到有抒情类歌曲,就使用甲系统;碰到高使用量的使用者,就使用乙系统。这种组合式的系统模型是台大团队的强项,比起单一系统来看,组合式系统把精确度提升了7%,这个差距在比赛中是非常显着的。

除了组合式的系统外,团队还使用了平均式的系统模型(也是在Netflix比赛中普遍使用的方法)。这种模型的优点,是好像民主投票一样,找出众多系统的共识,来做稳健的预测。平均式的系统把精确度再提升了1.5%,就靠着这1.5%的差距,台大团队在比赛的最后几个小时一举超越了Commendo这个先前的世界冠军队伍,拿下了2011年资料探勘杯(第一项子比赛)的世界冠军。

这一届比赛中,台大团队同时拿下了第二项子比赛的冠军(Commendo则屈居季军),主办单位在大会颁奖典礼上还特别盛讚台大团队优异表现,包括连续四年获奖及难得的双料冠军纪录。在现今无所不在的资料之海里,台大团队捞出的不但是世界冠军的荣誉,更重要的是比赛过程中所获得的宝贵实务经验,希望能培养同学继续成为领航资料探勘的船长,持续开发资料探勘及机器学习的新技术,来解决未来更新、更大量、更複杂的资料探勘问题。(完)