本文是Brief History of Machine Learning 的译文,原文链接:http://www.erogol.com/brief-history-machine-learning/
1949年,Donald Hebb(赫步)提出的赫布理论——解释了学习过程中大脑神经元所发生的变化,标志着机器学习领域迈出的第一步。概括来讲,赫布理论研究的是循环神经网络(RNN)中各节点之间的关联性。而里面提到的 RNN 具有把相似神经网络连接在一起的特征,并起到类似于记忆的作用。赫步理论的形式化表述如下:
假定反射行为的持续和重复(或称作"痕迹")能够引起细胞的永久改变,进而提高该行为的稳定性…如果细胞A的轴突距离近到可以激发细胞B,并且反复或持续的参与到细胞B的激活中,两个细胞其中之一或者两者 皆会进行增长或发生代谢性变化,使得A激活B的效率得到提升。
1952年,IBM 的 Arthur Samuel(亚瑟·塞缪尔)(被誉为“机器学习之父”)设计了一款可以学习的西洋跳棋程序。它能通过观察棋子的走位来构建新的模型,并用其提高自己的下棋技巧。Samuel 和这个程序进行多场对弈后发现,随着时间的推移程序的棋艺变得越来越好。Samuel 用这个程序推翻了以往“机器无法超越人类,不能像人一样写代码和学习”这一传统认识。而他对“机器学习”的定义是:不需要确定性编程就可以赋予机器某项技能的研究领域。
1957 年时,具备神经科学背景的 Rosenblatt(罗森布拉特)提出了第二个模型——感知机(Perceptron),它更接近于如今的机器学习模型。当时感知器的出现让不少人为之兴奋,因为它的可用性比赫布模型要高。Rosenblatt 是这样介绍感知机的:
感知器可以在较简单的结构中表现出智能系统的基本属性,也就是说研究人员不需要再拘泥于具体生物神经网络特殊及未知的复杂结构中。
1960年,Widrow(威德罗)则提出了差量学习规则,且随即被应用到感知器模型中。差量学习规则又称“最小平方”问题,它与感知器结合在一起时可以创建出更精准的线性分类器。
1969 年时,Minsky(明斯基)给予感知机重重一击,他提出的异或问题揭露出感知器的本质缺陷——无法处理线性不可分问题。此后,神经网络研究陷入了长达十多年的停滞中。
1970 年时,Linnainmaa首次完整地叙述了反向模式自动微积分算法(著名的反向传播算法 BP 的雏形),但在当时并没有引起重视。直到1981年 Werbos[6]提出将 BP 算法应用于神经网络以建立多层感知器后,神经网络的发展才得以提速。接着在 1985 到 1986 两年间,多位神经网络学者也相继提出了使用 BP 算法来训练多层感知器的相关想法。(例如 Rumelhart, Hinton, Williams[7]– Hetch, Nielsen[8])
1986年,J. R. Quinlan(昆兰)于 1986 年提出了著名的机器学习算法——决策树,也就是 ID3 算法,它同时亦是机器学习领域的主流分支之一。另外,与“黑盒派”的神经网络编程器不同,ID3 算法就如发行软件一般,你可以运用它的简单规则及清晰理论找到更多具实际意义的应用场景。自 ID3 算法提出以来,有不少研究团队对其进行了优化改进(如 ID4,回归树,CART 等等)。至今,它依旧是机器学习领域的“活跃分子”之一。
1995 年 Vapnik(万普尼克) 和 Cortes(科尔特斯)提出的支持向量机,是机器学习最重要的突破之一。这种算法不但有坚实的理论基础,还有出色的实验结果。从那之后,机器学习这一领域便分成了两大流派,神经网络及支持向量机。不过,自 2000 年内核版的 SVM被提出后,神经网络在这场竞争中逐渐处于下风。新版本的 SVM 在此前被神经网络垄断的领域中都取得亮眼的成绩。另外与神经网络相比,SVM 的优势是具有凸优化、大边际理论、核函数方面的知识基础。因此,它能从不同的学科理论中汲取养分,从而加快自身的发展进程。
而在 SVM 持续发展之际,神经网络再次受到了重创。Hochreiter(霍克赖特)1991 年的学位论文 及 2001 与其他研究人员合作发表的论文中表示,使用 BP 算法时,当神经网络的单元饱和之后系统会发生梯度损失(又称梯度扩散)。简单来说,就是训练神经网络模型的时候,超过一定的迭代次数模型将会产生过拟合。
在此之前,1997 年时 Freund(弗洛恩德) 和 Schapire 提出了另外一个有效的机器学习模型——Adaboost。它的核心思想是,针对同一训练集训练不同的弱分类器,然后将它们集合起来,构建出更强的最终分类器(强分类器)。另外,Adaboost 为两位研究人员赢得了哥德尔奖。直至目前,Adaboost 依旧被不少领域采用,比如面部识别和检测等等。同时它也是可能近似正确学习(PAC)理论的实践模型之一。总的来说,Adaboost 就是把多个不同的决策树用一种非随机方式组合的提升树。他们是这样介绍 Adaboost 的,我们研究的模型可以被解释为,在一般决策场景下对已充分了解的预测模型进行大范围而抽象的扩展…
另外一种多决策树的组合模型,则是 2001 年由 Breiman(布赖曼) 提出的。这种模型中单个决策树由一个随机子集训练而得,而决策树中每一节点则各选自这一随机子集。正是因为这些特点,所以这种算法被命名为 Random Forest(RF)。据了解,RF 可以避免过拟合现象的出现,这是 AdaBoost 无法做到的。也就是说,与 AdaBoost 相比 RF 更具优势。此外,RF 在许多运算任务中都有不错的变现(比如 Kaggle 比赛)。
RF 是一种树形集成分类器,森林中每棵决策树都依赖于独立采样的向量值,且具有相同的分布。当森林中决策树的数量足够多是,RF 的泛化误差将收敛于一个有限制值内 。
时至今日,神经网络已经进入了一个名为“深度学习”的新时代。这种依赖于级联卷积神经网络的全新算法的出现预示着神经网络第三次大发展的开始。2005 年前后,包括 Hinton、LeCun、Bengio、Andrew Ng 等等在内的多位研究人员都纷纷发表了相关研究成果,下面我为大家列出了较为重要的几项(我以后可能会发布一篇讨论深度学习的文章):
•GPU 编程
•卷积神经网络
解卷积网络
•最优化算法
随机梯度下降
BFGS 算法和 L-BFGS 算法
共轭梯度法
反向传播
•整流单元
•稀疏编码
•Dropout 网络
Maxout 网络学习
•无监督神经网络模型
深度信念置信网络
堆栈式自动编码器
Denoising 神经网络模型
基于这些以及其他没有列出的成果,深度学习模型在诸多领域中都完胜当时最先进的算法,比如物体识别、语音识别、自然语言处理等等。不过,这绝对不代表机器学习将就此终结。尽管深度学习依然持续火热,但是这一模型同样存在不少痛点,例如成本、参数调优等等方面的问题。而且,SVM 凭借着自身的简洁性,目前依旧活跃于各大领域。(据说如此,但存在争议)。
在文章结束之前,我想谈谈机器学习领域里另一个较为新兴的研究趋势。随着网络及社交媒体的持续发展,大数据这个新概念开始崭露头角,并且对机器学习的研究产生了重大影响。在大数据时代,传统在小数据上运行的机器学习算法已不再适用,落得无用武之地的下场(当然,科技巨头除外)。因此,研究人员现在提出了一类新的算法——Bandit 算法 (通常称为在线学习),它具有简化深度学习及适应大数据背景的潜力。