4.13函数逼近通用逼近定理令.是一个非常数、有界、单调增的连续函数,令0mI表示0m维单位超立方体0[0,1]m,0mI上连续函数空间用0mCI来表示,则给定任何函数)(0mICf,0,存在一个整数1m和实常数集,,iiijb,在这里101,...,;1,...,imjm,这样我们就可以定义:010111,...,mmmiijjiijFxxxb(4.86)作为.f函数的一个近似实现;也就是:0011,...,,...,mmFxxfxx对存在于输入空间中的所有01,...,mxx均成立。1、多层感知器结构的神经元模型中logistic函数1/1expv确实是一个非常数、有界、单增函数;而且它满足函数.上的条件。通用逼近定理是存在性定理,为任意连续函数的逼近提供了数学上的基础。这个定理说明对于多层感知器计算一个由输入01,...,mxx和期望(目标)输出01,...,mfxx表达的给定训练集的一致逼近来说单个隐含层是足够的。逼近误差的边界令)(ˆf表示函数fx的多维傅立叶变换,0mRx;为频率向量。函数fx由它的傅立叶变换函数)(ˆf的反变换公式形式定义:0)exp()(ˆ)(mRTdxjfxf(4.87)在这里1j。定义函数f的傅立叶幅度分布的第一绝对动量如下:02/1||||)(ˆmRfdfC(4.88)第一绝对动量fC量化了函数f的光滑度或者匀称性。一个半径0r的球体:||||rBxxr,误差界定理:对于每个具有有限第一绝对动量fC的的连续函数fx,并且每个11m,则存在一个由公式(4.86)定义形式的S形函数的线性组合得到的函数Fx:'21rfBCfxFxdxm其中'2ffCrC2。当观察到函数fx由1Niix表示的的输入向量x值的集合严格属于球体rB内部的时候,这个结果对经验风险提供如下的界:'2111NfiiiCRfxFxNm(4.89)使用具有0m个输入节点和1m个隐含神经元的多层感知器而导致的风险R的界:2011logfCmmROONmN(4.90)关于风险R的界的两项表达了两种对隐含层大小互相矛盾的要求之间的折衷:令0表示估计误差的均方值。然后忽略公式(4.90)中表达式的第二项的指数因素logN,我们可以推断出一个好的泛化所需的训练集大小N大约是010/mm。其中01mm是等于网络中自由参数W的总数的。从总体上认为为了得到好的泛化,训练例子的数目N应该大于网络中自由参数总数量和估计误差均方值之比。维数灾当隐含层的大小由下式优化设置(也就是,风险R关于N最小化)的时2/101logNmNCmf因此,风险R由0log/fOCmNN界定。在风险R的一阶条件中,以训练集大小N表达的收敛速度取决于1/21/N(乘以一个对数因子的倍数)。对传统的光滑函数(举例来说,多项式和三角函数),令s表示光滑度的大小尺度,定义为函数的连续导数的数目。总风险R的最小最大的收敛速度取决于02/21/ssmN。这个依赖于输入空间维数0m的收敛速率,就是维数灾,这几乎完全制约了这些函数的实际应用。应用于函数逼近的多层感知器的使用看来提供了超越于传统函数的优势;但是这个优势受限于第一绝对动量fC保持有限的条件;这是一个光滑度约束。RichardBellman在他对自适应控制过程的研究(Bellman1961)中介绍了维数灾。为了从几何上解释这个概念,令x表示一个0m维的输入向量,,,1,2,...,iixdiN表示训练样本。采样密度与01/mN成正比。令函数fx代表一个存在于0m维输入空间的平面,它通过点1,Niiixd。现在如果函数fx是任意复杂并且(对绝大部分来说)是完全未知的,我们需要密集的样本(数据)来进行很好的学习。不幸的是,密集样本在“高维”中是很难找到的,因此产生了维数灾。在个别情况下,维数增加的结果导致复杂度呈指数增长,从而导致高维空间中均匀随机分布点的空间填充性质退化。维数灾的基本原因如下(Friedman,1995):定义在高维空间的函数看来远远比定义在低维空间上的函数复杂得多,并且这些复杂的东西是更难以区分的。克服维数灾难的唯一可行办法是在训练数据上混合关于这个函数的一些先验知识,这些先验知识已知是正确的。在实际中,同样存在这这样的论据:即如果希望在高维空间中得到好的泛化性能,对于增大的维数我们必须假设未知潜在函数的更高的光滑度要求(Niyogi和Girosi,1996)。这个观点将在第五章中继续深入讨论。可行性考虑从理论的观点来看,总体逼近理论是重要的,因为它为具有单个隐含层的前馈网络作为一类逼近器的正确性提供了必要的数学工具。如果没有这样一个理论,我们可能在寻找那些并不存在的方法。然而,这个理论并不是构建性的,亦即是,它实际上并不能具体说明如何由一定的逼近性质决定一个多层感知器。总体逼近理论假设被逼近的连续函数是给定的并且一个无限制的隐含层对逼近是可用的。这两个假设在绝大多数多层感知器的实际应用中都是大胆的。使用单个隐含层的多层感知器的问题是那里的神经元趋于整体地相互作用。在复杂情形下这种相互作用使得在一点提高它的逼近同时不恶化它在其它点上的逼近变得困难。在另一方面,在具有两个隐含层的情况下逼近(曲线拟合)过程变得更容易处理。具体地,我们可以进行如下处理(Funahashi,1989;Chester,1990):1、从第一个隐含层中抽取的局部特征。特别地,在第一个隐含层中的一些神经元经常将输入空间分割成区域,这层中另外的神经元学习表现这些区域特点的特征。2、从第二个隐含层中抽取全局特征。特别地,在第二隐含层中的一个神经元组合在输入空间个别区域起作用的第一个隐含层的神经元的输出,从而学习该区域的全局特征并且在别处的输出为零。这个两阶段的逼近过程在实质上与曲线拟合的样条插值技术是相似的,在这个意义下神经元的影响是隔离的,并且输入空间不同区域的逼近可以单独地调整。一个样条就是一个分段多项式逼近的例子。Sontag(1992)为在逆问题中两个隐含层地使用提供了更深入地理由。特别地,考虑下述逆问题:给定一个连续向量值地函数MmRRf:,一个紧子集MR包含于f的像(即,值域)之中,并且0,寻找一个向量值函数mMRR:,使得满足下述条件:||))((||uuf对于u这个问题出现在逆动力学(动态)中,此时一个系统的观察状态xn是当前动作un和系统先前状态1xn的函数,表示如下:1,xnfxnun假设f可逆,那么对于任何1xn我们可以把un当作xn的函数来求解。函数f代表运动方向,因而函数代表逆运动。在实际条件中,我们的动机是寻找一个可以通过多层感知器计算的函数。从总的说来,非连续函数对于解决逆运动问题是必需的。这是一个有趣的问题,即使具有非连续激活函数的神经模型的使用是许可的,但一个隐含层并不能充分保证所有逆问题的解决,因而具有两个隐含层的多层感知器对于每一个可能的f、和是充分的(Sontag,1992)。4.14交叉确认反向传播学习的核心是把输入/输出映射(由标定的一组训练例子表示)编码为一个多层感知器的突触权重和阈值。我们的期望是网络被很好地训练以至它对过去进行充分的学习就能总结地得出未来。从这个观点来看,学习过程等于为这个数据集合给出网络参数化的一个选择。具体地,我们可以把网络选择问题看作是在一个候选模型结构集合中选择符合某个标准的“最好”一个的问题。在这种意义下,统计学中一个名为交叉确认的标准工具提供了一个有吸引力的指导规则9(Stone,1974,1978)。首先已有的可用数据集被随机分割成一个训练集和一个测试集。这个训练集被进一步细分为两个不相交子集:●估计子集,用来选择模型。●确认子集,用来测试或者确认模型。这里的动机是用一个与参数估计数据集相异的数据集确认的模型。用这个办法我们可以用训练集来估计不同候选模型的性能,进而选择“最好”的一个。然而,存在一个明显的可能性是这样选出来的具有最好表现参数值的模型可能会导致对确认子集的过度拟合。为了防止这个可能性的出现,在与确认子集不同的测试集上估量被选模型的泛化性能。当我们不得不以设计一个具有好的泛化性能的大型神经网络作为目标的时候,交叉确认的使用是特别吸引人的。例如,我们可以使用交叉确认确定具有最优隐含层数目的多层感知器,最好在何时停止它的训练,正如在下两个子节中所述的那样。模型选择根据交叉确认选择模型的思想遵循一个与第二章所述结构风险最小化思想相似的哲学。现在考虑如下表示的布尔函数类的嵌入结构:12,;nkkkFFx1,2,...,kn(4.91)也就是说,第k个函数类k包含一个具有相似体系结构和从一个多维权重空间kW抽出的权重向量w的多层感知器簇。以函数或者假设,kFFxw为特征的类的一个成员kwW把输入向量x映射到0,1,这里x是以某未知概率P从输入空间中抽取出来的。在所述结构中的每个多层感知器都是由反向传播算法训练的,该算法负责多层感知器参数的训练。模型选择问题本质是选择具有最好的W值和自由参数(亦即是,突触权重和阈值)数目的多层感知器。更精确地,假设对输入向量x的期望响应标量是0,1d,我们定义泛化误差如下:gFPFxd对于x给出一个标定训练集1,Niiixd我们的目标是选择精确的假设,Fxw,当从测试集中给定输入时它所得泛化误差gF为最小。下面我们假设由公式(4.91)表达的结构具有这样的性质,即对于任意大小的N我们都可以找到一个具有数量足够多的自由参量maxWN的多层感知,这样训练数据集就可以充分地被拟合。这只不过重申了4.13节的通用逼近定理,我们提到maxWN作为拟合数字,maxWN的重要性即是一个合理的模型选择程序应该选择一个要求满足maxWWN的假设,Fxw;否则网络复杂度将会增加。令一个存在于0和1范围之间的参数r决定估计子集和确认子集之间的训练数据集的划分,由N个例子组成,(1)rN个例子分配给估计子集,剩下的rN个例子分配给确认子集。估计集用'表示,它通常训练多层感知器的一个嵌套序列,以复杂度递增的假设12,,,n构成。由于'由(1)rN个样本组成,我们认为W的值小于或者等于相应的拟合数字max1WrN。交叉确认方法的使用导致了如下的选择:''1,2,...,mincvtkkve(4.92)其中v相应于max1vWWrN,''tke是当由rN个例子组成的确认子集''上测试时由假设k产生的分类误差。关键的问题是如何具体确定决定训练集在估计子集'和确认子集''之间的划分的参数r。最优r的几个定性特点:●当定义输入向量x的期望响应d的目标函数的复杂度相对于同样大小的N是小的时候,交叉确认的性能对r的选择相对不敏感。●当目标函数项对于样本大小N变得更复杂的时候,最优r的选择在交叉确认性能上具有更重要的影响,并且它自身的值减小。●r的一个单一固定的值在目标函数复杂度的一个相当大的范围内近乎最佳。r等于0.2的一个固定值是一个切合实际的选择。复杂度增长的多层感知器的嵌入顺序是可以建立起来的;例如,通过如下建立具有vpq个完全连接的多层感知器:●p具有递增'''12...phhh的单个隐含层的多层感知器;●q具有两个隐含层的多层感知器;第一个隐含层的大小为'ph,第二个隐含层是递增的''''''12...qhhh。尽管该过程在文中针对二值分类讨论的,但是它可很好地应用到多层感知器的其他应用中。早期停止训练的方法我们可以通