我的上一篇文章《反脆弱的机器学习》讲了机器学习具有算法和应用两方面的反脆弱性,最后必定在社会各方面具有颠覆性的发展。这篇文章,我将介绍机器学习目前的5种主流学派,并结合《反脆弱》一书,谈谈自己的理解。
这5大学派如下图所示。每种学习算法都包括代表方法、评价、优化部分,但不同学派对应部分的具体细节差异相当大。我一个个地来说。
反脆弱的机器学习之二符号学派的形式语言是逻辑, 通过树立各种规则来做出判断和求解。典型的方法如决策树。决策树,学过管理的人大概都知道,类似思维导图的一个东西。从问题出发,不断细化细节判断,最后落实到答案上,整个逻辑过程像个向下生长的树。玩过“问问题猜猜猜”的人对这点很容易理解。你心里想一样东西,比如“手机”,对方通过问问题,比如“这个东西有没有生命?”,“这个东西是工具吗?”之类的问题,即使对方只回答是或否,通常几次也就可以找到答案。逻辑推导也是《反脆弱》中第17章胖子托尼与苏格拉底辩论中,苏格拉底所用的方法。这种思考方式从亚里士多德、苏格拉底、柏拉图开始,就一直影响着西方哲学和科学,直至后来的计算机程序设计,影响巨大。这其实就是我们的理性思维。将它应用到机器学习中就成了符号学派。
用逻辑判断也有其缺陷。逻辑依赖于概念,如果对要做的事情自己都搞不清楚,那就没法用。因此,基于符号学派的机器算法需要预先定义概念和逻辑,这妨碍了学习的升级。“得到”吴军专栏认为机器学习不懂概念,可能就基于此。所以在《反脆弱》第17章作者模拟苏格拉底和胖子托尼的辩论中,苏格拉底会是输掉的一方。胖子托尼用的是什么方法打败苏格拉底的理性思维?从算法的角度讲,胖子托尼显然是另外两个学派——联结学派和进化学派的门人。联结学派的主打算法是网络神经。 神经网络算法模拟大脑神经元学习和找到答案的过程,目前主流算法是反向传播算法。通过一层层神经元把学习数据传进去,再根据对结果的偏差修正各层参数,最后达到无限逼近答案。这个算法模拟初生的婴儿,即使对外界一点概念都没有,但丝毫不影响他学会各种越来越复杂的技能。顺便说一句,现在流行的“学习的一万小时定律”,其实就是在目标的牵引下不断对学习过程微调。这个过程,对人来说大概需要一万小时。对机器学习来说,大概是毫秒级,秒级的事情。联结学派的学习算法就是胖子托尼击败苏格拉底的核心论点。
胖子托尼还有一个论点,接近于进化学派。这个学派的主打算法是遗传程序。它模拟自然界“物竞天择,适者生存”的定律,先在目标区域产生一批数据,相当于种子。求解它们的适应度,选最适合的让它们变异繁衍,再在其中找最适合的几个,再繁衍,不断进行这个过程。由于每次都是优中选优,所以不断进化,直至最后找到答案。我们平时讲的“试错”其实就是进化学派的算法。我们尝试各种方法,如果不好就放弃,如果好就采用。然后在此基础上进一步尝试,几次,数十次之后就找到完成一件事情的最佳方式了。胖子托尼也主张在实践中试错,看来他得到了联结学派和进化学派两个学派的精髓:尝试和修正逼近。《反脆弱》的作者真是深具智慧!
第4种算法是贝叶斯学派,其核心是概率,其基础就是看起来很简单的条件概率公式。贝叶斯学派是目前在机器学习中应用最好的学派,这大概是计算机善于计算的特性造成的。《反脆弱》和《黑天鹅》两本书讨论如何解决威力巨大,却无法预测的小概率事件问题。既然讨论概率,就是贝叶斯学派的势力范围。书里的很多概念如幸存者偏差、叙述谬误、游戏谬误其实都可以用条件概率来解释。我很好奇,贝叶斯学派的算法是否可以推断出黑天鹅事件的发生。我猜测,单纯的也许不行,加上其它算法,可能可以。
最后一个是类推学派,主打算法“支持向量机”。这个学派核心思路是类比。就像人可以通过观察纸飞机的飞行原理发明滑翔机一样,这种算法可以通过很少的数据进行求解复杂问题。类比是我们人类思维的一个非常高效的方式。《反脆弱》这书里就用了很多的类比,比如用“教鸟儿学飞行”来比喻没必要还有害的各种干预行为。可以看出,类推学派的算法是一种有创造性的算法。有人说机器学习不会产生创造力,我觉得只是算法还不够完善而已。
算法大致说完了,大家可以看出,这5种算法都各有优劣,最后的算法一定是它们的取长补短后的复合算法。另外伟大的自然还有其它各种各样的算法等待人类去发现和程序化。机器学习自身的反脆弱性将引领其进步,直至找到集全人类智慧的终极算法。