在这一章,我们根据 Vapnik (1999) 的框架来阐述机器学习的理论,它将作为第 3 章描述的机器学习算法的基础。尤其是,我们引入了一致性的概念,它是预测函数学习能力的理论保证。这套理论的定义和基本假设,以及经验风险最小化原理,将在 1.1 节描述。1.2 节研讨的一致性原理则把我们引至第二个原理 —— 结构风险最小化原理,这个原理说明(机器)学习是一种在小的经验误差和强的函数类之间的妥协。此外,我们还会介绍两个度量此学习能力的工具,它们不仅可以用来建立泛化能力的边界,而且已成为近年来发展新学习算法的基础。

机器学习模型从一个有限的样本集中构建一个预测函数,这个样本集称为训练集或学习集(Fukunaga, 1972; Duda et al., 2001; Sch¨olkopf et Smola, 2002; Boucheron et al., 2005)。按监督学习框架,每个样本都是一个由观测值的代表向量及其关联响应(亦称为预期输出)组成的数据对。学习的目标是导出一个函数,该函数能够预测新观测值的关联响应,同时其预测的误差尽可能最小。我们接下来会看到,这个关联响应通常是一个实值,或者一个类别标注。这里潜在假设了数据是平稳的,也就是说,我们基于训练集数据来习得预测函数,而这些数据在我们想要解决的问题中具有一定的代表性。我们会在接下来的章节里再次回到这个假设上来。

在实践中,机器学习模型从给定的函数类中,选择一个在训练集上的预测值的平均误差(或经验误差)最小的函数。误差函数则量化了由训练集上的观测值习得的预测函数给出的预测值和真实关联响应之间的差异。这个过程的目标不是要让机器学习模型导出一个仅对训练集的观测数据能够完美给出预期输出的函数(有时称为过拟合,overfitting),而是导出一个拥有良好泛化表现的函数。

在逻辑上,这种推理方式,或者说这种从有限观测值来推断一般规则的过程,称为归纳(Genesereth et Nilsson, 1987, 第 7 章)①。在机器学习领域,归纳的框架已经可以遵从经验风险最小化原理来实现,其统计性质也在 Vapnik (1999) 发展的理论中得到了研究。这套理论的突出成果是给出了习得函数的泛化误差的上界,并且这个上界是经验误差和该函数所在函数类的复杂度的函数。这个复杂度反映了该函数类解决预测问题的能力,函数类越是能够给训练集的观测指派预期输出,其能力就越大。换句话说,函数类的能力值越大,经验误差就越小,但是也越不能保证达到预期学习目标,即达到一个小的泛化误差。于是,这里的泛化误差上界展示了存在于经验误差和函数类能力之间的一个妥协,也给出了一个最小化泛化误差上界(并获得一个该误差更好的估计)的方法,即在最小化经验误差的同时,控制函数类的能力。这个原理称为结构风险最小化原理,而结构风险最小化原理与经验风险最小化原理就是大量机器学习算法的起点。此外,二者也能解释在 Vapnik (1999) 理论建立之前设计的算法的运作机制。本章接下来就在二类分类问题的框架中介绍这些概念,二类分类问题框架也是这套理论的最初框架。

1.1 经验误差最小化

在这一节,我们将阐述经验风险最小化原理。首先,我们介绍一些要使用到的符号术语。

1.1.1 假设与定义

我们假设观测数据由固定的 d 维输入空间中的向量表示,X ⊆ Rd。观测数据的预期输出则是输出集 Y ⊂ R 的一部分。直至 2000 年伊始,监督学习问题主要分为两大类:分类与回归。对分类问题,输出集 Y 是离散的,并且预测函数 f : X → Y 称为分类器。当 Y 连续时,f 则为回归函数。在第 6 章,我们将展示学习排序,它是最近在机器学习和信息检索社区中发展起来的。一个数据对 (x, y) ∈ X × Y 对应一个有标注样本,而

则对应一个样本训练集。在本章特别考虑的二类分类问题中,我们将输出空间标记为 Y = {−1, +1},而样本 (x, +1) 和 (x, −1) 则称为正样本和负样本。例如电子邮件分类问题,我们需要将其分成两类:垃圾邮件和非垃圾邮件。我们将用一个给定向量空间的向量来代表这些邮件,并用+1 和 −1 分别代表两类邮件(比如 +1 代表非垃圾邮件)。

机器学习理论的根本假设是,所有的样本都是从一个固定但未知的概率分布(记为 D)以独立同分布(i.i.d.)的方式生成的。同分布的假设确保了观测数据是平稳的,独立性的假设则明确了每一个单独的样本都携带了解决预测问题的最大信息。根据这个假设,训练集 S 中的所有样本 (xi, yi) 都是服从 D 并且独立同分布的。换句话说,每一个训练集都是一个由服从 D 的独立同分布样本组成的样本集。

①与之相反的推理方式称为演绎,指的是从一般公理出发,得出具体情形下的结论(始终为真),如法则的推论。

因而,这个假设刻画了关于预测问题的学习集和测试集的代表性(representativity)概念。也就是说,训练集中的样本对与未来的观测值及其对应的预期输出,都被假定为来自同一信息源。

另一个机器学习的基础概念则是损失,又称风险或误差 ①。对给定的预测函数f(x),一个样本 x 的对应预期输出 y 和预测函数给出的输出值之间的差异由下面定义的即时损失函数来度量:

e : Y × Y → R+

一般而言,这个函数是输出集 Y 上的一个距离度量。它度量了对给定观测值,预测函数给出的预测值和真值之间的差距。在回归问题中,常用的损失函数是预测值和真值之差的 l1和 l2 范数。在二类分类问题中,通常考虑的损失函数则是 0/1 函数。对于一个观测值数据对(x, y) 和预测函数 f,0/1 函数的定义为:

其中

在谓项 π 为真时取值为 1,否则为 0。在实践中,以及在二类分类问题中,习得的函数 h : X → R 通常是一个实值函数,相关联的分类器 f : X → {−1, +1} 则定义为输出 h 的符号函数。这种情形下,即时误差函数等同于 0/1 函数,针对函数 h,其定义为:

从即时损失函数以及独立同分布生成的样本出发,我们可以定义习得函数 f ∈ F 的泛化误差:

其中 E(x,y)∼DX(x, y) 是随机变量 X 在 (x, y) 服从概率分布 D 时的期望值。由于 D 是未知的,故这个泛化误差无法精确估计。为了度量函数 f 的表现,我们常常使用一个含有 m 个样本的样本集 S,然后计算 f 在其上的经验误差,定义为:

因而,为了解决分类问题,我们首先设置一个训练集 S,然后选择一类函数 F,从中找寻能在S 上最小化经验误差的分类器 fS(因为这个经验误差是我们无法直接测量的 fS 的泛化误差的一个无偏估计)。

① 与汉语和英语中这三个术语的使用习惯不同,原作者在书中等同地使用损失、风险、误差这三个词,但通过定语来限定其指向单个样本还是整个样本集,如即时误差指单个样本的误差。—— 译者注

1.1.2 原理陈述

这个被称作经验风险最小化原理(ERM)的学习方法,是最早一批机器学习模型的源头。人们提出的根本性问题是:根据经验风险最小化原理的框架,我们能否仅从一个有限样本的训练集出发,生成一个具有良好泛化表现的预测函数?答案显然是否定的。为了证实这一点,我们来看下面这个二类分类问题。

1.2 经验风险最小化原理的一致性

前述问题的一个底层问题是:在什么情况下,应用经验风险最小化原理能够得到学习的一般法则?这个问题的答案存在于一个称为“一致性”的统计概念。这个概念指出,学习算法必须满足两个条件,即(a)算法应该返回一个函数,它的经验误差在训练集的大小趋近于无穷时能够反映泛化误差;(b)在渐近情形下,算法应该在考虑的函数类中找到一个能够最小化泛化误差的函数。形式表述如下:

这两个条件意味着,由机器学习算法在训练集 S 上习得的预测函数 fS 的经验误差S) 依概率收敛到泛化误差

(图1.1)

一致性表达了泛化的概念,一个分析一致性条件(a)的自然方法是使用下面的不等式:

由此不等式可以看到,一个实现泛化的充分条件是:在渐近意义下,预测函数的经验误差趋近于该函数的泛化误差,其中选取的函数在给定函数类F 中使得经验误差和泛化误差的绝对差值达到最大。即:

这个泛化的充分条件考虑的是最坏的情形,根据 (1.3),它意味着函数类 F 中所有的函数是双边一致收敛的。此外,条件 (1.4) 并不依赖于算法的选择,而仅仅依赖于函数类 F。因此,一个让经验风险最小化原理具备一致性的充分条件是:考虑的函数类是受限的(参看前一节关于过拟合的例子)。

机器学习理论的基本结果 (Vapnik, 1999, 定理 2.1) 展现了另一个关系式,它涉及和经验风险最小化原理的一致性(不是泛化能力)有关的函数类上界,以单边一致收敛的方式呈现,如下所示。

经验风险最小化原理是一致的,当且仅当:

这个结果的一个直接推论是,我们可以得到从大小为 m 的训练集 S 上习得的所有预测函数 f ∈ F 的泛化误差一致边界,形式如下:

其中,

项依赖于函数类的大小、训练集的大小和想要达到的精度 δ ∈]0, 1]。机器学习考察了度量函数类大小的不同方法,这些度量通常称为函数类的复杂度或者能力。在本章,我们将介绍两种度量方法,分别为 VC 维和 Rademacher 复杂度,涉及泛化边界的不同类型,以及一个称作结构风险最小化的机器学习原理。

在介绍通过训练集来估计泛化误差上界之前,我们将首先考虑如何通过测试集来估计函数的泛化误差 (Langford, 2005)。我们的目标是,证明通过测试集来估计泛化误差的上界是可能的,并且,当测试集的样本量趋近于无穷时,函数在这个测试集上的经验误差将会依概率收敛到泛化误差。这个性质与所考虑的函数类的能力无关。

1.2.1 在测试集上估计泛化误差

注意,生成测试集的独立同分布样本的概率分布 D 也是生成训练集的概率分布。我们来考虑从训练集 S 上习得的函数 fS。设

是一个大小为 n 的测试集。由于这个集合上的样本不参与学习阶段,因而函数 fS 不依赖于这个集合上的样本对 (xi, yi)的即时误差。诸随机变量

可以看作是同一个随机变量的独立副本,即:

也就是说,对于一个小的 δ,根据 (1.8),不等式

以大概率成立。实际上,它对所有大小为 n 的可能测试集都成立。根据这个结果,我们得到了一个关于习得函数的泛化误差上界,并且可以在任意测试集上计算它,当 n 充分大时,它就可以很好地逼近泛化误差。

1.2.2 泛化误差的一致边界

对一个给定的预测函数,我们从前面的结果已经知道如何界定其泛化误差,方法是使用测试集,即估计预测函数的参数还没有利用的那个数据集。现在,我们想要在经验风险最小化原理的一致性研究框架下,建立关于习得函数的泛化误差一致边界,它是训练集上的经验误差的函数。对于这个问题,我们无法使用前面已经得出的结果。这主要是因为,当习得函数fS 已经熟知训练集上的所有数据

后,计算函数 fS 在 S 上的经验误差时涉及的诸随机变量

将会是相互依赖的。事实上,如果我们改变训练集中的样本,那么得出的函数 fS 也会改变,同时改变的还有其在所有样本上的加权即时误差。因此,由于随机变量 Xi 不能再被视为是独立分布的,因而我们不能再使用 Hoeffding (1963)不等式来度量它。

接下来,我们将介绍遵循 Vapnik (1999) 的框架阐述泛化误差的一致边界。在下一节,我们将展示另一个在 2000 年初发展起来的框架与 Vapnik (1999) 框架之间的联系。

对于一致边界,我们的出发点是怎样提高 (1.5) 中的概率

在这个阶段有两种情形,分别对应有限或无限的函数集合。

函数集为有限集的情形

考虑一个函数类F = {f1, . . . , fp},其大小为 p = |F|。于是,计算泛化边界需要估计的是,对给定 ∈ > 0 和大小为 m 的训练集,

如果 p = 1,则从 F = {f1} 中选择预测函数的唯一选项就限定为 f1,这甚至不用考虑任何大小为 m 的样本集 S。在这种情形下,我们可以直接应用前面由 Hoeffding (1963) 不等式得到的边界 (1.7),即:

这个结果的解释是,对固定的函数 f 和给定的 ∈ > 0,在 m 个可能的观察样本中,满足

的比例小于等于 e−2m∈2。

如果 p > 1,我们首先注意到,对固定的 ∈ > 0 和每个函数 fj ∈ F:

我们考虑大小为m 的样本集,在其上fj 的泛化误差比其经验误差大∈:

与在测试集上获得的泛化误差边界(1.8) 相比,我们可以看到,测试集上的经验误差是比训练集上的经验误差更好的泛化误差估计。而且,函数集包含越多不同的函数,训练集上的经验误差越可能是对泛化误差的低估。

事实上,上界(1.11) 的解释是:对固定的1- δ和一个比1 ¡ -δ大的分数,有限的函数集 F 里面的所有函数(包含最小化经验误差的函数)的泛化误差都小于经验误差和残留项

之和。此外,即使在最坏情形下,当样本的数量趋于无穷时,泛化误差和经验误差之差趋于 0,且不要求对生成数据的分布 D 做出特定假设。因而,对所有有限的函数集来说,经验风险最小化原理是一致的,并且无关乎概率分布 D。

函数集为无限集的情形

对函数集为无限集的情形,不能再直接使用前面的办法。事实上,给定一个m 个观测值的集合S = {(x1; y1),...,(xm; ym)},我们考虑如下的集合:

这个集合的大小将对应于函数类F 中的函数有多少种可能方式对样本(x1,..., xm) 进行标注。由于这些函数的可能输出值只能是-1 或+1,于是ξ(F, S) 的大小是有限的,其上限为2m,且与函数类F 无关。因此,一个最小化训练集S 上的经验误差的学习算法就是,从F 中的|ξ(F; S)| 个能够给S 中的样本实现标注的函数中选取一个误差最小的函数。于是,只有有限个函数会出现在下面这个计算经验误差的表达式里:

然而,对于不同于第一个训练集的第二个集合S',集合ξ(F, S') 和F(F ,S) 并不同,于是不可能通过考虑|ξ(F; S)| 来对有限集合应用上一节得到的上界结果。

Vapnik 和Chervonenkis 提出了一个解决该问题的优雅方案。它考虑将表达式(1.13) 中的真正误差L(f) 替换为f 在另一个和S 大小相同的样本集上的经验误差,其中的样本称为虚拟样本或者幽灵样本,它的正式叙述如下。

引理1 (Vapnik 和Chervonenkis 的对称化引理Vapnik (1999)) 设F 是一个函数类(可以是无限的),S 和S' 是两个大小均为m 的学习样本集。对任意满足m∈² ≥ 2 的实数∈ > 0, 我们有以下结果:

注意,对不等式(1.14) 的左边取期望时,对应的是大小为m 的独立同分布样本集;而对不等式右边取期望时,则对应的是大小为2m 的独立同分布样本集。

将泛化误差的边界推广到函数集F 为无限集的情形,是通过研究F 中的函数在任意两个相同大小的训练集S 和S' 上的经验风险的差值来实现的。事实上,上述结果里出现的重要量是两个大小同为m 的训练集的最大可能标注数目,记为

(F; 2m),

(F;m)称为增长函数,它度量了一个m 个点序列的最大可能标注数,这个序列位于函数类F 给出的X 中。因而,

(F,m) 也被看作函数类F 大小的一个度量,正如下面结果所示。

定理1 (Vapnik et Chervonenkis (1971) ; Vapnik (1999), 第3 章) 设δ ∈]0, 1],S 是一个大小为m,依概率分布D 生成的独立同分布样本集,则我们至少以概率1 - δ 有:

这个理论的一个重要结果是,经验风险最小化原理在m 趋于无穷而

趋于0

时是一致的。此外,由于增长函数的定义并不涉及观测值的分布D,因此无论D 是什么,上述分析都有效。于是,经验风险最小化原理一致性的充分条件是,对任意概率分布D 和一个无限的函数类,

另外,

(F,m) 是一个无法测量的值,我们唯一确定

的是它的上界为2m。此外,当增长函数达到此上界时,

(F,m) = 2m。这意味着,存在一个大小为m 的样本集,在这个样本集上,函数类F 可以生成所有可能的标注,我们称该样本集被F 打碎(shatter)。从这个观察出发,Vapnik 和Chervonenkis 提出了一个辅助量,称为VC 维,来研究增长函数,其定义如下。

定义1 (VC 维, Vapnik (1999)) 设F = {f : X → {-1,+1}} 是一类取离散值的函数。F 的VC 维是满足

(F, V) = 2V 的最大整数V。也就是说,V 是能够被该函数类打碎的点的最大数。如果这样的整数不存在,那么F 的VC 维被认为是无穷的。

图1.2 显示了平面上一类线性函数的VC 维计算。根据前面的定义,我们看到,函数类的VC 维V 越大,此类函数的增长函数

(F,m) 越大,这对任意m ≥ V 都成立。一个由Sauer(1972); Shelah (1972) 证明的重要性质是,函数类F 的VC 维是F能力的一个度量,如下面的引理所示。

引理2 (Vapnik et Chervonenkis (1971); Sauer (1972); Shelah (1972)① ) 设F 是一类在{-1,+1} 上取值的函数,且具有有限的VC 维V。对任意自然数m,增长函数

(F,m) 有上界:

① 这个引理有个更广为熟知的名字,即Sauer 引理,但实际上,该引理早已在Vapnik et Chervonenkis (1971) 中发表过,只是形式上略有不同。

这个定理有不同的证明(Sauer, 1972; Shelah, 1972; BrÄonnimann et Goodrich, 1995; Cesa-Bianchi et Haussler, 1998; Mohri et al., 2012),其中包括一个对m + V 进行递归的证明,我们接下来就讲述它。首先注意到不等式(1.17) 在V = 0 和m = 0 时成立,事实上:

● 当V = 0 时,这意味着该函数类无法打碎任何点集,只能总是生成同样标注,即

● 当m = 0 时,意味着这是对空集进行标注的平凡任务,即

现在假设不等式(1.17) 对所有m' + V' < m + V 都成立,我们来证明,对给定集合

S = {x1,...., xm} 和VC 维V 的函数类F,有

此外,如果一个集合S' 被F2 打碎,集合S' ∪{xm} 也将被F 打碎,因为对F2 中的所有函数,F 都包含另外一个函数,它仅在xm 上的输出和前一个函数不同。

要点回顾

我们已经学习到以下几点。

为了泛化,必须控制函数类的能力。

当且仅当所考虑的函数类VC 维是有限的,经验风险最小化原理对所有生成数据的分布D 是一致的。

对经验风险最小化原理的一致性研究引导我们研究学习第二个基本原理,即结构风险最小化原理。

学习是小经验误差和强函数类能力之间的妥协。

1.3 依赖于数据的泛化误差界

我们看到,增长函数和VC 维是度量函数类能力的两个量,并且独立于用于生成数据的未知概率分布。然而在实践中,在大多数情况下,增长函数都难以估计,而VC 维则通常太大。虽然存在其他量能够更精细地度量函数类的能力,但它们十分依赖于学习的数据。在这些量中,我们要讨论的是Rademacher 复杂度,它由Koltchinskii et Panchenko (2000); Koltchinskii(2001) 提出,并开辟了学习理论研究的新道路。

1.3.1 Rademacher 复杂度

后发习得数据 机器学习_第1章 机器学习理论简述相关推荐

  1. 学堂在线_大数据机器学习_小笔记

    学堂在线大数据机器学习小笔记 20220607 - https://www.xuetangx.com/learn/THU08091001026/THU08091001026/10333105/vide ...

  2. 在单链表写入一组数据代码_第5章 第1节 链表 - osc_x8s7voop的个人空间 - OSCHINA - 中文开源技术交流社区...

    ● 请你说出几种基本的数据结构, 参考回答: 常见的基本的数据结构有链表.栈.队列.树(只列出面试常考的基本数据结构) 1.链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链 ...

  3. 机器学习结合大数据面试_数据科学面试机器学习

    机器学习结合大数据面试 总览 (Overview) This post will provide a technical guide on machine learning theory within ...

  4. netflix 数据科学家_数据科学和机器学习在Netflix中的应用

    netflix 数据科学家 数据科学 , 机器学习 , 技术 (Data Science, Machine Learning, Technology) Using data science, Netf ...

  5. 00_00 python机器学习_各章实例代码汇总(随学习进度更新)

    文章目录 代码整理 第一章 001 散点图 + K邻近算法 + 模型训练 第二章 001 创建两个画布, 分别设置画布大小,然后绘图 002 K邻近算法分类 绘制散点图的决策边界 002 K邻近算法回 ...

  6. Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例

    Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 文章目录 Python_机器学习_常用科学计算库_第6章_ Seaborn+综合案例 Seaborn 学习目标 6.1 Se ...

  7. Python_机器学习_算法_第4章_4.决策树算法

    Python_机器学习_算法_第4章_4.决策树算法 文章目录 Python_机器学习_算法_第4章_4.决策树算法 决策树算法 学习目标 4.1 决策树算法简介 学习目标 小结 4.2 决策树分类原 ...

  8. Python_机器学习_算法_第1章_K-近邻算法

    Python_机器学习_算法_第1章_K-近邻算法 文章目录 Python_机器学习_算法_第1章_K-近邻算法 K-近邻算法 学习目标 1.1 K-近邻算法简介 学习目标 1 什么是K-近邻算法 1 ...

  9. python 读grid 数据_科学网—Python_机器学习_总结14:Grid search - 李军的博文

    机器学习中存在两类参数:通过训练数据学习得到的参数:---可认为是辨识得到的参数,例如模型系数: 在学习算法中单独需要优化的参数--超参.调优参数:---算法自身的系数,例如决策树的深度参数: Gri ...

最新文章

  1. 快速创建 IEqualityComparerT 和 IComparerT 的实例
  2. 大数据科学认识与理解论坛全攻略
  3. MySQL查看索引使用情况
  4. 如何分析request download状态一直处于running的问题
  5. Java中反射机制(Reflection)学习
  6. WPS for MacOS如何设置自动句首字母大写
  7. 前端学习(539):全屏布局得实现
  8. linux实验四文件安全,西北农林科技大学Linux实验四 用户和文件安全
  9. 栈的效率为什么比堆高?为什么栈的运行速度比堆快?
  10. 可控硅型号怎样识别_可控硅是什么_可控硅型号_可控硅分类及判别_可控硅种类...
  11. 虚拟 IP原理(动态 IP 、固定 IP 、实体 IP)
  12. 用任何依赖中转服务器的远控软件,打造一款属于自己的远程控制软件(一)
  13. 免费屏幕录像软件哪个好?简单几步教你快速录制无水印的高清视频!
  14. Python str islower()方法
  15. 同程艺龙解除合作,同程支付艺龙3000万补偿金
  16. 小猪短租网requests库使用
  17. 鸿蒙系统王维,以少总多,意余于象——王维《终南山》赏析
  18. 3.接口测试用例书写
  19. 一周企业财报 | 阿迪达斯、盖璞、Natura、舍弗勒、百世集团等11家企业发布业绩...
  20. 支付宝 手机页面支付 集成 出现 “系统繁忙,请稍后再试”

热门文章

  1. iconmobileu驱动设置教_电脑突然断网,连接不上网络怎么办?教你3种方法找回网络...
  2. 条件式变换自编码机(conditional variational autoencoders)学习笔记(一)
  3. vue 美团框架_美团小程序框架mpvue入门教程
  4. it之家鸿蒙手机系统,IT之家安卓版新功能!支持识别鸿蒙系统与鸿蒙应用,无需更新...
  5. excel怎样把一列中有相同的数据编同一个序号,不同商品的序号要递增
  6. iOS开发-常用第三方开源框架介绍(2)
  7. mx250是什么_MX250相当于什么显卡 MX250笔记本能玩Lol/CF/吃鸡游戏吗?
  8. 混合式步进电机本体建模
  9. ntp实现多台服务器时间同步[实测]
  10. KDYD-JC自动高压漆膜连续性试验仪