机器学习与深度学习
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 机器学习概述

在人工智能领域,机器学习侧重于方法论,为人工智能各方面的实现与应用提供了一系列方法。本节将介绍机器学习的定义、机器学习的主要方法、机器学习的应用及其相关课程,让读者对机器学习的大致轮廓有一个感性认识。

1.2.1 机器学习的定义

在机器学习(Machine Learning,ML)的发展历程中,似乎难以对其给出一个准确的定义。被称为“机器学习之父”的阿瑟·塞缪尔(Arthur Samuel)认为:机器学习是在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。被誉为全球机器学习行业“教父”的汤姆·米切尔(Tom Mitchell)则认为:对于某类任务T和性能度量P,如果计算机程序可以从经验E中学习与改进,并在任务T上由P衡量的性能有所提升,那么就称这个计算机程序从经验E学习。周志华教授在《机器学习》[2]一书中认为:机器学习致力于研究如何通过计算的手段,利用经验来改善自身的性能;“经验”以“数据”的形式存在,机器学习正是从数据中通过学习一定的算法去产生模型,而后对于新的未知数据,该模型能给出判断。在刘鹏等人编写的著作《深度学习》[3]中,则将机器学习理解为:从具有洞察特征的数据中发现自然模式的算法。

综上所述,机器学习是一个从数据到理解的过程,如图1-2所示。通过训练学习(先验数据),空白的机器变得有智能,可以推断、预测、判别未知的世界,即实现人工智能。

图1-2 “机器学习的过程”示意图

在1.1.3节关于机器学习的简介中,给出了性别判断的例子。该例子中,10男10女是数据,也称为训练样本,提取和过滤特征的过程是学习,而学习的结果——能够区别性别的特征则是模型。通过学习,机器能鉴别其他人的性别,即做到了理解。

1.2.2 机器学习的主要方法

要实现图1-2所示的从“数据”到“理解”,需要一定的学习方法。在之前的性别判断的例子中,采用的方法是特征提取和过滤。当然,也可以采用其他方法,如特征的加权融合、特征的方差比较、特征的信息增益法等。但是,不同的方法会产生不同的“模型”,进而影响对未知样本的判断效果,从而产生不同的识别正确率。因此,选择合适的学习方法至关重要。

在机器学习领域,常用的方法有监督学习、非监督学习、半监督学习、集成学习、强化学习、深度学习(1.3节将着重介绍,本节不再赘述)、度量学习。接下来对这些方法进行介绍。

1.监督学习

对类别已知的训练样本进行学习,并得到模型的过程,称为监督学习(Supervised Learning)。在性别判断的例子中,事先就知道先验样本是10男10女,即类别已知,所以,它属于监督学习。

另一个例子是Fisher线性鉴别分析(Fisher Linear Discriminant Analysis,FLDA或LDA)。它是一种非常经典的监督学习方法,运用了矩阵分析法和统计学。该方法是由Fisher于1936年最早提出的,因此也称为Fisher准则[4]

如图1-3所示,叉表示第一类样本(共7个),圈表示第二类样本(共6个),每个样本都有两个维度(分别用x1x2来表示)。如果用矩阵Z表示样本集合,每个样本占一列,则Z=[z1,…,z13]∈R2×13。FLDA方法假设每类样本都分别服从单一的高斯分布,并且所有的类均值不同,但方差相同。其中。第一类样本的均值是m1,方差是;第二类样本的均值和方差分别是m2。类间离散度为|m1-m2|,表示两类样本之间的距离;而类内离散度则是两类样本的公共方差,它是衡量同类样本离散程度的指标。所以,Fisher准则的核心思想是求得最优的投影方向w,使得不同类别的样本在该方向上投影后,类间离散度和类内离散度的比值达到最大。从图1-3中可以看出,把样本垂直投影到w上之后,两类的区分度最大。

至此,通过矩阵计算,求得w,即得到了该方法的模型。分类时,需把测试样本y投影到w上,再根据投影后y到两类训练样本的距离大小,判断其类别。

图1-3 Fisher准则中的投影方向w

2.非监督学习

与监督学习不同,非监督学习(Unsupervised Learning)事先不知道训练样本的类别,这为后续测试样本的分类和识别带来了不小的难度。但是,在现实生活中,类别已知的样本毕竟是少数,大多数样本都属于类别未知的情况。所以,研究和掌握非监督学习方法,以挖掘潜在的信息,对后面提高识别测试样本的能力,有一定的现实意义,也十分有必要。

在类别未知的情况下,人们一般用聚类或样本分布情况来判断不同的类别。如图1-4所示的散点,明显可以看出它们形成两个不同的簇,且彼此相距甚远。此时,可以根据距离,将其聚为两个类。常见的聚类方法有k均值聚类、密度聚类、最近邻聚类、谱聚类等。

图1-4 聚类示意图

图1-4属于样本少的情况。在训练样本数量多的情况下,可以将总体样本集合看成混合高斯模型,不同类别对应于不同的高斯分布(每类样本有各自的均值和方差)。它的理论依据来源于统计学中的大数定理和中心极限定理。大数定理表明,样本数量越多,越能反映它的真实分布;中心极限定理表明,不管样本服从什么分布,其数量越多,越接近高斯分布。

在此情况下,可以先聚类,确定簇的个数(高斯个数),再基于混合高斯的假设,用最大似然估计方法,求出各高斯分布的参数(均值和方差)。如图1-5(a)所示,数据总体服从两个高斯分布,从两条曲线可以看出,其密度有如下两个特点:

(1)离均值越近,样本密度越大,反之越小。

(2)关于均值对称,形状像墨西哥帽。图1-5(b)所示的两簇圈表明,左边高斯分布的方差大于右边。

图1-5 两个高斯混合的数据模型

关于高斯分布的详细介绍和应用,请参考Bishop所著的Pattern Recognition and Machine Learning[5]一书中第二章的内容。

3.半监督学习

综上所述,监督学习的前提是类别已知,非监督学习过程中可以知晓训练样本的结构信息。两者相结合,便是半监督学习。这种学习方法可以从少量类别已知的样本中得到区分类别的判别式模型(Discriminative Model);同时可以从大量类别未知的样本中学到样本的结构或者概率分布信息,即生成式模型(Generative Model)。两者相结合,能巩固和加强模型对类别的区分度,如图1-6所示。图中,“+”和“-”分别表示两类样本。训练过程中,虽然空圈的样本类别未知,但当它加入“+”类后,使该类的结构更接近高斯分布了。因此,空圈被判为“+”类样本。

图1-6 半监督学习示意图

在性别判断的例子中,从性别已知的10男10女中找出了能够区别性别的特征(肌肉密度、说话声音频率、三围比例)。在训练样本中,还有一个人的性别未知,但其留着长发,且肌肉密度、说话声音频率、三围比例都接近女性特征。于是将此人判定为女性,并从中获取了一个新的特征——女性更倾向于留长发。此时,能区分性别的特征集合为{肌肉密度,说话声音频率,三围比例,是否长发},从而加强了模型对性别的区分能力。

总之,半监督学习采用类别未知+已知的训练样本相结合的方式,让两者相互促进,去学习模型,再去测试未知样本。

4.集成学习

机器学习的任务分为两个阶段:第一阶段是从先验的训练数据集X中得到模型;第二阶段是运用该模型去判断未知的测试样本y。第一阶段学习模型的过程称为特征提取。在第二阶段中,把Xy都映射到该模型的空间中(如性别判断例子中只保留选出的特征),然后判断y的类别,其本质是在模型空间中比较yX中样本的相似度。此过程被称为分类,常用的分类器有最近邻分类器、最小类中心距离分类器、K近邻分类器、支持向量机、神经网络等。

集成学习(Ensemble Learning)把若干弱分类器融合成强分类器,以加强分类效果。通过一定的集成方法,可以使集成后的分类效果好于任何一个单分类器。这种思想比较符合人类的思维方式,因为人们通常在做重大决策之前,都会广泛征求意见,并全面衡量利弊[6]。例如,法国数学家Marquis de Condorcet在1785年发表了一篇关于大多数决策概率的应用的论文。论文中提到了陪审团的投票理论,即众多投票者要表决一个二选一的结果:要么是犯罪,要么是正当防卫。如果每个投票者正确的概率是p,而投票者总体正确的概率是L,那么将得出以下两个结论:

(1)p大于0.5,表明L大于p

(2)对于所有投票者,p都大于0.5,那么当投票者个数趋于无穷大时,L趋于1。

陪审团的投票理论最初为民主投票表决提供了一个理论基础,这个理论同样适用于监督学习领域。给定训练样本的类别,我们要生成若干个不同的弱分类器,使其分类效果略好于随机分类即可(类似于上述正确率p>0.5),然后将它们融合成强分类器。这个过程称为概率近似正确(Probably Approximately Correct,PAC)[7]

集成学习大体上分为两种,即串行学习和并行学习。串行学习是指单分类器之间相互关联,即第一个弱分类器的学习结果为第二个弱分类器学习提供前提条件,第三个再将第二个结果作为输入条件,以此类推;并行学习是指各单分类器之间相互独立,互不干扰地去学习。串行学习中,最经典的代表算法是Boost[8],AdaBoost[9]是它的改进算法;并行学习的典型算法是Bagging[10]

学习结束后,将各弱分类器用平均或者加权平均的方法融合起来,就形成了强分类器。Bishop[5]的书中以Boost算法为例,如图1-7所示,m表示融合的分类器个数,图中的多个圆圈分别表示两类样本,虚线表示刚刚学得的弱分类器,实线表示前m个单分类器融合后的分类边界。该算法将边界上容易错分的样本权值增大(圈被放大),不断根据错分的样本去调整并学习下一个单分类器,再融合进去,即m单调增大。随着单分类器的不断融合,分类的准确率不断提升。当m=150时,融合后的强分类器几乎可以达到100%的正确率。

图1-7 Boost算法示意图[5]

5.强化学习

监督学习根据事先给定的训练样本类别来学习最利于分类的模型,即判别式模型。换言之,训练样本本身是输入,类别标签是输出,监督学习的任务是通过构建目标函数,以待求的模型为变量,通过优化方法或矩阵分析求解,找到输入与输出之间的最佳匹配模型,即最优解。对于那些不利于分类或者非最优的模型,监督学习不予考虑。

强化学习(Reinforcement Learning)[11]则不同,它在学习过程中,既没有事先给定的类别标签,也不拒绝次优的模型,而是在一步步不断尝试各种模型的过程中,通过每步走完之后所反馈的奖励值来分析并探索下一步该怎么走,以达到累计奖励值期望(概率与奖励值的乘积)最大化的目标。

举一个简单的例子,人们都在探索如何保持身体健康。假如人的体质分为健壮、适中、亚健康3种状态,即{S1,S2,S3}。在S1状态下,锻炼身体则奖励值+0.5,不锻炼则+0;在S2状态下,锻炼身体则奖励值+1,不锻炼则-0.1;在S3状态下,锻炼身体则奖励值+0.2,不锻炼则-5。而且,一般来说,身体健壮更倾向于锻炼,所以,假设在此状态下锻炼的概率是0.8,之后还是保持健壮(状态不变),而不锻炼的概率是0.2,之后体质变为适中(状态发生了转换)。同一状态下不同动作的转移概率相加为1(0.8+0.2),满足了全概率公式。不同状态下,同一动作的转移概率可以不同(例如,身体适中的状态下,锻炼和不锻炼的概率都是0.5),但都满足全概率公式。

强化学习就是要在这3种状态之间,以给定的概率和动作一步步转换,期间不断积累奖励值。当奖励值的期望达到最大且保持稳定后(随后的动作及状态转换,虽然继续积累奖励值,但它的期望不再增加),则停止学习。此例中,状态、动作及其概率和奖励值都是事先给定的,我们称之为有模型学习。这种情况可以用马尔可夫决策过程(Markov Decision Process)来建模。还有一种情况称为免模型学习,即动作概率、奖励值都不知道,甚至连状态的个数也未知。免模型的强化学习要难很多,一般可采用蒙特卡罗采样法或时序差分法来获取状态转换的大致轨迹,据此判断强化学习过程中总体的规律和走向。

总之,强化学习适合应用于长期-短期的回报问题中。它一般在有限的状态中进行多次不同的动作,转换到各种不同的状态,得到各种不同的奖励值(有增有减)并作为先验知识,据此再去引导下一步动作和状态转换。所以,要想达到最大化奖励值的期望平稳,需要多次尝试,多次反馈。在人工智能领域,如机器人控制、电梯调度、电子通信、下棋游戏等,都有强化学习的参与。

6.度量学习

在机器学习领域,学习训练样本能得到模型,在模型空间中,样本之间的距离会发生改变。度量学习就是对距离的学习。后续测试样本的分类任务中,我们追求的是准确率。例如,对于如图1-3所示的Fisher准则下所得到的投影方向w,两类训练样本投影上去后,它能实现类间离散度与类内离散度比值的最大化,即最利于分类。如果用xixj分别表示原始空间中任意两个不同的训练样本,那么它们之间的欧氏距离为

dxixj)=(xi-xjTxi-xj

投影之后,两个样本变为wTxiwTxj,分别记作yiyj,那么投影后的距离为

dyiyj)=(xi-xjTwwTxi-xj

如果将wwT记作M,那么度量学习(Metric Learning)的任务就是学习M,使它成为投影空间,并改变投影后样本之间的距离。

根据线性代数理论,投影空间w的维度不大于训练样本本身的秩,且M是半正定对称矩阵。如图1-3所示,原始训练样本是二维的,w却是一维的。投影后,既做到了数据维度的压缩,更便于计算,也让两类样本的类间距离更远,类内距离更近,更利于分类。

除Fisher准则外,度量学习的例子还有很多,比较经典的有主成分分析(Principle Component Analysis,PCA)[12]、局部保持投影(Locality Preserving Projection,LPP)[13]、典型相关分析(Canonical Correlation Analysis,CCA)[14]等。PCA的思想是先构建总体样本的方差矩阵,再降维,选取能够最大限度保持该方差的少量投影方向;LPP则是在每个样本附近寻找k个近邻样本,构建图嵌入模型矩阵,再通过降维,求出低维线性投影空间来保持这些近邻关系;CCA根据给定的两组数据,求解出能够体现它们之间最大相关性的若干个投影方向,作为降维后的投影空间。

总结起来,度量学习的本质就是降维,然后将样本投影到低维空间,使其相互之间的距离发生改变,以满足实际的需要(分类、聚类、识别等)。

1.2.3 机器学习的应用及其相关课程介绍

有的读者可能会问,既然人类已经拥有智能,为什么还要研究机器学习方法,让机器取代人脑去判别现实世界中的事物呢?其中一个主要原因是现实中有很多问题人是解决不了的,只能依靠机器。例如,火星探测工程中,依目前现有的技术,人类专家无法亲自到达火星;计算机网络的动态路由分派中,网络环境随时间变化,人类无法手动控制;银行和股票的交易分析中,数据量太大,无法手算……所以,依靠人工智能,机器可以帮我们处理海量数据,还可以帮我们去遥远或危险的地方进行探测等。

因此,机器学习的实际应用例子很多,如垃圾邮件过滤和股票市场分析等。此外,机器学习也可以应用于生物特征(如人脸、指纹、虹膜等)识别、天气预报、风险投资预测、地质勘探等诸多领域。

从总体上看,机器学习方法需要通过计算机编程来实现,而在实现过程中,其以数学为工具,其中涵盖了优化理论、数值计算、矩阵分析、概率与统计、微积分等知识。归纳来说,与机器学习相关的课程及其要点如表1-1所示。

表1-1 与机器学习相关的课程及其要点