大数据分析需要在数据的背后寻找有预测能力的隐藏模式,但究竟选择数据的哪些“特性”来分析,却很大程度上依靠人类的直觉。比如说,在包含各类促销活动起止日期和每周利润的数据库中,模式的关键可能不在于日期本身,而在于起止日期的跨度,或者说不在于总利润,而在于每个时间跨度内的平均值。
麻省理工学院的研究人员打算让大数据分析彻底脱离对人工因素的依赖,建立一套不但能寻找特定模式,还能自行设计特征的系统,称为“数据科学机”(Data Science Machine)。为了测试系统的首个原型,他们将原型用在三个数据科学比赛里。在比赛中,系统原型和人类队伍竞争,在陌生数据组里寻找预测性的模式。906支队伍在三项比赛中竞相角逐,最终研究者的“数据科学机”领先于其中615支队伍。
在其中的两项比赛中,数据科学机做出预测的准确性分别相当于获胜队伍的94%到96%。在第三个比赛中,这个数字是87%,这看起来好像没那么惊人,但数据科学机只用了2到12个小时就完成了人类队伍需要花好几个月才能生成的算法。
“我们将数据科学机看成对人类智力的自然补充,”Max Kanter说道,他在MIT计算机科学系的硕士论文题目就是数据科学机的基础。“我们有如此多的数据要分析,但现在却只能对它们束手无策。所以也许我们可以想个办法分析它,起码得开个头。”
Kanter和他的论文导师Kalyan Veeramachaneni将在下周的IEEE国际数据科学及高级分析大会上展示他们的论文内容。Veeramachaneni是计算机科学与人工智能实验室(CSAIL)的研究员,他们研究的是将机器学习技术应用到大数据分析中来解决实际问题,比如判断风力发电厂的发电能力,或者是预测哪些学生更有可能从网络课程中退出。
“我们有一些利用大数据为企业解决难题的经验,从这些经验中我们发现,解决问题的关键步骤之一是所谓的‘特征工程’(feature engineering),”Veeramachaneni说道,“你要做的第一件事就是找出哪些变量是该从数据库中提取的,哪些是该生成的。为了做到这一点,你得想出很多办法才行。”
例如,在预测辍学学生这件事情上,两个关键的指标是学生会在截止日期多久之前开始完成一项任务,以及这个学生相对其他同学来说会在网站上花多长时间。麻省理工的在线学习平台MITx没有记录这两项指标中的任意一项,但它确实收集了一些有用的信息。
构建特征
Kanter和Veeramachaneni使用了一些技巧来生成数据分析中所要用的备选特征。其中之一,就是利用数据库设计中固有的结构关系:数据库一般会在不同的表里储存不同类型的数据,数据之间的关联用数值标识符指示。数据科学机追踪的正是这些关联,将它们作为建立特征的线索。
例如,一个表里可能会列出零售产品和它们的成本;另一个可能会列出每个顾客消费的产品。数据科学机能从第一张表里把成本数据导入第二张。接着,根据第二张表格中支付标识符相同的产品之间的关联,它会运行一连串程序,生成可能的特征:每笔交易的总花费、每笔交易的平均花费、最低单笔交易等等。随着数字识别符在表单中不断复制,数据科学机逐层向上分析,找出平均数中的极小值,总数中的平均值等等。
它也会寻找一种被称为“分类数据”的信息。分类数据从外观上看是被限制在一定范围内的数值,例如一周有多少天,或者在一个地区有多少品牌名。接着,它通过分解不同类型的特征再进一步生成一系列备选特征。备选特征生成后,系统会判断哪些特征的数值看起来比较合理,并以此削减备选特征的数量。接下来,它将在样本数据中测试精简之后的特征库,通过不同方式重新组合,将预测结果的准确性最大化。
“数据科学机能将最前沿的科学研究应用到实际问题的解决当中来,并且开创一种看待问题的全新方式,这是难以令人置信的,”哈佛大学计算机科学系的Margo Seltzer教授说,他并没有参加这项工作,“他们做的事情虽然现在看起来很新鲜,但我认为用机器来寻找分析模式在不久的将来一定会成为标准的做法——比想象中的还快。”