机器学习技术及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 机器学习简介

机器学习(Machine Learning)是人工智能(Artificial Intelligence,AI)时代的核心技术,被广泛应用于人类生活的各个领域,如个性推荐、垃圾邮件过滤、图像识别、无人驾驶、语音识别等。在理解机器学习概念之前,需要先了解目前IT行业的流行词汇:大数据、物联网、云计算、人工智能和深度学习(Deep Learning)。

● 大数据、物联网、云计算和人工智能。

在2017年12月举行的湘江大数据创新峰会上,徐宗本院士作了题为《再论大数据——在人工智能浪潮下对大数据的再认识》的报告,其提出了大数据与其他信息技术的关系:物联网是“交互方式”,云计算是“基础设施”,人工智能是“场景应用”,大数据是“交互内容”。大数据的存储、处理需要云计算等基础设施的支撑,大数据的价值发现需要高效的人工智能方法;云计算让人工智能服务无处不在、触手可及,云计算需要海量数据的处理能力来证明自身的价值;人工智能技术的进步离不开云计算能力的不断增长,人工智能的自学习需要海量数据的输入;物联网连接的终端设备不断产生海量数据,人工智能技术发展提升终端设备的智能化水平。大数据、物联网、云计算和人工智能的逻辑关系图如图1-1所示。

图1-1 大数据、物联网、云计算和人工智能的逻辑关系图

● 人工智能、机器学习和深度学习。

人工智能主要研究人类智能活动的规律,构造具有一定智能的人工系统,研究如何让计算机完成以往需要人的智力才能胜任的工作。人工智能就是研究如何应用计算机的软硬件来模拟人类某些智能行为的基本理论、方法和技术。

机器学习专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。机器学习是人工智能的核心,是计算机具有智能的根本途径。

深度学习的概念源于人工神经网络(简称神经网络)的研究,深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。含多隐层的多层感知器就是一种深度学习结构。

由上述内容可知,深度学习是机器学习的一个子集,机器学习是人工智能的一个子集,三者的关系如图1-2所示。

图1-2 人工智能、机器学习和深度学习的关系

1.1.1 机器学习的基本概念

机器学习最早的定义是由麻省理工学院工程师亚瑟·塞缪尔(Arthur Samuel)于1956年提出的,他将机器学习描述为“在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域”。亚瑟·塞缪尔设计了一个西洋棋程序,让计算机和自己下了成千上万盘棋,最终这个程序的棋艺越来越好,甚至远远超过了他本人。亚瑟·塞缪尔让他的程序比他更会下棋,但他并没有明确地教程序具体应该怎么下,而是让它自学成材。图1-3为亚瑟·塞缪尔与计算机下棋。

图1-3 亚瑟·塞缪尔与计算机下棋

上述是较为古老的机器学习定义。1998年,卡内基梅隆大学的汤姆·米歇尔(Tom Mitchell)将机器学习定义为:对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而不断自完善,那么称这个计算机程序在从经验E学习。由该定义可知,学习的三要素为任务(Task)、性能度量(Performance)和经验(Experience),计算机程序决定如何利用经验来完成任务,并且保证随着经验的增加,能够更好地解决问题。

科学百科词条上是这样定义机器学习的:“机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。”

要真正理解机器学习的含义,需要从机器学习的发展历史讲起。

1.1.2 机器学习的发展历史

机器学习是人工智能的重要分支,机器学习的发展离不开人工智能的发展,图1-4为人工智能发展进程,人工智能的发展经历了三个阶段:推理期、知识期学习期

20世纪50年代到70年代初,人工智能研究处于“推理期”,其主流技术是基于符号知识表示的演绎推理技术。当时人们认为只要给机器赋予逻辑推理能力,机器就能具有智能。

图1-4 人工智能发展进程

其中最具代表性的是纽厄尔(A.Newell)和西蒙(H.A.Simon)的“逻辑理论家”程序,其证明了著名数学家Russell和Whitehead所著的《数学原理》中的第38条原理,此后还证明了所有52条原理,纽厄尔和西蒙也因此获得了1975年的图灵奖。图1-5为纽厄尔和西蒙。

20 世纪50年代中后期,基于神经网络的“连接主义”学习开始出现,具有代表性的是罗森布拉特(F.Rosenblatt)的感知器(Perceptron)。单层感知器是最简单的神经网络,它包含输入层和输出层,神经元突触权值可变,但单层感知器只能处理线性分类问题,处理不了“异或”逻辑,这导致连接主义的研究出现低潮,单层感知器模型如图1-6所示。

图1-5 纽厄尔和西蒙

图1-6 单层感知器模型

20世纪70年代中期,人工智能进入“知识期”,大量专家系统问世,专家系统就是利用某个领域一个或多个专家的知识和经验进行推理和判断,模拟人类专家决策过程,以便解决某个领域的复杂问题。1965年,费根鲍姆(E.A.Feigenbaum)等人在总结通用问题求解系统成功与失败经验的基础上,结合化学领域的专门知识,研制出了世界上第一个专家系统DENRAL。费根鲍姆认为知识本身不是力量,只有被人所发掘和掌握,才能生成力量。图1-7是费根鲍姆。

图1-7 费根鲍姆

我国的第一个专家系统“关幼波肝病诊断与治疗”是1978年研制成功的。但是,专家系统面临“知识工程瓶颈”,这主要表现在专家系统的知识获取阶段,以及人们如何将总结出来的知识教给计算机。

20世纪80年代中后期,人工智能进入“学习期”,这时机器学习作为一支独立的力量登上了历史舞台。在此之后的10年里出现了一些重要的方法和理论,如分类回归树、反向传播算法和卷积神经网络。分类回归树(Classification and Regression Tree)由布赖曼(L.Breiman)、弗里德曼(J.Friedman)等人于1984年提出,分类回归树是一种决策树,是用于预测建模的一种重要的算法类型。反向传播算法最早是由韦伯斯(Werbos)于1974年提出的,1985年鲁姆哈特(Rumelhart)等人发展了该理论。反向传播算法是一种与梯度下降法结合使用,用来训练人工神经网络的方法,该方法对神经网络中的权重计算损失函数的梯度,用来更新权重以最小化损失函数。卷积神经网络(Convolutional Neural Network,CNN)是一种具有深度结构的前馈神经网络。最早的卷积神经网络可以追溯到1962年休伯尔(Hubel)和维厄瑟尔(Wiesel)对猫大脑中的视觉系统的研究。1980年,日本科学家福岛邦彦提出了一个包含卷积层、池化层的神经网络结构。1987年,Alexander Waibel等提出了时间延迟网络(Time Delay Neural Network,TDNN),TDNN是一个应用于语音识别的卷积神经网络。1988年,Wei Zhang提出了平移不变人工神经网络(SIANN),并将其应用于检测医学影像。1998年,杨立昆(Yann LeCun)提出了更加完备的卷积神经网络LeNet-5,LeNet-5在原有设计中加入池化层对输入特征进行筛选。图1-8是杨立昆。

图1-8 杨立昆

20世纪90年代,机器学习的理论和方法得到完善和发展,重要成果有支持向量机(SVM)、循环神经网络(RNN)、随机森林等。支持向量机是由万普尼克(Vapnik)于1995年提出的,它是一种按监督学习方式对数据进行二元分类的广义线性分类器,在模式识别领域得到了广泛应用。循环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递归神经网络。随机森林是利用多棵树对样本进行训练并预测的一种分类器,最早是由Leo Breiman和Adele Culter提出的。

2006年,神经网络研究泰斗辛顿(Hinton)提出了神经网络深度学习模型。图1-9为辛顿。

深度学习模型指出:多隐层的人工神经网络具有良好的特征学习能力,可通过逐层初始化来降低训练的难度,实现网络整体调优。这个模型开启了机器学习的新时代,深度学习在多个领域取得了重大成就,如谷歌翻译、苹果的语音工具Siri,特别是2016年3月,谷歌的AlphaGo与围棋世界冠军李世石进行围棋大战,最终以4∶1的总分获胜。图1-10为AlphaGo与李世石对弈。

图1-9 辛顿

图1-10 AlphaGo与李世石对弈