版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE29神经计算研究现状及发展趋势**国家自然科学基金、江苏省自然科学基金资助陈兆乾周志华陈世福(南京大学计算机软件新技术国家重点实验室,南京210093)摘要神经计算是软计算的重要组成部分。近二十年来,该学科的研究受到了极大的重视,取得了大量成果,但也暴露出很多目前研究中存在的不足。本文综述了神经计算的研究现状及发展趋势,主要介绍了神经计算理论、方法、应用等不同层面的一些重要研究领域的研究进展,并指出了一些有待研究的重要问题。关键词神经网络,VC维,计算学习理论,集成,数据挖掘,快速学习,增量学习,规则抽取1引言神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,其组织能够模拟生物神经系统对真实世界所作出的交互反应[Koh88]。基于神经网络建立计算模型,并用于解决科学和工程中的问题就称为神经计算。该领域最早的研究可上溯到McCulloch和Pitts提出的M-P模型[MP43]。在Hebb提出了Hebb学习规则[Heb49]、Rosenblatt[Ros58]研制出感知机(Perceptron)之后,神经计算受到了极大的重视,吸引了大批研究人员参与该领域的研究工作,并取得了一定的进展。但是,由于1969年Minsky和Papert[MP69]指出感知机的缺陷并表示出对该方面研究的悲观态度,同时,以产生式规则为内部表示的专家系统方法展示出灿烂的前景,很长时间内神经计算的研究处于停滞状态。在此期间,为专家系统服务的知识工程成为了人工智能研究的主流。但是,随着知识工程的发展,Feigenbaum等[Fei81]知识工程倡导者意识到了所谓知识瓶颈问题,即将人类专家的知识转化为机器可执行的规则存在着很大的困难,而如果机器能够自学习,则可望解决该瓶颈问题。于是,机器学习研究得到了迅猛的发展[MCM83]。在研究中,研究者们[Mic87,Qui88]发现,与机械学习、类比学习等学习方式相比,示例学习是解决知识瓶颈问题唯一可行的方法。1982年,Hopfield[Hop82]利用全互连型神经网络和计算能量函数成功求解了计算复杂度为NP完全型的TSP(TravellingSalesmanProblem)问题。这充分展示了神经计算作为一种数值型示例学习方法蕴含的巨大潜力。从此,神经计算成为了一个非常热门的研究领域,经过多年的发展,已成为人工智能两大主流(连接主义和符号主义)之一。随着研究的深入,目前神经计算研究中存在的问题也逐渐暴露出来,其中的一些已成为神经计算进一步发展的阻碍。但是,从另一个方面来看,它们也揭示了该领域下一步应该着重研究的问题。本文从理论、方法、应用等不同层面,综述了神经计算一些重要研究领域的研究进展,主要包括神经网络VC维计算、神经网络集成、基于神经网络的数据挖掘,并指出了一些有待研究的重要问题。限于篇幅,本文没有对神经计算的其他重要领域做深入剖析,仅在结束语中简要述及。2神经网络VC维计算2.1重要性神经计算技术已经在很多领域得到了成功的应用,但由于缺少一个统一的理论框架[CC98],经验性成分相当高。这使得研究者们难以对各种神经计算模型的性能及其适用范围进行理论分析,仅能用不十分可靠的实验性比较评价优劣。另一方面,在利用神经计算解决问题时,也只能采取具体问题具体分析的方式,通过大量费力耗时的实验摸索,确定出合适的神经网络模型、算法以及参数设置。这些缺陷已经对神经计算的进一步发展造成了极大的阻碍。如果能提供一套比较完备的理论方法,将可望解决上述问题。最近十年里,很多研究者都致力于这方面的研究,力图在一个统一的框架下来考虑学习与泛化的问题[Wol95]。PAC(ProbablyApproximatelyCorrect)学习模型[Val84]就是这样一个框架。作为PAC学习的核心以及学习系统学习能力的度量,VC维(Vapnik-Chervonenkisdimension)在确定神经网络的容量(capacity)、泛化能力(generalization)、训练集规模等的关系上有重要作用。如果可以计算出神经网络的VC维,则我们可以估计出要训练该网络所需的训练集规模;反之,在给定一个训练集以及最大近似误差时,我们可以确定所需要的网络结构。联系到Hornik等人[HSW89]所证明的结论,即“仅有一个隐层的网络就可以任意精度逼近任何函数,但确定该网络的结构是NP难问题”,显然,神经网络VC维计算的研究对神经网络的发展将会产生极大的促进作用。2.2VC维学习系统的容量对其泛化能力有重要影响[Vap82,BH89,GVBBS92]。低容量学习系统只需要较小的训练集,高容量学习系统则需要较大的训练集,但其所获的解将优于前者。对给定训练集来说,高容量学习系统的训练集误差和测试集误差之间的差别将大于低容量学习系统。Vapnik[Vap82]指出,对学习系统来说,训练集误差与测试集误差之间的差别是训练集规模的函数,该函数可以由学习系统的VC维表征。换言之,VC维表征了学习系统的容量。Anthony[Ant97]将VC维定义为:设F为一个从n维向量集X到{0,1}的函数族,则F的VC维为X的子集E的最大元素数,其中E满足:对于任意SE,总存在函数fsF,使得当xS时fs(x)=1,xS但xE时fs(x)=0。VC维可作为函数族F复杂度的度量,它是一个自然数,其值有可能为无穷大,它表示无论以何种组合方式出现均可被函数族F正确划分为两类的向量个数的最大值。对于实函数族,可定义相应的指示函数族,该指示函数族的VC维即为原实函数族的VC维。为便于讨论,我们针对典型的二元模式识别问题进行分析。设给定训练集为{(x1,y1),(x2,y2),…,(xl,yl)},其中xiRn,y{0,1}。显然,xi是一个n维输入向量,y为二值期望输出。再假设训练样本与测试样本均满足样本空间的实际概率分布P(x,y)。对基于统计的学习方法来说,学习系统可以由一族二值函数{f(x,),}表征,其中参数可以唯一确定函数f(),为所有可能的取值集合。因此,{f(x,),}的VC维也表征了该学习系统的复杂度,即学习系统的最大学习能力,我们称其为该学习系统的VC维。学习的目的就是通过选择一个参数*,使得学习系统的输出f(x,*)与期望输出y之间的误差概率最小化,即出错率最小化。出错率也称为期望风险(ExpectedRisk),如式1所示: (1)其中P(x,y)为样本空间的实际概率分布。由于P(x,y)通常是未知的,因此无法直接计算R()。但是,对给定的训练集,其经验风险(EmpiricalRisk)Remp()却是确定的,如式2所示: (2)其中(xi,yi)为训练样本,l为训练集中样本数,即训练集规模。由数理统计中的大数定理可知,随着训练集规模的扩大,Remp()将逐渐收敛于R()。基于统计的学习方法大多建立在经验风险最小化原则(PrincipleofEmpiricalRiskMinimization)基础上,其思想就是利用经验风险Remp()代替期望风险R(),用使Remp()最小的f(x,l)来近似使R()最小的f(x,0)。这类方法有一个基本的假设,即如果Remp()收敛于R(),则Remp()的最小值收敛于R()的最小值。Vapnik与Chervonenkis[VC71]证明,该假设成立的充要条件是函数族{f(x,),}的VC维为有限值。Vapnik[Vap82]还证明,期望风险R()满足一个上界,即任取满足0≤<1,下列边界以概率1–成立: (3)其中h为函数族{f(x,),}的VC维,l为训练集规模。式3右侧第二项通常称为VC置信度(VCConfidence)。由式3可以看出,在学习系统VC维与训练集规模的比值很大时,即使经验风险Remp()较小,也无法保证期望风险R()较小,即无法保证学习系统具有较好的泛化能力。因此,要获得一个泛化性能较好的学习系统,就需要在学习系统的VC维与训练集规模之间达成一定的均衡。2.3研究进展2.3.1概述由于神经网络也是一种基于统计的学习方法,因此其VC维也满足2.2节中关于一般学习系统的讨论。从功能上来说,每一个权值、阈值等参数都已被确定的神经网络就相当于一个函数。不妨假设网络有n个输入神经元,m个输出神经元,则该网络对应于一个函数f:RnRm。如果我们用来表示所有权值、阈值等可调参数的集合,表示该集合可能的取值集合,则神经网络的学习过程可被视为通过选择*来确定函数f(x,*)。这样,如果求出函数族f()的VC维,我们就得到了该神经网络的VC维。由于神经网络的VC维取决于网络中可调参数的数目,而后者又是由网络的拓扑结构所确定的,因此,网络的VC维与拓扑结构之间有必然的联系。在给定训练集的情况下,如果我们能求出合适的VC维,则可以帮助确定网络的结构;反之,在给定网络结构的情况下,如果我们能求出其VC维,则可以确定合适的训练集规模。显然,这对寻找Hornik[HSW89]指出的最优解有重要的启发作用。Cover[Cov65]最早进行了神经网络VC维的计算工作,在此之后,Vapnik在相关的统计学方面做了大量的工作[Vap82],他们的成果与Blumer等人[BEHW89]在计算学习理论方面的工作一起,被Valiant[Val84]引入PAC学习模型中。从此,神经网络VC维的计算受到了极大的重视。1997年,Vidyasagar[Vid97]通过构造性方法证明,神经网络的VC维并不一定是有限的。因此,对神经网络VC维的讨论必须针对一定的网络结构,这样才能保证VC维为有限值。目前,这方面的研究成果主要集中在以阈值函数(thresholdfunction)、分段多项式函数(piecewisepolynomialfunction)和Sigmoid函数为响应函数的神经网络上。为便于讨论,我们引入三个符号:O、和。对于任意函数f和g,如果存在c1>0使得f≤c1g,则记为f=O(g);如果存在c2>0使得f≥c2g,则记为f=(g);如果f=O(g)和f=(g)同时满足,则记为f=(g)。2.3.2阈值网络Cover[Cov65]和Baum等人[BH89]分别证明,对以阈值函数为响应函数的前馈神经网络,若网络有w个连接权,则其VC维上界为O(wlogw),其中log()表示以2为底的对数。1993年,Sakurai[Sak93]证明,对仅有一个隐层且输入为实值向量的前馈阈值神经网络来说,如果网络有w个可调参数,则其VC维下界为(wlogw)。1994年,Maass[Mas94]对Sakurai的结论做了进一步扩展,证明对至少有两个隐层的前馈阈值神经网络来说,其VC维下界为(wlogw)。Maass的结论表述为定理1:[定理1]设(n)nN为层数d≥3(至少两个隐层)的层间全连接神经网络的任意序列,并且n有n个输入神经元和(n)个计算神经元(包括隐层神经元和输出神经元),其中(n)个计算神经元位于第1隐层,至少4logn个位于第2隐层,则n有(n2)个权,其VC维VC(n)=(n2logn)。1999年,Carter和Oxley[CO99]研究了神经网络VC维与组合几何(combinatorialgeometry)[Zas97]之间的关系,利用Poincare多项式[OT91]给出了阈值前馈网络VC维计算公式,其结论表述为定理2:[定理2]给定向量v1,v2,…,vpRd,阈值t1,t2,…,tpR,以及参数w1,w2,…,wpR,设为阈值前馈网络,且隐层数目足够多,则该网络的第一隐层所产生的函数族为式4,该网络的VC维为式5。 (4) (5)定理2说明,阈值前馈网络的第一个隐层将决定多边形划分区域,其他隐层则决定对这些区域的布尔操作。如果有足够多的隐层,则可产生对这些划分区域的所有可能的逻辑操作组合。因此,只需研究第一隐层所产生的函数族就可以获得网络的VC维。除了上述对前馈网络的研究,1998年Koiran和Sontag[KS98]证明,对以阈值函数为响应函数的循环神经网络(recurrentneuralnetworks),其VC维下界为(wlog(k/w)),上界为O(min{wklogwk,w2+wlogwk})。其中k为网络输入序列的长度。2.3.3分段多项式网络1995年,Goldberg和Jerrum[GJ95]证明,以分段多项式函数为响应函数的前馈神经网络的VC维满足式6,其中w为网络中可调参数的个数,k为计算神经元的个数。 (6)1997年,Koiran与Sontag[KS97]证明分段多项式前馈网络的VC维下界为(w2),其结论表述为定理3:[定理3]设是一个分段C2函数,对于任意的n≥1,均存在一个神经网络,其神经元的响应函数为,且网络中有O(n)个权。该网络的VC维为n2,仅在下列情况例外:是分段常数(piecewise-constant),此时网络的VC维为O(nlogn);是仿射变换(affine),此时网络的VC维为O(n);除有限非空点集外,存在常数a0和b使得(x)=ax+b,此时网络的VC维为O(n2),且存在一些VC维为(nlogn)的网络。1998年,Bartlett等人[BMM98]对分段多项式前馈网络的VC维边界做了改进,其结论表述为定理4和定理5:[定理4]对于任意正整数w,k≤w,L≤w,l和p,考虑一个具有实值输入的网络,它最多有w个权,L层中最多有k个计算神经元,除一个输出神经元采用线性响应函数外,所有计算神经元都采用分段多项式响应函数,这些函数的度数为l,具有p个断点。设F为由此网络计算的实值函数族,则其VC维满足式7,由于L和k满足O(w),则对于固定的l和p,其VC维满足式8。 (7) (8)[定理5]设f:R→R具有下列性质:;f在一些可微点x0处满足f(x0)0。则对于任意的L≥1,w≥10L–14,存在一个有L层和w个权的前馈参数,其输出神经元采用线性响应函数,其他计算神经元采用响应函数f,由此网络计算的函数族满足式9,其中为不超过u的最大整数。 (9)由定理4和定理5可以看出,当L=O(w)时,分段多项式前馈网络的VC维下界为(wL);如果L固定,则VC维上界为O(wlogw),这优于Goldberg和Jerrum[GJ95]给出的上界。除了上述对前馈网络的研究,1998年Koiran和Sontag[KS98]证明,对以固定非线性多项式函数(fixednonlinearpolynomialfunction)为响应函数的回归神经网络,其VC维约为wk。对以固定分段多项式函数(fixedpiecewisepolynomialfunction)为响应函数的回归神经网络,其VC维下界为(wk),上界为O(w2k)。其中k为网络输入序列的长度。2.3.4Sigmoid网络对于以Sigmoid函数为响应函数的前馈神经网络,1997年Koiran与Sontag[KS97]证明其VC维下界为(w2),其表述如定理3所示。Bartlett等人[BMM98]证明其VC维下界为(wL),其表述如定理5所示。1997年,Karpinski与Macintyre[KM97]证明这类前馈网络的VC维上界为O(w2k2),其中k为网络中计算神经元数。除此之外,1998年Koiran和Sontag[KS98]证明,对以Sigmoid函数为响应函数的循环神经网络,其VC维下界为(wk),上界为O(w4k2)。其中k为网络输入序列的长度。2.4进一步的问题1994年,Maass[Mas94]曾提出有关神经网络VC维研究的一些公开问题,但这些问题在近几年中大多已得到解决。我们认为,在将来的研究中,以下几方面的问题可望成为该领域的主要研究内容:(1)对于阈值前馈网络和分段多项式前馈网络,其VC维已经得到了充分的研究,特别是前者,已经得到了对实际应用具有指导意义的VC维具体数值wlogw。但是,由于这两类网络的学习能力非常有限,实际使用得最多的是以Sigmoid函数或Gaussian函数等连续函数为响应函数的前馈网络。目前,关于此类网络的VC维研究还有待深入。虽然Sigmoid前馈网络已得到了一些研究结论,但其VC维上界O(w2k2)与下界(w2)之间的差距太大,对实际应用缺乏指导意义。如何尽可能缩小该差距,将是一个重要研究课题。(2)目前,对神经网络VC维的研究主要侧重于确定其上、下界。由于求出的上、下界之间往往有较大的差距,使得该领域的研究成果难以直接反映到神经网络结构设计、训练集样本选择中。如果能找到一种方法,可以确定网络VC维的具体值,将有重要的实际意义。在这方面的研究中,Carter和Oxley[CO99]的方法也许是一个值得深入的研究方向。(3)神经网络技术发展到现在,其模型、算法种类已非常多,它们在解决不同的问题时往往具有不同的能力。例如,循环神经网络在处理时序问题时其效果远优于前馈网络。但是,目前VC维的研究主要集中在前馈网络上,对其他类型的网络还研究得很少。这方面的工作如能得到加强,将有助于改善各种类型的神经网络在实际应用中的性能。Koiran和Sontag[KS98]的工作已为此开了个头。(4)最近几年,神经网络集成(neuralnetworkensemble)已成为神经网络界研究的热点。由于集成的目的是通过充分利用训练样本来改善网络的泛化能力,因此,集成中网络的类型、结构与训练集规模有密切的关系。集成中虽然包含多个网络,但从更高的抽象级来看,整个集成也可以看作一个学习系统。因此,神经网络集成也应该具有VC维,如能找到它的计算方法,将对集成技术的发展起到重要的促进作用。有关神经网络集成的研究将在本文第3部分中详细介绍。(5)由于VC维考察的是学习系统在最坏情况下的样本复杂度,因此其结论通常是比较“悲观”的,与实际应用时的需要有较大的偏差。此外,在进行VC维分析时,通常假定训练样本是“一致可学习”的,即训练样本均匀地分布在样本空间中。但在实际应用中,该假设往往很难满足。由此可知,VC维本身仍存在一些缺陷。如能改进VC维分析方法,或提出更好的方法,将对神经网络乃至整个机器学习技术的发展起到深远的影响。在这方面,Haussler等人[HKOS92]和Takahashi等人[GT96,TG98]已进行了一些研究,并取得了初步的成果。3神经网络集成3.1重要性如2.1节所言,由于缺乏严密理论体系的指导,神经计算技术的应用效果完全取决于使用者的经验。虽然Hornik等人[HSW89]证明,只需一个具有单隐层的前馈网络就可以逼近任意复杂度的函数,但如何找到合适的网络配置却是一个NP问题。在实际应用中,由于缺乏问题的先验知识,往往很难找到理想的网络结构,这就影响了网络泛化能力的提高。如果能建立一套方法,避开网络配置的问题,从另一个角度寻求提高学习系统泛化能力的途径,具有重要的现实意义。1990年,Hansen和Salamon[HS90]开创性地提出了一种方法,即神经网络集成(neuralnetworkensemble),为上述问题的解决提供了一个简易可行的方案。使用这种方法,可以简单地通过训练多个神经网络并将其结果进行合成,显著地提高学习系统的泛化能力。由于其易于使用且效果明显,即使是缺乏神经计算经验的普通工程技术人员也可以从中受益。因此,对神经网络集成的研究不仅会促进神经计算乃至所有统计学习方法的理论研究,还会极大地促进神经计算技术进入工程应用的进程。目前,尤其是最近两、三年中,国际上很多神经计算、统计学的研究者都投入到神经网络集成的研究中,使得该领域成为了一个相当活跃的研究热点。3.2研究进展3.2.1概述Kearns和Valiant[KV88]指出,在PAC学习模型中,若存在一个多项式级学习算法来识别一组概念,并且识别正确率很高,那么这组概念是强可学习的;而如果学习算法识别一组概念的正确率仅比随机猜测略好,那么这组概念是弱可学习的。Kearns和Valiant提出了弱学习算法与强学习算法的等价性问题,即是否可以将弱学习算法提升成强学习算法。如果两者等价,那么在学习概念时,我们只要找到一个比随机猜测略好的弱学习算法,就可以将其提升为强学习算法,而不必直接去找通常情况下很难获得的强学习算法。上述等价性问题可视为神经网络集成思想的出发点。1990年,Schapire[Sch90]通过一个构造性方法对该问题作出了肯定的证明,其构造过程称为Boosting。虽然Boosting算法并非专为神经网络设计,但由于其与神经网络集成有着难以分割的血缘关系,因此我们在本节中,也将对Boosting及相关问题进行介绍。1996年,Sollich和Krogh[SK96]将神经网络集成定义为:“神经网络集成是用有限个神经网络对同一个问题进行学习,集成在某输入示例下的输出由构成集成的各神经网络在该示例下的输出共同决定”。目前这个定义已被广泛引用。但是,也有一些研究者[OM99]认为,神经网络集成指的是多个独立训练的神经网络进行学习并共同决定最终输出结果,并不要求集成中的网络对同一个(子)问题进行学习。符合后一定义的研究至少可以上溯到1972年诺贝尔物理奖获得者Cooper[Coo91]及其同事和学生八十年代中后期在Nestor系统中的工作,但是,目前一般认为神经网络集成的研究始于Hansen和Salamon[HS90]。在神经网络集成的研究中,始终存在着两方面的内容。一方面,研究者们试图设计出更有效的神经网络集成实现方法,以直接用于解决问题。另一方面,研究者们试图对神经网络集成进行理论分析,以探明这种简单的方法为何有效、在何种情况下有效,从而为实现方法的设计提供指导。除此之外,很多研究者将神经网络集成应用到实际问题域中,取得了很好的效果。本节后续部分将分别对这些方面的研究进展进行介绍。3.2.2实现方法对神经网络集成实现方法的研究主要集中在两个方面,即怎样将多个神经网络的输出结论进行结合,以及如何生成集成中的各网络个体。A.结论生成方法当神经网络集成用于分类器时,集成的输出通常由各网络的输出投票产生。通常采用绝对多数投票法(某分类成为最终结果当且仅当有超过半数的神经网络输出结果为该分类)或相对多数投票法(某分类成为最终结果当且仅当输出结果为该分类的神经网络的数目最多)。理论分析和大量试验表明[HS90],后者优于前者。因此,在对分类器进行集成时,目前大多采用相对多数投票法。当神经网络集成用于回归估计时,集成的输出通常由各网络的输出通过简单平均或加权平均产生。Perrone等人[PC93]认为,采用加权平均可以得到比简单平均更好的泛化能力。但是,也有一些研究者[OS96]认为,对权值进行优化将会导致过配(over-fitting),从而使得集成的泛化能力降低,因此,他们提倡使用简单平均。此外还存在多种结合方式。例如,有些研究者[ZMW92,RS93]利用神经网络这样的学习系统,通过学习来对多个预测进行结合;有些研究者[JJNH91]通过对一组子网进行进化,使各子网都可以较好地处理一个输入子空间,从而一步步地进行结合。B.个体生成方法在生成集成中个体网络方面,最重要的技术是Boosting[Sch90]和Bagging[Bre96]。Boosting最早由Schapire[Sch90]提出,Freund[Fre95]对其进行了改进。通过这种方法可以产生一系列神经网络,各网络的训练集决定于在其之前产生的网络的表现,被已有网络错误判断的示例将以较大的概率出现在新网络的训练集中。这样,新网络将能够很好地处理对已有网络来说很困难的示例。另一方面,虽然Boosting方法能够增强神经网络集成的泛化能力,但是同时也有可能使集成过分偏向于某几个特别困难的示例。因此,该方法不太稳定,有时能起到很好的作用,有时却没有效果[Sch90]。值得注意的是,Schapire[Sch90]和Freund[Fre95]的算法在解决实际问题时有一个重大缺陷,即它们都要求事先知道弱学习算法学习正确率的下限,这在实际问题中很难做到。1995年,Freund和Schapire[FS97]提出了AdaBoost(AdaptiveBoost)算法,该算法的效率与Freund算法[Fre95]很接近,却可以非常容易地应用到实际问题中,因此,该算法已成为目前最流行的Boosting算法。Bagging[Bre96]方法中,各神经网络的训练集由从原始训练集中随机选取若干示例组成,训练集的规模通常与原始训练集相当,训练例允许重复选取。这样,原始训练集中某些示例可能在新的训练集中出现多次,而另外一些示例则可能一次也不出现。Bagging方法通过重新选取训练集增加了神经网络集成的差异度,从而提高了泛化能力。Breiman[Bre96]指出,稳定性是Bagging能否发挥作用的关键因素,Bagging能提高不稳定学习算法的预测精度,而对稳定的学习算法效果不明显,有时甚至使预测精度降低。学习算法的稳定性是指如果训练集有较小的变化,学习结果不会发生较大变化,例如,k最近邻方法是稳定的,而判定树、神经网络等方法是不稳定的。Bagging与Boosting的区别在于Bagging的训练集的选择是随机的,各轮训练集之间相互独立,而Boosting的训练集的选择不是独立的,各轮训练集的选择与前面各轮的学习结果有关;Bagging的各个预测函数没有权重,而Boosting是有权重的;Bagging的各个预测函数可以并行生成,而Boosting的各个预测函数只能顺序生成。对于象神经网络这样极为耗时的学习方法,Bagging可通过并行训练节省大量时间开销。此外还存在多种个体生成方法。例如,有些研究者[OS96a,YL98]利用遗传算法来产生神经网络集成中的个体;有些研究者使用不同的目标函数[HW90]、隐层神经元数[Che96]、权空间初始点[MS95]等来训练不同的网络,从而获得神经网络集成的个体。3.2.3理论分析对神经网络集成的理论分析与对其实现方法的研究类似,也分为两个方面,即对结论生成方法的分析,以及对网络个体生成方法的分析。A.结论生成方法分析1990年,Hansen和Salamon[HS90]证明,对神经网络分类器来说,采用集成方法能够有效提高系统的泛化能力。假设集成由N个独立的神经网络分类器构成,采用绝对多数投票法,再假设每个网络以1–p的概率给出正确的分类结果,并且网络之间错误不相关,则该神经网络集成发生错误的概率perr为: (10)在p<1/2时,perr随N的增大而单调递减。因此,如果每个神经网络的预测精度都高于50%,并且各网络之间错误不相关,则神经网络集成中的网络数目越多,集成的精度就越高。当N趋向于无穷时,集成的错误率趋向于0。在采用相对多数投票法时,神经网络集成的错误率比式10复杂得多,但是Hansen和Salamon[HS90]的分析表明,采用相对多数投票法在多数情况下能够得到比绝对多数投票法更好的结果。在实际应用中,由于各个独立的神经网络并不能保证错误不相关,因此,神经网络集成的效果与理想值相比有一定的差距,但其提高泛化能力的作用仍相当明显。1993年,Perrone和Cooper[PC93]证明,在将神经网络集成用于回归估计时,如果采用简单平均,且各网络的误差是期望为0且互相独立的随机变量,则集成的泛化误差为各网络泛化误差平均值的1/N,其中N为集成中网络的数目;如果采用加权平均,通过适当选取各网络的权值,能够得到比采用简单平均法更好的泛化能力。常用的一些神经网络模型在学习过程中容易陷入局部极小,这通常被认为是神经计算的主要缺点之一。然而,Perrone和Cooper[PC93]却认为,这一特性对神经网络集成泛化能力的提高起到了重要作用。这是因为,如果各神经网络互不相关,则它们在学习中很可能会陷入不同的局部极小,这样神经网络集成的差异度(Variance)就会很大,从而减小了泛化误差。换句话说,各局部极小的负作用相互抵消了。1995年,Krogh和Vedelsby[KV95]给出了神经网络集成泛化误差计算公式。假设学习任务是利用N个神经网络组成的集成对f:RnR进行近似,集成采用加权平均,各网络分别被赋以权值w,并满足式11和式12: (11) (12)再假设训练集按分布p(x)随机抽取,网络对输入X的输出为V(X),则神经网络集成的输出为: (13)神经网络的泛化误差E和神经网络集成的泛化误差E分别为: (14) (15)各网络泛化误差的加权平均为: (16)神经网络的差异度A和神经网络集成的差异度分别为: (17) (18)则神经网络集成的泛化误差为: (19)式19中的度量了神经网络集成中各网络的相关程度。若集成是高度偏向(biased)的,即对于相同的输入,集成中所有网络都给出相同或相近的输出,此时集成的差异度接近于0,其泛化误差接近于各网络泛化误差的加权平均。反之,若集成中各网络是相互独立的,则集成的差异度较大,其泛化误差将远小于各网络泛化误差的加权平均。因此,要增强神经网络集成的泛化能力,就应该尽可能地使集成中各网络的误差互不相关。B.个体生成方法分析Freund和Schapire[FS97]以AdaBoost为代表,对Boosting进行了分析,并证明该方法产生的最终预测函数H的训练误差满足式20,其中εt为预测函数ht的训练误差,t=1/2–t。 (20)从式20可以看出,只要学习算法略好于随机猜测,训练误差将随t以指数级下降。在此基础上,Freund和Schapire[FS97]用VC维对Boosting的泛化误差进行了分析。设训练例为m个,学习算法的VC维为d,训练轮数为T,则其泛化误差上限如式21所示,其中表示对训练集的经验概率。 (21)式21表明,若训练轮数过多,Boosting将发生过配。但大量试验表明,Boosting即使训练几千轮后仍不会发生过配现象,而且其泛化误差在训练误差已降到零后仍会继续降低。为解释这一现象,1998年Schapire等人[SFBL98]又象Stitson等人[SWGVV96]对SVM[CZL00]所做的一样,从边际(margin)的角度对泛化误差进行了分析。边际margin(x,y)定义为: (22)正边际表示正确预测,负边际表示错误预测,较大的边际可信度较高,较小的边际可信度较低。如图1所示,假设存在两个不同的类别的数据点,若以h1为划分超平面,则两个分类的最小边际为d1;若以h2为划分超平面,则两个分类的最小边际为d2。显然,如果d2>d1,则h2是比h1更好的划分超平面,因为其分类鲁棒性更好。Schapire等人[SFBL98]认为,在训练误差降为零后,Boosting仍会改善边际,即继续寻找边际更大的划分超平面,这就使得分类可靠性得到提高,从而使泛化误差得以继续降低。进一步,Schapire等人[SFBL98]还具体地给出了泛化误差的上限: (23)从式23可以看出,Boosting的泛化误差上限与训练轮数无关,Schapire[Sch99]的一些实验也证实了这一点。然而,1998年Grove和Schurmans[GS98]指出,Schapire等人的边际假说并不能真正解释Boosting成功的原因。为证明这一点,他在AdaBoost的基础上设计了LPBoost算法,通过线性规划来调整各预测函数的权重,从而增大最小边际。Grove指出,如果边际假说成立,那么LPBoost算法产生的学习系统泛化误差应比较小,然而实验表明,该学习系统的泛化误差并不小,也就是说,边际的增大并不必然导致泛化误差的减小,有时甚至造成泛化误差增大。因此,关于Boosting为什么有效,目前仍然没有一个被广泛接受的理论解释。1996年,Breiman[Bre96]对Bagging进行了理论分析。他指出,分类问题可达到的最高正确率以及利用Bagging可达到的正确率分别如式24和式25所示,其中C表示序正确(ordercorrect)的输入集,C'为C的补集,为指示函数(IndicatorFunction)。 (24) (25)显然,Bagging可使序正确集的分类正确率达到最优,单独的预测函数则无法做到这一点。对回归问题,Breiman推出式26,不等号左边为Bagging的误差平方,右边为各预测函数误差平方的期望: (26)显然,预测函数越不稳定,即式26右边和左边的差越大,Bagging的效果越明显。除此之外,Breiman[Bre96a]还从偏向(bias)和差异(variance)的角度对泛化误差进行了分析。他指出,不稳定预测函数的偏向较小、差异较大,Bagging正是通过减小差异来减小泛化误差的。在此之后,Wolpert和Macready[WM99]具体地给出了泛化误差、偏向和差异之间的关系:(27)式27左边为泛化误差,右边第一项为偏差的平方,第二项为差异。Bagging就是对h*(q)进行模拟,使得在偏差相同的情况下差异尽量趋向于零。值得注意的是,虽然利用偏向和差异来解释Bagging获得了一定的成功,但Freund和Schapire[FS98]通过一系列基于Stumps和C4.5的实验指出,偏向和差异并不能很好地解释Boosting。3.2.4应用成果由于神经网络集成方法操作简单且效果明显,因此,该技术已在很多领域中得到了成功的应用。1992年,Hansen等人[HLS92]利用由相对多数投票法结合的神经网络集成进行手写体数字识别,实验结果表明,集成的识别率比最好的单一神经网络识别率高出20~25%。此后,Schwenk和Bengio[SB97]将AdaBoost与神经网络结合进行手写体字符识别,系统对由200多个人的手写字符所组成的数据库能达到1.4%的错误率,而对UCI字符数据集则能达到2%的错误率。1996年,Gutta和Wechsler[GW96]将神经网络集成和判定树相结合进行正面人脸识别,其集成由RBF网络采用相对多数投票法构成,实验结果表明,使用神经网络集成不仅增加了系统的健壮性,还提高了识别率。本文作者[HZZC00]与CarnegieMellon大学、微软中国研究院的合作者一起,将神经网络集成用于图象在深度方向上发生偏转的多姿态人脸识别,在省去了偏转角度估计预处理的情况下,系统的识别精度甚至高于多个单一神经网络在理想偏转角度估计预处理协助之下所能取得的最佳识别精度,除此之外,系统还能在进行识别的同时给出一定的角度估计信息。Schapire等人[SSS98]将Boosting用于文本过滤,并与源于信息检索的Rocchio算法进行了比较,发现在训练文本集较大的情况下,AdaBoost算法的效果较好。Shimshoni和Intrator[SI98]利用神经网络集成进行地震波分类。他们采用了二级集成方式,地震波信号的三种不同表示分别被输入到采用不同网络结构的三个集成中,每个集成都被赋予一个可信度,第二级集成就以该可信度为权值,通过加权平均对第一级的三个集成进行结合。此外,神经网络集成还在语音识别[Kir95]、遥感信息处理[BCMAL94]、时序分析(如股市大盘走势的预测)[KK97]、声纳信号分类[Rus91]等领域成功地得到了应用,限于篇幅,这里就不再一一详细介绍了。3.3进一步的问题目前,在神经网络集成的研究中仍然存在着很多有待解决的问题。我们认为,在将来的研究中,以下几方面的问题可望成为该领域的主要研究内容:(1)关于神经网络集成的研究目前基本上是针对分类和回归估计这两种情况分别进行的,这就导致了多种理论分析以及随之而来的多种不同解释的产生。如果能为神经网络集成建立一个统一的理论框架,不仅可以为集成技术的理论研究提供方便,还有利于促进其应用层面的发展。(2)关于Boosting为什么有效,虽然已有很多研究者进行了研究,但目前仍然没有一个可以被广泛接受的理论解释。如果能够成功地解释这种方法背后隐藏的东西,不仅会促进统计学习方法的发展,还会对整个机器学习技术的进步发挥积极作用。(3)现有研究成果表明,当神经网络集成中的个体网络差异较大时,集成的效果较好,但如何获得差异较大的个体网络,以及如何评价多个网络之间的差异度,目前仍没有较好的方法。如果能找到这样的方法,将极大地促进神经网络集成技术在应用领域的发展。(4)在使用神经网络集成,尤其是Boosting类方法时,训练样本的有限性是一个很大的问题,Bagging等算法正是通过缓解该问题而获得了成功。如何尽可能地充分利用训练数据,也是一个很值得研究的重要课题。(5)神经网络的一大缺陷是其“黑箱性”,即网络学到的知识难以被人理解,而神经网络集成则加深了这一缺陷。目前,从神经网络中抽取规则的研究已成为研究热点,如果能从神经网络集成中抽取规则,则可以在一定程度上缓解集成的不可理解性。有关神经网络规则抽取的研究将在本文第4部分中详细介绍。4基于神经网络的数据挖掘4.1重要性1996年,Fayyad、Piatetsky-Shapiro和Smyth[FPS96]对KDD(KnowledgeDiscoveryfromDatabases)和数据挖掘的关系进行了阐述。他们指出,KDD是识别出存在于数据库中有效的、新颖的、具有潜在效用的、最终可理解的模式的非平凡过程,而数据挖掘则是该过程中的一个特定步骤。但是,随着该领域研究的发展,研究者们目前趋向于认为KDD和数据挖掘具有相同的含义,即认为数据挖掘就是从大型数据库的数据中提取人们感兴趣的知识。数据挖掘的困难主要存在于三个方面[GW98]:首先,巨量数据集的性质往往非常复杂,非线性、时序性与噪音普遍存在;其次,数据分析的目标具有多样性,而复杂目标无论在表述还是在处理上均与领域知识有关;第三,在复杂目标下,对巨量数据集的分析,目前还没有现成的且满足可计算条件的一般性理论与方法。但是,由于现实世界数据库中存在着大量有待利用的信息,在潜在的巨大利益驱动下,数据挖掘研究目前成为了机器学习、数据库等领域的研究热点。在早期工作中,研究者们主要是将符号型机器学习方法与数据库技术相结合,但由于真实世界的数据关系相当复杂,非线性程度相当高,而且普遍存在着噪音数据,因此这些方法在很多场合都不适用[Wu95]。如果能将神经计算技术用于数据挖掘,将可望借助神经网络的非线性处理能力和容噪能力,较好地解决这一问题。另一方面,从挖掘出的知识种类来看,目前数据挖掘研究主要着重于关联规则、特征规则、分类规则、聚类规则、时序规则、模式相似性、Web浏览路径等方面。虽然利用神经计算挖掘关联规则具有较大难度,但其完全可以胜任其他种类知识的挖掘。因此,设计出基于神经网络的数据挖掘方法并将其用于真实世界问题,不仅是可行的,而且也是必要的。4.2研究进展4.2.1概述一些研究者[LSL95,CS97]指出,将神经计算技术应用于数据挖掘主要存在两大障碍。首先,神经网络学到的知识难于理解。其次,学习时间太长,不适于大型数据集。如果这两个问题得以解决,基于神经网络的数据挖掘将具有广泛的应用前景。针对上述问题,基于神经网络的数据挖掘主要有两方面的研究内容,即增强网络的可理解性以及提高网络学习速度。目前,前者的解决方案是从神经网络中抽取易于理解的规则,后者的解决方案则是设计快速学习算法。由该思路出发,Lu等人[LSL95]设计了一个数据挖掘系统NeuroRule,并对Agrawal等人[AIS93]提出的数据挖掘基准测试问题进行了实验;本文作者[ZCC99]则利用规则抽取算法SPT[ZHYC00]和快速学习算法FTART[CZLC96,CLZC97],成功地对台风数据库进行了分类规则挖掘。值得注意的是,在试图将神经计算用于数据挖掘,甚至在数据挖掘产生之前,就已经有研究者对神经网络规则抽取以及快速学习算法进行了研究,他们的工作为基于神经网络的数据挖掘的发展奠定了良好的基础。4.2.2规则抽取神经网络规则抽取的研究最早开始于80年代末。1988年,Gallant[Gal88]设计了一个可以用if-then规则解释推理结论的神经网络专家系统。在此之后,很多研究者进行了这方面的研究,并取得了大量成果。1998年,IEEETransactiononNeuralNetworks专门为神经网络规则抽取出版了一期专刊,Tickle和Andrews[TA98]在首篇文章中明确指出,从神经网络中抽取规则已经是当前神经网络界急需解决的问题,这充分说明该领域已经成为了神经计算研究的热点。根据设计思想的不同,目前的方法大致可以分成两大类,即基于结构分析的方法和基于性能分析的方法。本节后续部分将对这两大类中的典型算法进行介绍和分析。值得注意的是,有的研究者[ZLZ99]将神经网络规则抽取作为一种机器学习方法进行研究,他们所关注的是抽取出的规则的泛化精度,而非规则对网络的保真度。由于这些方法的目的和作用并不是增强神经网络的可理解性,因此本文没有对它们进行介绍。A.基于结构分析的方法基于结构分析的神经网络规则抽取方法把规则抽取视为一个搜索过程,其基本思想是把已训练好的神经网络结构映射成对应的规则。由于搜索过程的计算复杂度和神经网络输入分量之间呈指数级关系,当输入分量很多时,会出现组合爆炸。因此,此类算法一般采用剪枝聚类等方法来减少网络中的连接以降低计算复杂度。1988年,Gallant[Gal88]设计了一个神经网络专家系统,并提出了一个简单的规则抽取算法用于解释专家系统所做的推理。该算法通过抽取单个规则来解释神经网络如何为某个给定事例(case)得出结论。其基本思想就是从当前已知的信息集中选择一个能有效地产生该结论的最小信息集合,也就是说,不管其他未知输入分量的取值为多少,只要满足该最小信息集合的取值要求就可以得出结论。由于该算法非常简单,只适用于连接权较少的小型的神经网络。1991年,Fu[Fu91]提出了KT算法。该算法将网络中结点的激活值通过近似处理为0和1,将属性分为“正属性”和“负属性”,前者对某结论起到确认作用,后者则起否定作用。在所有的“负属性”都不出现的情况下,找出所有最多由k个“正属性”组合的集合。然后从该集合中找出最多有k个前件(相应于k个“正属性”)的规则,这些规则在“负属性”部分或全部出现的情况下,仍然使某结论成立。对单层网络,通过上述处理就可以抽取出规则。对多层网络,KT将隐结点视为“隐属性”,然后按处理单层网络的方法一层一层地抽取出规则,最后通过“代入”等方法重写这些规则,直到规则中只出现输入属性和输出结论为止。值得注意的是,虽然KT算法对“正”、“负”属性的区分降低了规则搜索复杂度,但这也限制了算法的规则抽取能力,使得抽取出的规则无法精确地描述原神经网络。1992年,Towell和Shavlik[TS92]为基于知识的神经网络(KnowledgeBasedArtificialNeuralNetworks,KBANN)[TS94]设计了一种规则抽取算法,即MOFN算法。该算法先用标准聚类算法合并KBANN中权值接近的连接以创建等价类,并将每个等价类的权值设为该组连接权的平均值,然后去掉那些对结果影响不大的等价类,在不调整权值的前提下对神经网络重新进行训练,最后直接根据网络结构和权值抽取出形如式28的MOFN规则。if(MofNantecedentsaretrue) then… (28)MOFN规则形式不仅减少了抽取的规则数,还使得规则集比较简单易懂。另外,由于对连接进行了聚类,也使得规则搜索空间大为减少,从而较大地降低了规则抽取的时间开销。图2给出了一个典型的抽取MOFN规则的例子:值得注意的是,在普通的神经网络中,由于连接权大多发散地分布在权值空间中,不象在KBANN中那样容易聚为等价类,因此一般来说,MOFN算法仅适用于KBANN。1993年,Craven和Shavlik[CS93]提出,可以用柔性权共享(softweight-sharing)方法[NH92]训练网络,然后用MOFN算法抽取规则。由于柔性权共享方法会促进连接权在训练中聚类,这样就使得MOFN算法的适用范围有所扩大。但是,由于MOFN算法对神经网络的结构有一些很强的要求,例如要求神经元激活值为二值模式、每个神经元表示唯一的概念、网络输入为离散值等,这使其适用范围始终受到很大的限制。1993年,Sestito和Dillon[SD93]提出了一种利用抑制性单层网络为神经网络中每个输出神经元抽取相应规则的算法。他们首先将网络的输出神经元作为附加输入神经元,利用扩展后的输入神经元、初始的输出神经元以及一个隐含层建立多层网络,用BP算法对其进行训练。训练完成之后,对所有输入和附加输入神经元,根据式29计算它们之间的误差平方和SSE,其中a为输入神经元,b为附加输入神经元(即输出神经元),waj和wbj分别为神经元a、b与隐层神经元j之间的连接权。SSE实际上度量了输入神经元a和输出神经元b之间的接近程度,SSEab越小则说明输入a对输出b的作用越大。 (29)然后,利用扩展后的输入神经元以及初始的输出神经元建立一个单层抑制性网络,用Hebb规则确定神经元间的抑制性连接权Weightab,该权值实际上度量了输入神经元与输出神经元之间的相关度,值越小则说明某输入与某输出的关系越密切。在此基础上,对每一个输入神经元a和输出神经元b,根据式30计算其SSE和抑制性连接权Weightab的积。最后,将乘积Productab从大到小排序。对某个特定的输出,先找出乘积表中的截断点,即乘积表中的某一个位置,从该处断开的两个乘积在数值上至少相差两到三倍。然后以截断点以下的所有输入属性为规则前件,以输出为规则后件构造出合取规则。 (30)Sestito和Dillon的算法对前馈网络相当有效,可以抽取出较好的规则。但由于在规则抽取过程中需要额外地构造并训练两个神经网络,其时间代价相当高。1995年,Setiono和Liu[SL95]提出了一种从神经网络中抽取规则的三阶段算法。他们首先用权衰减(weight-decay)方法训练一个BP网络,该网络中较大的连接权反映了较重要的连接;然后对网络进行修剪,在预测精度不变的情况下删掉不重要的连接;最后通过对隐层神经元的激活值进行离散化,进而为每个输出结点抽取相应的规则。该算法中离散化隐层神经元激活值的处理别具一格,这使其摆脱了很多规则抽取方法对激活值类型的限制,可以处理非二值模式的激活值。但是,由于无法保证网络的功能在离散化处理和修剪处理前后的一致性,因此该算法抽取的规则在保真度上有一定的缺陷。1997年,Setiono[Set97]提出了一种适用于三层前馈网络的通用型规则抽取算法。该算法不仅使用了Setiono和Liu[SL95]设计的激活值离散化技术,还使用了一种独特的隐层神经元分裂技术,即当某个隐层神经元的输入连接数较多时,将其分裂为若干个输出神经元,并通过引入新的隐层神经元来构建子网络,从而递归地进行规则抽取处理。该算法可以产生相当精确的规则,但由于要训练多个子网络,其时间开销相当大。另一方面,该算法只适用于规模较小的网络,这是因为在输入神经元较多时,待分裂的隐层神经元数以及递归分裂的次数极大。1997年,Setiono和Liu[SL97]还提出了一种从三层前馈网络中抽取倾斜规则(obliquerule)的算法NeuroLinear。与普通的规则相比,倾斜规则通常可以更好地表示边界与属性空间轴非垂直的判定域,从而较大地减少规则前件数。NeuroLinear抽取的规则前件形式为: (31)NeuroLinear首先通过修剪网络去除冗余连接,并对隐层神经元激活值进行聚类以降低组合复杂度。然后用隐层神经元聚类后的离散激活值表示输出层神经元的输出,用输入层神经元的激活值表示隐层神经元聚类后的离散激活值,从而得到层次形式的规则。再对这些规则进行合并,从而得到直接用输入属性表示网络输出的规则。2000年,Setiono[Set00]又最新提出了快速规则抽取算法。所谓快速是相对于其他的基于结构的规则抽取算法而言,一般地说,为了避免组合爆炸的问题,大多数规则抽取算法都要对原神经网络进行剪枝操作,去掉一些不重要的连接,但为了保证神经网络的精度,需要对剪枝后的神经网络进行再训练,这增加了算法的开销,降低了算法的效率。为此,Setiono提出了FERNN算法,该算法无需对神经网络进行多次训练,可以抽取MOFN规则或是DNF规则。B.基于性能分析的方法与基于结构分析的方法不同,基于性能分析的神经网络规则抽取方法并不对神经网络结构进行分析和搜索,而是把神经网络作为一个整体来处理,这类方法更注重的是抽取出的规则在功能上对网络的重现能力,即产生一组可以替代原网络的规则。1990年,Saito和Nakano[SN90]提出了RN算法。该算法先从少数正例中抽取规则,然后根据未被覆盖的正例扩展规则,根据覆盖的反例缩减规则,直到规则覆盖了所有的正例,并且不覆盖任何反例为止。抽取的规则表示为析合范式形式。虽然该算法并不对网络结构进行分析和搜索,但其要搜索正、反例空间,因此该算法在示例空间较大时将面临组合爆炸问题。1994年,Craven和Shavlik[CS94]为神经网络规则抽取任务下了一个定义:给定一个训练好的神经网络以及用于其训练的训练集,为网络产生一个简洁而精确的符号描述。显然,该定义来自于性能分析的角度。在该定义的基础上,Craven和Shavlik将规则抽取视为一个目标概念为网络计算功能的学习任务,提出了一种基于学习的规则抽取算法。该算法使用了两个外部调用(Oracle),其中EXAMPLES的作用是为规则学习算法产生训练例,SUBSET的作用则是判断被某个规则覆盖的示例是否都属于某个指定类。算法为每个分类产生各自的DNF表达式,它反复地通过EXAMPLES产生训练例,如果某训练例没有被当前该类的DNF表达式覆盖,则新规则被初始化为该训练例所有属性值的合取,然后反复尝试去掉该规则的一些前件,并且调用SUBSET来判断该规则是否与网络保持一致,从而使规则得以一般化。该算法不需使用特殊的网络训练方法,也不需将隐层神经元近似为阈值单元,但其计算量较大。1995年,Thrun[Thr95]为前馈神经网络提出了一种基于有效区间分析(ValidityIntervalAnalysis)的规则抽取算法。该算法的关键是为所有或部分神经元找出激活区间,即有效区间。算法通过检查有效区间集合的一致性而不断排除导致不一致的区间。Thrun描述了两种不同的操作方式,即从特殊到一般和从一般到特殊。前者是从一个随机选择的示例开始,通过不断扩大相应的有效区间,逐渐得到一般的规则;后者则是从一个未加验证的假设集开始,通过有效区间来验证假设集中的规则。利用该算法可以抽取出精度较高的规则,但其以区间形式表示的规则前件使得规则的可理解性较差。另外,由于该算法的计算开销非常大,因此其只适用于对规则进行理论验证,难以完成实际的神经网络规则抽取任务。在[CS94]的基础上,1996年,Craven和Shavlik[CS96]提出了TREPAN算法。该算法首先用训练好的神经网络对示例集进行分类,然后将该集合作为训练集提供给类似于ID2-of-3[MP91]的决策树学习算法,从而构造出一棵与原网络功能接近的、使用MOFN表达式作为内部划分的决策树。与[CS94]的算法相比,TREPAN的计算量较低,但由于决策树的可理解性不如一阶逻辑表达式[Wu95],TREPAN抽取出的规则的可理解性也有所降低。1997年,Craven和Shavlik[CS97a]将TREPAN用于一个噪音时序任务,即美元–马克汇率预测,取得了比现有方法更好的效果。1997年,Benitez等人[BCR97]证明,多层前馈神经网络和基于模糊规则的系统是等价的,对任何一个以布尔函数为隐层神经元激活函数的单隐层前馈网络,均存在一个对应的模糊系统,使得网络可以由该系统的模糊规则进行解释。虽然由此出发可以很容易地获取一些模糊规则,但由于这些规则对不具有模糊数学背景的普通用户来说可理解性太差,因此其在实际应用,尤其是数据挖掘任务中用途不大。本文作者[ZHYC00]从功能性观点出发,提出了一种基于统计的神经网络规则抽取算法SPT。与其他算法不同的是,SPT并不在规则抽取开始时离散化所有连续属性,而是仅在离散属性不足以缩小未知属性空间时,才选择一个聚类效果最佳的连续属性进行离散化,这样就大大降低了离散化处理中由于属性空间内在分布特性未知而造成的主观性。除此之外,SPT采用优先级规则形式,不仅使得规则表示简洁紧凑,还免除了规则应用时所需的一致性处理;利用统计技术对抽取出的规则进行评价,使得其可以较好地覆盖示例空间。SPT不依赖于具体的网络结构和训练算法,可以方便地应用于各种分类器型神经网络。与其他规则抽取算法相比,网络的各输入分量之间相关度较低时,由于SPT独特的离散化机制有助于降低无关属性交互引起的不良影响,因此,SPT可以取得更好的效果。4.2.3快速学习快速学习算法一直是神经计算的重要研究内容,从神经计算产生以来,这方面的工作就一直没有停止过。到目前为止,已有很多研究者进行了这方面的研究,并取得了大量成果。1987年,Bachmann等人[BCDZ87]设计了一个最小化能量函数的松弛模型(relaxationmodel),即库仑势模型(CoulombPotentialModel,CPM)。在该模型中,每个训练例被视为一个静止在空间中某点的负电荷,即训练电荷,其位置由该示例的属性分量确定。而测试例则被视为一个可以在空间中自由移动的正电荷,即测试电荷。测试电荷将受训练电荷的影响,在训练电荷形成的静电场中移动,最终被某个训练电荷所捕获,于是该测试例就被赋予捕获它的训练例所属的分类。CPM只需进行一遍训练,速度很快,但其测试却是一个很耗时的迭代过程。由于该模型计算量非常大,难以用于大数据集。此外,在训练与测试中,必须保存整个训练集,这就造成了极大的存储开销。值得注意的是,CPM存在的很多问题,实际上在Reilly等人[RCE82]提出的RCE模型(RestrictedCoulombEnergymodel)中早已得到了解决。RCE的训练是以迭代方式进行的,即必须将训练集反复提供给系统,直到所有吸引域都不发生变化为止。但在使用训练好的RCE时,可以直接访问已生成的吸引域,分类速度极快。显然,CPM和RCE在训练和测试速度性能上正好相反,这充分揭示了快速神经网络学习算法研究中存在的一个两难问题,即训练速度和测试速度难以两全。如果训练速度比较快,往往会导致较低的学习精度和较慢的测试速度;而如果训练速度比较慢,往往会获得较高的学习精度和较快的测试速度。因此,在设计、选择快速学习算法时,需要仔细考虑以尽可能根据任务的需要对训练、测试速度进行均衡。由于CPM引入了静电学中的一些概念和定理,因此该模型和早期的一些类似研究,以及在其基础上发展起来的一些模型也被称为域理论(FieldTheory)或电场理论模型。1990年,Specht[Spe90]提出了概率神经网络(ProbabilisticNeuralNetworks)。该类模型实际上是Bayesian分类器的扩展,其基础是60年代Specht[Spe66]的工作。这类模型训练速度快,可以进行增量式训练,可以为决策给出可信度指示,此外,在提供充分的训练例时,还可以确保收敛为Bayesian分类器,即以最大正确概率对新示例进行划分。1991年,Specht[Spe91]又提出了一种通用回归神经网络(GeneralizedRegressionNeuralNetwork)。该模型不需迭代训练,仅通过对训练例的直接估计就可以近似任意函数,而且随着训练例的增加,误差将趋向于0。在这种网络中,输出层权值是确定性的,不用进行训练,只需根据训练样本的期望输出向量直接进行赋值。实际上,上述快速学习模型,包括域理论模型和Specht提出的模型,以及其他一些曾被赋予不同名字的模型,例如局部化接受域(localizedreceptivefields)[MD88]、局部调整处理单元(locallytunedprocessingunits)[MD89]、高斯势函数(Gaussianpotentialfunctions)[LK91]等,目前都被统称为径向基函数(RadialBasis-Function,RBF)网络。RBF具有很好的通用性,Hartman等人[HKK90]、Girosi等人[GPC91]已经证明,只要有足够多的隐层神经元,RBF能以任意精度近似任何连续函数。更重要的是,RBF克服了传统前馈神经网络(例如BP)的很多缺点,其训练速度相当快,并且在训练时不会发生震荡,也不会陷入局部极小。但是,在进行测试时,RBF的速度却比较慢,这是由于待判别示例几乎要与每个隐层神经元的中心向量进行比较才能得到结果。虽然可以通过对隐层神经元进行聚类来提高判别速度,但这样就使得训练时间大为增加,从而失去了RBF最基本的优势。另外,通过引入非线性优化技术可以在一定程度上提高学习精度,但这同时也带来了一些缺陷,如局部极小、训练时间长等。由于BP是目前最流行的神经网络模型,因此很多研究者致力于研究快速BP学习算法,以克服BP在训练速度方面的缺陷。在这方面已经取得了很多成果,其中最重要的几种快速变体是QuickProp[Fah88]、SuperSAB[Tol90]和共轭梯度法[Bat92]。但是,由于这些算法并没有改变BP迭代训练的本质,因此它们虽然有助于提高训练速度,但其最终结果仍然难以使BP胜任数据经常变动、需要快速训练的数据挖掘任务。本文作者[CZLC96,CLZC97]在自适应谐振理论[ZCC99a]和域理论的基础上提出了一个基于域理论的自适应谐振神经网络模型FTART。该模型将自适应谐振理论和域理论的优点有机结合,采用了独特的解决样本间冲突和动态扩大分类区域的方法,不需人为设置隐层神经元,学习速度快、精度高,并且具有增量学习能力。在FTART的基础上,本文作者又分别针对分类问题和回归估计问题的特点,设计了一个快速自适应神经网络分类器模型FANNC[ZCC00]和一个快速自适应神经回归估计器模型FANRE[ZCC99b],在处理非巨量数据时,这两个模型不仅学习速度快,还有很强的泛化能力。4.3进一步的问题目前,在基于神经网络的数据挖掘的研究中仍然存在着很多有待解决的问题。我们认为,在将来的研究中,以下几方面的问题可望成为该领域的主要研究内容:(1)基于神经网络的数据挖掘主要是希望借助神经网络的非线性处理能力和连续属性处理能力,这一点在处理回归估计问题时尤为明显。遗憾的是,目前神经网络规则抽取方面的研究几乎都是针对分类器型网络进行的,回归估计型神经网络的规则抽取几乎是一片空白。如果能在后者的研究上取得突破,将极大地促进基于神经网络的数据挖掘的发展。(2)目前,神经网络规则抽取的工作主要着重于提高抽取出的规则对网络的保真度,即规则是否可以真实地再现网络的功能。然而,在面向数据挖掘的应用中,规则的可理解性往往更加重要,在一些实际领域中,需要牺牲一定的保真度以获取更好的可理解性。因此,如何在规则的可理解性与保真度之间达成折衷,将是一个有待研究的课题。(3)从域理论的研究中可以看出,神经网络训练速度与测试速度之间可能存在一定的矛盾,如果能从理论上加以证明,将对快速神经网络算法的研究产生巨大的影响。这是因为,如果证明了二者之间不存在矛盾,则研究者们可以致力于寻找训练、测试速度都很快的模型;而如果证明了二者之间存在矛盾,则研究者们应该放弃同时提高训练、测试速度的幻想,转向设计折衷方案。(4)目前的神经网络模型大多不具备增量学习能力,在训练数据发生变动时,需要用整个训练集重新对网络进行训练。这不仅无法满足数据库中经常发生的增、删、改处理,还使得基于神经网络的数据挖掘系统必须保存一个极大的训练集。如果神经网络模型具有增量学习能力,则可以较好地解决这些问题。本文作者在这方面已进行了一些研究[CZLC96,ZCC00,ZCC99b]。(5)目前,基于神经网络的数据挖掘主要面向分类规则挖掘,虽然已取得了一些成果,但并没有充分发挥神经计算的能力。进一步扩展其挖掘的知识类型,拓宽应用范围,也将是基于神经网络的数据挖掘在将来相当长时间内的重要研究内容。5结束语经过半个多世纪的研究,神经计算目前已成为一门日趋成熟,应用面日趋广泛的学科。本文从理论、方法和应用等不同层面对神经计算的研究现状和发展趋势进行了综述,主要介绍了神经网络VC维计算、神经网络集成、基于神经网络的数据挖掘等领域的相关研究成果,并提出了一些有待进一步研究的问题。需要指出的是,除了上述内容之外,神经计算中还有很多值得深入研究的重要领域,例如:与符号学习相结合的混合学习方法的研究。通过符号主义与连接主义的结合,可以在一定程度上模拟不同层次思维方式的协作,并能在不同学习机制之间取长补短。这已被认为是当前机器学习的一大研究方向[MWM99]。本文作者[CLZC96,ZCC98,CZLC98]在这方面也做了一些工作。脉冲神经网络(PulsedNeuralNetworks)的研究。脉冲神经网络[JP99]的基础是生物学中对脉冲同步的研究[ERAD89],由于这种网络在进行图象处理,尤其是图象分割和熔合时显示出了优良的性能,随着图象处理应用的日趋广泛,其重要性越来越明显,为此,IEEETransactionsonNeuralNetworks专门在1999年5月出版了一期脉冲神经网络专刊,这充分表明了该领域研究的重要性。循环神经网络(RecurrentNeuralNetworks)的研究。由于善于处理与上下文有关的内容信息,循环神经网络[TB97]已经在自然语言处理[LGF96]、语音识别[RL98]、孤立词识别[LCC98]等领域得到了成功的应用。可以预料,随着多媒体技术的发展,循环神经网络的应用面将会日趋广泛,其重要性也会越来越明显。神经网络与模糊技术的结合。长期以来,由于模糊技术在日本获得的巨大成功,神经网络与模糊技术的结合一直是神经计算中的一个研究热点。该领域的研究不仅包括模糊神经网络[SZC99],还包括神经网络与模糊技术交叉的工程应用[Kha99]。作为软计算的两个重要组成部分,这两者之间的交叉必将产生更大的收益。神经网络与遗传算法、人工生命的结合。进化神经网络[DINT98]已在相当长时期内受到了研究者的关注,在人工生命[Lan89]出现之后,神经网络与遗传算法的结合被认为是再现智能行为的一个很有希望的途径[Dye95]。Terzopoulos[Ter99]甚至指出,随着计算机图形学技术的发展,利用人工生命技术产生复杂图形学模型将是一个重要研究方向,而神经网络将在其中扮演重要的角色。支持向量机(SupportVectorMachine)的研究。支持向量机[CZL00]是Vapnik等人[CV95]提出的一类新型机器学习方法。由于其出色的学习性能,该技术已成为机器学习界的研究热点,并在很多领域都得到了成功的应用,如人脸检测[OFG97]、手写体数字识别[DPHS98]、文本自动分类[Joa98]等。神经网络的并行、硬件实现。由于神经网络模拟的是人脑内部多个神经元并行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购不良行为记录制度
- 采购与贸易考核制度
- 采购业务责任追究制度
- 采购书工作制度
- 采购人验收管理制度
- 采购信息公示制度
- 采购公开制度
- 采购出差管理制度
- 采购员岗位分级管理制度
- 采购分级管理制度
- 2026年消防工作计划及重点整治工作
- 2025年提前招生社会工作笔试题及答案
- 中国精神分裂症等防治指南2025版
- 生产计划与控制培训课件
- 2025广东深圳市优才人力资源有限公司招聘聘员8人(派遣至龙城街道)备考题库附答案
- 2025年智能制造工厂自动化升级项目可行性研究报告
- 医院人事科日常工作规范及操作流程
- 国家基层糖尿病防治指南(2025年)学习与解读
- 2025年六盘水辅警协警招聘考试真题及答案详解(名校卷)
- 2025年江苏省事业单位招聘考试综合类专业能力测试试卷计算机类
- 《医疗机构静脉用细胞毒性药物调配质量管理工作规范(第2版)》
评论
0/150
提交评论