购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 机器学习的类型

对所关注的问题进行分类,是理清逻辑关系、理解问题的基本方法,机器学习同样可依据不同原则分为不同类型。

1.2.1 基本分类

可以从不同方面对机器学习进行分类,以下介绍几种基本分类。

1.针对数据的可用信息进行分类

由于机器学习的本质是从数据中学习,故数据的可用信息尤为重要,根据数据可提供的信息分类,是机器学习最主要的一种分类方式。目前,根据数据集的可用信息可将机器学习分为监督学习(supervised learning)、无监督学习(unsupervised learning)、半监督学习(semi-supervised learning)和强化学习(reinforcement learning),也可将后两者归为弱监督学习(weakly supervised learning)。图1.2.1给出了这种分类的关系图。

图1.2.1 机器学习的分类

在用机器学习解决一个实际问题时,首先要从已发生的或可采样的环境中收集针对该问题的数据,然后对这些数据进行预处理,包括进行人工标注。对于 监督学习 ,可得到如下的数据集形式:

数据集中的每一个成员( x i y i )代表一个样例,称为一个样本,下标 i 表示样本的序号,故这个数据集也称为样本集。

去掉下标用符号( x y )作为样本的一般表示,这称为一个样本元。这里 x 称为特征向量,是对样本的输入表示。例如,在垃圾邮件检测的机器学习系统中,样本来自收集的大量电子邮件,为了数字化地处理这些邮件,可定义一个词汇表,这些词汇对判断一封邮件是否为垃圾邮件起作用。在垃圾邮件检测问题中,特征向量 x 的每个分量对应词汇表中的一个词, x k 分量 x k 对应词汇表的第 k 个词,若该词出现在邮件中则 x k =1,否则 x k =0,这样的 x 表示了一封邮件的特征,即词汇表中哪些词出现在该邮件中。若要求更细致的表示特征,则 x k 可以表示对应词汇在邮件中出现的次数。

在不同机器学习系统中, x 取自原始样本的方式不同。例如,在语音识别中,原始样本是记录的一段语音信号,由于用向量表示原始样本的维数很高,一些系统通过降维处理或通过人工预处理得到表示该段语音的重要特征表示的向量。有些深度学习系统可将原始录音适当预处理(例如归一化等),构成高维向量来表示语音信号。由于构成 x 有多种不同方式,为了叙述统一起见,对其使用统一的名词“特征向量”,也可称为输入向量。尽管在一些应用中,特征向量可能是矩阵或张量,如图像或视频序列,但在原理和算法叙述中,用向量作为一般表示并不失一般性。

样本元( x y )中的第2个元素 y 则更体现监督学习的特点。 y 称为标注(lable),它告诉机器学习系统特征向量 x 代表的是什么。例如,在垃圾邮件检测中,对于一个样本( x i y i ), x i 表示该邮件的特征向量, y i 则标明它是垃圾邮件还是正常邮件,在这种情况下 y i 是个标量, y i =1表明该邮件是垃圾邮件, y i =0表明是正常邮件。通过标注,样本集式(1.2.1)被赋予了更多信息,这就相当于在教室里学习, x i 代表老师写在黑板上的一个字, y i 相当于老师告诉我们这个字读什么,故监督学习也称为有教师的学习。

监督学习的任务就是设计学习算法,利用带有标注的数据集,通过学习过程得到一个数学模型

注意,式(1.2.2)的数学模型是广义的函数形式,其可能是一个显式的数学函数,也可能是概率公式,还可能是一种树型的决策结构,在具体模型中 h x )有其确定的形式。

监督学习可以分为两个阶段,一是学习过程(或称训练过程),一是预测或推断过程。在学习过程中,使用式(1.2.1)所示的带标注的数据集,得到式(1.2.2)所示的函数;在推断过程中,给出新的特征向量 x ,代入式(1.2.2)计算出对应的结果。例如,在垃圾邮件检测系统中,通过数据集训练得到一个如式(1.2.2)的模型,当邮件服务器收到一封新邮件时,它抽取新邮件的特征 x ,代入式(1.2.2)判决是否为垃圾邮件。在多数的机器学习系统中,学习过程往往非常耗时,但推断过程的计算往往更简单,从计算资源开销角度讲,训练过程和预测过程是不平衡的。

对于无监督学习,数据集不带标注,即数据集的形式为

由于没有标注,并不知道 x i 对应的是什么,与监督学习对比相当于没有“教师”这一项参与学习过程。无监督学习需要从数据自身发现一些现象或模式,一般无监督学习没有统一的很强的目标,但有一些典型的类型,如聚类(clustering)、降维与可视化、密度估计、隐变量因子分析等。

聚类是无监督学习最为常见的一类,指从数据中发现聚集现象,分别聚集成多个类型,每个类型有一些同质化的性质。例如,人口调查的数据可进行聚类分析,对于各类找出一些共同的特征(属性)。降维是另一种常见的无监督学习方法,例如主成分分析(PCA),可将输入的高维向量用一个低维向量逼近,用低维向量替代高维向量作为机器学习后续处理的输入,好的降维方法引起的对后续学习过程性能的降低不明显。降维的另一种应用是可视化,高维数据无法用图形查看,将高维数据降维为二维或三维数据,可通过图形显示数据集,从而得到直观的感受。一般假设式(1.2.3)的数据集来自一个联合概率密度函数 p x ),但是并不知道这个概率密度函数是什么,可以通过样本集估计概率密度函数。

可认为 半监督学习 是处于监督学习和无监督学习之间的一种类型。对样例进行标注大多需要人工进行,有些领域的样本需要专家进行标注,标注成本高、耗费时间长,故一些样本集中只有少量样本有标注,而其他样本没有标注,对于这样的样本集需要半监督学习方法。

半监督学习大多结合监督学习和无监督学习方法。以分类为例,图1.2.2给出了一个仅有少量标注的样本集示例,这里特征向量是二维的,三角和方形代表有标注的样本,并分别表示不同类型,黑圆点表示无标注样本。假设这是一个二分类的例子,首先用无监督聚类算法将样本分为两簇,然后每一簇中标注样本的类型可表示这一簇的类型,该例中用叉号表示的新样本与三角样本在同一簇,故分为三角代表的类。实际情况可能比这个例子更复杂,这里只是说明半监督学习的一种直观思想。由于本书的导论性和篇幅限制,后续章节不再进一步讨论半监督学习问题,有兴趣的读者,可参考有关文献,例如文献[9]。

图1.2.2 半监督学习的样本示例

强化学习 研究智能体如何基于对环境的认知做出行动来最大化长期收益,是解决智能控制问题的重要机器学习方法。

这里通过一个例子给出对强化学习的直观理解。例如,训练一个智能体与人类对抗玩一类游戏,游戏的每一步可能会得分或失分,把得分值作为一种奖励。由于奖励只能评价动作的效能,并不能直接指导智能体怎样做下一步动作,并且奖励的长期积累(长期收益)决定游戏的最终输赢。起始时智能体的策略可能为随机动作,不太可能赢得游戏,需要不断试错以改进策略,从而找到在各种游戏状态下动作的最优选择,即最优策略。在强化学习的过程中,尽管奖励和长期收益可能指导最终学习到好的策略,但是奖励本身只是一种评测,并不能直接指导下一步该怎么做(对比监督学习,监督学习的标注会指出在每一状态该如何动作),与监督学习相比,强化学习的监督力是弱的。

在以上游戏的例子中,每一步都有奖励,有一些应用中,奖励是非常稀疏的。例如,在棋类游戏中,只有当胜负发生时才有奖励。中间步骤若给出奖励可能会误导,譬如象棋,若每吃掉对方的棋子就给予奖励,则智能体为了短期的收益倾向于快速吃掉对方的棋子但最终却输棋,因此棋类游戏往往到最后胜负才有奖励,当前行动的影响要延迟很多步才能评价,这样的情况监督性就更弱了。从这种意义上看,强化学习是一种弱监督学习。尽管弱监督,但强化学习更像人类在实践中的学习过程,是机器学习中非常有前景的一类学习方法。尽管有其他技术的辅助,战胜国际围棋九段顶尖高手的强大的AlphaGo及后续的AlphaZero的核心是强化学习。

图1.2.3是强化学习的原理图。假设在时刻 t =1,2,…,环境所处的状态表示为 s t ,智能体在当前状态执行一个动作 a t ,环境跳转到了新的状态 s t +1 ,并反馈给智能体一个奖励 r t +1 。这个闭环过程在长期收益最大化原则的指导下,寻找到好的甚至最优或接近最优的策略。第12章将给出强化学习的更详细的介绍。

图1.2.3 强化学习的原理图

这些类型并不是相互无关的,一些复杂的系统可能包括多类的成分,类型之间也相互结合。例如,强化学习在相当长时期内是机器学习一个相对独立的分支,但近期的深度强化学习就以监督学习中的深度神经网络作为其重要组成部分。介绍类型的区分主要是为了在学习过程中用比较清晰的主线进行叙述,同时在介绍中逐步引出一系列主要术语,但不要被类型束缚住思维。

2.针对模型类型进行分类

如前所述,机器学习的目标是学习得到一个如式(1.2.2)所示的模型。尽管式(1.2.2)是在监督学习的情况下写出的,但由于该式是一个广义的函数形式,故对其他类型如无监督学习或强化学习等也适用。这样的机器学习模型有两种典型类型:参数模型和非参数模型。

参数模型 是指在数学模型的表示中,显式地由一组参数表示该模型,当模型参数的数目和取值都确定了,该模型也就确定了。故可将式(1.2.2)的一般模型专门化为如下参数模型表示:

这里 w 表示模型的参数。为了叙述的一致性,一般用向量代表所有参数,在具体算法中参数可以是标量、矩阵或张量。分号“;”隔开 x w ,表示 x 是函数的自变量, w 只是参数。在学习阶段确定 w ,在推断阶段参数是确定的。

为了易于理解,看一个简单线性模型的例子。设 x K 维向量, x =[ x 1 x 2 ,…, x K ] T ,需要训练的模型表示为

其中, =[1, x 1 x 2 ,…, x K ] T x 的增广向量。这里输出 带“ ^ ”符号表示这是学习得到的模型而不是问题的精确表示。

式(1.2.5)是一个极简单的参数模型,称为线性回归模型。使用样本集通过学习过程确定参数 w ,则式(1.2.5)的模型就确定了,之后给出新的 x ,就可以计算相应结果。在该例中, x 的维数 K 确定后,模型参数 w K +1个分量是确定的,学习过程就是获得这些参数的最优或接近最优的取值,一旦参数确定了,这个模型就确定了。

目前机器学习中有许多非常复杂的参数模型,例如深度神经网络(deep neural network,DNN)通过多层复合函数表示模型,可能具有超过百万数量的参数。即使如此复杂,一旦一个网络结构确定了,其参数数目和作用就确定了,尽管通过学习确定这些深度模型参数的算法比式(1.2.5)模型参数的计算复杂得多,但参数的作用与式(1.2.5)并无区别。

非参数模型 与参数模型相比,模型不是显式地依赖固定的参数集。不是说非参数模型就完全没有参数,而是不显式地依赖一组固定的参数。

目前机器学习常用的模型中,既有参数模型也有非参数模型。像线性回归、逻辑回归和神经网络等是参数模型,而 K 近邻算法则是非参数模型,决策树可以看作非参数模型。

3.针对模型的确定性进行分类

如前所述,式(1.2.2)的模型是一个广义的函数,一种情况是对于新的特征向量 x 计算得到确定的 y ,这是一种 确定性模型 ;另一种情况是式(1.2.2)模型计算的是在 x 确定的条件下, y 的一种概率表示。有两类常用的概率表示,一类是 x 作为条件时 y 的条件概率,另一类是 x y 的联合概率,这是一种 概率模型 ,由概率模型得到最终结果往往需要一个决策过程,将在第2章介绍机器学习中的决策过程。

通过学习得到确定性模型后,其推断过程简单,但在一些应用中,确定模型可能过于武断,例如病情诊断,确定性模型会输出有病或没病,但是在诊断过程尤其初始诊断过程中很难有这种确定性结论。而概率模型会给出有病的概率,例如0.99概率有病比0.6的概率有病给出的信息量要更丰富。

在机器学习中,确定性模型和概率模型都在使用,各自有其优缺点,需要根据实际问题选择。

4.针对样本处理方式进行分类

按数据集使用方式进行分类,可有批处理方式、增量式方式和在线学习(online learning)。这是实现层面的问题,这里只简略说明。所谓批处理方式是将完整样本集一次性使用进行训练的方式,而增量式方式每次只取出一个样本或一小批量样本进行训练,对完整样本集的使用是按序列方式或递推方式进行的。

一般来讲,在小规模问题中可选择批处理或增量式方式。例如,在小规模样本的线性回归模型的学习中,可用批处理方式利用闭式公式直接得到最优解;在小规模样本和只有一个隐藏层的小规模神经网络的训练中,可批处理使用全部样本计算梯度,然后用梯度下降法迭代最优解,也可增量式采用单样本或小批量样本计算随机梯度,利用随机梯度法迭代求解。对于大规模问题,为了计算上的方便和算法的有效性,一般采用增量式实现。

在线学习的基本思想是在边采样数据边学习的环境下的一种学习方式,是一种增量式方式。严格来讲,在线学习有其专指的含义,但本书中不对增量式和在线学习区分。

对一个具体的机器学习算法,本小节介绍的各种类型可组合,例如神经网络分类系统是参数模型的监督学习,输出是类型的后验概率;线性回归是参数模型的监督学习,输出是确定值; K 均值聚类是无监督学习,输出是确定性的,但基于混合高斯模型的软聚类属于无监督学习,可输出聚类的后验概率。

1.2.2 监督学习及其功能分类

监督学习是占本书最大篇幅的一类学习方法,也是目前应用最广泛的学习方法,本小节从监督学习的角度对机器学习的各种功能类型再做一些说明。

监督学习从功能上讲,主要有3种类型:分类、回归和排序。

分类 是使用最广泛的一类功能(注意,这里的“分类”是指一种功能,与本节前述的机器学习类型的“分类”用了同一个词)。当需处理的对象可分为数目有限的类型时,面对的就是分类问题。例如,垃圾邮件检测中只有两类:垃圾邮件和非垃圾邮件;手写数字识别有10类,示例如图1.2.4所示;动物类型就更多了,一个应用系统往往可支持有限的类型,比如可识别200种动物类型。

图1.2.4 手写数字示例

在分类应用中,式(1.2.1)所表示的样本集中,标注值 y i 只表示有限的类型,故其只取有限的离散值,例如可以用不大于 K 的整数表示最多 K 种类型,也可以用二元向量(一种表示类型的编码方式)表示类标号,这些表示的细节第4章再详述。

在分类问题中,由于只有两种类型的二分类问题有特殊意义,经常专门讨论二分类情况。二分类问题表示简单,原理易于理解且大多数二分类问题很容易推广到多分类问题,故经常以二分类问题作为起点讨论分类算法,然后推广到多分类问题。

很多被称为“识别”或“检测”的问题可归结为分类,例如个人计算机开机的人脸识别,其实就是二分类,识别主人和非主人;家庭智能锁的指纹识别,可识别多个家庭成员和非家庭成员,是一个多分类问题。

回归 是另一种常用的机器学习功能类型。例如,股票价值预测、对通信信道建模等,其特点是式(1.2.1)的标注 y i 和式(1.2.2)的模型输出 y 都是连续值。

一般情况下,人们会选择专门为分类或回归设计的模型,通过样本集学习得到模型表示。有些情况下,为回归设计的算法也可用于分类,反之亦然。有些模型本身既可用作回归也可用作分类,但在不同类型应用中,目标函数选择不同。例如,SVM和神经网络对分类和回归均适用,但对不同类型应用时,目标函数有所不同,学习算法也有相应的变化。

排序学习 是随着信息检索的应用发展起来的一种学习方法,模型的输出是一个按照与检索词相关程度排序的列表。限于篇幅,本书不再进一步讨论排序学习,有兴趣的读者可参考文献[26]。

值得注意的是,这里介绍机器学习的各种类型,目的是让读者了解各类方法的特点和逻辑关系,也为后续阅读机器学习文献梳理基本脉络,同时介绍一些常用术语。这个分类是不完全的,甚至有些类型的学习方法不包括在这些分类中。从更高层意义上对机器学习进行分类或对机器学习进行更全面的解释,甚至包括哲学层面或伦理层面,都超出本书的视角和目标。 920n5obWUTVrTDH/ERxChr1aX1XUoT93mxJ9pp6fCaZmvdacpyArPM+eRQrI75gh

点击中间区域
呼出菜单
上一章
目录
下一章
×