《神经网络与遗传算法》研究生配套教学课件_第1页
《神经网络与遗传算法》研究生配套教学课件_第2页
《神经网络与遗传算法》研究生配套教学课件_第3页
《神经网络与遗传算法》研究生配套教学课件_第4页
《神经网络与遗传算法》研究生配套教学课件_第5页
已阅读5页,还剩440页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神经网络与遗传算法课程目的和基本要求神经网络在信号处理、自动控制、模式识别等领域中具有广泛的应用前景。本课程将学生引入人工神经网络及其应用的研究领域。介绍人工神经网络基本概念及其基本网络模型的结构、特点、典型训练算法、运行方式、典型问题等。了解人工神经网络的有关研究思想,从中学习开拓者们的部分问题求解方法。课程目的和基本要求通过实验进一步体会有关模型的用法和性能,获取一些初步的设计经验。查阅适当的参考文献,将所学的知识与自己未来的研究课题(包括研究生论文阶段的研究课题)相结合起来,达到既丰富学习内容,又有一定研究和应用的目的。讲授计划

第一章:神经网络基础第二章:前向神经网络第三章:反馈神经网络第四章:随机神经网络第五章:自组织神经网络

授课方式讲授与课后自学相结合注意听讲和记笔记。自学包括1)看最新文献(中、英文),形成word文档;2)课后作业(不定期),形成程序代码,并写明如何使用该文件。期末考试:1)考试;2)论文(综述)。参考书目《人工神经网络》高等教育出版社1992杨行俊郑君里《人工神经网络-第六代计算机的实现》科普出版社1993周继成《神经网络系统理论》西安电子科大出版社1992焦李成《神经元网络控制》机械工业出版社1998王永骥徐建第一章:神经网络基础一序言二神经网络的发展史及研究现状三神经元数学模型四神经网络的构成原理五神经网络的功能及特点第一节

序言

智能控制是控制科学发展的高级阶段,是一门新兴的交叉学科,具有广泛的应用领域。按照智能控制创始人K.S.Fu的观点,智能控制(IC)是自动控制(AC)、人工智能(AI)和运筹学(OR)的交集。20世纪末,研究智能控制的学者把智能控制的内容分为三大分支,即神经网络、模糊控制和专家系统。随着对不确定性系统处理的要求,适应于全局寻优的遗传算法、处理海量数据的粗糙集理论、处理小样本数据的支持向量机等理论为智能控制的发展增加了新的研究方法。

第一节

序言

以冯·诺依曼型计算机为中心的信息处理技术的高速发展,使得计算机在当今的信息化社会中起着十分重要的作用。但是,当用它来解决某些人工智能问题时却遇到了很大的困难。大脑是由生物神经元构成的巨型网络,它在本质上不同于计算机,是一种大规模的并行处理系统,它具有学习、联想记忆、综合等能力,并有巧妙的信息处理方法。人工神经网络(简称神经网络)也是由大量的、功能比较简单的形式神经元互相连接而构成的复杂网络系统,用它可以模拟大脑的许多基本功能和简单的思维方式。

第一节

序言

人工神经网络(ArtificialNeuralNetworks,简记作ANN),是对人类大脑系统的一阶特性的一种描述。简单的讲,它是一个数学模型,可以用电子线路来实现,也可以用计算机程序来模拟,是人工智能研究的一种方法。神经网络主要用于非线性系统的辨识建模、非线性过程的预测、神经网络控制及故障诊断等。第二节

神经网络的发展史及研究现状

2.1萌芽期(20世纪40年代)对大脑神经元的研究表明,当其处于兴奋状态时,输出侧的轴突就会发出脉冲信号,每个神经元的树状突起与来自其它神经元轴突的互相结合部(此结合部称为Synapse,即突触)接收由轴突传来的信号。如果—神经元所接收到的信号的总和超过了它本身的“阈值”,则该神经元就会处于兴奋状态,并向它后续连接的神经元发出脉冲信号。

1943年,心理学家W.S.McCulloch和W.Pitts根据上述研究发表了他们的神经元模型,通常称为MP模型。

1949年,D.O.Hebb提出了神经元的学习法则,即Hebb法则。直到现在也是重要的学习法则。第二节

神经网络的发展史及研究现状2.2第一次神经网络研究高潮(1950~1968)

50年代末,F.Rosenblatt基于上述原理提出了一种模式识别机,即感知机(Perceptron)模型。感知机是现代神经计算的出发点。Block于1962年用解析法证明了感知机的学习收敛定理。正是由于这一定理的存在,才使得感知机的理论具有实际的意义,并引发了60年代以感知机为代表的第一次神经网络研究发展的高潮。

M.Minsky和S.Papert进一步发展了感知机的理论,他们把感知机定义为一种逻辑函数的学习机。

1960年,B.Widraw在稍后于感知机一些时候提出了自适应线性单元Adaline分类学习机。它在结构上与感知机相似,但在学习法则上采用了最小二乘平均误差法。

第二节

神经网络的发展史及研究现状

1961年,E.R.Caianiello提出了能实现记忆和识别的神经网络模型,它由学习方程式和记忆方程式两部分组成。人们乐观地认为几乎已经找到了智能的关键。许多部门都开始大批地投入此项研究,希望尽快占领制高点。

2.3反思期(1969~1982)

1969年,MIT的AI专家M.L.Minsky和S.Papert共同出版《Perceptron》(MITPress,1969年),遗憾地指出单层感知器只能用于线性问题的求解,而对于像XOR(异或)这样简单的非线性问题都无法求解。并指出能够求解非线性问题的网络,应该是具有隐层的多层神经网络,而将感知器模型扩展到多层网络是否有意义,还不能从理论上得到有力的证明。这个悲观的结论对当时神经网络的研究是一个沉重的打击。二十世纪70年代和80年代早期的研究结果,表明了认识规律:认识——实践——再认识。第二节

神经网络的发展史及研究现状第二节

神经网络的发展史及研究现状2.4第二次神经网络研究高潮(1982~1990)

以Rumelhart为首的PDP(ParallelDistributedProcessing)并行分布处理研究集团对联结机制(connectionist)进行了研究。具有并行分布处理模式的神经网络又重新受到人们的重视。

1982年,美国物理学家Hopfield对神经网络的动态特性进行了研究,提出了所谓Hopfield神经网络模型。

T.J.Sejnowski等人还研究了神经网络语音信息处理装置。这些成功的研究对第二次神经网络研究高潮的形成起了决定性的作用。第二节

神经网络的发展史及研究现状Hopfield模型的动作原理是:只要由神经元兴奋的算法和神经元之间的结合强度所决定的神经网络的状态在适当给定的兴奋模式下尚未达到稳定,那么该状态就会一直变化下去,直到预先定义的一个必定减小的能量函数达到极小值时,状态才达到稳定而不再变化。

1985年,Hopfield和D.W.Tank用上述模型求解了古典的旅行推销商问题(TravelingSalesmanProblem),简称TSP问题。第二节

神经网络的发展史及研究现状

1983年,S.E.Farmann和Hiton提出了波尔兹曼机BM(BoltzmannMachine),该神经网络模型中使用了概率动作的神经元,把神经元的输出函数与统计力学中的波尔兹曼分布联系起来。

1985年,W.O.Hillis发表了称为联结机(connection)的超级并行计算机。他把65536个lbit的微处理机排列成起立方体的互连形式,每个微处理机还带有4kbit的存贮器。误差反向传播神经网络BP(ErrorBackPropagationNeuralNetwork)是1986年由Rumelhart和Hinton提出的,解决了多层前向神经网络的学习问题。是目前影响最大、应用最广的一种网络学习算法。

第二节

神经网络的发展史及研究现状2.5

再认识与应用研究期(1991~)1)开发现有模型的应用,并在应用中根据实际运行情况对模型、算法加以改造,以提高网络的训练速度和运行的准确度。2)充分发挥两种技术各自的优势是一个有效方法。3)希望在理论上寻找新的突破,建立新的专用/通用模型和算法。4)进一步对生物神经系统进行研究,不断地丰富对人脑的认识。第二节

神经网络的发展史及研究现状2.6存在的问题神经网络识别机的原型是感知机,而BP只是学习方法改进了的感知机,所以把它当作识别机械时,可能存在着中间层神经元的个数会很庞大、学习时间太长、结合系数的范围太宽等严重缺点。当把Hopfield神经网络模型和波尔兹曼机用作最优解的求解机时,还需要弄清楚该模型对具体的对象是否适用。当把神经网络用于运动控制装置时,另一个重要的问题是如何获得自组织的运动模式。综上所述,神经网络的研究虽然时有起伏,出现了研究的高潮与低潮,但总的方向无疑还是正确的。

第二节

神经网络的发展史及研究现状2.7研究现状日本通产省早在1988年也提出了所谓人类尖端科学计划(HumanFrontierScienceProgram),即所谓的第六代计算机计划,研制能模拟人类智能行为的计算机系统。第二节

神经网络的发展史及研究现状第二节

神经网络的发展史及研究现状第二节

神经网络的发展史及研究现状

1987年6月21至24日在美国加州圣地亚哥(SanDiego)召开的第一届神经网络国际会议;1988年,我国在北京召开了神经网络的国际研究工作会议,并出版了论文集。关于神经网络的主要国际性杂志有:(1)NeuralNetworks(国际神经网络协会会刊)(2)IEEETransactionsonNeuralNetworks(3)IEEETransactionsonParallelDistributedSystem(4)ConnectionsScience(5)Neurocomputing(6)NeuralComputation(7)InternationalJournalofNeuralSystems第三节神经元数学模型(ANN)一神经网络定义:基于模仿生物大脑的结构或功能构成的信息处理系统或计算机。

80年代美国的H.Nidsen定义:神经网络是由多个非常简单的处理单元(神经元)彼此以某种方式相联接而形成的计算机系统。该系统是靠其状态对外部输入信息的动态响应来处理信息的。第三节神经元数学模型(ANN)二生物神经元的结构和动作原理以及功能

1.生物神经元的结构

人脑大约由1012个神经元组成,神经元互相连接成神经网络。生物神经元是大脑处理信息的基本单元,以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干。它主要由细胞体、树突、轴突和突触(Synapse,又称神经键)组成。细胞体树突轴突轴突末梢细胞核图1-1a神经元的解剖图1-1b神经元的解剖第三节神经元数学模型(ANN)细胞体:细胞体是由很多分子形成的综合体,内部含有一个细胞核、核糖体、原生质网状结构等,它是神经元活动的能量供应地,在这里进行新陈代谢等各种生化过程。包括细胞核,细胞膜和细胞质。轴突:细胞体突起的最长的外伸管状纤维称为轴突,轴突是把神经元兴奋的信息传出到其它神经元的出口。树突:细胞体的伸延部分产生的一至多个突起,呈放射状的分枝称为树突,它是细胞体向外伸出的许多较短的树状分支,相当于细胞的输入。树突具有接受刺激并将冲动传入细胞体的功能,树突与其树突末梢是接受从其它神经元传入的信息的入口。每个神经元有大约10000个树突连接。第三节神经元数学模型(ANN)突触:突触是神经元的树突末梢连接另一神经元的突触后膜(postsynapticmembrane)的部分。它是神经元之间相联系并进行信息传送的结构,是神经元之间连接的接口。两个神经元的细胞质并不直接连通,两者彼此联系是通过突触这种结构接口的。膜电位:神经元细胞膜内外之间存在电位差,称为膜电位。膜外为正,膜内为负。膜电压接受神经其它神经元的输入后,电位上升或下降。当传入冲动的时空整合结果,使膜电位上升,而且当超过叫做动作电位的阈值时,细胞进入兴奋状态,产生神经冲动,由轴突输出,这个过程称为兴奋。第三节神经元数学模型(ANN)2突触传递信息动作原理兴奋期,大于动作阈值绝对不应期:不响应任何刺激相对不应期:很难响应根据突触传递信息的动作过程可以分为两种类型:兴奋型和抑制型。神经冲动使得细胞膜电压升高超过动作电压进入兴奋状态产生神经冲动,若使膜电压下降,低于阈值细胞膜进入抑制状态,无神经冲动输出。t(ms)膜电位(mv)-70-553ms1ms1ms123动作阈值图1-2生物神经元动作原理第三节神经元数学模型(ANN)

第j路输入信号,从第j路与第i个神经元的连接权,第i个神经元的阈值,

第i个神经元的输出。xNwiNx1wi1x2wi2…...直接刺激三神经元的数学模型图1-3神经元数学模型第三节神经元数学模型(ANN)数学模型MP模型:1943年由美国心理学家Mcloch和数学家Pitts提出的。

其中常用的有阈值型,sgnx为符号函数。式中涉及的符号如1-3图所示。第三节神经元数学模型(ANN)四人工神经元与生物神经元区别(1)模型传递的是模拟信号,生物输入输出均为电脉冲(2)没有考虑其不应期,时滞,疲劳现象。(3)只考虑空间叠加性,没有考虑时间迭加。第四节神经网络的构成原理本节主要从构成神经网络的一些规则和算法来介绍神经网络的构成原理!包括五个方面:一:传播规则:用来描述从外部输入到净输入的产生规则。二:激活规则:由本时刻的激活状态(内部状态),决定下一时刻激活状态的规则。三:神经网络的输出函数四:神经网络的连接方式五:神经网络的学习规则第四节神经网络的构成原理PDP模型:1986年由Rumelhart提出PDP分布式并行处理神经网络模型,有8条原则。主要介绍核心的5条。一:传播规则:用来描述从外部输入到净输入的产生规则。

1线性规则:

2多项式函数:第四节神经网络的构成原理二:激活规则:由本时刻的激活状态(内部状态),决定下一时刻激活状态的规则。在MP模型中三:神经元的输出函数(3种类型)

1静态映射关系模型在MP模型中表示为

第四节神经网络的构成原理2动态系统模型:差分方程的形式3概率统计模型:如随机网络,输出按Beltzmann分布另外从输出与输入静特性上又分为3类线性函数:第四节神经网络的构成原理硬限幅函数(阈值函数)阶跃函数1(.)符号函数sgn(.)非线性函数:值在两个有限值之间取值,连续非递减函数

sigmoid函数双曲正切函数10.5-11第四节神经网络的构成原理响应函数的基本作用:1、控制输入对输出的激活作用;2、对输入、输出进行函数转换;3、将可能无限域的输入变换成指定的有限范围内的输出。

第四节神经网络的构成原理四:连接方式(一)前向网络(前馈网络)……输出层输入节点隐蔽层计算层第四节神经网络的构成原理(二)反馈网络,只要存在反馈。单层反馈网络(Hopfield网络)(a)。从输出到输入有反馈的前向网络(b)。a)反馈网络b)输入到输出反馈的前向网络第四节神经网络的构成原理层内互联的前向网络(c)全互联网络(d)第四节神经网络的构成原理五:学习规则人工神经网络最具有吸引力的特点是它的学习能力,学习方法是人工神经网络研究中的核心问题。1962年,Rosenblatt给出了人工神经网络著名的学习定理:人工神经网络可以学会它可以表达的任何东西。人工神经网络的表达能力大大地限制了它的学习能力。人工神经网络的学习过程就是对它的训练过程。

1.分类:有导师学习、无导师学习有导师学习(SupervisedLearning)与有导师训练(SupervisedTraining)相对应。输入向量与其对应的输出向量构成一个“训练对”。概念:拿出足够多的样本对,就可以得到一组基本不变的连接权,一次学习过程完毕。存储和运算都是在连接权上,知识存储在连接权上。第四节神经网络的构成原理第四节神经网络的构成原理有导师学习的训练算法的主要步骤包括:1)

从样本集合中取一个样本(Ai,Bi);2)计算出网络的实际输出O;3)

求D=Bi-O;4)根据D调整权矩阵W;5)对每个样本重复上述过程,直到对整个样本集来说,误差不超过规定范围。

误差神经网络输入期望输出

输出调整连接权第四节神经网络的构成原理无导师学习(UnsupervisedLearning)与无导师训练(UnsupervisedTraining)相对应抽取样本集合中蕴含的统计特性,并以神经元之间的联接权的形式存于网络中。如:Hebb学习规则2算法应具备的条件有一定的准确性:连接权要稳定在唯一的一组解上,按照误差规则或者按照目标函数极小等原则。第四节神经网络的构成原理自适应性收敛性以及收敛速度可推性,对目标样本能完成所要求的任务,对非目标样本也能完成相应的任务!3两种学习算法D.O.Hebb在1961年提出的Hebb学习规则,核心为当两个神经元同时处于激发状态时被加强,否则被减弱。数学表达式表示,即a>0称为学习因子,无导师学习第四节神经网络的构成原理Delta规则(算法,误差修正算法)对于给定一组训练样本期望输出为d,则:其中误差:a>0称为学习因子第五节网络的功能以及特点一网络功能分为三类,一一介绍。联想记忆(AM)从一种事物联想到与其相关的事物的过程。分为自联想和异联想。自联想(Auto-AM):设有M个样本矢量(K=1,2…,M),若,要求输出是,则这种功能就是自联想。异联想:(Hetero-AM):有两组样本矢量和(K=1,2…,M),且一一对应,当输入,则输出,称此为异联想。第五节网络的功能以及特点分类功能:神经网络可以用来对一组输入矢量进行分类。优化计算

TSP问题---旅行售货员问题。怎样以最优的路径遍历每一城市。ADCEB第五节网络的功能以及特点列举两个例题例1:用ANN来实现逻辑与运算(用单个神经元实现,输出函数为符号函数)设二维输入:输出y(x,y都是1或者-1)

111-11-11-1-1-1-1-1+11-1本质:完成一种分类功能第五节网络的功能以及特点例2:用ANN来实现异或运算(两个神经元)构造中间变量

1-11-11111-1-1-1-11.50.51-2第五节网络的功能以及特点二:神经网络的特点分布式并行处理:每个元都是运算器分布式存储:信息存储在连接权上容错性强自适应和自组织性强鲁棒性小结本章节主要介绍了生物神经元的结构,由生物神经元构造了模拟的神经元。从构成神经网络的一些规则和算法来介绍神经网络的构成原理。简单的介绍了网络的功能以及特点。回顾了神经网络这门科学的发展历程。第二章:前馈网络

本章主要内容一:前向网络简介二:具有硬限幅函数的单层网络的分类功能(感知器)三:具有线性函数的单层网络的分类功能四:前向多层网络的分类功能五:BP网络及BP算法以及BP网络的应用上一章内容回顾模拟生物神经网络的ANN的这一数学方法问世以来,人们已慢慢习惯了把这种ANN直接称为NN。NN在数学、优化与运筹学、计算机科学与智能理论、信号处理、控制科学、机器人、系统科学等领域吸引来了众多的研究者,呈现勃勃生机。给这些学科中的一些困难问题,带来了新的分析、求解的新思路和新方法。对控制科学领域,NN在系统辨识、模式识别、智能控制等领域有着广泛而吸引人的前景。特别在智能控制中,人们对NN的自学习功能尤其感兴趣,并且把NN这一重要特点看作是解决控制器适应能力这个难题的关键钥匙之一.上一章内容回顾此外,在控制领域的研究课题中,不确定性系统的控制问题、非线性系统控制问题长期以来都是控制理论研究的中心主题,但是这些问题一直没有得到有效的解决。利用NN的学习能力,使它在对不确定性系统的控制过程中自动学习系统的特性,从而适应系统变化的环境和内在特性,以达到对系统的最优控制.利用NN的非线性逼近能力,将NN用于非线性系统控制问题中的模型表达、控制器设计、在线控制计算、自适应控制等.显然,NN对于控制科学领域是一种十分振奋人心的意向和方法。上一章内容回顾NN的基础在于神经元.神经元是以生物神经系统的神经细胞为基础的生物模型.在人们对生物神经系统进行研究,以探讨AI的机制时,把神经元数学化,从而产生了神经元数学模型.大量的形式相同的神经元连结在—起就组成了NN.虽然,单个神经元的结构和功能都不复杂,但是NN的动态行为则是十分复杂的,是一个高度非线性动力学系统.因此,用NN可以表达实际物理世界的复杂现象.上一章内容回顾NN模型是以神经元的数学模型为基础来描述的。NN模型由网络拓扑、节点特点和学习规则来表示.NN对人们的巨大吸引力主要在下列几点:canbemassivelyparallel并行分布处理MIMD,opticalcomputing,analogsystemsfromalargecollectionofsimpleprocessingelementsemergesinterestingcomplexglobalbehaviorfaulttolerantoktohavefaultyelementsandbadconnectionsisn'tdependentonafixedsetofelementsandconnections上一章内容回顾candocomplextasks能充分逼近复杂的非线性关系.patternrecognition(handwriting,facialexpressions,etc.)forecasting(stockprices,powergriddemand)adaptivecontrol(autonomousvehiclecontrol,robotcontrol)isarobustcomputationcanhandlenoisyandincompletedataduetofine-graineddistributedandcontinuousknowledgerepresentation2.1前向网络简介1.前向网络的结构前向网络主要分为单层网络和多层网络。多层网络不能隔层传递,无反馈。2.输出函数主要有:硬限幅函数1(.),sgn(.)线性函数非线性函数s(.),th(.)3.前向网络的功能只能完成联想和分类。前向网络的本质由输入到输出的静态映射。4.学习算法:算法,LSM算法,BP算法(误差反向传递算法)

2.2单层网络分类功能(感知器)本节主要介绍单层网络的结构调整连接权和阈值的学习规则(算法)单层网络的训练和设计单层网络分类的局限性2.2单层网络分类功能(感知器)一.感知器是由美国计算机科学家罗森布拉特(F.Roseblatt)于1957年提出的。单层感知器神经元模型图:图2.1感知器神经元模型硬限幅函数2.2单层网络分类功能(感知器)根据网络结构,可以写出第i个输出神经元(i=1,2,…,s)的加权输入和ni以及其输出ai为:其中,为阈值,f[]是阶跃函数。线性可分概念设有二维输入矢量,共有两类,若可以用一条直线将其无误的分开,称为线性可分。F.Roseblatt已经证明,如果两类模式是线性可分的(指存在一个超平面将它们分开),则算法一定收敛。感知器特别适用于简单的模式分类问题,也可用于基于模式分类的学习控制中。本节中所说的感知器是指单层的感知器。多层网络因为要用到后面将要介绍的反向传播法进行权值修正,所以把它们均归类为反向传播网络之中。

2.2单层网络分类功能(感知器)感知器的最大作用就是可以对输入的样本分类,故它可作分类器,如感知器对输入信号的分类如下:即当感知器的输出为1时,输入样本称为A类;输出为0时,输入样本称为B类。2.2单层网络分类功能(感知器)2.2单层网络分类功能(感知器)一个简单的单神经元(感知器)分类的例子。例:二维矢量,两类如图:L为分类线:区为区为设一个单神经元硬限幅函数122.2单层网络分类功能(感知器)二.感知器的学习规则学习规则是用来计算新的权值矩阵W及新的偏差的算法。感知器利用其学习规则来调整网络的权值,以便使该网络对输人矢量的响应达到数值为0或1的目标输出。输入矢量P,输出矢量A,目标矢量为T的感知器网络,其学习规则为:(误差学习算法)感知器的学习算法目的在于找寻恰当的权系数w=(w1,w2,…,wn),使系统对一个特定的样本x=(x1,x2,…,xn)能产生期望值d。当x分类为A类时,期望值d=1;x为B类时,d=-1。为了方便说明感知器学习算法,把阈值并入权系数w中,同时,样本x也相应增加一个分量xn+1。故令:wn+1=-,xn+1=1

则感知器的输出可表示为:感知器的学习算法感知器学习算法步骤如下:步1.对权系数w置初值权系数w=(w1,…,wn,wn+1)的各个分量置一个较小的初始随机值,并记为wl(0),…,wn(0),同时有wn+1(0)=-。wi(t)为t时刻从第i个输入上的权系数,i=1,2,…,n。wn+1(t)为t时刻时的阈值。步2.输入一样本x=(x1,x2,…,xn+1)以及它的期望输出d期望输出值d在样本的类属不同时取值不同。如果x是A类,则取d=1,如果x是B类,则取-1。期望输出d也即是教师信号。感知器的学习算法步4.根据实际输出求误差ee(t)=d-y(t)

步5.用误差e去修改权系数wi(t+1)=wi(t)+e(t)xii=1,2,…,n+1

其中称为权重变化率,0<1。的值不能太大.如果取值太大则wi(t)的稳定性差;的值也不能太小,否则wi(t)的收敛速度太慢。感知器的学习算法步3.计算实际输出值y当实际输出和期望值d相同时有:wi(t+1)=wi(t)步6.转到第2步,一直执行到一切样本均稳定为止.(算法的收敛性分析见后面的证明)感知器的学习算法从上面分析可知,感知器实质是一个分类器,它的这种分类是和二值逻辑相应的.因此,感知器可以用于实现逻辑函数.下面对感知器实现逻辑函数的情况作一些介绍.例用感知器实现或逻辑函数OR,即x1x2,的真值(真值表如右所示).x1x2x1x2001101010111感知器的学习算法即有

>0,w2,w1,w1+w2以x1x2=1为A类,以x1x2=0为B类,则有方程组令w1=1,w2=1,则有1.取=0.5,则有分类判别曲线x1+x2-0.5=0,分类情况如图2.2a所示,实现的NN如图2.2b.感知器的学习算法x1x2图2.2bOR函数的NN实现o(x1,x2)11-10.5感知器的学习算法类似地,对与逻辑函数AND(真值表如下所示),即x1x2,也可设计如图所示的分类面(分类函数)x1x2X1^x2001101010001感知器的学习算法x1x2图2.3bAND函数的NN实现o(x1,x2)11-11.5感知器的学习算法但对异或逻辑函数XOR(真值表如下所示),则不可能利用单层感知器设计的线性分类面(线性分类函数),如下图所示。x1x2x1x2001101010110?感知器的学习算法对此,只能设计多层感知器,如下图所示的XOR函数的2层设计。x1x211-11.5x1x211-10.5图2.4bXOR函数的2层NN实现o(x1,x2)1-1-10感知器的学习算法而其函数空间的分类面如下图所示。感知器学习算法的收敛性定理:如果样本输入函数是线性可分的,那么感知器学习算法经过有限次迭代后,可收敛到正确的权值或权向量。可证:在训练样本Xk,k=1,2,…,N是线性可分时,采用上式的学习方法,在有限次迭代后,必能得到正确解。2.2单层网络分类功能(感知器)为证明此定理,不失一般性,先对该分类问题做一些假设:

A1:

输入样本Xk,k=1,2,…,N全部归一化,即

||Xk||=1;A2:

对最优权向量W*,有||W*||=1.A3:

如果样本可分,那么任意给定的一个输入样本

Xk

,要么属于某一区域F+,要么不属于这一区域,记为F-,F+和F-构成了整个线性可分的样本空间。在这里仅讨论Xk∈F+的情况。2.2单层网络分类功能(感知器)证明:因为N个样本线性可分,所以存在单位权向量W*和一个较小的正数d>0,使得W*TXk≥d对所有的样本输入Xk都成立,任意权值向量W和最优权值向量W*之间的余弦角cosα为

由学习律可得W(k+1)=W(k)+μX(k),μ是学习系数。

上式左乘W*可得W*WT(k+1)=W*[WT(k)+μXT(k)]≥W*WT(k)+μd从k=0迭代,可得W*WT(k)≥W*WT(0)+kμd

2.2单层网络分类功能(感知器)选择W(0)∈Xk

,满足W*Xk

>0,此时有W*WT(k)≥kμd 在W(k)未达到W*时,W(k)XT(k)<0,所以

迭代可得:

所以,

由于余弦值S(k)≤1,当W(k)=W*时,S(k)=1,于是我们求解得到这说明在μ和d选定后,可以在有限的次数k达到最优加权W*。2.2单层网络分类功能(感知器)三.感知器网络的设计设输入矢量连接权2.2单层网络分类功能(感知器)感知器设计训练的步骤可总结如下:1)对于所要解决的问题,确定输入矢量P,目标矢量T,并由此确定各矢量的维数以及确定网络结构大小的神经元数目;2)参数初始化:

a)赋给权矢量w在(-l,1)的随机非零初始值;

b)给出最大训练循环次数max_epoch;3)网络表达式:根据输入矢量P以及最新权矢量W,计算网络输出矢量A;4)检查:检查输出矢量A与目标矢量T是否相同,如果是,或已达最大循环次数,训练结束,否则转入5);5)学习:根据感知器的学习规则调整权矢量,并返回3)。四.硬限幅函数单神经元(感知器)分类特性:1)由于激活函数为阈值函数,输出矢量只能取0,1,说明仅可以解决简单的分类问题,对于线性不可分或重叠时无法分类;但多层感知器网络却具有复杂的非线性分类能力,是一类非常有效的分类器。2.2单层网络分类功能(感知器)2)输入矢量线性可分时,学习在有限次数内收敛;3)输入矢量的奇异性导致较慢的收敛。比如当输入/输出矢量分别为:

P=[-0.5–0.5+0.3–0.1–80-0.5+0.5–0.5+1.0100];T=[11001];时,必然导致训练的困难;4)异或问题不可解。(matlab演示线性不可分例demop6.m)5)感知器网络在NN的研究中有着重要意义和地位,其学习算法的自组织、自适应思想,是NN学习算法的基础。2.2单层网络分类功能(感知器)2.3具有线性函数的单层网络的分类功能它与感知器的主要不同之处在于其神经元的激活函数是线性函数,这允许输出可以是任意值,而不仅仅只是像感知器中那样只能取0或1。它采用的是W—H学习法则,也称最小均方差(LMS)规则对权值进行训练自适应线性元件的主要用途是线性逼近一个函数式而进行模式联想。2.3.1线性神经元模型和结构一.线性神经元模型和结构图2.5自适应线性神经网络的结构

单神经元多个神经元2.3.2LMS(梯度下降)学习规则二.采用线性函数分类任务的目标:所有可能的输入矢量与输出矢量的误差平方的统计量最小。线性函数单神经元的分类任务中采用LMS算法调节连接权。LMS的算法如下:2.3.2LMS(梯度下降)学习规则LMS梯度下降算法训练方法:逐个处理、成批处理。采用成批处理的方法:设误差E采用下式表示:其中yi=f[wxi]是对应第i个样本xi的NN实时输出;oi是对应第i个样本xi的期望输出.对W求偏导,有令则有可写为其中所以2.3.2LMS(梯度下降)学习规则要使误差E最小,可先求取E的梯度:考虑到yi=f(ui)=f[wi.xi],因此,有2.3.2LMS(梯度下降)学习规则最后有按负梯度方向修改权系数w的修改规则:即其中是权重变化率,一般取0~1之间的小数.若BP网络的神经元的非线性激发函数f(u)=1/[1+e-u],则有2.3.2LMS(梯度下降)学习规则因此,学习算法则为若BP网络的神经元的线性激发函数f(u)=ku,则有f’(u)=k因此,学习算法则为2.3.2LMS(梯度下降)学习规则梯度法比原来感知器的学习算法进了一大步,其关键在于:神经元的激发函数采用连续的可导函数,而不是阶跃函数;权系数的修改采用误差的梯度去控制,而不是采用误差去控制。故而有更好的动态特能,即加强了收敛进程。2.3.2LMS(梯度下降)学习规则2.3.3矩阵求逆法线性神经元权值的另外一种基本解法就是矩阵求逆法。存在出两个问题:1:要进行大量的统计计算R,P2:求逆的工作量大1)由于该网络采用线性作用函数,可以处理连续输入模式。网络可用于模式联想和函数的线性逼近,线性系统的建模和滤波等;2)线性神经网络只能反映输入和输出样本矢量间的线性映射关系,和感知器神经网络一样,它也只能解决线性可分的问题;3)线性神经网络的训练和性能要受到学习速率参数和影响,过大的学习速率可能会导致网络性能发散。2.3.4线性神经网络的局限性2.4前向多层网络的分类功能一.采用硬限幅函数的前向二层网络凸集合:任选两点,其连线上的所有点都在集合内称为凸集合。可分凸集合:若m个凸集合且互不相交则为可分凸集合。分类功能:命题:前向二层网络(硬限幅)可以准确无误的完成任何可分凸集合的分类。分析:

一个硬限幅函数的单神经元决定了一条分割线,对于三角形的区域用三个神经元。2.4前向多层网络的分类功能二.采用硬限幅函数的前向三层网络分类功能可以准确无误的完成对任何非交集合的分类分析:对可分的非凸集合如何分类。缺点:交集合的情况无法分类;没有找到有效的学习方法。2.4前向多层网络的分类功能三.采用线性函数的多层网络分类功能缺点:不能解决复杂的分类任务,分类能力很差,但是有有效的学习算法(LMS算法)下一节主要内容前馈神经网络中的BP网络与BP算法第二章:前馈网络

2.5BP网络及BP算法感知器网络和线性激活函数,都存在一定缺点。单层感知器:硬限幅函数为作用函数,只能解决简单的分类问题。硬限幅函数的不可微分特性,使其扩展到多层感知器时带来权值修正的困难。线性函数网络采用线性作用函数,处理复杂非线性问题的能力相对较弱。采用线性作用函数的多层网络等效为一个单层线性网络,因此,简单地从结构上扩展Adaline并不能加强它处理非线性问题的能力。2.5BP网络及BP算法结合二者的长处。将感知器网络结构扩展到多层,其作用函数采用一种可微分的非线性函数,这就形成了功能比较强大的多层前向网络。由于多层前向网络的权值调整是采用反向传播学习算法(BackPropagation),通常人们将其称为BP网络。反向传播算法也称BP算法由于这种算法在本质上是一种NN学习的数学模型,所以,有时也称为BP模型。BP算法是为了解决多层前向NN的权系数优化而提出来的,所以,BP算法也通常暗示着NN的拓扑结构是一种无反馈的多层前向网络。故而,有时也称无反馈多层前向网络为BP模型。2.5BP网络及BP算法BP网络是将LMS(梯度下降算法)学习规则一般化,对非线性、可微分的函数进行权值训练的多层网络。BP网络是一种多层前向反馈神经网络,其神经元的变换函数是S型函数或其他处处可导的函数。由于激活函数必须是处处可微的,所以它就不能采用二值型的阈值函数{0,1}或符号函数{-1,1},BP网络经常使用的是S型的对数或正切激活函数和线性函数(一般在输出时使用,是满足网络的输出不受限制)。2.5BP网络及BP算法感知器学习算法是一种单层网络的学习算法.不能用于多层NN的学习.1986年,Rumelhart提出了BP算法.由于适用于多层网络的学习,因此是目前应用最广泛的NN学习算法之一,在学习系统、拟合和逼近、自动控制中应用较广.2.5BP网络及BP算法Hornik等人证明了:仅有一个非线性隐层的前馈网络就能以任意精度逼近任意复杂度的函数.下面,将深入讨论反向传播学习的BP算法,主要内容有:BP算法的原理BP算法的数学表达BP算法的执行步骤2.5BP网络及BP算法2.5.1BP算法的原理1.

BP算法的原理BP算法是用于前馈多层网络的学习算法,前馈多层网络的结构一般如图2.6所示.它含有输入层、输出层以及处于输入输出层间的中间层.中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层.在隐层中的神经元也称隐单元.隐层虽然和外界不连接,但是它们的状态影响输入输出之间的关系.这也是说,改变隐层的权系数,可以改变整个多层NN的性能.2.5.1BP算法的原理图2.6

网络学习结构2.5.1BP算法的原理设有一个m层的NN,并在输入层加有样本x;设第k层的i神经元的输入总和表示为uik,输出为xik;从第k-1层的第j个神经元到第k层的第i个神经元的权系数为wijk-1各个神经元的激发函数为f(),则各个变量的关系可用下面有关数学式表示:其中nk-1为第k-1隐单元层的神经元个数.2.5.1BP算法的原理BP算法分二步进行,即NN输出计算的正向传播和NN学习过程的反向传播.这两个过程的工作简述如下.A.正向传播输入的样本从输入层经过隐单元一层一层进行处理,则传向输出层,即在所给定的输入样本下,计算NN的输出.在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响.在输出层把现行输出和期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程.2.5.1BP算法的原理B.反向传播把误差信号按原来正向传播的路径反向传回到每个神经元,并对每个隐层的各神经元的权系数进行修改,以使误差信号趋向最小.2.5.2BP算法的数学表达1.BP算法的数学表达BP算法实质是求取误差函数的最小值问题,它采用非线性规划中的最速下降法,按误差函数的负梯度方向修改权系数.为了说明BP算法,首先定义误差函数e.取期望输出和实际输出之差的平方和为误差函数,则有:其中oi是输出单元的期望值,它在这里用作教师信号;xim是NN的单变量实际输出(第m层NN为输出层).2.5.2BP算法的数学表达由于BP算法按误差函数e的负梯度方向修改权系数,故权系数的修改量为显然,根据BP算法原则,求最关键.下面讨论求,有2.5.2BP算法的数学表达其中xjm-1(i)和u1m(i)为在第i组输入样本下xjm-1和u1m的计算值,d1m(i)=(xim-oi)f’(u1m(i))在这里引入d1m(i),为了学习公式表达简洁。若k=m-1,即所讨论的为输出层与倒数第二层间的权重,则由上式,有若k=m-2,有2.5.2BP算法的数学表达其中2.5.2BP算法的数学表达其中这里引入drm(i)的意义如前。类似上述推导过程,有如下计算式2.5.2BP算法的数学表达因此,权系数的修正公式为其中s是指权系数的修正迭代次数,是权重变化率,它视情况不同而取值不同,一般取0~1之间的小数.BP算法解释:隐含层误差dm-1可以认为是由输出层误差dm加权组合形成的。

2.5.2BP算法的数学表达从上述过程可知:正向计算过程.多层网络的训练方法是把一个样本加到输入层,并根据向前传播的规则不断一层一层向输出层传递,最终在输出层可以得到输出xim.反向学习过程.把xim和期望输出oi进行比较,如果两者不等,则产生误差信号e,接着则按权系数的修正公式反向传播修改权系数.上面公式中,求取本层dik时,要用到高一层的dik+1.可见,误差函数的求取是从输出层开始,到输入层的反向传播过程.在这个过程中不断进行递归求误差.通过多个样本的反复训练,同时向误差渐渐减小的方向对权系数进行修正,以达最终消除误差.2.5.2BP算法的数学表达若BP网络的神经元的非线性激发函数为S函数,由于神经元的输出:其中neti=x1w1i+x2w2i+…+xnwni输出函数分析

0.5f′(net)0.25o0

1

1(0,0.5)

net(0,0)o应该将net的值尽量控制在收敛比较快的范围内可以用其它的函数作为激活函数,只要该函数是处处可导的2.5.2BP算法的数学表达由神经元的激发函数为S函数,则上述权系数的学习公式为2.5.2BP算法的数学表达其中从上面公式也可以知道,如果网络的层数较多时,所用的计算量就相当可观,故而收敛速度不快.2.5.3BP算法的执行步骤1.BP算法的执行步骤在BP算法应用于前馈多层网络时,采用S激发函数时,可用下列步骤对网络的权系数进行递归求取,其中k=m-1,…,2,1;j=1,2,…,nk+1;i=1,2,…,nk.类似于前面的讨论,对神经元xik的阈值ik,可用增加一个状态恒为1(即=1)的隐神经元及相应的权重的方法来处理.综合上述BP算法的思想和计算公式,有如下计算步骤.2.5.3BP算法的执行步骤算法的执行的步骤如下:步1.对权系数置初值.对各层的权系数置一个较小的非零随机数,但其中步2.输入第i个输入样本以及对应期望输出oi.步3.计算各层的输出对于第k层第j个神经元的输出xjk(i),有:2.5.3BP算法的执行步骤步4.求各层的学习误差djk(i)步5.修正权系数和阈值ik2.5.3BP算法的执行步骤或步6.当求出了各层各个权系数之后,可按给定品质指标判别是否满足要求.如果满足要求,则算法结束;如果未满足要求,则返回步3执行.2.5.3BP算法的执行步骤BP网络训练的几种模式批处理模式(batchmode)训练过程以所有样本为一个epoch。训练时计算出所有样本的整体误差后,加权系数才调整。学习模式(patternmode)

训练过程输入一个样本,计算学习误差,调整加权系数。2.5.3BP算法的执行步骤上述过程是针对同时学习多个样本的情况,若每次学习时,只学习当前样本,则BP算法的学习过程步骤为:步1.对权系数置初值.对各层的权系数置一个较小的非零随机数.步2.输入第i个输入样本以及对应期望输出o.步3.计算各层的输出对于第k层第j个神经元的输出xjk,有:2.5.3BP算法的执行步骤步4.

求各层的学习误差djk步5.修正权系数和阈值ik2.5.3BP算法的执行步骤或步6.当求出了各层各个权系数之后,可按给定品质指标判别是否满足要求.如果未满足要求,则返回步3执行;如果满足要求,则执行下一步.步7.对下一样本,返回步2学习新样本.2.5.3BP算法的执行步骤要求根据上面计算步骤,自行用C语言或Matlab语言编制BP算法的程序!!!2.5.4BP算法的逼近学习算例1.BP算法的逼近学习算例多层感知器及BP模型是具有普适性的通用(万能)逼近器、学习器,可广泛用于学习、逼近与分类问题。其应用于学习、逼近与分类问题的过程、步骤为:问题的形式化(Formalization):变量的选择和表示准备学习的样本数据(datapreparing),并作预处理决定系统(神经网络)的模型和结构选择评估函数(objectivefunction)选择最佳化的方法:调整系统参数使得误差最小先验的(Prior)学习法则或启发式的(heuristic)知识泛化(Generalization)2.5.4BP算法的逼近学习算例神经网络学习的架构2.5.4BP算法的逼近学习算例下面先讨论BP网络设计问题然后讨论BP算法在函数逼近的2算例.例1

函数逼近例2

分类问题2.5.4BP算法的逼近学习算例A.BP网络设计问题解决实际学习与逼近问题的BP网络设计主要分为如下步骤:训练样本集的准备输入输出数据的归一化网络训练与测试2.5.4BP算法的逼近学习算例一、训练样本集的准备训练样本集的准备包括:输入输出量的选择输入量的提取与表示输出量的表示2.5.4BP算法的逼近学习算例(1)输入输出量的选择输出量代表系统要实现的功能目标,例如系统的性能指标,分类问题的类别归属,或非线性函数的函数值等等。输入量必须选择那些对输出影响大且能够检测或提取的变量,此外还要求各输入变量之间互不相关或相关性很小,这是输入量选择的两条基本原则。从输入、输出量的值是数值确定的连续量或离散量。2.5.4BP算法的逼近学习算例(2)输入量的提取与表示分类问题的文字符号/图像输入直接利用图像的像素信息编码,如根据识别的具体目的从图象中定义特征,然后提取特征参数(这种特征提取属于图象处理的范畴)。2.5.4BP算法的逼近学习算例逼近问题的曲线输入一般有几个输入量就设几个分量,1个输入分量对应1个输入层节点。2.5.4BP算法的逼近学习算例(3)输出量的表示分类问题对2类分类问题,输出编码为0或1,输出节点为1个;对多类(n类)分类问题,输出节点可设为n个或n-1个,对应的输出编码为(以n=4为例)1000010000100001或000100010001系统要实现的功能目标,例如系统的性能指标,分类问题的类别归属,或非线性函数的函数值等等。逼近问题可直接采用逼近问题样本数据的输出量2.5.4BP算法的逼近学习算例二、输入输出数据的归一化归一化也称为或标准化,是指通过变换处理将网络的输入、输出数据限制在[0,1]或[-1,1]区间内。进行归一化的主要原因:网络的各个输入数据常常具有不同的物理意义和不同的量纲,归一化给各输入分量以同等重要的地位;由于BP神经网络的隐层一般采用Sigmoid转换函数,为提高训练速度和灵敏性以及有效避开Sigmoid函数的饱和区,一般要求输入数据的值在-1~1之间。Sigmoid函数的输出在0~1之间。教师信号如不进行归一化处理,势必使数值大的输出分量绝对误差大,数值小的输出分量绝对误差小。将输入输出数据变换为[0,1]区间的值常用以下变换式其中,xi代表输入或输出数据,xmin代表数据的最小值,xman代表数据的最大值。类似地可以得到将输入输出数据变换为[-1,1]的变换式。2.5.4BP算法的逼近学习算例2.5.4BP算法的逼近学习算例三、网络训练与测试网络的性能好坏主要看其是否具有很好的泛化能力。所谓泛化能力,即指网络对于训练集中未出现的,但来自于同一分布的样本作出正确反应的能力。2.5.4BP算法的逼近学习算例影响泛化能力的主要因素:训练集样本的质量和复杂性;训练集样本的数量;网络结构的选择。一般说,训练样本数越多,训练结果越能正确反映其内在规律。因此,映射关系越复杂的系统,需要提供的样本数越多.事实上,当样本数多到一定程度,网络的精度也很难再提高。经验:训练样本数是网络连接权总数的5~10倍。对泛化能力的测试不能用训练集的数据进行,而要用训练集以外的测试数据来进行检验。必须将收集到的数据随机分成训练样本和测试样本。2.5.4BP算法的逼近学习算例在隐节点数一定的情况下,为获得好的泛化能力,存在着一个最佳训练次数。2.5.4BP算法的逼近学习算例这就是说,并非训练的次数越多,越能得到正确的输入输出的映射关系。训练网络的的目的在于找出蕴含在样本数据中的输入输出之间的本质关系,从而对于未经训练的输入也能给出合适的输出,即具备泛化功能。由于所收集的数据都是包含噪声的,训练的次数过多,网络将包含噪声的数据都记录了下来,这样对于新的输入数据并不能给出合适的输出。网络的性能主要用它的泛化能力来衡量,却不是用它对数据的拟合程度来衡量,而是要用一组独立的数据来加以测试和检验。2.5.4BP算法的逼近学习算例B.函数逼近例1

应用3层BP网络来完成一元函数逼近的任务学习的函数样本及对应函数的图形为{-1.0;-0.9602} {-0.9;-9.5770} {-0.8;-0.0729}{-0.7;0.3771} {-0.6;0.6405} {-0.5;0.6600}{-0.4;0.4609} {-0.3;0.1336} {-0.2;-0.2013}{-0.1;-0.4344} {0.0;-0.5000} {0.1;-0.3930}{0.2;-0.1647} {0.3;0.0988} {0.4;0.3072}{0.5;0.3960} {0.6;0.3449} {0.7;0.1816}{0.8;-0.0312} {0.9;-0.2189} {1.0;-0.3201}2.5.4BP算法的逼近学习算例2.5.4BP算法的逼近学习算例对该一元函数逼近算例的BP网络,可设计如下输入层和输出层神经元数为1隐单元层神经元个数预选为5个,采用matlab仿真软件进行仿真(也可自己根据BP网络的学习算法和计算步骤编制Matlab程序).首先利用函数newff建立一个bp神经元网络net=newff(minmax(P),[51],{'tansig''purelin'},'traingd','learngd','sse');2.5.4BP算法的逼近学习算例然后利用函数train对网络进行训练net.trainParam.show=10;%在训练过程中显示的频率net.trainParam.epochs=8000;%最大训练次数net.trainParam.goal=0.02;%训练所要达到的精度

net.trainParam.lr=0.01;%修正权值的学习速率[net,tr]=train(net,P,T);2.5.4BP算法的逼近学习算例图2.7给出了网络输出值随训练次数的增加而变化的过程.2.5.4BP算法的逼近学习算例2.5.4BP算法的逼近学习算例图2.8给出了454次训练后的最终网络结果,以及网络的误差结果.2.5.4BP算法的逼近学习算例2.5.4BP算法的逼近学习算例C.分类问题例2

应用3层BP网络来异或(XOR)分类问题对异或(XOR)分类问题,由真值表可知样本为{0,0;0} {0,1;1} {1,0;1} {1,1;0}因此BP网络的输入层神经元数为2输出层神经元数为1隐单元层神经元个数预选为2个神经元的激发函数选为sigmoid函数--双曲函数f(u)=tanh(u)NN的结构图如下图所示.2.5.4BP算法的逼近学习算例2.5.4BP算法的逼近学习算例仿真中学习速率为0.8权重的初始值为iterationstopswhene<0.0001(took4392iterations)Sothefinalvaluesoftheweightsare手写数字识别人脸识别下一节主要内容BP网络的存在的问题和改进方法/archiver/tid-279.html第二章:前馈网络

2.5.5BP算法的问题1.BP算法的问题BP模型具有良好的逼近与学习特性,实现简单,因此得到广泛重视,并迅速走向应用.但BP算法在应用中依然存在不少问题,如:学习参数的选取初始权值的选取;学习速率的选取;期望误差的选取.2.5.5BP算法的问题结构设计网络的层数;隐含层的神经元数;

数据标准化收敛性问题欠拟合与过拟合问题2.5.5BP算法的问题A.学习参数的选取A1.初始权值的选取BP算法决定了误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了BP算法收敛于哪个局部极小点或是全局极小点。因此网络权值的初始化决定了训练从误差曲面的哪一点开始,很重要。2.5.5BP算法的问题神经元的激活函数多是关于零点对称的函数,为了加快训练速度和防止网络瘫痪,初始权值应选择在使各节点的初始净输入落在函数的零点附近。一般取初始权值在(-1,1)之间或更小范围的随机数.2.5.5BP算法的问题A2.学习速率学习速率决定每一次循环训练中所产生的权值变化量.大的学习速率可能导致系统的不稳定;但小的学习速率导致较长的训练时间,可能收敛很慢;一般情况下倾向于选取较小的学习速率以保证系统的稳定性;学习速率的选取范围在0.01~0.8之间.2.5.5BP算法的问题对于较复杂的网络,在误差曲面的不同部位可能需要不同的学习速率.为了减少寻找学习速率的训练次数以及训练时间,比较合适的方法是采用变化的自适应学习速率,使网络的训练在不同的阶段设置不同大小的学习速率.对已知如下二阶偏导则由非线性数值优化牛顿法的思想,有BP算法的学习速率一般应满足:<opt2.5.5BP算法的问题A3.期望误差的选取在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值,这个所谓的“合适”,是相对于所需要的隐含层的节点数来确定的。一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络.2.5.5BP算法的问题

B.结构设计BP网络的训练就是通过应用误差反传原理不断调整网络权值使网络模型输出值与已知的训练样本输出值之间的误差平方和达到最小或小于某一阈值。虽然理论上早已经证明:具有1个隐层(采用S转换函数)的BP网络可实现对任意函数的任意逼近。但遗憾的是,迄今为止还没有构造性结论,即在给定有限个(训练)样本的情况下,如何设计一个合理的BP网络模型并通过向所给的有限个样本的学习(训练)来满意地逼近样本所蕴含的规律的问题,目前在很大程度上还需要依靠设计者的经验。因此,通过训练样本的学习(训练)建立合理的BP神经网络模型的过程,在国外被称为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论