机器学习的发展历史以及算法演进
机器学习是一门不断发展的学科,虽然只是在最近几年才成为一个独立学科,但机器学习的起源可以追溯到 20 世纪 50 年代以来人工智能的符号演算、逻辑推理、自动机模型、启发式搜索、模糊数学、专家系统以及神经网络的反向传播BP算法等。虽然这些技术在当时并没有被冠以机器学习之名,但时至今日它们依然是机器学习的理论基石。
从学科发展过程的角度思考机器学习,有助于理解目前层出不穷的各类机器学习算法。机器学习的大致演变过程如表1所示。
机器学习的发展分为知识推理期、知识工程期、浅层学习(Shallow Learning)和深度学习(Deep Learning)几个阶段。
由于计算机的运算能力有限,多层网络训练困难,通常都是只有一层隐含层的浅层模型,虽然各种各样的浅层机器学习模型相继被提出,对理论分析和应用方面都产生了较大的影响,但是理论分析的难度和训练方法需要很多经验和技巧,随着最近邻等算法的相继提出,浅层模型在模型理解、准确率、模型训练等方面被超越,机器学习的发展几乎处于停滞状态。
新的机器学习算法面临的主要问题更加复杂,机器学习的应用领域从广度向深度发展,这对模型训练和应用都提出了更高的要求。随着人工智能的发展,冯·诺依曼式的有限状态机的理论基础越来越难以应对目前神经网络中层数的要求,这些都对机器学习提出了挑战。
从学科发展过程的角度思考机器学习,有助于理解目前层出不穷的各类机器学习算法。机器学习的大致演变过程如表1所示。
机器学习阶段 | 年份 | 主要成果 | 代表人物 |
---|---|---|---|
人工智能起源 | 1936 | 自动机模型理论 | 阿兰•图灵(Alan Turing) |
1943 | MP模型 | 沃伦•麦卡洛克(Warren McCulloch)、沃特•皮茨(Walter Pitts) | |
1951 | 符号演算 | 冯• 诺依曼(John von Neumann) | |
1950 | 逻辑主义 | 克劳德•香农(Claude Shannon) | |
1956 | 人工智能 | 约翰•麦卡锡(John McCarthy)、马文•明斯基(Marvin Minsky )、 克劳德•香农(Claude Shannon) | |
人工智能初期 | 1958 | LISP | 约翰•麦卡锡(John McCarthy) |
1962 | 感知器收敛理论 | 弗兰克•罗森布拉特(Frank Rosenblatt) | |
1972 | 通用问题求解(GPS) | 艾伦•纽厄尔(Allen Newell)、赫伯特•西蒙(Herbert Simon) | |
1975 | 框架知识表示 | 马文•明斯基(Marvin Minsky) | |
进化计算 | 1965 | 进化策略 | 英格•雷森博格(Ingo Rechenberg ) |
1975 | 遗传算法 | 约翰•亨利•霍兰德(John Henry Holland) | |
1992 | 基因计算 | 约翰•柯扎(John Koza) | |
专家系统和知识工程 | 1965 | 模糊逻辑、模糊集 | 拉特飞•扎德(Lotfi Zadeh) |
1969 | DENDRA、MYCIN | 费根鲍姆(Feigenbaum )、布坎南(Buchanan )、莱德伯格(Lederberg) | |
1979 | ROSPECTOR | 杜达(Duda) | |
神经网络 | 1982 | Hopfield 网络 | 霍普菲尔德(Hopfield) |
1982 | 自组织网络 | 图沃•科霍宁(Teuvo Kohonen) | |
1986 | BP算法 | 鲁姆哈特(Rumelhart)、麦克利兰(McClelland) | |
1989 | 卷积神经网络 | 乐康(LeCun) | |
1998 | LeNet | 乐康(LeCun) | |
1997 | 循环神经网络RNN | 塞普•霍普里特(Sepp Hochreiter)、尤尔根•施密德胡伯(Jurgen Schmidhuber) | |
分类算法 | 1986 | 决策树ID3算法 | 罗斯•昆兰(Ross Quinlan) |
1988 | Boosting 算法 | 弗罗因德(Freund)、米迦勒•卡恩斯(Michael Kearns) | |
1993 | C4.5算法 | 罗斯•昆兰(Ross Quinlan) | |
1995 | AdaBoost 算法 | 弗罗因德(Freund)、罗伯特•夏普(Robert Schapire) | |
1995 | 支持向量机 | 科林纳•科尔特斯(Corinna Cortes)、万普尼克(Vapnik) | |
2001 | 随机森林 | 里奥•布雷曼(Leo Breiman)、阿黛勒• 卡特勒(Adele Cutler ) | |
深度学习 | 2006 | 深度信念网络 | 杰弗里•希尔顿(Geoffrey Hinton) |
2012 | 谷歌大脑 | 吴恩达(Andrew Ng) | |
2014 | 生成对抗网络GAN | 伊恩•古德费洛(Ian Goodfellow) |
机器学习的发展分为知识推理期、知识工程期、浅层学习(Shallow Learning)和深度学习(Deep Learning)几个阶段。
知识推理期
知识推理期起始于 20 世纪 50 年代中期,这时候的人工智能主要通过专家系统赋予计算机逻辑推理能力,赫伯特·西蒙(Herbert Simon)和艾伦·纽厄尔(Allen Newell)实现的自动定理证明系统 Logic Theorist 证明了逻辑学家拉赛尔(Russell)和怀特黑德(Whitehead)编写的《数学原理》中的 52 条定理,并且其中一条定理比原作者所写更加巧妙。知识工程期
20 世纪 70 年代开始,人工智能进入知识工程期,费根鲍姆(E.A. Feigenbaum)作为知识工程之父在 1994 年获得了图灵奖。由于人工无法将所有知识都总结出来教给计算机系统,所以这一阶段的人工智能面临知识获取的瓶颈。浅层学习
实际上,在 20 世纪 50 年代,就已经有机器学习的相关研究,代表性工作主要是罗森布拉特(F. Rosenblatt)基于神经感知科学提出的计算机神经网络,即感知器,在随后的十年中浅层学习的神经网络曾经风靡一时,特别是马文·明斯基提出了著名的 XOR 问题和感知器线性不可分的问题。由于计算机的运算能力有限,多层网络训练困难,通常都是只有一层隐含层的浅层模型,虽然各种各样的浅层机器学习模型相继被提出,对理论分析和应用方面都产生了较大的影响,但是理论分析的难度和训练方法需要很多经验和技巧,随着最近邻等算法的相继提出,浅层模型在模型理解、准确率、模型训练等方面被超越,机器学习的发展几乎处于停滞状态。
深度学习
2006 年,希尔顿(Hinton)发表了深度信念网络论文,本戈欧(Bengio)等人发表了“Greedy Layer-Wise Training of Deep Networks”论文,乐康(LeCun)团队发表了“Efficient Learning of Sparse Representations with an Energy-Based Model”论文,这些事件标志着人工智能正式进入了深层网络的实践阶段,同时,云计算和 GPU 并行计算为深度学习的发展提供了基础保障,特别是最近几年,机器学习在各个领域都取得了突飞猛进的发展。新的机器学习算法面临的主要问题更加复杂,机器学习的应用领域从广度向深度发展,这对模型训练和应用都提出了更高的要求。随着人工智能的发展,冯·诺依曼式的有限状态机的理论基础越来越难以应对目前神经网络中层数的要求,这些都对机器学习提出了挑战。
所有教程
- C语言入门
- C语言编译器
- C语言项目案例
- 数据结构
- C++
- STL
- C++11
- socket
- GCC
- GDB
- Makefile
- OpenCV
- Qt教程
- Unity 3D
- UE4
- 游戏引擎
- Python
- Python并发编程
- TensorFlow
- Django
- NumPy
- Linux
- Shell
- Java教程
- 设计模式
- Java Swing
- Servlet
- JSP教程
- Struts2
- Maven
- Spring
- Spring MVC
- Spring Boot
- Spring Cloud
- Hibernate
- Mybatis
- MySQL教程
- MySQL函数
- NoSQL
- Redis
- MongoDB
- HBase
- Go语言
- C#
- MATLAB
- JavaScript
- Bootstrap
- HTML
- CSS教程
- PHP
- 汇编语言
- TCP/IP
- vi命令
- Android教程
- 区块链
- Docker
- 大数据
- 云计算