机器学习与统计学是互补的吗?
本文中,阿姆斯特丹大学教授Max Welling介绍了机器学习与统计学关系的历史和未来。本文来自第6届IMS-ISBA(数理统计研究会和国际贝叶斯协会)圆桌讨论。
Max Welling阿姆斯特丹大学
在第6届IMS-ISBA(数理统计研究会-国际贝叶斯协会)会议上,我受邀发表关于「未来50年的数据科学」的个人看法,特别是机器学习与统计学之间的关系。二者之中,机器学习是相对年轻的学科,建立在统计学的基础上,多年来吸收了统计学的许多哲学思想和技术。例如,在机器学习中,我们几乎全都遵循极大似然或贝叶斯的方法来进行估计,并使用期望最大化(EM, expectation maximization)来处理隐含变量。并且,在深度学习之前,机器学习的上一次热潮与非参数化贝叶斯方法有关,而这显然是统计学的核心领域。与此同时,机器学习与统计学之间还存在着文化差异:统计学更聚焦在统计推断,也就是从我们看来随机的样本中解释或测试一个总体的性质;而机器学习则更侧重于做出预测,即使这个预测缺乏完美的解释(也叫作「黑盒预测」)。
今天,我们正在目睹机器学习向深度学习的范式转变,这个转变为机器学习与统计学之间的文化差异描绘了一幅美丽的示意图。这是过去十年中二者相汇的延伸,那时候的工具是图模型和非参数法,期望最大化和MCMC(马尔科夫链蒙特卡洛)的学习/推理方法如日中天。
深度学习的成功可以用三个因素来解释:
计算能力扩展(例如通过使用GPU)
收集和处理海量的数据
使用具有海量参数的模型,即使这些参数不容易辨别和解释。
第1个和第2个因素是机器学习研究者的第二天性,因为他们拥有计算机科学(而非数学)的教育背景。第3个因素是前两个因素作用的结果,聚焦在做出精确的预测,而不是统计推断。深度学习中的范式似乎越来越接近下面这样:收集一个(巨大的)数据集,确定你希望最小化的成本函数,设计一个(巨大的)神经网络结构,使得梯度可以在「端与端之间」传播,最终应用某种随机梯度下降法,将成本降到最低,直至时间耗尽。不管你喜不喜欢,令人惊讶的是,在预测这件事上还没有什么能打败这种范式。
图模型独领风骚10年后,钟摆似乎再一次摆向了远离统计学的方向,而更加接近密集计算的方法。想要解释神经网络架构中的几十亿个参数几乎不太可能。(人们现在)甚至不大情愿在对(预测)结果赋予校订过的概率,来尝试量化预测本身的不确定性。
我预测,这两个学科永远不会分家。他们分别代表了数据科学中两个重要的方面,从长期来看应当整合起来。(是的,如果我们不把它们放进两个不同的学系,或许会更有帮助。)对统计学家,我会说:在今天的世界,如果忽略那些可获取来进行分析的大量数据,将是愚蠢的(其实很多统计学家都清楚这个事实)。为了分析大量的数据,我们需要考虑数据的存储和(分布式)计算。我经常听到统计学系的研究者们失望地抱怨着学生们惨淡的编程技能。因此,很有必要将计算机科学的课程引入统计学系的课程表中。那么,那些很难解释的复杂黑盒预测模型呢?很显然,这取决于具体问题是什么。但是,在「真实世界无限复杂」这个前提下,模型的复杂性肯定会随着数据量的提升而增加,也许这就是我们需要付出的代价。
有一个统计学和计算机完美融合的地方,那就是用仿真模拟来表达模型。实际上,大多数科学类的学科正是以这种方法来表达它们问题域中的专业知识,例如天气预测。所有的变量都有清晰的语义解释。统计学家的任务就是在这些变量之上进行推断。然而,这种任务非常需要计算机的参与,并且需要仔细考虑在哪里以及怎样使用可获得的计算能力。这个领域在统计学上被称为「近贝叶斯法」(ABC, approximate Bayesian computation)。在机器学习中,正在出现一个新的范式,称为「概率规划」(probabilistic programming),旨在解决同样的推断任务,但会开发另外的专门编程语言(例如,基于图模型)并在其中来表达这些模型。
有一个关键问题是,统计学和机器学习是否会在深度学习这样的领域内融合呢?换句话说,统计学家会使用重度依赖计算机的深度学习模型范式吗?机器学习研究者会使用某些统计学工具来丰富这个领域吗?我的预测是肯定的。以下是原因。对某些特定的应用来说,仅有预测就足够了,但对很多应用来说并不够。例如,预测一个网页上应该显示什么广告。原则上说,做出精确的预测就能创造利润。然而,确定哪些因素会导致特定的结果(一种统计推断)将能创造出洞察,并能极大地有助于设计出更好的预测机制,而这些机制更能耐受变化多端的输入域。同样的,校准不确定度估计也有助于基于协变量(基于内容的过滤)或过去的用户点击行为(协同过滤)来做出预测。此外,它还能有助于平衡收益(展示我们知道用户会喜欢的广告)和探索(展示能让我们从用户身上学到东西的广告)。
更一般地说,我认为,当我们在真实世界部署预测机制,也就是让它们与真人交互并基于此做出决策时,我们需要统计学的工具(例如因果推理和误差线校准)。例如,一个医师想要理解为什么一个算法会认为某个病人将罹患阿兹海默症,他也很想知道该预测正确的概率有多大。同样的,无人驾驶汽车必须知道,在它不理解路况的时候应当将方向盘交还给人类司机。这样,对许多应用来说,为了成功地与人类交互,机器都需要向人们解释它们的推理过程,包括对置信度的量化。
最后,机器学习研究者倾向于聚焦在模型中更加实用和方法论的方面(尽管机器学习有一个子领域正是研究理论问题)。结果就是,机器学习领域出现了很多理论基础相当有限的「公认」方法,或者说这些理论基础并没有被深入研究过。例如,尽管许多研究者都在使用或开发半监督式学习方法,但是我们并不清楚这种方法在什么情况下有效。在我看来,更加倾向理论研究的统计学家们能在这方面对机器学习做出自己的贡献。
统计学和机器学习交融之处,孕育了许多迷人的数据科学问题。例如:
做出公允的决策(例如,不根据种族或性别做出决策)
去除在实地中收集到的数据的偏差(也就是,不遵守随机抽样的程序规范产生的偏差)
保护隐私的预测
把因果关系和关联关系分离清楚
针对高维数据建立良好的统计流程。等等
我希望这两个学科能继续意识到他们的工具真的是互补的,只有这样,在接下来的几年中,这两个领域之间的合作才能越来越多。
微信名:
HadoopSummit
微信ID:
hadoopinchina
中国Hadoop技术峰会是亚太地区举办最早、规模最大、影响力最广阔的大数据盛会。
Chinahadoop.com是China Hadoop Summit的内容网站。
HadoopSummit是Chinahadoop.com的微信发布平台。