主页 > X漫生活 >从资料之海捞出冠军杯(1-2) >


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

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

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


重点提要

资料探勘与机器学习是一体两面,但资料探勘更强调实际预测时的表现及执行效率。藉由举办世界性的比赛,让学术界以及业界研究团队竞争开发预测模型,是资料探勘的一种研发策略。台湾大学团队整合了组合式与平均式系统模型的优点,在2011年资料探勘杯以Yahoo!线上音乐服务系统的资料进行预测分析,夺得冠军。

做为一名在大学讲授「机器学习」课程的老师,我在第一堂课最常被学生问到的问题之一是:「机器学习和资料探勘有什幺不一样?」

我的老师阿布‧莫斯塔法(Yaser S. Abu-Mostafa)在〈会思考的电脑〉中已经为我们勾划了现代机器学习的面貌。机器学习可视为一种实现人工智慧的方式,它融入了统计学、机率学、演算法设计及计算理论分析,希望让电脑能从充足的资料中,自动归纳出可以用于预测的规则;资料探勘则是电脑科学中一个历史久远的领域,在电脑科学发展的早期,人们就想运用电脑能运算及储存大量资料的特性,从这些资料中找出些有用的蛛丝马迹。举例来说,超市的行销部门可能想从销售的资料中,找出哪些商品之间具有高度的关联性,来做为商品排放的依据(有兴趣的读者,不妨去搜寻一下「尿布」、「啤酒」及「星期五」的故事)。

机器学习与资料探勘都着眼于让电脑自动对「资料」加以运用,如果运用的方向是「预测」的话,那幺机器学习与资料探勘的目标是一致的。比较细緻的差别,在于机器学习源自于一个理则学的目标:对智慧(预测能力)的终极追寻;而资料探勘则较接近工程学的目标,且更重视方法在特定应用上的实用性,包括方法的实际预测表现及执行效率等。近代的机器学习与资料探勘其实可说是一体两面,难以切割。许多源自机器学习的方法,已经被有效用于解决资料探勘上的各式问题;许多资料探勘上的重要工具,也成为机器学习系统密不可分的一部份。

在这两个领域中,由计算机协会(Association for Computing Machinery, ACM)所属的资料探勘小组(SIGKDD)主办的大型比赛「资料探勘杯」(ACM KDD Cup),是现今全世界最重要的机器学习与资料探勘比赛。这项比赛每年举办一次,吸引了全世界学界及业界许多重量级的研究团队参加,例如2008年的冠军队伍之一来自IBM研究部门,2009年的冠军队伍之一来自澳洲墨尔本大学。

资料探勘杯的目标,是在特定的主题上,设计能更準确「预测」的机器学习与资料探勘系统。每年的主题都不一样,例如2008年的主题是希望能自动由病人的X光片判定是否得到乳癌;2009年的主题是希望能自动由行动电话的销售资料中,预测顾客未来的行为(升级月租费、转换公司等);2010年的主题是希望能由学生在一个数学线上学习软体的学习历程中,自动判定学生的学习成效。

挑战资料探勘杯

从资料之海捞出冠军杯(1/2)台湾大学从2008年起,每年都组队参加这项大赛,队伍成员以资讯工程系大学部及研究所的师生为主,这四年来屡获佳绩。2008年和IBM研究部门并列世界冠军、2009年得到长期组(slow track)世界第三名、2010年得到世界冠军、2011年得到两组子比赛的双料世界冠军,成果十分丰硕。

在资料探勘杯中,主办单位通常会提供一个巨大的资料集,称之为训练资料。参赛者必须运用机器学习与资料探勘的演算法,透过对训练资料的分析,来建立适当的预测模型。主办单位另外会提供一组测试资料,参赛的队伍要把预测模型应用在测试资料后,将所得的预测结果上传给主办单位。主办单位会把他们手上的正确答案和预测结果相比对,来评定预测的精準程度。以人类的学习来比喻的话,训练资料就像上课的教材一样,提供机器学习与分析;而测试资料就像考试的考题一样,要用来评定学习的成效。

举例来说,2011年第一项子比赛的主题,是希望能自动预测使用者对音乐的喜好,这在商业的音乐推荐系统中是个重要的课题。这个比赛的资料来自Yahoo!的线上音乐服务系统,总共横跨11年的时间。每笔资料类似于「张三,两只老虎,85,2007年7月8日9:10」,意思是张三这位使用者,在2007年7月8日9点10分,给「两只老虎」这首歌评定为85分的喜好度;其中0分代表非常不喜欢,100分代表非常喜欢。这11年中,Yahoo!从许多不同使用者收集了大约2亿6000万笔这样的资料,并且把每名使用者最后所评定的四笔资料,列为测试资料,其他(更早期所评定)的资料则做为训练资料。

在测试资料里,主办单位把「喜好度」这个栏位隐藏起来当做他们手头的答案,参赛系统的目标,就是预测这个隐藏栏位。也就是说,参赛者的预测模型,要能由使用者早期所评定的资料(可想成已经听过的歌)预测他们之后对歌曲的喜好度。预测的精準与否,会以所预测的值和隐藏起来的答案的均方根误差(root mean square error)来计算,越小代表越準确。

这样的问题通常称之为「协同筛选」(collaborative filtering),意思是希望协同自己与其他使用者的资料,来做出準确的喜好预测。要怎幺协同地预测使用者对歌曲的喜好呢?我们来聊聊一个简单的方法。如果系统在训练资料里面发现,张三和李四都非常喜欢「两只老虎」这首歌,这可能表示他们有相似的喜好,而张三还听过「快乐天堂」这首歌,也给了很高的分数,则系统或许可以推论,李四也会给「快乐天堂」这首歌很高的分数。所以从李四所评过的歌里,我们可以找出「跟李四有相似喜好」的几位使用者(例如张三),算一算「快乐天堂」这首歌平均在这些使用者中得到了几分,就可以依此预测李四所给的分数。

这听起来是个简单的方法,也有个很有趣的名称,叫「芳邻法」(nearest neighbor,亦称「最邻近法」)。姑且不论这个方法的精确度如何,先让我们来算算这样做可能要花多少时间。我们要先帮李四在所有使用者中找出和他有相似喜好的人,2011年资料探勘杯的资料中有大约100万名使用者,如果算一次相似度要花0.01秒的话,算完所有使用者和李四的相似度就要花上将近三小时,而算完所有使用者两两间的相似度要多久呢?158年!这说明了资料探勘杯的困难性,不但要精确,更要「有效率」(注意!这是资料探勘领域着重的特点之一),才能在短短数个月的比赛中夺得佳绩。(待续)