Task11第12章 计算学习理论

1. 章节主要内容

机器学习理论(computational learning theory)研究的是关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法提供理论保证,并根据分析结果指导算法设计。

这章内容相对比较抽象,它关注的更多是算法能产生的数据与结果之间的映射与实际映射的贴近程度和稳定程度,而不是具体的算法的优劣。这是一个在更高层面审视机器学习算法有效性的理论,所以在学习这章内容之前,我们要设定好这样的认知,那就是文章中提到的算法是各种算法的抽象,请用一个整体的概念去阅读和理解这章的内容。

1)概率近似正确(Probably Approximately Correct,简称PAC)学习理论

计算学习理论中最基本的是概率近似正确,在学习概率近似正确理论之前,我们先理解以下这些定义:

[1]“概念”(concept):令 c 表示概念,它代表从样本空间 X 到标记空间 Y 的映射。若对任何样例(x, y)有 c(x) = y 成立,则称 c 为目标概念。所有目标概念的集合称为“概念类”(concept class),用符号 C 表示。

[2]“假设空间”(hypothesis space):给定学习算法 A,它所考虑的所有可能概念的集合称为假设空间,用符号 H 表示。对于假设空间中的任一概念,我们用符号 h 表示,由于并不能确定它是否真是目标概念,因此称为“假设”(hypothesis)。

[3]“可分的”(separable):由于学习算法事先并不知道概念类的真实存在,因此 H 和 C 通常是不同的。若目标概念 c 属于 H,则说明 H 中存在假设能将所有示例按于真实标记一致的方式完全分开,我们称该问题对学习算法 A 是“可分的”(separable),亦称“一致的”(consistent);反之,若 c 不属于 H,则称该问题对学习算法 A 是“不可分的”(non-separable),亦称“不一致的”(non-consistent)

给定训练集D,我们训练机器学习模型的目的就是希望基于学习算法 A 学得的模型所对应的假设 h 尽可能的接近目标概念 c。这种希望以较大概率学得误差满足预设上限的模型,就是“概率”“近似正确”的含义。

在清楚了上边的概念后,给定置信度 t,误差参数 e,我们有如下定义:

[1]PAC辨识(PAC Identify):对 0 < t, e < 1,所有 c 属于 C 和分布D,若存在学习算法 A,其输出假设 h 使得泛化误差 E(h) 小于 e 的概率大于置信空间 1 - t,那么我们说学习算法能从假设空间 H 中 PAC 辨识概念类 C

[2]PAC可学习(PAC Learnable):令 m 是从分布D中独立同分布采样的样例数目, 0 < t, e < 1,所有 c 属于 C 和分布D,若存在学习算法 A 和多项式函数 poly(.,.,.,.),使得对于任意 m >= poly(1/e, 1/t, size(X), size(c)),A能从假设空间 H 中 PAC辨识出概念类 C,则称概念类 C 对假设空间 H 而言是PAC可学习的

[3]PAC学习算法(PAC Learning Algorithm):若学习算法 A 使概念类 C 为PAC可学习,且 A 的运行时间也是多项式函数  poly(1/e, 1/t, size(X), size(c)) ,则称概念类 C 是高效 PAC可学习(efficiently PAC learnable)的,称 A 为概念类 C 的PAC学习算法

假定学习算法对每个样本的处理时间为常数,则算法的时间复杂度等同于样本复杂度。于是我们对算法的时间复杂度的关心转换为对样本复杂度的关心

[4]样本复杂度(Sample Complexity):满足PAC学习算法 A 所需的  m >= poly(1/e, 1/t, size(X), size(c)) 中最小的 m,称为算法 A 的样本复杂度

上边的四个概念乍看下来有点绕口,其实转换为以下表述理解起来应该就简单一些了:

如果算法 A 足够优秀,使得误差大概率情况下(在置信空间 1-t范围内)足够小(误差小于误差参数 e),那么目标概念类 C 对于算法 A 来说是PAC可辨识的;

如果采样数目 m 大于一定值时(多项式函数poly),概念类 C 一定能被 A PAC辨识,那么概念类 C 对于算法 A 来说是PAC可学习的;

如果此时算法 A 的时间复杂度也在一定范围内(多项式函数 poly)时,算法A就是概念类 C 的PAC学习算法;

PAC学习算法 A 所需的最小样本数 m 被称为算法 A 的样本复杂度

显然,PAC学习给出了一个抽象地刻画机器学习能力的框架,基于这个框架能对很多重要的问题进行理论探讨,例如研究某任务在什么样的条件下可学得较好的模型?某算法在怎样的条件下可进行有效的学习?需多少训练样例才能获得较好的模型?

PAC学习中的一个关键因素是假设空间 H 的复杂度,一般而言,H 越大其包含任意目标概念的概率也越大,但从中找到某个具体的目标概念的难度也越大。

下边我们将根据 |H| 是否有限来分别讨论机器学习理论的具体研究过程。

2)有限假设空间的可学习性研究

[1]可分情况

可分情况意味着目标概念 c 属于假设空间 H ,那么给定 m 个样本的训练集 D,一个简单的学习策略是:既然 D 中的样本标记都是由 c 赋予的,并且 c 存在于假设空间 H 中,那么任何在 D 上出现标记错误的假设肯定不是目标概念 c

于是我们只需要保留与 D 一致的假设即可,当 D 足够大时,剩余的假设越来越少,最终只会剩下目标概念 c。但是通常情况下,D 的大小是有限的,而我们只需要找到目标概念的有效近似,所以当学习算法 A 能达到PAC可学习即可。

实际上,有限假设空间 H 都是PAC可学习的,所需样例数目如下式所示,输出假设 h 的泛化误差随样例数目的增加而收敛到 0,收敛速度为O(1/m)

[2]不可分情况

对较为困难的学习问题,目标概念 c 往往不存在于假设空间 H 中。对于不可分的情况,假设空间 H 的任意一个假设 h 在训练样本 D 上都可能会出现或多或少的错误。

当 c 不属于 H 时,学习算法 A 无法学得目标概念 c 的 e 近似。但是当假设空间 H 给定时,其中必定存在一个泛化误差最小的假设,找出此假设的 e 近似也不失为一个较好的目标。

于是以此为目标,可以将PAC学习推广到不可分情况,这称为“不可知PAC学习”(agnostic PAC learning):令 m 是从分布D中独立同分布采样的样例数目, 0 < t, e < 1,对所有分布D若存在学习算法 A 和多项式函数poly(.,.,.,.),使得对于任意 m >= poly(1/e, 1/t, size(X), size(c)),A能从假设空间 H 中找到假设 h,使其泛化误差 E(h) 与最小泛化误差 E(h') 的差小于 e 的概率大于置信空间 (1 - t),则称假设空间 H 是不可知PAC可学习的

3)无限假设空间的可学习性研究 - VC维

现实学习任务所面临的常常是无限假设空间,比如 SVM、神级网络等,前者的假设空间是 d 维空间上的所有线性超平面,后者的假设空间可以是实数域中的所有区间。欲对这种情况的可学习性进行研究,需度量假设空间的复杂度。最常见的方法是考虑假设空间的“VC维”(Vapnik-Chervonenkis Dimension)

介绍VC维之前,我们再引入几个概念:

[1]增长函数(growth function):增长函数表示假设空间 H 对 m 个示例所能赋予标记的最大可能结果数 n 的映射关系。

对于二分类问题(结果只有0、1两个),若 m=2,有a,b两个样例,则赋予标记的可能结果最大为4种:a=0,b=0; a=1,b=1; a=0,b=1; a=1,b=0。以此类推当 m=3 时,则可能有8种。但是,这只是最优情况,很多时候假设空间所能赋予的最大可能结果数不是 2 的 m 次方。

显然,H 对示例所能赋予的可能结果数越大,H 的表示能力越强,对学习任务的适应能力也越强。因此,增长函数描述了假设空间 H 的表示能力,由此反映出了假设空间的复杂度

[2]对分(dichotomy):对于二分类问题来说,H 中的假设对 D 中示例赋予标记的每种可能结果称为对 D 的一种对分

[3]打散(shattering):若假设空间 H 能实现示例集 D 上的所有对分,即对于 m 个示例的样本集 D 的增长函数等于 2 的 m 次方,则称示例集 D 能被假设空间 H 打散

在清晰了以上概念后,我们可以正式定义VC维了:

假设空间 H 的VC维是能被 H 打散的最大示例集的大小,记作 VC( H )

VC( H ) = d 表明存在大小为 d 的示例集能被假设空间 H 打散,但是需注意:这并不代表所有大小为 d 的示例集都能被空间 H 打散。除此之外,VC维还有一个特点,那就是它与数据分布D无关!因此数据分布未知时我们也可以算出假设空间 H 的VC维

举个例子来加深理解一下,对于二维平面的线性划分学习任务,令假设空间 H 表示二维平面上所有的线性划分所构成的集合,输入属性 X 是二维平面的坐标,输出标签 Y 是根据 X 坐标相对应假设 h 的位置而定的,被线性划分到一边的被归为一类,另一边的被归为另一类。由下图可知,存在大小为 3 的示例集可被 H 打散,但不存在大小为 4 的示例集可被 H 打散。于是,该假设空间 H 的 VC 维为 3

因为增长函数反映出假设空间的复杂度,我们可利用增长函数来估计经验误差与泛化误差之间的关系(具体关系请参阅[Vapnik and Chervonenkis, 1971]),而通过VC维的定义我们知道VC维与增长函数有密切的关系,确切的说我们可以根据 VC 维的大小 d 来确定假设空间增长函数的上界。

于是乎我们可通过 VC 维来估计经验误差与泛化误差之间的关系,具体关系如下图定理12.3所示:

不用管那些复杂的嵌套关系、平方根、指数函数、概率分布、置信值等内容,从定理12.3我们只需要知道一个最重要的一点,那就是:泛化误差界只与样例数目 m 有关,与数据分布D和样例集 D 无关。因此,基于 VC 维的泛化误差界是分布无关(distribution-free)、数据独立(data-independent)的

在此基础上,我们可得下边这个重要的定理:

任何 VC 维有限的假设空间 H 都是(不可知)PAC可学习的

4)考虑数据分布情况下的无限假设空间可学习性研究 - Rademacher复杂度

基于 VC 维的泛化误差界是分布无关、数据独立的,也就是说对于任意的数据分布都成立。这使得基于 VC 维的可学习性分析结果具有一定的“普适性”;但从另一方面来说,由于没有考虑数据自身,基于 VC 维得到的泛化误差界通常比较“松”,对那些与学习问题的典型情况相差甚远的较“坏”分布来说尤其如此

Rademacher复杂度是另一种刻画假设空间复杂度的途径,与 VC 维不同,它在一定程度上考虑了数据分布

在介绍Rademacher复杂度前,我们先回顾一下机器学习的性能体现在哪里?机器学习算法的性能体现在其泛化误差足够小,但是现实中泛化误差往往无法求,所以我们只能用经验误差来进行近似!

考虑现实情况中噪音可能对假设空间的性能影响,在训练集上表现最好的假设有时还不如已考虑了随机噪音的假设,所以Rademacher 复杂度计算直接引入了 Rademacher 随机变量来代替训练样本中的标记,它以 0.5 的概率为 -1,0.5 的概率为 +1。

在一个确定的训练集上,经验 Rademacher 复杂度其实计算的是假设空间 H 与随机噪音相关性的期望,这个值越大,则说明假设空间与随机噪音拟合地越好,也说明这个假设空间越复杂。

假设训练集样本采样自分布D,则 Rademacher 复杂度是分布D上的经验 Rademacher 复杂度的期望

于是通过 Rademacher 复杂度,我们可以计算出基于Rademacher 复杂度的泛化误差界

5)稳定性(stability)

无论是基于 VC 维还是 Rademacher 复杂度来推导泛化误差界,所得到的结果均与具体学习算法无关,对所有的学习算法都适用。这使得人们能够脱离具体的学习算法的设计来考虑学习问题本身的性质,但在另一方面,若希望获得与算法有关的分析结果,则需另辟蹊径。稳定性分析是这方面一个值得关注的方向

算法“稳定性”考察的是算法在输入发生变化时,输出是否会随之发生较大的变化。令 AD 表示学习算法 A 在训练集 D 上学得的假设,L( AD, z ) 为损失函数,表示假设 AD 对输入 z = (x,y) 的映射 AD(x) 与真实的映射 y 之间的差值。

再次的,要继续理解稳定性对于机器学习理论的作用,我们先了解一下下边的定义与定理

[1]算法均匀稳定性

假设 AD 为学习算法 A 在训练集 D 上学得的假设,AD'  在训练集 D' 上学得的假设,其中 D' 为从 D 中移除了一个样本的新的训练集。若对于任意的 z = (x,y),| L( AD, z ) - L( AD', z ) | < B,则称学习算法 A 关于损失函数 L 满足 B-均匀稳定性

[2]若损失函数有界 M,则对于任意的 z = (x,y),有 0 <= L( AD, z ) <= M

[3]基于稳定性分析的泛化误差界

给定从分布 D 上独立同分布采样得到的大小为 m 的示例集,若学习算法 A 关于损失函数 L 满足 B-均匀稳定性,且损失函数的上界为 M,则可以学得学习算法 A 的泛化误差界

[4]经验风险最小化(Empirical Risk Minimization)原则

对损失函数 L,若学习算法 A 所输出的假设的损失等于其所在假设空间的最小损失,则称算法 A 是ERM的

综上,我们可以得到稳定性与假设空间可学习性的关系:

若学习算法 A 是ERM且稳定的,则假设空间 H 可学习

2. 基础知识

1)独立同分布(independent and identically distributed,简称 i.i.d. )

在概率统计理论中,指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布

2)上确界

上确界是一个集合的最小上界。具体到数学分析中。一个实数集合A,若有一个实数M,使得A中任何数都不超过M,那么就称M是A的一个上界。在所有那些上界中如果有一个最小的上界,就称为A的上确界

3)多项式函数 poly()

多项式函数 poly() 返回的是一个多项式,假定输入 n 个参数,第 i 个参数的值代表变量的第( n - i )项式的倍数,比如 poly(2, -1, 3, 1) = 2x^3 - x^2 + 3x + 1

3. 总结

1)机器学习理论研究的是关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法提供理论保证,并根据分析结果指导算法设计

2)机器学习理论研究的一个关键是研究算法对应的假设空间是否是可学习的

3)对于具体的假设空间,其可学习性是指该假设空间是否满足其泛化误差小于误差参数的概率在置信空间内

3)通过分析不同情况下假设空间的泛化误差界的范围,可以了解该假设空间是否可学习

4)对于有限假设空间,可以根据 PAC 学习理论来分析假设空间的可学习性

5)对于无限假设空间,我们通过 VC 维分析来度量假设空间的复杂度,并可知任何 VC 维有限的假设空间 H 都是(不可知)PAC可学习的

6)基于 VC 维的泛化误差界是分布无关(distribution-free)、数据独立(data-independent)的

7)Rademacher复杂度在 VC 维的基础上考虑了数据样本分布D

8)在一个确定的训练集上,经验 Rademacher 复杂度其实计算的是假设空间 H 与随机噪音相关性的期望,这个值越大,则说明假设空间与随机噪音拟合地越好,也说明这个假设空间越复杂

9)假设训练集样本采样自分布D,则 Rademacher 复杂度是分布D上的经验 Rademacher 复杂度的期望

10)稳定性分析是希望基于具体学习算法的设计来考虑学习问题本身的性质

11)算法“稳定性”考察的是算法在输入发生变化时,输出是否会随之发生较大的变化

12)若学习算法 A 是ERM且稳定的,则假设空间 H 可学习


 

猜你喜欢

转载自blog.csdn.net/yanyiting666/article/details/99070903