1、第七章 计算机学习理论7.1 简介 在研究机器学习的过程中,学习器应遵循什么样的规则? 是否能够独立于学习算法确定学习问题中固有的难度? 能否知道为保证成功的学习有多少训练样例是必要的和充足的? 如果学习器被允许想施教者提出查询,而不是观察训练集的随机样本,会对所需样例数目有怎样的影响? 能否刻画出学习器在学习目标函数前回有多少次出错? 能否刻画出一类学习问题中固有的计算复杂度? 在这里我们着重讨论只给定目标函数的训练样例和候选假设空间的条件下,对该未知的目标函数的归纳学习问题. 主要要解决的问题如:需要多少训练样例才足以成功的学习到目标函数以及学习器在达到目标前会出多少次错. 后面将对以上的
2、问题提出定量的上下界,这基于学习问题的如下属性: 学习器所考虑的假设空间的大小和复杂度 目标概念须近似到怎样的精度 学习器输出成功的假设的可能性 训练样例提供给学习器的方式 我们学习本章的目标的就是为了回答以下的问题: 样本复杂度:学习器要收敛到成功假设(以较高的概率),需要多少的训练样例? 计算复杂度:学习器要收敛到成功假设(以较高的概率)需要多大计算量? 出错界限:在成功收敛到一个假设前,学习器对训练样例的错误分类有多少次? 注意:为解决这些问题需要许多特殊的条件设定. 如:有许多方法来指定对于学习器什么是”成功的”. 一种可能判断的方法是:学习器是否输出等于目标函数的假设.另一种方法是:
3、只要求输出的假设与目标函数在多数的时间内意见是一致,或是学习器通常会输出这样的假设. 如:学习器是如何获得训练样例的? 可以指定训练样例由一个施教者给出,或由学习器自己实验得到,或按照某过程随机的生成而不受学习器的控制. 对于以上问题的回答以来我们所考虑的特定框架或学习模型7.2 可能学习近似正确假设 这节我们学习一种特殊的框架-可能学习近似正确(probably approximately correct,PAC)学习模型. 首先我们指定PAC学习模型适用的问题,然后分析在此模型下学习不同类别的目标函数需要多少训练样例和多大计算量. 前提:这里的讨论将限制在学习布尔值的概念,且训练 数据是无
4、噪声. 7.2.1 问题框架 另X代表所有实例的集合,目标函数在其上定义.每个实例由属性来描述. 另C代表学习器要代表的目标概念集合.C中的每个目标概念c对应于X的某个子集或一个等效的布尔函数c:X0, 1 实例按照某概率分布D从X中随机的产生.一般D,可为任何分布,而且它对学习器是未知的.对于D,所要求是它的稳定性,既该分布不会随时间的变化. 训练样例的生成按照分布D随机抽取实例x,然后x及其目标值c(x)被提供给学习器. 学习器L在学习目标概念时考虑可能的假设集合H.(H可为所有属性的合取表示的假使的集合.) 在观察了一系列目标概念c的训练样例后,L必须从H中输出某假设h,他是对c的估计.
5、我们通过h在从X中抽取的新实例上性能来评估L是否成功.抽取过程按照分布D,即与产生训练样例相同的概率分布. 在此框架下,我们感兴趣的是刻画不同的学习器L的性能,这些学习器使用不同的假设空间H,并学习不同类别的C中的目标概念.由于我们要求L足够一般,以至可以学到任何目标概念而不管训练样例的分布如何,所以我们经常会对C中所有可能的目标概念和所有可能的实例分布进行最差的分析.7.2.2 假设的错误率定义定义: :假设假设h h的关于目标的关于目标概念概念c c和分布和分布D D的真实的真实错误率为错误率为h h误分类根据误分类根据D D随机抽取的实例的概随机抽取的实例的概率率. .)()(Pr)(x
6、hxfherrorDxD 图7-1显示了该错误率的定义.概念c和h被表示为X中标为正例的实例集合.h关于c的错误率为随机选取的实例落入和不一致的区间(即它们的集合差)的概率. 注意:错误率定义在整个的分布上,而不只是训练样例上,因为它是实际应用此假设h到后续实例上时会遇到真实的错误率. 注意:此错误率紧密的依赖于未知的概率分布D,例如:如果D是一个均匀的概率分布,它对X中的每个实例都赋予相同的概率.那么假设的错误率为h和c不一致的空间在全部实例空间中的比例.然而,如果D恰好把h和c不一致的区间中的实例赋予了很高的概率,相同的h和c将造成更高的错误率.极端的情况下,若D对满足h(x)=c(x)的
7、所有的实例赋予零概率,图中的错误率将为1,而不论在多少实例上分类一致. 最后,注意h关于c的错误率不能直接有学习器观察到.L只能观察到在训练样例上h的性能,它也只能在此基础上选择其假设输出.用术语训训练错误率练错误率来指代训练样例中被误分类的样例所占的比例,以区分真实错误率真实错误率.这里关于学习复杂度的分析多数围绕着这样的问题:”的观察到的训练错误率对真实错误率产生不正确估计的可能性有多大?”.PAC可学习性 我们的目标是刻画出这样的目标概念,它们能够从合理数量的随机抽取训练样例中通过合理的计算量可靠地学习 对可学习性的表述一种可能的选择:为了学习到使errorD(h)=0的假设h,所需的训
8、练样例数这样的选择不可行:首先要求对X中每个可能的实例都提供训练样例;其次要求训练样例无误导性可能近似学习:首先只要求学习器输出错误率限定在某常数范围内的假设,其次要求对所有的随机抽取样例序列的失败的概率限定在某常数范围内只要求学习器可能学习到一个近似正确的假设 PAC可学习性的定义考虑定义在长度为n的实例集合X上的一概念类别C,学习器L使用假设空间H。当对所有cC,X上的分布D,和满足0, =1个独立随机抽取的样例,那么对于任意0=1,变型空间VSH,D不是-详尽的概率小于或等于: meH |证明:令h1,.,hk为H中关于c的真实错误率大于的所有假设。当且仅当k个假设中至少有一个恰好与所有
9、m个独立随机抽取样例一致时,不能使变型空间-详尽化。 任一假设真实错误率大于,且与一个随机抽取样例一致的可能性最多为1-,因此,该假设与m个独立抽取样例一致的概率最多为(1-)m由于已知有k个假设错误率大于,那么至少有一个与所有m个训练样例都不一致的概率最多为(当 ,则 )因此 证毕#10e1mmmeHHk|)1 ( |)1 ( 定理7.1基于训练样例的数目m、允许的错误率和H的大小,给出了变型空间不是-详尽的概率的上界。 换言之它对于使用假设空间H的任意学习器界定了m个训练样例未能将所有“坏”的假设(错误率大于的假设)剔除出去的概率利用上面的结论来确定为了减少此“未剔除”概率到一希望程度所需
10、的训练样例数。 由 可以得到 meH |)/1ln(|ln1Hm 式子7.2提供了训练样例数目的一般边界,该数目的样例足以在所期望的值和程度下,使任何 一致学习器成功地学习到H中的任意目标概念。 训练样例的数目m足以保证任意一致假设是可能(可能性为1- )近似(错误率为)正确的m随着1/线性增长,随着1/和假设空间的规模对数增长 上面的界限可能是过高的估计,主要来源于|H|项,它产生于证明过程中在所有可能假设上计算那些不可接受的假设的概率和。 在7.4节讨论一个更紧凑的边界以及能够覆盖无限大的假设空间的边界。 如果学习器不假定目标概念可在H中表示,而只简单地寻找具有最小训练错误率的假设,这样的
11、学习器称为不可知学习器式7.2基于的假定是学习器输出一零错误率假设,在更一般的情形下学习器考虑到了有非零训练错误率的假设时,仍能找到一个简单的边界。7-3 不可知学习和不一致假设 令S代表学习器可观察到的特定训练样例集合,errorS(h)表示h的训练错误率,即S中被h误分类的训练样例所占比例 令hbest表示H中有最小训练错误率的假设,问题是:多少训练样例才足以保证其真实错误率errorD(hbest)不会多+errorS(hbest) (上一节问题是这个问题的特例)?前面问题的回答使用类似定理7.1的证明方法,这里有必要引入一般的Hoeffding边界。Hoeffding边界表明,当训练错
12、误率errorS(h)在包含m个随机抽取样例的集合S上测量时,则: 上式给出了一个概率边界,说明任意选择的假设训练错误率不能代表真实情况,为保证L寻找到的最佳的假设的错误率有以上的边界,我们必须考虑这|H|个假设中任一个有较大错误率的概率:22)()(PrmSDeherrorherror22|)()(PrmSDeHherrorherrorHh将上式左边概率称为,问多少个训练样例m才足以使维持在一定值内,求解得到:式7.3是式7.2的一般化情形,适用于当最佳假设可能有非零训练错误率时,学习器仍能选择到最佳假设hH的情形。)/1ln(|ln212Hm 我们已经有了一个训练样例数目的边界,表示样本数
13、目为多少时才足以可能近似学习到目标概念,现在用它来确定某些特定概念类别的样本复杂度和PAC可学习性。 考虑目标概念类C,它由布尔文字的合取表示。布尔文字是任意的布尔变量,或它的否定。问题:C是可PAC学习的吗? 若假设空间H定义为n个布尔文字的合取,则假设空间|H|的大小为3n,得到关于n布尔文字合取学习问题的样本复杂性。7.3.1 布尔文字的合取是布尔文字的合取是PAC可学习的可学习的定理7.2:布尔合取式的PAC可学习性布尔文字合取的类C是用Find-S算法PAC可学习的 证明: 上式显示了该概念类的样本复杂度是n、1/和1/的多项式级,而且独立于size(c)。为增量地处理每个训练样例,
14、Find-S算法要求的运算量根据n线性增长,并独立于1/、1/和size(c)。因此这一概念类别是Find-S算法PAC可学习的。140)05.0/1ln(3ln101 .01)/1ln(3ln1nm 1无偏学习器(无归纳偏置)考虑一无偏概念类C,它包含与X相关的所有可教授概念,X中的实例定义为n个布尔值特征,则有无偏的目标概念类在PAC模型下有指数级的样本复杂度。nXCH2|22|)/1ln(2ln21nm7.3.2其它概念类别的其它概念类别的PAC可学习性可学习性2 K项DNF和K-CNF概念 某概念类有多项式级的样本复杂度,但不能够在多项式时间内被学习到。 概念类C为k项析取范式(k项D
15、NF)的形式k项DNF:T1.Tk,其中每一个Ti为n个布尔属性和它们的否定的合取。 假定H=C,则|H|最多为3nk,代入式7.2,得到因此,k项DNF的样本复杂度为1/、1/、n和k的多项式级但是计算复杂度不是多项式级,该问题是NP完全问题(等效于其他已知的不能在多项式时间内解决的问题) 因此,虽然k项DNF有多项式级的样本复杂度,它对于使用H=C的学习器没有多项式级的计算复杂度。 令人吃惊的是,虽然k项DNF不是PAC可学习的,但存在一个更大的概念类是PAC可学习的这个更大的概念类是K-CNF,它有每样例的多项式级时间复杂度,又有多项式级的样本复杂度。K-CNF:任意长度的合取式T1.T
16、j,其中每个Ti为最多k个布尔变量的析取。容易证明K-CNF包含了K项DNF,因此概念类k项DNF是使用H=K-CNF的一个有效算法可PAC学习的。式子7.2用|H|刻画样本复杂度有两个缺点: 1 可能导致非常弱的边界 2 对于无限假设空间的情形,无法应用本节考虑H的复杂度的另一种度量,称为H的Vapnik-Chervonenkis维度(简称VC维或VC(H)) 使用VC维代替|H|也可以得到样本复杂度的边界,基于VC维的样本复杂度比|H|更紧凑,另外还可以刻画无限假设空间的样本复杂度.7-4 无限假设空间的样本复杂度 VC维衡量假设空间复杂度的方法不是用不同假设的数量|H|,而是用X中能被H
17、彻底区分的不同实例的数量. S是一个实例集,H中每个h导致S的一个划分,即h将S分割为两个子集xS|h(x)=1和xS|h(x)=0.定义:一实例集S被假设空间H打散,当且仅当对 S的每个划分,存在H中的某假设与此划分一致如果一实例集合没有被假设空间打散,那么必然存在某概念可被定义在实例集之上,但不能由假设空间表示. H的这种打散实例集合的能力是其表示这些实例上定义的目标概念的能力的度量.7.4.1 打散一个实例集合定义:定义在实例空间X上的假设空间H的Vapnik-Chervonenkis维,是可被H打散的X的最大有限子集的大小.如果X的任意有限大的子集可被H打散则VC(H)=.对于任意有限
18、的H,VC(H)=log2|H|。假定VC(H)=d;那么|H|需要2d个实例。所以2d=2,任意学习器L,以及任意01/8,0。 说明:若训练样例的数目太少,那么没有学习器能够以PAC模型学习到任意非平凡的C中每个目标概念。 式子7.7给出了保证充足数量的上界,而定理7.3给出了下界。321)(),/ 1log(1maxCVC本节给出一般性的结论,以计算分层无环网络的VC维。这个VC维可用于界定训练样例的数量,该数达到多大才足以按照希望的和值近似可能正确地学习一个前馈网络考虑一个由单元组成的网络G,它形成一个分层有向无环图。分层有向无环图的特点:1 节点可划分成层,即所有第l层出来的有向边进
19、入到第l+1层节点2 没有有向环,即有向弧形成的回路7.4.4 神经网络的神经网络的VC维维 这样网络的VC维的界定可以基于其图的结构和构造该图的基本单元的VC维。定义一些术语G表示神经网络n是G的输入数目G只有1个输出节点G的每个内部单元Ni最多有r个输入,并实现一布尔函数ci:Rr0,1,形成函数类C定义C的G-合成:网络G能实现的所有函数的类,即网络G表示的假设空间,表示成CG。定理7.4分层有向无环网络的VC维: 令G为一分层有向无环图,有n个输入节点和s2个内部节点,每个至少有r个输入,令C为VC维为d的Rr上的概念类,对应于可由每个内部节点s描述的函数集合,令CG为C的G合成,对应
20、于可由G表示的函数集合,则VC(CG)=2dslog(es)。假定要考虑的分层有向无环网络中单个节点都是感知器,由于单独的r输入感知器VC维为r+1,代入定理7.4和式子7.7,得到)log() 1(2)(essrCVCsperceptronG)/13log()log() 1(16)/2log(4(1essrm上面的结果不能直接应用于反向传播的网络,原因有两个:1 此结果应用于感知器网络,而不是sigmoid单元 网络。2 不能处理反向传播中的训练过程。总结。7.5 学习的出错界限模型 计算学习理论考虑多种不同的问题框架训练样例的生成方式(被动观察、主动提出查询)数据中的噪声(有噪声或无噪声)
21、成功学习的定义(必须学到正确的目标概念还是有一定的可能性和近似性)学习器所做得假定(实例的分布情况以及是否CH)评估学习器的度量标准(训练样例数量、出错数量、计算时间) 机器学习的出错界限模型学习器的评估标准是它在收敛到正确假设前总的出错数学习器每接受到一个样例x,先预测目标值c(x),然后施教者给出正确的目标值考虑的问题是:在学习器学习到目标概念前,它的预测会有多少次出错下面讨论中,只考虑学习器确切学到目标概念前出错的次数,确切学到的含义是x h(x)=c(x)7.5.1 Find-S算法的出错界限 Find-S算法的一个简单实现将h初始化为最特殊假设l1l1.lnln对每个正例x从h中移去
22、任何不满足x的文字输出假设h 计算一个边界,以描述Find-S在确切学到目标概念c前全部的出错次数Find-S永远不会将一反例错误地划分为正例,因此只需要计算将正例划分为反例的出错次数遇到第一个正例,初始假设中2n个项半数被删去,对后续的被当前假设误分类的正例,至少有一项从假设中删去出错总数至多为n+17.5.2 Halving算法的出错界限 学习器对每个新实例x做出预测的方法是:从当前变型空间的所有假设中取多数票得来 将变型空间学习和用多数票来进行后续预测结合起来的算法称为Halving算法 Halving算法只有在当前变型空间的多数假设不能正确分类新样例时出错,此时变型空间至少可减少到它的
23、一半大小,因此出错界线是log2|H| Halving算法有可能不出任何差错就确切学习到目标概念,因为即使多数票是正确的,算法仍将移去那些不正确、少数票假设 Halving算法的一个扩展是允许假设以不同的权值进行投票(如贝叶斯最优分类器和后面讨论的加权多数算法)7.5.3 最优出错界限 问题:对于任意概念类C,假定H=C,最优的出错边界是什么? 最优出错边界是指在所有可能的学习算法中,最坏情况下出错边界中最小的那一个 对任意学习算法A和任意目标概念c,令MA(c)代表A为了确切学到c,在所有可能训练样例序列中出错的最大值 对于任意非空概念类C,令MA(C)=maxcCMA(c) 定义:C为任意
24、非空概念类,C的最优出错界限定义为Opt(C)是所有可能学习算法A中MA(C)的最小值)(min)(学 习CMCOptAA算法 非形式地说,Opt(C)是C中最难的那个目标概念使用最不利的训练样例序列用最好的算法时的出错次数 Littlestone1987证明了|log)()()(2CCMCOptCVCHalving7.5.4 加权多数算法 Halving算法的更一般形式称为加权多数算法 加权多数算法通过在一组预测算法中进行加权投票来作出预测,并通过改变每个预测算法的权来学习 加权多数算法可以处理不一致的训练数据,因为它不会消除与样例不一致的假设,只是降低其权 要计算加权多数算法的出错数量边界
25、,可以用预测算法组中最好的那个算法的出错数量 加权多数算法一开始将每个预测算法赋予权值1,然后考虑训练样例,只要一个预测算法误分类新训练样例,它的权被乘以某个系数,0=0,则没有一个预测算法会被完全去掉。如果一算法误分类一个样例,那么它的权值变小 ai代表算法池A中第i个预测算法,wi代表与ai相关联的权值 对所有i,初始化wi1 对每个训练样例做:初始化q0和q1为0对每个预测算法ai如果ai(x)=0,那么q0q0+wi如果ai(x)=1,那么q1q1+wi如果q1q0,那么预测c(x)=1如果q0q1,那么预测c(x)=0如果q0=q1,那么对c(x)随机预测为0或1对每个预测算法ai如
26、果ai(x)c(x),那么wiwi 定理7.5:加权多数算法的相对误差界限令D为任意的训练样例序列,令A为任意n个预测算法集合,令k为A中任意算法对样例序列D的出错次数的最小值。那么使用=1/2的加权多数算法在D上出错次数最多为:2.4(k+log2n) 证明:可通过比较最佳预测算法的最终权和所有算法的权之和来证明。令aj表示A中一算法,并且它出错的次数为最优的k次,则与aj关联的权wj将为(1/2)k。A中所有n个算法的权的和 ,W的初始值为n,对加权多数算法的每次出错,W被减小为最多 ,其原因是加权投票占少数的算法最少拥有整个权W的一半值,而这一部分将被乘以因子1/2。令M代表加权多数算法
27、对训练序列D的总出错次数,那么最终的总权W最多为n(3/4)M由 ,得 意义:加权多数算法的出错数量不会大于算法池中最佳算法出错数量,加上一个随着算法池大小对数增长的项,再乘以一常数因子niiwW1W43Mkn4321)log(4.2)43(log)log(222nknkM小结 可能近似正确模型(PAC)针对的算法从某概念类C中学习目标概念,使用按一个未知但固定的概念分布中随机抽取的训练样例,它要求学习器可能学习到一近似正确的假设,而计算量和训练样例数都只随着1/、1/、实例长度和目标概念长度的多项式级增长 在PAC学习模型的框架下,任何使用有限假设空间H的一致学习器,将以1-的概率输出一个误
28、差在内的假设,所需的训练样例数m满足|ln)/1ln(1Hm 不可知学习考虑更一般的问题:学习器不假定目标概念所在的类别,学习器从训练数据中输出H中有最小误差率的假设。学习保证以概率1-从H中最可能的假设中输出错误率小于的假设,需要的随机抽取的训练样例数目m满足 学习器考虑的假设空间的复杂度对所需样例的数目影响很大,而衡量假设空间复杂度的一个有用的度量是VC维。VC维是可被H打散的最大实例集的大小|ln)/1ln(212Hm 在PAC模型下以VC(H)表示的足以导致成功学习的训练样例数目的上界和下界分别是: 另一种学习模式称为出错界限模式,用于分析学习器在确切学习到目标概念之前会产生的误分类次
29、数Halving算法在学习到H中的任意目标概念前会有至多log2|H|次出错对任意概念类C,最坏情况下最佳算法将有Opt(C)次出错,满足VC(C)=Opt(C)=log2|C|)/13(log)(8)/2(log4122HVCm321)(),/1log(1maxCVCm 加权多数算法结合了多个预测算法的加权投票来分类新的实例,它基于这些预测算法在样例序列中的出错来学习每个算法的权值。加权多数算法产生的错误界限可用算法池中最佳预测算法的出错数来计算补充读物计算学习理论中许多早期的工作针对的问题是:学习器能否在极限时确定目标概念Gold1967给出了极限模型下的确定算法Angluin1992给出了一个好的综述Vapnik1982详细考察了一致收敛Valiant1984给出了PAC学习模型Haussler1988讨论了-详尽变型空间Bluer et al.1989给出了PAC模型下的一组有用的结论Kearns & Vazirani1994提供了计算学习理论中许多结论的优秀的阐述会议:计算学习理论年会COLT杂志:机器学习的特殊栏目
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。