1、第 7 章 计算学习理论本章理论地刻画了若干类型的机器学习问题中的困难,和若干类型的机器学习算法的能力。该理论致力于回答如下的问题:“在什么样的条件下成功的学习是可能的?”以及“在什么条件下一特定的学习算法可保证成功运行?”为了分析学习算法,这里考虑了两种框架。在可能近似正确(PAC )框架下,我们确定了若干假设类别,判断它们能否从多项式数量的训练样例中学习得到;我们还定义了一个对假设空间的自然度量,由它可以界定归纳学习所需的训练样例数目。在出错界限(Mistake bound)框架下,我们考查了一个学习器在确定正确假设前可能产生的训练错误数量。7.1介绍在研究机器学习过程中,很自然地想知道学
2、习器(机器的或非机器的)应遵循什么样的规则。是否可能独立于学习算法确定学习问题中固有的难度?能否知道为保证成功的学习有多少训练是必要的或充足的?如果学习器被允许向施教者提出查询,而不是观察训练集的随机样本,会对所需样例数目有怎样的影响?能否刻画出学习器在学到目标函数前会有多少次出错?能否刻画出一类学习问题中固有的计算复杂度?虽然对所有这些问题的一般回答还未知,但是不完整的学习计算理论已经开始出现。本章阐述了该理论中的一些关键结论,并提供了在特定问题下一些问题的答案。这里我们着重讨论只给定目标函数的训练样例和候选假设空间的条件下,对该未知的目标函数的归纳学习问题。在这样的框架下,主要要解决的问题
3、如:需要多少训练样例才足以成功地学习到目标函数,以及学习器在达到目标前会有多少次出错。如后面将看到,有可能对这些问题提出定量的上下界,这基于学习问题的如下属性。 学习器所考虑的假设空间的大小和复杂度 目标概念须近似到怎样的精度 学习器输出成功的假设的可能性 训练样例提供给学习器的方式本章的大部分将不会着重于单独的学习算法,而是在较宽广的学习算法类别中刻画所考虑的假设空间,以及训练样例的提供方式等。我们的目标是为了回答以下的问题: 样本复杂度(Sample complexity)。学习器要收敛到成功假设(以较高的概率),需要多少训练样例? 计算复杂度(Computational complexi
4、ty)。学习器要收敛到成功假设(以较高的概率)需要多大的计算量? 出错界限(Mistake bound)。在成功收敛到一个假设前,学习器对训练样例的误分类有多少次?注意为了解决这些问题需要许多特殊的条件设定。例如,有许多方法来指定对于学习器什么是“成功的” 。一种可能的判断方法是:学习器是否输出等于目标概念的假设。另一种方法是只要求输出的假设与目标概念在多数时间内意见一致,或是学习器通常会输出这样的假设。相似地,还必须指定学习器是如何获得训练样例的。可以指定训练样例由一个施教者给出,或由学习器自己实验来获得,或按照某过程随机地生成而不受学习器的控制。可以预料,对上述问题的回答依赖于我们所考虑的
5、特定框架或学习模型。本章的后续如下安排。7.2 节介绍可能近似正确(PAC)学习框架。7.3 节在此 PAC 框架下分析了几种学习算法的样本复杂度和计算复杂度。7.4 节介绍了假设空间复杂度的一个重要度量标准,称为 VC-维,并且将 PAC 分析扩展到假设空间无限的情况。7.5 节介绍了出错界限模型,并提供了前面章节中几个学习算法出错数量的界限。最后,介绍了加权多数算法,它是一个结合多个学习算法来产生合并的预测的实用算法,还介绍了该算法的理论出错界限。7.2可能学习近似正确假设本节我们考虑学习问题的一种特殊框架,称为可能近似正确 (probably approximately correct,
6、 PAC)学习模型。首先我们指定 PAC 学习模型适用的问题,然后分析在此 PAC 模型下学习不同类别的目标函数需要多少训练样例和多大的计算量。为简明起见,这里的讨论将限制在学习布尔值概念,且训练数据是无噪声的。然而,许多结论可扩展到更一般的情形,如学习实值目标函数(比如 Natarajan 1991 ) ,或从某种类型的有噪声数据中进行学习(例如,见 Laird 1988; Kearns & Vazirani 1994) 。7.2.1 问题框架如前面的章节,令 X 代表所有实例的集合,目标函数在其上定义。例如,X 可表示所有人的集合,每个人描述为属性 age(young 或 old)和 he
7、ight (short 或 long)。令 C 代表学习器要学习的目标概念集合。C 中每个目标概念 c 对应于 X 的某个子集,或一个等效的布尔函数 c:X 0,1。例如, C 中一个目标函数 c 为概念: “是滑雪者的人” 。若 x 是 c的正例,则 c(x)=1;若 x 为反例,则 c(x)=0。假定实例按照某概率分布 D 从 X 中随机产生。例如 D 可为从某体育用品商店走出来的人这样一个实例分布。一般地,D 可为任何分布,而且它对学习器是未知的。对于 D 所要求的是它的稳定性,即该分布不会随时间变化。训练样例的生成按照 D 分布随机抽取实例 x,然后 x 及其目标值 c(x)被提供给学
8、习器。学习器 L 在学习目标概念时考虑可能假设的集合 H。例如,H 可为所有能由属性 age 和 height 的合取表示的假设集合。在观察到了一系列关于目标概念 c 的的训练样例后,L必须从 H 中输出某假设 h,它是对 c 的估计。为公平起见,我们通过 h 在从 X 中抽取的新实例上的性能来评估 L 是否成功。抽取过程按照分布 D,即与产生训练数据相同的概率分布。在此框架下,我们感兴趣的是刻画不同学习器 L 的性能,这些学习器使用不同假设空间 H,并学习不同类别的 C 中的目标概念。由于我们要求 L 足够一般,以从 C 中学到任何目标概念,所以不论训练样例的分布如何,我们经常会对 C 中所
9、有可能的目标概念和所有可能的实例分布 D 进行最差情况的分析。7.2.2 假设的错误率为了描述学习器输出的假设 h 对真实目标概念的逼近程度,首先要定义假设 h 对应于目标概念 c 和实例分布 D 的真实错误率(true error) 。非形式的描述是:h 的真实错误率为应用 h 到将来按分布 D 抽取的实例时的期望的错误率。实际上第 5 章已经定义了 h 的真实错误率。为方便起见,这里重述一下该定义,使用 c 表示布尔目标函数。定义: 假设 h 关于目标概念 c 和分布 D 的真实错误率(true error)为 h 误分类按照 D随机抽取的实例的概率。 )(Pr)(xhcheroxD这里符
10、号 代表在实例分布 D 上计算概率。DxPr图 7-1 图示了该错误率的定义。概念 c 和 h 被表示为 X 中标为正例的实例集合。 h 对应于 c 的错误率为,随机选取的实例落入 h 和 c 不一致区间(即它们的集合差)的概率。注意,错误率定义在整个实例分布之上,而不只是训练样例之上,因为它是在实际应用此假设 h 到后续实例上时会遇到的真实错误率。插图 原书页码: 205Instance space: 实例空间Where c and h disagree: c 和 h 不一致的区间图 7-1 关于目标概念 c 假设 h 的错误率关于 c 的 h 的错误率为一个随机抽取的实例落入 h 和 c
11、对它的分类不一致的区间的概率。+和-点表示正反训练例。注意 h 关于 c 有一个非零的错误率,尽管迄今为止 h 和 c 在所有 5 个训练样例上都一致。注意,此错误率强烈地依赖于未知的概率分布 D。例如,如果 D 是一个均匀的概率分布,它对 X 中每个实例都赋予相同的概率,那么图 7-1 中假设的错误率将为 h 和 c 不一致的空间在全部实例空间中的比例。然而,如果 D 恰好把 h 和 c 不一致区间中的实例赋予了很高的概率,相同的 h 和 c 将造成更高的错误率。极端情况下若 D 对满足 h(x)=c(x)的所有实例赋予零概率,图 7-1 中 h 的错误率将为 1,而不论 h 和 c 在多少
12、实例上分类一致。最后,注意 h 对应于 c 的错误率不能直接由学习器观察到。L 只能观察到在训练样例上 h 的性能,它也只能在此基础上选择其假设输出。我们将使用术语训练错误率(training error)来指代训练样例中被 h 误分类的样例所占比例,以区分上面定义的真实错误率。这里关于学习复杂度的分析多数围绕着这样的问题:“ h 的观察到的训练错误率对真实错误率errorD(h)产生不正确估计的可能性有多大?”注意此问题与第 5 章考虑的问题之间的密切联系。回忆在第 5 章中定义了 h 关于样例集合 S 的样本错误率 (sample error),为样例集合 S 中被 h 误分类的样例所占比
13、例。上面定义的训练错误率就是当 S 为训练样例集合时的样本错误率。在第 5 章中,我们在数据样本S 独立于 h 抽取的前提下,确定样本错误率对估计真实错误率产生误导的概率。然而当 S是训练数据集合时,学到的假设非常依赖于 S。因此,本章将给出这一重要的特殊情形下的分析。7.2.3 PAC 可学习性我们的目标是刻画出这样的目标概念,它们能够从合理数量的随机抽取训练样例中通过合理的计算量可靠地学习到。对于可学习性怎样进行表述?一种可能的选择是描述为了学习到一个使 errorD(h)=0 的假设 h,所需的训练样例数。不幸的是,这样的选择是不可行的,原因有两个:首先,除非对 X 中每个可能的实例都提
14、供训练样例(一个不实际的假定) ,否则会有多个假设与训练样例一致,而且学习器无法保证选择到目标概念。其次,由于训练样例是随机抽取的,总有一个非 0 的概率使得学习器面临的训练样例有误导性。 (例如,虽然我们经常可见到不同身高的滑雪者,但在某一天中总存在这样的机会,所有训练样例都刚好是 2 米高。 )为解决这两个困难,我们用两种方法弱化了对学习器的要求。首先,我们不要求学习器输出零错误率假设,而只要求其错误率被限定在某常数 的范围内, 可为任意小。第二,不再要求学习器对所有的随机抽取样例序列都能成功,只要求其失败的概率被限定在某个常数 的范围内, 也可取任意小。简而言之,我们只要求学习器可能学习
15、到一个近似正确的假设,因此得到了该术语“可能近似正确学习” ,或 PAC 学习。考虑某一目标概念类别 C 和使用假设空间 H 的学习器 L。非形式地,对 C 中任意目标概念 c,若在观察到合理数目的训练样例并执行了合理的计算量后,L 以概率(1- )输出一个 errorD(h) 。该定理说明,若训练样例的数目太少,那么不存在学习器能够 PAC 学习到任意非平凡的 C 中每个目标概念。因此,该定理提供了成功的学习所必要的训练样例的数目的下界,它对于前面上界给出的保证充足的数量的上界是一补充。注意该下界是由概念类 C 的复杂度确定的,而前面的上界由 H 确定。为什么? 1该下界说明式 7.7 给出
16、的上界相当紧凑。因为两个边界都是 1/ 的对数和 VC(H)的线性数量级。在这两个边界中惟一的区别是上界中多出的 log(1/ )依赖性。7.4.4 神经网络的 VC 维对于第 4 章讨论的人工神经网络,我们有兴趣考虑怎样计算一个互联单元的网络的VC 维,如由反向传播过程训练的前馈网络。本节给出了一般性的结论,以计算分层无环网络的 VC 维。这一 VC 维可被用于界定训练样例的数量,该数达到多大的才足以按照希望的 和 值近似可能正确地学习到一个前馈网络。本节在第一次阅读时可忽略掉,而不失连续性。考虑一个由单元组成的网络 G,它形成一个分层有向无环图。有向无环(directed acyclic)
17、图是弧带有方向(如单元有输入和输出) ,但不存在有向环的图。分层( layered)图中节点可被划分为层,这样所有第 l 层出来的有向边进入到第 l+1 层节点。第 4 章介绍的分层前馈网络就是这样的分层有向无环图的例子。可以看出,这样的网络的 VC 维的界定可以基于其图的结构和构造该图的基本单元的1 提示:如果我们在下界中用 H 代替 C,当 HC 时会得到 m 的一个更紧凑的界限VC 维。为形式化地描述,首先定义一些术语。令 n 为网络 G 的输入数目,并且假定只有1 个输出结点。令 G 的每个内部单元 Ni(即每个非输入节点)有最多 r 个输入,并实现一布尔函数 ci: r0,1 形成一
18、函数类 C。例如,若内部节点为感知器,那么 C 为定义在 r上的线性阈值函数类。现在可定义 C 的 G-合成(G-composition)为,在 G 中独立单元都取类 C 中的函数时,由网络 G 能实现所有函数的类。简单地说, C 的 G-合成是可由网络 G 表示的假设空间。下面的定理界定了 C 的 G 合成的 VC 维,基于 C 的 VC 维和 G 的结构。定理 7.4 分层有向无环网络的 VC 维。(见 Kearns & Vazirani 1994)令 G 为一分层有向无环图,有 n 个输入节点和 s2 个内部节点,每个可有至少 r 个输入。令 C 为 VC 维为 d 的 r上的概念类,对
19、应于可由每个内部节点描述的函数集合。令 CG为 C 的 G 合成,对应于可由 G 表示的函数集合。那么 VC(CG)2dslog(es) ,其中 e 为自然对数底。注意这一网络 G 的 VC 维边界随单个单元的 VC 维 d 线性增长,并随 s(即网络中阈值单元的数目)的对数乘线性增长。假定要考虑的分层有向无环网络中单个节点都是感知器。回忆第 4 章中提到的,r 输入感知器使用线性决策面来表示 r上的布尔函数。如 7.4.2.1 节指出的那样,在 r上的线性决策面的 VC 维为 r+1。因此,单独的 r 输入感知器 VC 维为 r+1。可使用这一结果及上面的定理来计算包含 s 个 r 输入感知
20、器的分层无环网络的 VC 维边界,如下: )log(1(2)(VCessperctonG现在可以计算,为了在误差 范围内以至少 1- 的概率学习到来自 CGperceptrons 的目标概念,足够的训练样例数目 m 的边界。将上面网络 VC 维的表达式代入到式 7.7,可有:)/13log()8)/2log(41HVC(7.8))/l()(6)/l(esr如此感知器网络例子所示,上面的定理的作用在于,它提供了一个一般性方法,基于网络结构和单个单元的 VC 维界定分层无环单元网络的 VC 维。不过,上面的结果不能直接应用于后向传播的网络,原因有两个。首先,此结果应用于感知器网络,而不是 sigm
21、oid单元网络,后者是后向传播算法应用的范围。然而,注意到 sigmoid 单元的 VC 维至少会与感知器单元的 VC 维一样大。因为通过使用足够的权值,sigmoid 单元可以任意精度逼近感知器。因此,上面的 m 边界至少会与 sigmoid 单元组成的分层无环网络中的一样大。上述结论的第二个不足在于,它不能处理后向传播中的训练过程,即开始以约等于 0 的权值,然后反复地更新该权值,直到找到一可接受的假设。因此,后向传播带有交叉验证终止标准,它产生一个更偏好小权值网络的归纳偏置。这一归纳偏置,降低了有效的 VC 维,是上面的分析所不能涵盖的。7.5学习的出错界限模型除了 PAC 学习模型以外
22、,计算学习理论还考虑了多种不同的问题框架。已经研究的学习问题框架中不同之处在于训练样例的生成方式(被动观察学习样例还是主动提出查询) ,数据中的噪声(有噪声数据还是无差错数据) ,成功学习的定义(必须学到正确的目标概念,还是有一定的可能性和近似性) ,学习器所做的假定(实例的分布情况以及是否 CH) ,和评估学习器的度量标准(训练样例数量、出错数量、计算时间) 。本节将考虑机器学习的出错界限(mistake bound)模型,其中学习器评估标准是它在收敛到正确假设前总的出错数。如在 PAC 问题框架中一样,这里假定学习器接收到一系列的训练样例。然而,这里我们希望每接受到一个样例 x,学习器必须
23、先预测目标值 c(x),之后再由施教者给出正确的目标值。这里考虑的问题是:“在学习器学习到目标概念前,它的预测会有多少次出错” 。这一问题在实际环境下十分重要,其中学习过程与系统运行同时进行,而不是经过一段离线的训练过程。例如,如果系统要学着预测哪些信用卡购物可被允许,哪些有欺诈行为,必须基于在使用中搜集的数据,然后我们就要在其收敛到正确目标函数前使其出错的数目最小化。这里出错的总数可能比训练样例的总数更重要。这种出错界限学习问题可以在许多特殊的背景中进行研究。例如,我们可以计算学习器在 PAC 学习到目标概念前出错的次数。在下面的例子中,我们只考虑在学习器确切学到目标概念前出错的次数。其中确
24、切学到目标概念意味着(x) h(x)=c(x)。7.5.1 Find-S 算法的出错界限再次考虑假设空间 H 包含至多 n 个布尔文字(l 1ln或它们的否定)的合取的情况(例如:Rich Handsome) 。回忆第 2 章中的 Find-S 算法,它增量式地计算与训练样例一致的极大特殊假设。对假设空间 H 的 Find-S 算法的一个简洁实现如下:Find-S: 将 h 被始化为最特殊假设 l1 l1l 2l 2lnl n 对每个正例 x 从 h 中移去任何不满足 x 的文字 输出假设 h如果 CH 且训练数据无噪声,Find-S 极限时收敛到一个无差错的假设。Find-S 开始于最特殊的
25、假设(它将每个实例分为反例) ,然后增量式地泛化该假设,以覆盖观察到的正例。对于这里使用的假设表示,泛化过程由删除不满足的文字操作构成。是否可以计算出一个边界,以描述 Find-S 在确切学到目标概念 c 前全部的出错次数?回答是肯定的。为证明之,首先注意如果 cH,那么 Find-S 永远不会将一反例错误地划分为正例。原因为当前假设 h 总比目标概念 c 更特殊。我们只需要计算将正例划分为反例的出错次数。在 Find-S 确切得到 c 前,这样的出错有多少次?考虑 Find-S 算法遇到的第一个正例。学习器当然会在分类比例时出错,因为它的初始假设将全部实例都分为反例。然而,结果将是初始假设中
26、 2n 个项中半数将被删去,只留下 n 个项。对每个后续的正例,若它被当前假设误分类,剩余 n 个项中至少有一项必须从假设中删去。因此,出错的总数至多为n+1。该出错次数是最坏情况下所需的次数,对应于学习最一般的目标概念:( x)c(x)=1,并且实例序列也是最坏情况下的每次出错只能移去一个文字。7.5.2 Halving 算法的出错界限第二个例子,考虑一个算法,它的执行过程是维护一个变型空间,并在遇到新样例时精化该变型空间。第 2 章的候选消除算法和列表后消除算法都是这样的算法。本节我们推导这样的学习器针对任意有限假设空间 H 最坏情况下出错数量的边界,并再次假定目标概念能被确切学习到。为分
27、析学习过程中出错的数量,必须首先精确指定学习器对每个新实例会作出怎样的预测。假定该预测是在当前变型空间的所有假设中作多数投票得来。如果变型空间中多数假设将新实例划分为正例,那么该预测由学习器输出。否则输出反例的预测。这种将变型空间学习和用多数投票来进行后续预测两者结合起来的算法通常被称为Halving 算法。对任意有限 H,Halving 算法在确切学习到目标概念前出错的最大次数是多少?注意“确切”地学习到目标概念等于说到达一个状态,变型空间中只包含一个假设(如往常那样假定目标概念 c 在 H 中) 。为推导该出错界限,注意 Halving 算法只在当前变型空间的多数假设不能正确分类新样例时出
28、错。在这种情况下,一但正确分类结果提供给学习器后,变型空间可减小到它的最多一半大小(即只有投少数票的假设被保留) 。由于每次出错将变型空间至少减小一半,而且初始变型空间包含|H| 个成员,所以变型空间到只包含一个成员前出错次数最大为log2|H|。实际上可证明该边界为 log2|H|。例如,考虑|H |=7 的情况。第一个出错可将|H|减小到最多为 3,第二次出错就可将其减小到 1。注意log 2|h|为最坏情况下的边界,并且有可能 Halving 算法不出任何差错就确切学习到目标概念。因为即使多数票结果是正确的,算法仍将移去那些不正确的、少数票假设。若此情况在整个训练过程中发生,那么变型空间
29、可在不出差错的情况下减小到单个成员。对 Halving 算法的一个有趣的扩展是允许假设以不同的权值进行投票。第 6 章描述了贝叶斯最优分类器,它就在假设中进行加权投票。在贝叶斯最优分类器中,为每个假设赋予的权值为其描述目标概念的估计后验概率(给定训练数据下) 。本节的后面将描述另一基于加权投票的算法,称为加权多数算法。7.5.3 最优出错界限上面的分析给出了两个特定算法:Find-S 和候选消除算法在最坏情况下的出错界限。一个很有趣的问题是,对于任意概念类 C,假定 H=C,最优的出错边界是什么?最优出错边界是指在所有可能的学习算法中,最坏情况下出错边界中最小的那一个。更精确地说,对任意学习算
30、法 A 和任意目标概念 c,令 MA(c)代表 A 为了确切学到 c,在所有可能训练样例序列中出错的最大值。现在对于任意非空概念类 C,令 MA(C) 。注意)(maxAC上面我们证明了当 C 是至多 n 个布尔文字描述的概念类时, 。同时,1nSFind对任意概念类 C,我们有 。|)(log)(2Halvig下面定义概念类 C 的最优出错边界。定义: 令 C 为任意非空概念类。 C 的最优出错界限(optimal mistake bound)定义为Opt(C),是所有可能学习算法 A 中 MA(C)的最小值。 )(min)(lg_Opt Aorthsaler用非形式的语言来讲,该定义表明
31、Opt(C)是 C 中最困难的那个目标概念使用最不利的训练样例序列,用最好的算法的出错次数。Littlestone(1987 )证明对任意概念类 C,在 C的最优出错边界,Halving 算法边界和 C 的 VC 维之间存在一有趣的联系,如下: |)(log)()()( 2MOptVHalving更进一步,存在这样的概念类使上面的 4 个量恰好相等。这样的概念类其中之一是任意有限集合的幂集 CP。在此情况下, VC(CP)=|X|=log2(|CP|),因此所有这 4 个量相等。Littlestone(1987 )提供了其他概念类的例子,其中 VC(C)严格小于 Opt(C),Opt(C)严格
32、小于 MHalving(C)。7.5.4 加权多数算法本节讨论 Halving 算法的更一般的形式,称为加权多数算法。加权多数算法通过在一预测算法池中进行加权投票来作出预测,并通过改变每个预测算法的权重来学习。这些预测算法可被看作是 H 中的不同假设,或被看作本身随时间变化的不同学习算法。对于这些预测算法,所需要的只是在给定一实例时预测目标概念的值。加权多数算法的一个有趣属性是它可以处理不一致的训练数据。这是因为它不会消除掉与样例不一致的假设,而只是降低其权重。它的第二个有趣属性是,要计算此算法的出错数量边界,可以用预测算法池中最好的那个算法的出错数量来计算。加权多数算法一开始将每个预测算法赋
33、以权重 1,然后考虑训练样例。无论何时一预测算法误分类一新训练样例时,它的权重被乘以某个系数 ,0 初始化 q0 和 q1 为 0 对每个预测算法 ai 如果 ai(x)=0,那么 q0q0+wi如果 ai(x)=1,那么 q1q1+wi 如果 q1q0,那么预测 c(x)=1如果 q0q1,那么预测 c(x)=0如果 q1=q0,那么对 c(x)随机预测 0 或 1 对 A 中每个预测算法 ai,做:如果 ai(x) c(x),那么 wiwi现在证明,加权多数算法的出错数量边界可以由投票池中最佳预测算法的出错数来表示。定理 7.5 加权多数算法的相对误差界限。令 D 为任意的训练样例序列,令
34、 A 为任意 n 个预测算法的集合,令 k 为 A 中任意算法对样例序列 D 的出错次数的最小值。那么使用 =1/2 的加权多数算法在 D 上出错次数最多为:2.4(k+log2n)证明:对定理的证明可通过比较最佳预测算法的最终权重和所有算法的权重之和。令 aj代表 A中一算法,并且它出错的次数为最优的 k 次。与 aj相联系的权重 wj将为(1/2) k,因为它的初始权重为1,并在每次出错时乘以 1/2。现在考虑 A 中所有 n 个算法的权重和 W= 。W 初始为 n。对ni1加权多数算法的每次出错,W 被减小为最多 3/4 W。其原因是加权投票占有多数的算法最少拥有整个权重 W 的一半值,
35、而这一部分将被乘以因子 1/2。令 M 代表加权多数算法对训练序列 D 的总出错次数,哪么最终的总权重 W 最多为 。因为最终的权重 wj不会比最终总权重大,因此有:n43Mkn4321重新安排各项得到: )log(4.23log)(22nknkM定理得证。概括地说,上面的定理说明加权多数算法的出错数量不会大于算法池中最佳算法出错数量,加上一随着算法池大小对数增长的项,再乘以一常数因子。该定理由 Littlestone & Warmuth(1991)进一步一般化,证明了对任意 0 到内的均匀分布。在图上画出对应训练样例数目的 m 的泛化错误率。在同一图上,画出 =0.95 时 和 m 之间理论
36、上的关系曲线。该理论是否与实验相符合?7.7 考虑假设类 Hrd2为 n 个布尔变量上的“规则的,深度 2 的决策树” 。这样的决策树是指深度为 2(即有四个叶结点,与根的矩离都为 2) ,且根的左子结点和右子结点要求包含同样的变量。例如,下面的树为 Hrd2中的一个实例。插图 原书页码: 228(a)以 n 的函数形式表示出 Hrd2 中有多少语法不同的树。(b)给出 PAC 模型下所需的样例数目上界,使学习到 Hrd2 错误率为 ,置信度为 。(c)考虑下面的对 Hrd2 类的加权多数算法。开始,H rd2 中所有假设初始权值都为 1。每次遇到新样例,要基于 Hrd2 中所有假设的加权投票
37、进行预测。然后,不是消除掉不一致的树,而是将它们的权值以因子 2 进行削减。此过程最多会有多少次出错?以 Hrd2 中最佳树的出错数和 n 来表示。7.8 本问题主要考虑要本章中的 PAC 分析和第 5 章讨论的假设评估之间的联系。考虑一学习任务,其中实例都由 n 个布尔变量描述(如: ) ,并且其抽取按nxx.321照某固定但未知的概率分布 D。目标概念已知可由布尔属性或它们的否定的合取来表示(如 ) ,并且学习算法使用该概念类作为它的假设空间 H。一个一致学习器被给予52x100 个按 D 抽取的训练样例。它从 H 中输出一个假设 h,是与所有 100 个样例一致的(即在这些训练样例上 h
38、 的错误率为 0。 )(a)我们感兴趣的是 h 的真实错误率,即将来按 D 抽取的实例被误分类的概率是多少。基于上面的信息,能否给出一个区间,使真实错误率落入其中的概率至少为 95%?如果能,请描述该区间并简述理由。否则,解释困难所在。(b)现在抽取 100 个新的实例,抽取按照分布 D 并相互独立。结果发现 h 将 100 个新样例中的 30 个误分类了。能否给出一个区间使真实错误率落入其中概率约为 95%?(在这里忽略以前对训练数据的性能。 )如果能够,请描述该区间并简述理由。否则解释困难所在。(c)即使 h 能够完善地分类训练样例,它仍然把新样例 30%误分类了。判断这种情况是对较大的 n 还是较小的 n 更有可能出现。用一句话说明你的回答的理由。