- Python机器学习实践
- 张建伟等
- 1660字
- 2023-07-17 19:56:35
1.1.2 机器学习发展史
机器学习作为实现人工智能的主流方法,不断吸引学术界和工业界投入了大量时间和精力去提高机器学习算法的性能,由此产生出很多实用的经典算法,这些算法被成功应用在各个领域。最早的机器学习算法可以追溯到20世纪初,经过几十年的发展,机器学习算法的发展大致可划分为以下几个阶段。
1.萌芽期
1943年,心理学家W. Mcculloch和数理逻辑学家W. Pitts在发表的论文中提出了MP模型。MP模型模仿神经元的结构和工作原理,是一种模拟人类大脑的神经元模型。MP模型作为人工神经网络的起源,开创了人工神经网络的新时代,也奠定了神经网络模型的基础。1949年,加拿大著名心理学家Donald Olding Hebb提出了神经心理学理论,随后,又提出了一种基础的无监督学习规则——Hebb Rule,为神经网络学习算法的发展奠定了重要基础。
1958年,美国科学家P. Rosenblatt提出了由两层神经元组成的神经网络——Perceptron,即感知机,可解决输入的数据线性二分类问题,从而激发科学家对人工神经网络研究的兴趣,对神经网络的发展起到了里程碑的意义。
但由于感知机算法无法解决线性不可分问题,导致人工神经网络的发展陷入停滞。这个时期,基于知识推理的智能理论与技术仍在不断发展,各种各样的知识库+推理机的专家系统被提出,并在特定领域取得了许多成果。
2.发展期
1963年,层次聚类算法被提出,这是一种非常符合人的直观思维的算法。1967年,J. B.MacQueen提出了k均值聚类算法。1968年,Cover和Hart提出了k近邻算法,计算机可以简单的模式识别,但它没有显式的机器学习过程。
1983年,著名物理学家J. J. Hopfield提出了神经网络模型,它可以模拟人类的记忆,并利用该算法求解“流动推销员问题”这个NP难题。但由于该算法存在容易陷入局部最小值的缺陷,因此并未在当时引起很大的轰动。
1983年,Terrence Sejnowski和Hinton等人发明了玻尔兹曼机(Boltzmann Machines),它本质是一种无监督模型,首次提出的多层网络的学习算法,用于对输入数据进行重构以提取数据特征来做预测分析。
1986年,人工智能专家J. Ross Quinlan提出了著名的ID3算法,通过减少树的深度加快算法的运行速度。同年,D. E. Rumelhart等人提出了BP算法,BP算法一直是被应用得最广泛的机器学习算法之一。
这期间,决策树的3种典型算法ID3、CART、C4.5也陆续被提出。
20世纪90年代是机器学习百花齐放的年代。1995年,支持向量机(SVM算法)和AdaBoost算法被提出。SVM算法以统计学为基础,解决了非线性问题的分类问题,与之相应地,神经网络则黯然失色,SVM算法的提出再次阻碍了深度学习的发展。AdaBoost算法通过将一些简单的弱分类器集成起来使用,构建强分类器,使精度获得很大提升,代表了集成学习算法的胜利。
2001年,Breiman把决策树组合成随机森林,通过汇总分类树的结果,提高了预测精度。
3.蓬勃期
21世纪初,机器学习在各个领域都取得了突飞猛进的发展,特别是以连接主义学派为代表的深度学习技术更是所向披靡,在各个领域取得了非凡的成就,由此掀起了以“深度学习”为名的热潮。云计算和GPU并行计算为深度学习的发展提供了基础保障。
2006年,Geoffrey Hinton团队在《科学》杂志上发表了一篇关于“梯度消失”问题解决方案的论文,提出了深度学习概念,产生了巨大影响,并激发学术界和工业界进行深度学习领域的相关研究。Geoffrey Hinton也因此被称为深度学习之父。
2012年,在著名的ImageNet图像识别大赛中,Geoffrey Hinton和他的学生Alex Krizhevsky设计的CNN网络AlexNet在ImageNet竞赛上大获全胜,力压第二名SVM方法的分类性能,这次出色的表现引爆了神经网络的研究热情。
2013年,Google的Tomas Mikolov提出了经典的Word2Vec模型,用来学习单词分布式表示,因其简单高效引起了工业界和学术界极大的关注。
2014年,Facebook基于深度学习技术的DeepFace在人脸识别方面的准确率已经能达到97%以上,跟人类识别的准确率几乎没有差别。
2016年,由Google基于深度学习开发的AlphaGo以4∶1击败世界围棋冠军李世石,随后,该程序与中日韩数十位围棋高手进行快棋对决,连胜60局无败绩。
2017年,基于强化学习算法的AlphaGo升级版AlphaGo Zero横空出世,无一败绩地轻松击败了之前的AlphaGo。除了围棋,它还精通国际象棋等其他棋类游戏。此外,深度学习的相关算法在医学、机器翻译、新闻推荐、无人驾驶等多个领域均取得了骄人的成就。
机器学习在各个发展阶段具有代表性的算法如图1-5所示。
图1-5 机器学习在各个发展阶段具有代表性的算法