人工智能的主要理论包括很多方面,当前人工智能的发展热点围绕着机器学习展开,因此主要介绍与此相关的理论与技术。
机器学习实际上已经存在了几十年,而其源头思想可以认为存在了几个世纪。追溯到17世纪,贝叶斯、拉普拉斯关于最小二乘法的推导和马尔可夫链构成了机器学习广泛使用的工具与基础。通俗地讲,机器学习就是让计算机从数据中进行自动学习,得到某种知识或规律。作为一门学科,机器学习通常指一类问题以及解决这类问题的方法,即如何从观测数据(样本)中寻找规律,并利用学习到的规律(模型)对未知或无法观测的数据进行预测。目前机器学习中最主流的一类方法是统计学习方法,将机器学习问题看作统计推断问题,并且又可以进一步分为频率学派和贝叶斯学派。频率学派将模型参数 θ 看作固定常数;而贝叶斯学派将参数 θ 看作随机变量,并且存在某种先验分布 [3] 。
机器学习的基本概念包括特征、标签、样本、模型、学习算法等 [4] ,如图2-1所示。
特征是输入变量,反映事件或对象在某些方面的表现或性质,也称为属性。简单的机器学习项目可能会使用单个特征,而比较复杂的机器学习项目可能会使用数百万个特征。
标签是指要预测的事物,即简单线性回归中的 y 变量。
样本是指数据的特定实例。可以将样本分为两类:有标签样本和无标签样本。有标签样本同时包含特征和标签,即labeled examples:{features,label}:{ x , y };无标签样本包含特征而不包含标签,即unlabeled examples:{features,?}:{ x ,?}。一组样本构成的集合称为数据集。一般将数据集分为两部分:训练集和测试集。训练集中的样本是用来训练模型的,也叫训练样本;而测试集中的样本是用来检验模型好坏的,也叫测试样本。
模型定义了特征与标签之间的关系。例如垃圾邮件检测模型可能会将某些特征与“垃圾邮件”紧密联系起来。模型生命周期的两个阶段为:
训练,是指创建或学习模型,也就是说,向模型展示有标签样本,让模型逐渐学习特征与标签之间的关系,得到最优的 f *( x );推断,是指将训练后的模型 f *( x )应用于无标签样本,也就是说,使用经过训练的模型做出有用的预测。
如何寻找这个“最优”的函数 f *( x )是机器学习的关键,一般需要通过学习算法A来完成。这个寻找过程通常称为学习或训练过程。
图2-1 机器学习系统示例
机器学习是从有限的观测数据中学习(或“猜测”)到具有一般性的规律,并可以将总结出来的规律推广应用到未观测样本上。机器学习方法可以粗略地分为三个基本要素:模型、策略、算法 [5] 。
对于一个机器学习任务,首先要确定其输入空间 X 和输出空间 Y 。不同机器学习任务的主要区别在于输出空间不同。在二分类问题中 Y ={+1,-1},在 C 分类问题中 Y ={1,2,…, C },而在回归问题中 y = R 。
输入空间
X
和输出空间
Y
构成了一个样本空间。对于样本空间中的样本(
x
,
y
)∈
X
×
Y
,假定
x
和
y
之间的关系可以通过一个未知的真实映射函数
y
=
或真实条件概率分布
p
r
(
y
|
x
)来描述。机器学习的目标是找到一个模型来近似真实映射函数
或真实条件概率分布
p
r
(
y
|
x
)。
由于不知道真实的映射函数
或条件概率分布
p
r
(
y
|
x
)的具体形式,因而只能根据经验来假设一个函数集合
F
,称为假设空间,然后通过观测其在训练集
D
上的特性,从中选择一个理想的假设
f
* ∈
F
。
假设空间 F 通常为一个参数化的函数族:
F = { f ( x ; θ )| θ ∈ R N }
其中 f ( x ; θ )是参数为 θ 的函数,也称为模型, N 为参数的维度。
常见的假设空间可以分为线性和非线性两种,对应的模型 f 也分别称为线性模型和非线性模型。
机器学习的目标在于从假设空间中选取最优模型。而机器学习策略就是确定基于什么样的策略来学习或选择最优模型。主要的策略有以下几个。
损失函数:损失函数是一个非负实数函数,用来量化模型预测和真实标签之间的差异。损失函数主要包括:0-1损失函数,平方损失函数,交叉熵损失函数,Hinge损失函数。
风险最小化策略:一个好的模型
f
(
x
;
θ
)应当有一个比较低的期望错误率。但由于不知道真实的数据分布和映射函数,实际上无法计算其期望风险
R
。给定一个训练集
,可以计算经验风险,即在训练集上的平均损失。因此,一个切实可行的策略是找到一组参数使得经验风险最小。
由于无法获取无限训练样本,并且训练样本往往是真实数据的一个很小的子集或者包含一定的噪声数据,因此训练样本不能很好地反映全部数据的真实分布。经验风险最小化策略很容易导致模型在训练集上错误率很低,但是在未知数据上错误率很高,这就是所谓的过拟合 [6] 。
过拟合问题往往由训练数据少和噪声以及模型能力强等造成。为了解决过拟合问题,一般在经验风险最小化的基础上再引入参数的正则化来限制模型能力,使其不要过度地最小化经验风险。这种准则就是结构风险最小化策略。
和过拟合相反的一个概念是欠拟合,即模型不能很好地拟合训练数据,在训练集上的错误率比较高。欠拟合一般由模型能力不足造成。
总之,机器学习中的学习准则并不仅仅是拟合训练集上的数据,同时也要使泛化错误率最低。给定一个训练集,机器学习的目标是从假设空间中找到一个泛化错误较低的“理想”模型,以便更好地对未知的样本进行预测,特别是未在训练集中出现的样本。因此,我们可以将机器学习看作一个从有限、高维、有噪声的数据中得到更一般性规律的泛化问题。
在确定了训练集 D 、假设空间 F 以及学习策略后,如何找到最优的模型 f ( x , θ *)就成了一个最优化问题。机器学习的训练过程其实就是最优化问题的求解过程。在机器学习中,最简单、常用的优化算法就是梯度下降法。针对梯度下降的优化算法,除了加正则化项之外,还可以通过提前停止来防止过拟合。
当训练集中的样本数量 N 很大时,空间复杂度比较高,基于梯度下降法每次迭代的计算开销也很大。在机器学习中,假设每个样本都是独立同分布地从真实数据分布中随机抽取出来的,真正的优化目标是期望风险最小。为了减小每次迭代的计算复杂度,可以在每次迭代时只采集一个样本,计算这个样本损失函数的梯度并更新参数,此即随机梯度下降法。当经过足够次数的迭代时,随机梯度下降法也可以收敛到局部最优解 [7] 。
随机梯度下降法的一个缺点是无法充分利用计算机的并行计算能力。小批量梯度下降法是批量梯度下降和随机梯度下降的折中。每次迭代时,随机选取一小部分训练样本来计算梯度并更新参数,这样既可以利用随机梯度下降法的优点,也可以提高训练效率。在实际应用中,小批量随机梯度下降法有收敛快、计算开销小的优点,因此逐渐成为大规模的机器学习中的主要优化算法 [8] 。
大部分的机器学习算法都可以看作这三个基本要素的不同组合。相同的模型也可以有不同的学习算法。比如线性分类模型有感知器、逻辑回归和支持向量机,它们之间的差异在于使用了不同的学习策略和优化算法。
机器学习算法可按照不同的标准来进行分类。比如按函数 f ( x ; θ )的不同,机器学习算法可以分为线性模型和非线性模型;按照学习策略的不同,机器学习算法可以分为统计方法和非统计方法。但一般来说,我们按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为以下三类(表2-1):
监督学习。如果机器学习的目标是建模样本的特征 x 和标签 y 之间的关系 y = f ( x ; θ )或 p ( y | x ; θ ),并且训练集中每个样本都有标签,那么这类机器学习称为监督学习。根据标签类型的不同,监督学习又可以分为回归问题、分类问题和结构化学习问题。其中,回归问题中的标签 y 是连续值(实数或连续整数), f ( x ; θ )的输出也是连续值;分类问题中的标签 y 是离散的类别(符号)。在分类问题中,学习到的模型也称为分类器。分类问题根据其类别数量又可分为二分类问题和多分类问题。
无监督学习。无监督学习是指从不包含目标标签的训练样本中自动学习到一些有价值的信息。典型的无监督学习问题有聚类、密度估计、特征学习、降维等。
强化学习。强化学习是一类通过交互来学习的机器学习算法。在强化学习中,智能体根据环境的状态做出一个动作,并得到即时或延时的奖励。智能体在和环境的交互中不断学习并调整策略,以取得最大化的期望总回报。
监督学习需要每个样本都有标签,无监督学习则不需要标签。一般而言,监督学习通常需要大量的有标签数据集,这些数据集一般都需要由人工进行标注,成本很高。因此,也出现了很多弱监督学习和半监督学习的方法,希望从大规模的无标注数据中充分挖掘有用的信息,降低对标注样本数量的要求。强化学习和监督学习的不同在于,强化学习不需要显式地以“输入/输出对”的方式给出训练样本,是一种在线的学习机制。
表2-1 三种机器学习算法类型的比较
在实际应用中,数据的类型多种多样,比如文本、音频、图像、视频等。对于图像数据,其特征向量可以简单地表示为 M × N 维向量,每一维的值为图像中对应像素的灰度值。为提高模型准确率,也会经常加入一个额外的特征,比如直方图、宽高比、笔画数、纹理特征、边缘特征等。假设我们总共抽取了 D 个特征,这些特征可以表示为一个向量 x ∈ R D 。
对于文本特征,为了将样本 x 从文本形式转为向量形式,一种简单的方式是使用词袋模型。假设训练集合中的词都来自一个词表 V ,大小为| V |,则每个样本可以表示为一个| V | 维的向量 x ∈ R | V | 。向量 x 中第 i 维的值表示词表中的第 i 个词是否在 x 中出现。如果出现,值为1,否则为0。词袋模型将文本看作词的集合,不考虑词序信息,不能精确地表示文本信息。对此,有一种改进方式是使用 N 元特征,即每 N 个连续词构成一个基本单元,再用词袋模型进行表示。
如果直接用数据的原始特征来进行预测,对机器学习模型的能力要求比较高。原始特征可能存在以下几种不足:特征比较单一,需要进行(非线性的)组合才能发挥其作用;特征之间冗余度比较高;并不是所有的特征都对预测有用;很多特征通常是易变的;特征中往往存在一些噪声。为提高机器学习算法的能力,需抽取有效、稳定的特征。传统的特征提取是通过人工方式进行的,需要大量的人工和专家知识。一个成功的机器学习系统通常需要尝试大量的特征,即特征工程。但即使这样,人工设计的特征在很多任务上也不能满足需要。因此,如何让机器自动地学习有效的特征也成为机器学习中的一项重要研究内容,即特征学习,也叫表示学习。特征学习在一定程度上可以减少模型复杂性、缩短训练时间、提高模型泛化能力、避免过拟合等。
传统的特征抽取一般是和预测模型的学习分离的。可以先通过主成分分析或线性判别分析等方法抽取出有效的特征,然后基于这些特征训练一个具体的机器学习模型。将特征的表示学习和机器学习的预测学习有机地统一到一个模型中,建立一个端到端的学习算法,就可以有效地避免它们之间准则的不一致性。这种表示学习方法称为深度学习。目前比较有效的模型是神经网络,即将最后的输出层作为预测学习,其他层作为表示学习。
为了衡量一个机器学习模型的好坏,需要给定一个测试集,用模型对测试集中的每一个样本进行预测,并根据预测结果计算评价分数。对于分类问题,常见的评价标准有准确率、精确率、召回率和 F 值等。
在机器学习中,有一些非常有名的理论或定理,对理解机器学习的内在特性非常有帮助。以下简述几个有代表性的理论与定理:
概率近似正确(PAC)学习理论。考虑到从有限的样本中无法训练一个完全正确的模型,因此要求学习算法能以一定的概率学习到一个近似正确的假设,即PAC的学习。一个概率近似正确可学习的算法是指该学习算法能够在多项式时间内从合理数量的训练数据中学习到一个近似正确的 f ( x )。
没有免费午餐定理。对于基于迭代的最优化算法,不存在某种算法对所有问题(有限的搜索空间内)都有效。不能脱离具体问题来谈论算法的优劣,任何算法都有其局限性。必须“具体问题具体分析”。没有免费午餐定理对于机器学习算法也同样适用。
奥卡姆剃刀原理。奥卡姆剃刀的思想和机器学习中的正则化思想十分类似:简单的模型泛化能力更好。如果有两个性能相近的模型,应该选择更简单的模型。因此,在机器学习的学习准则上,我们经常会引入参数正则化来限制模型能力,避免过拟合。
丑小鸭定理。其用于描述主观判断对样本分类的影响,很多看似有很大差别的样本就像没有长大的丑小鸭与长大了的白天鹅,两者之间的差别其实并不大 [9] 。
归纳偏置。该理论常体现在对样本的分类观点上,其在贝叶斯学习中也经常称为先验 [10] 。
(严瀚,俞祝良)