专栏首页上善若水0x01机器学习简史

0x01机器学习简史

about 全面介绍机器学习的发展史,从感知机、神经网络、决策树、SVM、Adaboost到随机森林、Deep Learning。

机器学习是人工智能最重要发展分支之一,在科研领域和工业界都是非常热门的课题。

机器学习是一门跨学科领域,涉及到统计学、计算机科学、最优化理论、信息理论、神经科学、理论物理以及其他领域。同时,机器学习也是一门非常年轻的学科。机器学习的大规模应用仅仅开始于过去二十年。当今,数据科学应用已成为一种职业。就像西部开发一样,拥有则无尽的机会,同时也有伴随着很多迷惑与问题。

image

  1. 普遍推广机器学习的第一人Hebb,在1949年提出了基于神经心理学习方法,被称为Hebbian学习理论。通过简单的解释,研究递归神经网络(RNN)节点之间的相关性。它记录网络上的共性,像记忆一样工作。
  2. 在1952年,IBM的亚瑟·塞缪尔(Arthur Samuel)开发了一个西洋棋的程序。 该程序能够通过棋子的位置学习一个隐式模型,为下一步棋提供比较好的走法。 塞缪尔与这个程序对局了很多次,并观察到这个程序在经过一段时间的学习后可以发挥得更好。 塞缪尔用这个程序驳倒了机器无法超越书面代码,并像人类一样学习模式的论断。 他创造并定义了“机器学习”: 机器学习是一个能使计算机不用显示编程就能获得能力的研究领域。
  3. 1957年,Rosenblatt再次提出以神经科学为背景的第二个机器学习模型——感知器,它与今天的机器学习模型更像。当时,这是非常激动人心的发现,实际上它比Hebbian的想法更容易实现。 Rosenblatt用下面几句话介绍了感知器模型: 感知器模型的设计是针对于一般智能系统的一些基本特性,而不会纠缠于一些特定生物体通常情况下未知的特性。[2]
  4. 3 年后,Widrow [发明的Delta学习规则载入机器学习史册,该规则很快被用作感知器训练的实践程序。它也被称为最小二乘问题。这两个想法的结合创造了一个很好的线性分类器。 然而,感知器模型的热度在1969年被Minsky [3]所取代。他提出了著名的XOR问题,感知器无法对线性不可分割的数据进行分类。 这是Minsky对神经网络社区的反驳。 此后,神经网络的研究一直止步不前,到在80年代才有所突破。

image

  1. 尽管早在1973年由Linnainmaa [5] 以“反向自动差异化模式”为名提出了BP思想,但是直到1981年,Werbos [6]才提出将神经网络特定反向传播(BP)算法应用到多层感知器(MLP)。BP仍然是当今神经网络架构的关键组成部分。有了这些新想法,神经网络的研究再次加速。1985年至1986年间,神经网络研究人员相继提出了采用BP训练多层感知器(MLP)的理念(Rumelhart,Hinton,Williams [7] – Hetch,Nielsen [8])

From Hetch and Nielsen

  1. 另一个学派,在1986年,J.R.Quinlan [9]提出了另一个非常著名的ML算法,我们称之为决策树,更具体地说是ID3算法。这是机器学习另一个主流的闪光点。此外,ID3以软件的形式发布,能够以简单的规则及其明确的推论更好地应用到实际生活中,与黑匣子神经网络模型相反。 在ID3之后,社区探索了很多不同的可用方案和算法改进(例如ID4,回归树,CART …),而且仍然是机器学习中的活跃话题之一。

image

  1. 机器学习领域最重要突破之一是Vapnik和Cortes [10]在1995年提出的支持向量机(网络)(SVM),它具有非常强的理论论证和实证结果。SVM将机器学习社区分为NN(神经网络)和SVM两个派别。 然而在2000年左右,SVM内核化版本提出之后,NN在这两个派别之间的竞争并不容易(我无法找到关于该主题的第一篇文章)。SVM在很多之前用NN模型解决的问题上得出了最佳结果。 此外,与NN模型相比,SVM能够充分利用凸优化,泛化边际理论和内核化的所有深奥知识。 因此,它可以从不同学科中获得巨大的推动力,促进理论和实践的快速发展。

image

  1. NN模型受到的另一次重创是1 9 9 1年Hochreiter的论文[40]和2001年Hochreiter等人的论文[11],表明在使用BP算法时,NN单位饱和后会发生梯度损失。简单来说,训练NN模型时由于单位饱和,在迭代超过一定数量后冗余,因此NN非常倾向于在短时间的时期过度拟合。
  2. 不久之前,Freund和Schapire在1997年提出了另一个实体机器学习模型,该模型采用增强的弱分类器组合,称为Adaboost。当时给这项工作的作者颁发了戈德尔奖。 Adaboost通过易于训练的弱分类器进行训练,给那些难的样本更高的权重。这种模型是许多不同任务的基础,如面部识别和检测。它也是PAC(Probably Approximately Correct)理论的一种实现。通常,所谓的弱分类器被Adaboost选为简单的判决树(单个决策树节点)。他们这样介绍Adaboost; 我们研究的模型可以解释为一个广泛的,抽象的扩展的研究在线预测模型到一般决策理论的设置[11]

2001年,Breiman [2001]探索了另一个综合模型,该模型集合了多个决策树,其中每个决策树的训练集都是从实例集合中随机选择的,每个节点的特征都是从特征集合随机选择的。基于这些特性,该模型被称为随机森林(RF)。RF从理论上和实际上都证明不会产生过拟合。甚至AdaBoost在数据集中有过拟合和离群点时,随机森林能有更好的鲁棒性(有关RF的更多详细信息,请参阅我的旧帖子http://www.erogol.com/randomness-randomforests/)。随机森林在许多不同的领域,如Kaggle比赛中也有很出色的表现。

随机森林是树预测因子的组合,每棵树取决于独立采样的随机向量,并且森林中的所有树都具有相同的分布。森林的泛化误差a随着森林中树木数量增多而收敛[12]

随着时间向今天靠近,神经网络(NN)的一个新时代——深度学习已经被商业化了。这个短语只是指具有许多广泛连续层的NN模型。三层的NN模型崛起大致在2005年,由近期和现在的Hinton,LeCun,Bengio,Andrew Ng和诸多大师结合了许多不同的发现。

下面我列举了一些机器学习领域重要的概念

  • GPU编程
  • 卷积NN [18][20] [40]
  • 解卷积网络[21]
  • 算法优化
  • 随机梯度下降[19][22]
  • BFGS和L-BFGS [23]
  • 共轭梯度下降[24]
  • 反向传播[40][19]
  • 整流器单元
  • 稀疏性[15][16]
  • Dropout网 [26]
  • Maxout网[25]
  • 无监督的NN模型[14]
  • 深度信念网[13]
  • 堆叠式自动编码器[16][39]
  • 去噪NN模型[17]

结合所有这些想法和未列出的想法,NN 模型能够在对象识别、语音识别、NLP等不同的任务中击败之前的技术。但是应该注意的是,这并不意味着其他ML流派的结束。虽然深度学习的成功故事还在接二连三的上演,但是它在训练成本和调整模型的外部参数方面还有很多争议。此外,由于其简单性,SVM的使用依然非常普遍。 (据说可能会引起很大争议)

在结束之前,我需要再介绍一个比较前沿的 ML 趋势。随着WWW和社交媒体的发展,一个新的术语——大数据出现了,并大大影响了ML研究。由于大数据的数据规模都很大,许多强大的ML算法在相当多的系统中(当然对大型技术公司来说不是这样)是无用的。因此,研究人员提出了一套新的简单模型——dubbed Bandit Algorithms,被称为强盗算法[27 – 38](通常都基于在线学习),使学习更容易,适应大规模问题。

我只是总结了机器学习的发展史。如果你发现错误,不足或没有添加引用的地方,请不要犹豫,可以通过各种方式告诉我。

参考文章

  1. 原文:Brief History of Machine Learning

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 014 linux 命令行工具jq

    上善若水.夏
  • 036android初级篇之Activity的启动模式

    你可以通过定义运行模式来定义Activities如何与Task进行交互。定义的两种方式如下:

    上善若水.夏
  • 002工具及环境之查看当前局域网有那些IP在线

    用Arp -a命令,查询MAC数据 除去尾数为255的广播地址,剩下的就是当前电脑的在线列表

    上善若水.夏
  • 人人都能上手的机器学习免费实战课程

    帮助开发者搭建体系化的机器学习知识框架,熟悉主流机器学习算法,介绍利用机器学习平台完成实际场景下的模型搭建和模型评估的精选实战课程!

    云学院助手
  • 当前流行的15个机器学习框架

    作者:Devendra Desale   摘要: 不管你是一个研究人员,还是开发者,亦或是管理者,想要使用机器学习,需要使用正确的工具来实现。本文介绍了当前流行...

    机器人网
  • 机器学习必知的15大框架

    -免费加入AI技术专家社群>> 摘要: 不管你是一个研究人员,还是开发者,亦或是管理者,想要使用机器学习,需要使用正确的工具来实现。本文介绍了当前最流行15个机...

    企鹅号小编
  • 知识分享:机器学习的框架

    对于人工智能感兴趣的技术宅们,想要入手之前,可以先学习一下以下15个机器学习的框架。

    人工智能的秘密
  • 【资源】机器学习必知的15大框架,欢迎补充!

    机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠、快速和成规模地工作。他们和数据科学家密切合作来了解理论知识和行业应用。数据专家和机器学习工程师的...

    昱良
  • 【资源】机器学习必知的15大框架

    【导读】机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠、快速和成规模地工作。他们和数据科学家密切合作来了解理论知识和行业应用。数据专家和机器学习...

    WZEARW
  • 机器学习必知的15大框架

    ? 概要:机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠、快速和成规模地工作。 机器学习工程师是开发产品和构建算法团队中的一部分,并确保其可靠...

    CDA数据分析师

扫码关注云+社区

领取腾讯云代金券