人工智能导论
上QQ阅读APP看书,第一时间看更新

2.1
认识机器学习

人工智能近年来在人机博弈、计算机视觉语音处理等诸多领域都获得了重要进展,在人脸识别、翻译等领域已经达到甚至超越了人类的一般水平。尤其是在举世瞩目的围棋“人机大战”中,AlphaGo以绝对优势先后战胜世界围棋冠军李世石和柯洁,让人类领略到了人工智能技术的巨大潜力。近年来人工智能技术所取得的成就,除计算能力的提高及海量数据的支撑外,很大程度上得益于机器学习理论和技术的进步。

机器学习的算法很多,常用算法有支持向量机、神经网络、线性回归、K均值聚类(K-means)等。机器学习常用算法如图2-1所示。

图2-1 机器学习常用算法

当然,除了上图中的常用算法外,机器学习的研究方向还有半监督学习、强化学习等。

2.1.1
机器学习的定义

机器学习是一个多学科交叉领域,涵盖计算机科学、概率论等知识。对“机器学习”的定义尚未统一,也很难给出一个公认和准确的定义,目前有下面几种定义。

(1)机器学习是人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。

(2)机器学习是对能通过经验自动改进的计算机算法的研究。

(3)机器学习是用数据或以往的经验,来优化计算机系统性能的研究。

简单地按照字面意思理解,机器学习的目的是让机器能像人一样具有学习能力。

机器学习领域的奠基人之一、美国工程院院士Tom Mitchell教授在撰写的经典教材《机器学习》中所给出的机器学习定义如下。

对于某类任务T和性能度量P,一个计算机程序被认为可以从经验E中学习,是指通过经验E改进,让它在任务T上由性能度量P衡量的性能有所提升。这里的经验对应历史数据,计算机程序可理解为机器学习的算法模型(如线性回归、决策树等),性能是指模型对新数据的处理能力(如准确率等)。

进一步说,机器学习致力于研究如何通过计算的手段,利用经验改善自身的性能,其根本任务是数据的智能分析与建模,进而从数据中挖掘出有价值的信息。随着计算机、通信、传感器等信息技术的飞速发展,信息以指数级迅速增长。机器学习技术是从数据中挖掘出有价值的信息的重要手段,它通过对数据进行建模,然后估计模型的参数,从而从数据中挖掘出对人类有用的信息。

人类在生活中积累了许多经验,对这些经验进行归纳,可以得到一些规律,用于对将来进行推测,如图2-2所示。机器学习的“训练”与“预测”过程可以对应到人类的“归纳”和“推测”过程,如图2-3所示。

图2-2 人类从经验中学习

图2-3 机器学习的基本过程

机器学习中,我们通过训练数据进行机器学习算法的模型训练,训练得到的模型可以用于对新的数据(测试数据集)进行处理(预测)。“训练”产生“模型”,“模型”指导“预测”。

2.1.2
机器学习发展历程

早在古代,人类就萌生了制造智能机器的想法。例如,传说中黄帝发明的指南车,以及三国时期诸葛亮发明的木牛流马;日本人在几百年前制造出靠机械装置驱动的玩偶;英国公使给乾隆皇帝进贡了一个能写“八方向化,九土来王”8个汉字的机械钟(这个机械钟至今还保存在故宫博物院),等等。这些例子,都只是人类早期对机器学习的初步尝试。

真正的机器学习研究起步较晚,它的发展过程大体上可分为以下4个阶段:第一阶段是从20世纪50年代至60年代,属于热烈时期;第二阶段是从20世纪60年代至70年代,称为机器学习冷静期;第三阶段是从20世纪70年代至80年代,为机器学习复兴期;第四阶段为1986年至今,为机器学习广泛应用期。

第二阶段的研究目标是模拟人类的概念学习过程,并采用逻辑结构或图结构作为机器内部描述。该阶段的代表成果有温斯顿的结构学习系统和海斯·罗特等的基本逻辑的归纳学习系统。第三阶段人们从学习单个概念扩展到学习多个概念,探索不同的学习策略和方法,且该阶段已开始把学习系统与各种应用结合起来,并取得了很大的成功,促进了机器学习的发展。1980年召开了第一届机器学习国际研讨会,标志着机器学习研究已在全世界兴起。

第四阶段起始于1986年。当时,机器学习综合应用于心理学、生物学、神经生理学及数学、自动化和计算机科学,并形成了机器学习理论基础。此外,机器学习与人工智能各种基础问题的统一性观点正在形成,各种学习方法的应用范围不断扩大,同时出现了商业化的机器学习产品。

在机器学习的发展道路上,值得一提的是世界人工大脑之父雨果·德·加里斯教授。他创造的CBM大脑制造机器可以在几秒钟内进化成一个神经网络,可以处理近1亿个人工神经元,它的计算能力相当于10000台个人计算机。2000年,人工大脑可以控制“小猫机器人”的数百个行为能力。

2010年以来,谷歌、微软等巨头加快了对机器学习的研究,并且已经尝到了机器学习商业化带来的甜头,国内很多知名公司也纷纷效仿。阿里巴巴为应付大数据时代带来的挑战,已经在自己的产品中大量应用机器学习算法;百度、搜狗等已拥有能与谷歌竞争的搜索引擎,其产品中也融合了机器学习知识;360安全卫士所属的奇虎公司也意识到了机器学习的意义所在。这些大公司纷纷表现出对机器学习研发工程师的渴求。近几年正是机器学习知识在国内软件工程师群体中普及的黄金时代,也给软件工程师进入机器学习这一行业带来了机遇。

2.1.3
机器学习算法的分类

机器学习的算法很多,可分为监督学习和无监督学习两大类,当然还可以扩展出半监督学习、迁移学习、强化学习等方向。

1.监督学习

监督学习是机器学习的一种常见学习类型,该类型的特点是给定学习目标(又称标签、标注、实际值等)。监督学习就是在已知输入输出的情况下训练出一个模型,将输入映射到输出。

根据预测的目标值是离散的还是连续的,又可将监督学习分为分类和回归。分类任务的目标值是离散的,如预测是否会下雪,预测结果要么是下雪,要么是不下雪,只有这两个类别;而回归任务的预测结果是连续的,如预测某支股票的开盘价。

分类是监督学习的一个分支,其目的是根据过去的结果来预测新样本的分类标签,分类标签是离散的且无序的值。如预测明天是否会下雨,预测的结果只有两种类别,因此这类任务称为二分类任务。如果预测的结果有两种以上的类别,则称此类任务为多分类任务,如识别0~9的数字,共有10种预测结果。多分类示意图如图2-4所示。

图2-4 多分类示意图

解决分类任务的常见算法包括逻辑回归、决策树、随机森林、KNN(K-最近邻算法)、支持向量机、朴素贝叶斯、人工神经网络等。

监督学习中,对连续结果的预测称为回归。在回归分析中,数据集是给定一个函数和它的一些坐标点,然后通过回归的算法来估计原函数的模型,求出一个最符合这些已知数据集的函数解析式,然后就可以用它来预估其他未知的数据了。当输入一个自变量时,系统就会根据这个模型解析式输出一个因变量,这些自变量就是特征向量,因变量就是标签,而且标签的值是建立在连续范围内的。例如,预测明天的气温是多少度,这是一个回归任务。

回归的常用算法包括线性回归、AdaBoosting等。回归示意图如图2-5所示。

图2-5 回归示意图

2.无监督学习

无监督学习,顾名思义,就是不受监督的学习。与监督学习相比,无监督学习不需要人为进行数据标注,而是模型不断地进行自我认知、自我巩固,最后通过自我归纳来进行学习。无监督学习的模型包括聚类、降维等。

“物以类聚,人以群分”,聚类是指将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的其他对象彼此相似,与其他簇中的对象相异。聚类的方法多种多样,常见的有K-means算法、BlRCH算法、DBSCAN算法等。聚类示意图如图2-6所示。

图2-6 聚类示意图

降维也属于无监督学习。高维数据对系统资源和算法性能常常是一大挑战。降维常被用于特征预处理中的数据去噪,在降低维度的同时又保留大部分的重要信息。降维既可以节省空间,又可以减少算法计算时长。事实上,有一些算法如果没有经过降维预处理,是很难获得好效果的。最常用的降维方法为主成分分析算法(PCA)。

3.半监督学习

在现实生活中,无标签的数据收集成本低廉,有标签的数据收集通常很困难,并且标注数据也耗时耗力。因此,半监督学习更适合在现实世界中应用,近年来也已成为深度学习领域热门的新方向。该方法只需要少量有标签的样本和大量无标签的样本,就可以实现较高准确性的预测。

4.迁移学习

迁移学习是另一种比较重要的机器学习方法,强调将已经学习过的知识应用到新的问题中。随着硬件和算法的发展,缺乏有标签数据的问题逐渐凸显出来。不是每个领域都会像lmageNet那样用人工标注来产出数据,尤其是工业界,每时每刻都在产生大量的新数据,标注这些数据是一件耗时耗力的事情。如果我们能将在有标注的数据上训练得到的模型有效地迁移到无标注数据上,将会产生重要的应用价值,这促进了迁移学习的发展。

在迁移学习中,已有的知识叫作源域,要学习的新知识叫目标域,源域和目标域不同,但有一定关联,我们需要减小源域和目标域的差异,进行知识迁移,从而实现数据标定。

5.强化学习

强化学习(Reinforcement Learning, RL)又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一。强化学习研究的是智能体与环境之间进行交互的任务,也就是让智能体像人类一样通过试错,不断地学习,在不同的环境下做出最优的动作。不同于监督学习数据集都给定了标签,强化学习是一个连续决策的过程,需要不断地尝试来发现各个动作产生的结果。强化学习需要我们设置合适的奖励函数,使机器学习模型在奖励函数的引导下自主学习相应的决策。强化学习的目的就是在与环境不断交互的过程中,学到一种行为策略以使累积的奖励最大化。

强化学习的相关算法理论最早可以追溯到20世纪七八十年代,最近几年才引起了学术界和工业界的广泛关注。最具影响力的事件是AlphaGo利用强化学习算法在围棋比赛中高分击败了冠军李世石,自此,人们开始意识到强化学习的魅力和实力。如今,强化学习在电子游戏、机器人等领域表现优异,谷歌、亚马逊、Facebook、百度、微软等各大科技公司也将其作为重点发展技术之一。谷歌研发了基于强化学习的YouTube视频推荐算法,亚马逊与英特尔合作,发布了一款强化学习实体测试平台AWS DeepRacer。强化学习是通用人工智能的关键发展路径。

2.1.4
机器学习的基本流程

一般来说,机器学习流程大致分为以下几步。

(1)数据收集与预处理。例如,新闻中会掺杂很多特殊字符和广告等无关因素,要先把这些剔除掉。除此之外,可能还会对文章进行分词、提取关键词等操作,这些在后续案例中会进行详细分析。

(2)特征工程,也叫作特征抽取。例如,有一段新闻,描述“科比职业生涯画上圆满句号,今天正式退役了”。显然这是一篇与体育相关的新闻,但是计算机可不认识科比,所以还需要将人能读懂的字符转换成计算机能识别的数值。这一步看起来容易,做起来就非常难了,如何构造合适的输入特征也是机器学习中非常重要的一部分。

(3)模型构建(学习函数)。这一步只要训练一个分类器即可,当然,建模过程中还会涉及很多调参工作,随便建立一个模型很容易,但是要想将模型做得完美还需要大量的实验。

(4)评估与预测。最后,模型构建完成就可以进行判断预测,一篇文章经过预处理再被传入模型中,机器就会告诉我们按照它所学的数据得出的是什么结果。