西南交通大学本科毕业设计(论文) 第38页 。
图4-8 第四个分量
幅值mm0.040.0350.030.0250.020.0150.010.0050-0.005-0.0100.20.40.60.8时间(time)t/s11.21.4残余函数r-0.04-0.06-0.080.080.060.040.02EMD分解得到的IMF4幅值/mm
0-0.0200.20.40.60.8时间(time)t/s11.21.4
图4-9 残余函数
针对上述情况,采用BP神经网络延拓能有效的抑制端点效应对EMD分解的影响。根据原始信号,在区域t?[0.15,1.15],先均匀的采取100个数据点。然后设计一个BP神经网络,输入层为5,中间层的输入为11,输出为1,学习率为0.01。构建好网络后,首先对信号的前50个数据点进行训练。其训练效果如图
西南交通大学本科毕业设计(论文) 第39页 4-9。
图4-10 原始信号前50个点的训练效果图
上图是未经EMD分解的原始信号的训练误差图,从图中可以看到,曲线的前半部下降非常快,而后半部下降逐渐平缓,经过181次训练后,其误差就达到了所要求的精度10?8。虽然达到了所要求对精度,但是训练时所用对收敛时间比较长,因此我改变了一下训练参数,当将隐层的输入神经元设置为30时,训练在极短的时间里结束,其训练结果图如图4-11所示。
西南交通大学本科毕业设计(论文) 第40页
图4-11 隐层输入为100时的训练结果图
针对于隐层输入神经元数目分别为11和100时,用该BP神经训练网络训练预测前10个数据点,其结果图如图4-12和4-13所示。
图4-12 隐层输入神经元数目为11时预测前10个采样点的预测结果
西南交通大学本科毕业设计(论文) 第41页
图4-13 隐层输入神经元数目为
100时前50个采样点对预测结果
从图4-12和图4-13中可以看到,当隐层输入神经元数目为100时,虽然它的训练收敛快,但是其预测对效果并不好,不能很好的预测出原始信号曲线的趋势,而当隐层输入神经元数目为11时,它训练的时间比较长,但得到的预测图像非常好。经过多次试验以及第三章中提到的有关隐层的设计我将隐层输入神经元数目设定为11。在本次延拓过程中,预测了10个点。由上图可以看出,预测得到的点很好的遵循了原始信号的图形走向。预测的效果非常好。
同理,对原始信号进行训练,预测后20个数据点,得到图4-14和图4-15。
西南交通大学本科毕业设计(论文) 第42页
图4-14 原始信号后50个点的训练效果图
图4-15 原始信号后端50个点的预测结果
由上面两个图,可以看出,原始信号后50的数据点的训练及延拓预测效果也非常的好。
综上所叙,得到整个原始信号的预测图,如图4-16所示。
西 南 交 通 大 学 本科毕业设计(论文)
EMD信号分析方法端点效应分析
年 级:2005级 学 号:20051198 姓 名:郭云喜
专 业:测控技术与仪器 指导老师:宁静
2009年6月
西南交通大学本科生毕业设计(论文) 第I页
院 系 机械工程学院 专 业 测控技术与仪器 年 级 2005级 姓 名 郭云喜
题 目 EMD信号分析方法端点效应分析
指导教师
评 语
指导教师 (签章)
评 阅 人
评 语
评 阅 人 (签章)
成 绩
答辩委员会主任 (签章)
年 月 日
西南交通大学本科毕业设计(论文) 第II页
毕业设计(论文)任务书
班 级 测控二班 学生姓名 郭云喜 学 号 20051198 发题日期: 2009 年4月27日 完成日期: 6月15日
题 目 EMD信号分析方法端点效应分析 1、本论文的目的、意义 经验模态分解(EMD)是一种新的信号分析方法,运用EMD方法对信号进行分析,把复杂的信号分解成若干个IMF分量之和。使用BP神经网络对信号进行训练、延拓,以抑制端点效应对信号EMD分解的影响,然后同样进行EMD分析,再同之前未经过训练、延拓的信号进行对比,以验证BP神
经网络延拓对抑制端点效应的可行性和有效性。 2、学生应完成的任务 (1)查阅资料了解希尔伯特黄变换以及EMD方法。
(2)熟悉MATLAB编程语言,能使用它进行信号分析。
(3)选择信号处理方案,了解神经网络。
(4)用选择的方案编程,对信号进行相关的分析处理。 3、论文各部分内容及时间分配:(共 12 周)
第一部分 查阅希尔伯特黄变换和EMD方法的相关资料,从总体上了解毕业设计的主要要求。 (2周)
第二部分 熟悉需要用到的相关软件的使用。(3周) 第三部分 编写和调试设计中的各种程序。 (4周)
西南交通大学本科毕业设计(论文) 第III页
第四部分 针对毕业设计系统里面的出现问题进行修改和完成毕业论文的撰写。 (2周) 评阅及答辩
指导教师: 宁静 2009年 4月 27日 毕业论文答辩和论文的后续修改。 (1周)
审 批 人:
年月 日
西南交通大学本科毕业设计(论文) 第IV页
摘要
经验模态分解(EMD)是一种新的处理非线性、非平稳的数据分析方法,在应用经验模态分解(EMD)处理数据的时候,端点效应成为影响该方法精度的主要因素,即在“筛分”的过程中上下包络在数据序列的两端会出现发散现象。端点效应会增加一些虚假成分,信号的总能量也随之增加。对于解决该问题,目前已经提出了多种方法。例如直接以数据端点作为极值点、多项式拟合算法、神经网络延拓算法、极值点与对称延拓相结合等多种算法。本文就神经网络中的BP神经网络对数据延拓进行分析。
首先,论文阐述了EMD、端点效应、端点延拓以及神经网络的基本概念,研究了EMD的分解原理与算法,分析了端点效应对信号分析产生的影响,并对EMD分解中应注意的问题进行了分析研究。
其次,重点阐述神经网络中的BP神经网络。相比于其他神经网络,如径向基神经网络,Elman神经网络,Hopfield神经网络等等,BP神经网络在应用上有哪些优点以及还存在有哪些不足之处,需要进行改进的。
最后,对一个仿真信号作EMD分析,用BP神经网络对该仿真信号端点延拓后再进行EMD分析,对前后分析的结果进行比较,验证了BP神经网络延拓抑制端点效应的可行性和有效性。在此基础上,对试验数据作EMD分析,同样用BP神经网络端点延拓后再进行EMD分析,再进行比较。
关键词:经验模态分解 端点效应 数据延拓
西南交通大学本科毕业设计(论文) 第33页
第四章 EMD的应用
前面几章介绍了EMD信号分解和BP神经网络的原理,下面我们先用一个仿真试验来验证,观察BP神经网络延拓在EMD分解过程中对端点效应的抑制是否有效。
4.1仿真试验
4.1.1 信号的训练及预测
仿真试验数据由下式产生:
a=4*sin(20*pi*t).*sin(pi*2*t/10)+sin(10*pi*t) (4.1) 其中,X(t)的幅度为3,t?[0.15,1.15],该信号由一个调幅信号(设为x1)和一个正弦信号(设为x2)组成,上式所产生的信号如图4-1所示。
4原始信号3 2幅值/mm10-1-2-3 00.20.40.60.8时间(time) t/s11.21.4
图4-1 原始信号 该原始信号中调幅信号x1如图4-2所示。
西南交通大学本科毕业设计(论文) 第34页
2.5调幅信号x121.510.5 幅值/mm0-0.5-1-1.5-2-2.5 00.20.40.60.8时间(time) t/s11.21.4
图4-2 调幅信号x1的图像 原始信号中正弦信号x2如图4-3所示。
西南交通大学本科毕业设计(论文) 第35页
1正弦信号x20.80.60.40.2 幅值/mm0-0.2-0.4-0.6-0.8-1 00.20.40.60.8时间(time) t/s11.21.4
图4-3 正弦信号x2的图像
对该信号进行EMD分解得到如下的IMF分量,如图4-4.
imf150-520-20.10-0.10.10-0.100.20.40.6imf20.811.21.400.20.40.6imf30.811.21.400.20.40.6imf40.811.21.400.20.40.6res0.811.21.4幅值/mm0.20-0.200.20.40.60.8时间(time)t/s11.21.4
图4-4 原始信号EMD分解得到的IMF分量
西南交通大学本科毕业设计(论文) 第36页 从图中看到信号经过EMD分解后得到第一、第二和第三共三个IMF分量。而显然,从式(4.1)中可以看出,该信号经过EMD分解后能得到两个IMF分量。出现这个的现象的原因是端点效应的影响。进行EMD分解时,在“筛分”的过程中构成上下包络的3次样条拟合函数在数据序列的两端会出现发散现象,这是因为在端点的样条函数拟合点是不确定的,并且这种发散的结果会随着“筛分”的过程逐渐向内“污染”整个数据序列,从而使所得结果严重失真。
第一个分量与调幅信号x1的比较如图4-5所示。
第一个分量与调幅信号x1的比较2.521.5 IMF1分量原始调幅信号x1
幅值/mm10.50-0.5-1-1.5-2-2.5 00.20.40.60.8时间(time)t/s11.21.4图4-5 第一个分量与调幅信号x1的比较
从图中可以看到,在调幅信号的端点处信号失真,向四周发散,这是由于端点效应的存在而引起的。同理可以知道第二个分量在端点处也会发生失真现象,如图4-6所示。
西南交通大学本科毕业设计(论文) 第37页
-1 00.20.40.60.8时间(time)t/s11.21.4-0.511.5IMF2分量与原始正弦信号x2第二个分量与调幅信号x2的比较 幅值/mm
0.50图4-6 第二个分量与正弦信号x2的比较
由图4-5和图4-6可以看出,第一个分量和第二个分量包含了原始信号绝大部分的信息,第三个和第四个分量是在EMD分解时,由于端点效应的影响而产生的误差,该误差的图像如图4-7、4-8所示。
幅值/mm0.060.040.020-0.02-0.04-0.06-0.08EMD分解得到的IMF30.10.08
00.20.40.60.8时间(time)t/s11.21.4图4-7 第三个分量
西南交通大学本科毕业设计(论文) 第23页 到极大的限制,因此神经网络系统不可能完成高度集成化、智能化的计算任务。同时,神经网络系统理论本身也有很多不完善的地方。所以,神经网络系统理论与应用研究工作进展缓慢。另一方面,这一时期正是数字计算机发展的全盛时期,无论在硬件、软件还是技术应用到商品巾场方面都取得了突飞猛进的发展,使得大批有才华的科学家的注意力都转移到数值计算机方画了。
从20世纪80年代开始 ,是神经网络系统理论发展的黄金时期。这个时期最具标志性的人物是美国加州丁学院的物理学家John Hopfield。他于]982=年和1984年在美国科学院院刊上发表了两篇文章,提出了模仿人脑的神经网络模型,即著名的Hopfield模型。Hopfield网络足—个互连的非线性动力学网络,它解决问题的方法是—种反复运算的动态过程,这是符号逻辑处理方法所不具备的性质。
20世纪80年代,关于智能计算机发展道路的问题日趋迫切地提到日程上来。由于计算机的集成度日趋极限状态,但数值计算的智能水平与人脑相比,仍有较大的差距,因此,就需要从新的角度来思考智能计算机的发展道路问题。这样一来,神经网络系统理论重新受到审视。所以,20世纪80年代后期到90年代初,神纤网络系统理论形成了发展的热点,多种模型,算法和应用问题被提山,研究经费重新变得充足,使得研究者们完成了很多有意义的工作。目前,神经网络系统理论与技术的发展大体分一下3个方面进行。
首先在硬件技术方面,—些发达国家,如美国和日本均实现了规模超过1000个神经元的网络系统,这样的系统具有极高的运算速度,而且已经在股票数据分析中得到了应用。神经网络系统理论的研究方画,主要的进展有Boltzmann机理论的研究、细胞网络的提出和性能指标的分析等。神经网络系统的应用研究主要集中在模式识别(语音和图像识别)、经济管理和优化控制等方面,它和数学、统计中的多个学习有着密切的联系,如线性和非线性规划问题、数值逼近、统计计算等。另外,在其他信息处理问题中也有很多应用,如数据压缩、编码和股市分析等领域,应用内容十分丰富。
3.2 神经网络的研究内容
神经网络的研究内容相当广泛,反映了多学科交叉技术领域的特点。目前,主要的研究工作集中在以下四方面。
? 生物原型研究:从生理学、心理学、解剖学、脑科学、病理学等生物科学方
面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。 ? 建立理论模型:根据生物原型的研究,建立神经元、神经网络的理论模型,
其中包括概念模型、知识模型、物理化学模型、数学模型。
西南交通大学本科毕业设计(论文) 第24页 ? 网络模型与算法研究:在理论模型研究的基础上构成具体的神经网络模型,
以实现计算机模拟或准备制作硬件,包括网络学习算法的研究。这方面的工作也称为技术模型研究。
? 神经网络应用系统:在网络模型与算法研究的基础上,利用神经网络组成实
际的应用系统,例如,完成某种信号处理或模式识别的功能、构建专家系统、制成机器人等等。
3.3神经网络模型
神经网络的基本组成单元式神经元。数学上的神经元模型和生物学上的神经细胞相对应,或者说,神经网络理论是用神经元这种抽象的数学模型来描述客观世界的生物细胞的。
很明显,生物的神经细胞是神经网络理论诞生和形成的物质基础和源泉。这样,神经元的数学描述就必须以生物神经细胞的客观行为特性为依据。因此,了解生物神经细胞的行为特性就是一件十分重要且必须的事了。
神经网络的延拓结构也是以生物学解剖中神经细胞互连的方式为依据的,对神经细胞相互作用情况的揭示也是十分重要的。
3.3.1 生物神经元模型
神经元是神经网络的基本元素,只有了解神经元才能认识神经网络的本质。 在人体内,神经元的结构形式是完全相同的。但是,无论结构形式如何,神经元都是由一些基本的成分组成的,神经元的生物学解剖如图3-1所示。
西南交通大学本科毕业设计(论文) 第25页
图3-1 神经元的生物学解剖
从图中可以看出,神经元由细胞体、树突和轴突三部分组成。其中突触是神经元之间的连接,其结构如图3-2所示
图3-2 突触结构
目前,神经网络的研究只是处于初级阶段,后边还有大量的工作等人们去探讨和研究。神经网络的研究已经向人们展示了其美好的美景,只要按阶段不断取得进展,神经元和突触是完全可以实现人工模拟的。
西南交通大学本科毕业设计(论文) 第26页
3.3.2 神经元模型
从神经元的特性和功能可以知道,神经元是一个多输入单输出的信息处理单元,而且,它对信息的处理是非线性的。根据神经元的特性和功能,可以把神经元抽象为一个简单的数学模型。工程上的神经元模型如图3-3所示。
图3-3 神经网络的数学模型
在图3-3中,x1,x2?xn是神经网络的输入,既是来自前级n个神经元的轴突的信息;vi是i神经元的阀值;?1i,?1i??ni分别是i神经元对x1,x2?xn的权值连接,即突触的传递效率;yi是i神经元的输出;f是传递函数,决定i神经元受到输入x1,x2?xn的共同作用达到阀值时以何种方式输出。
3.4 BP神经网络
Minsky和Papert的论点曾使许多人对神经网络的研究失去了信心,但仍有许多的学者坚持这方面的研究。Rumelhart、McClelland和他们的同事洞察到神经网络信息处理的重要性,于1982年成立了一个PDP小组,研究并行分布信息处理方法。1985年发展了BP网络学习算法,实现了Minsky的多层网络设想。BP网络是一种多层前馈型神经网络,其神经元的传递函数是S型函数,输出量为0到1之间的连续量,它可以实现从输入到输出的任意非线性映射。由于权值的调整采用反向传播(Back Propagation)学习算法,因此也常称其为BP网络。目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。 BP网络主要应用于以下四个方面。
? 函数逼近:用输入矢量和相应的输出矢量训练一个网络以逼近一个函数。
西南交通大学本科毕业设计(论文) 第27页 ? 模式识别:用一个待定的输出矢量将它与输入矢量联系起来。 ? 分类:把输入矢量所定义的合适方式进行分类。 ? 数据压缩:减少输出矢量维数以便于传输或存储。
3.4.1 BP神经元
图3-5给出了一个基本的BP神经元模型,它具有R个输入,每个输入都通过一个适当的权值?和下一层相连,网络输出可表示为:
a?f(?*p?b)
f就是表示输入/输出关系的传递函数。
BP网络中隐层神经元的传递函数通常用log-sigmoid型函数logsig()、tansigmoid型函数tansig()以及纯线性函数purelin().其传递函数如图3-5所示。
如果BP网络的最后一层是sigmoid性神经元,那么整个网络的输出就限制在一个较小的范围内;如果BP网络的最后一层是purelin型线性神经元,那么整个网络的输出可以取任意值。
BP网络所采用的传递函数均是可微的单调递增函数。在BP网络的训练过程中,计算函数logsig()、tansig()、purelin()的导数非常重要,神经网络工具箱提供了这些求导函数依次为dlogsig()、dtansig()、dpurelin()。在工作空间输入缀有‘deriv’的指令就可以找到相应传递函数的导数函数。例如: tansig(‘deriv’) ans=dtansig
这些函数都是设计BP网络时要经常用到的。如果用户在实际应用中需要用到其他的函数,可以自行定义。
西南交通大学本科毕业设计(论文) 第28页
?
图3-5 BP神经元模型
3.4.2 BP网络模型
BP网络的结构如图3—18所示。由图可见,DP网络是一种具有三层或三层以上神经元的神经网络,包括输入层、中间层(隐层)和输出层。上下层之间实现全连接,而每层神经元之间无连播。当一对学习样本提供给网络后,神经元的激活值从输入层经各中间层向输出层传播,在输出层的各神经元获得网络的输入响应。接下来,按照减少目标输出与实际输出之间误差的方向,从输出层反向经过各中间层回到输入层,从而各层修正各连接权值,这种算法称为“误差反向传播算法”,即BP算法。随着这种误差逆向的传播修正不断进行,网络对输入模式响应的正确率也不断上升。
图3-6 神经网络连接模型
与感知器模型不同的是,由于误差反向传播中合对传递函数进行求导计算,BP网络的传递函数要求必须是可微的,所以不能值用感知器网络中的硬阀值传
西南交通大学本科毕业设计(论文) 第29页 递函数,常用的有Sigmoid型的对数、正切函数或线性函数。由于传递函数是处处可微的,所以对于BP网络来说,一方面,所划分的区域不再是一个线性划分,而是由一个非线性超平面组成的区域,它是比较平滑的曲而,因而它的分类比线性划分更加精确,容错性也比线性划分更好;另一方面,网络可以严格采用梯度下降法进行学习,权值修正的解析式十分明确。
3.4.3 BP网络学习规则
这里不讨论学习规则的数学推导过程,只给出学习过程及步骤,以供设计与分析DP网络时作为参考。我们以一个三层BP网络为例,介绍BP网络的学习过程及步骤。
在介绍之前,首先对各符号的形式及意义进行说明。 网络输入向量Pk?(a1,a2,?,an); 网络目标向量Tk?(y1,y2,?,yq);
中间层单元输入向量Sk?(s1,s2,?,sp),输出向量Bk?(b1,b2,?,bp); 输出层单元输入向量Lk?(l1,l2,?,lq),输出向量Ck?(c1,c2,?,cq); 输出层至中间层的连接权wij,i?1,2,?,n,j?1,2,?,p; 中间层至输出层的连接权vjt,j?1,2,?,p,t?1,2,?,p; 中间层各单元的输出阀值?j,j?1,2,?,p; 输出层各单元的输出阀值?j,j?1,2,?,p; 参数k?1,2,?,m。
(1)初始化。给每个连接权值wij、vjt、阀值?j与?t赋予区间(-1,1)内的随机值。
kkk(2)随机选取一组输入和目标样本Pk?(a1k,a2,?,an)、Tk?(s1k,s2,?,skp)提供给网络。
kk(3)用输入样本Pk?(a1k,a2,?,an)、连接权wij和阀值?j计算中间层各单
元的输入sj,然后用sj通过传递函数计算中间层各单元的输出bj。
sj??wijai??j j?1,2,?,p
nbj?f(sj) j?1,2,?,p
(4)利用中间层的输出bj、连接权vjt和阀值?t计算输出层各单元的输出Lt,然后通过传递函数计算输出层各单元的响应Ct。
i?1Lt??vjtbj??t t?1,2,?,q
pCt?f(Lt) t?1,2,?,q
kk(5)利用网络目标向量Tk?(y1k,y2,?,yq),网络的实际输出Ct,计算输出
j?1层的各单元一般化误差dtk。
西南交通大学本科毕业设计(论文) 第30页
dtk?(ytk?Ct)*Ct(1?Ct) t?1,2,?,q
(6)利用连接权vjt、输出层的一般化误差dt和中间层的输出bj计算中间层各单元的一般化误差ekj。
kje?[?dt*vjt]bj(1?bj)
(7)利用输出层各单元的一般化误差dtk与中间层各单元的输出bj来修正连接权vjt和阀值?t。
t?1qvjt(N?1)?vjt(N)?a*d1k*bj
?t(N?1)??t(N)?a*dtk
t?1,2,?,q j?1,2,?,p,0?a?1
(8)利用中间层各单元的一般化误差ekj,输入层各单元的输入
Pk?(a1,a2,?,an)来修正连接权wij和阀值?j。
kwij(N?1)?wij(N)??ekjai
?j(N?1)??j(N)??ekj
i?1,2,?,n,j?1,2,?,p,0???1
(9)随机选取下一个学习样本向量提供给网络,返回到步骤(3),直到m个训练样本训练完毕。
(10)重新从M个学习样本中随机选取一组输入和目标样本,返回步骤(3),直到网络全局误差E小于预先设定的一个极小值,即网络收敛。如果学习次数大于预先设定的值,网络就无法收敛。 (11)学习结束。
可以看出,在以上学习步骤中,(7)(10)步则用于完成训练和收敛过程。(8)步为网络误差的“逆传播过程”,
通常,经过训练的网络还应该进行性能测试。测试的方法就是选择测试样本向量,将其提供给网络,检验网络对其分类的正确性。测试样本向量中应该包含今后网络应用过程中可能遇到的主要典型模式。这些样本可以通过直接测取得到,也可以通过仿真得到,在样本数据较少或者较难得到时,也可以通过对学习样本加上适当的噪声或按照一定规则插值得到。为了更好地验证网络的泛化能力,一个良好的测试样本集中不应该包含和学习样本完全相同的模式。
3.4.4 BP网络设计技巧
1)输入和输出层的设计
输入的神经元可以根据需要求解的问题和数据表示方式确定。如果输入的是根拟信号波形,那么输入层可以根据波形的采样点数目决定输入单元的维数,也可以用一个单元输入,这时输入样本为采样的时间序列;如果输入为图像,则输
西南交通大学本科毕业设计(论文) 第31页 入单元可以为图像的像素,也可以是经过处理的图像特征。
输出层的维数可根据使用者的要求确定。如果将BP网络用做分类器,有m个,那么输出层神经元的个数为m或log2m。 2)隐层的设计
对于BP网络,有一个非常重要的定理。即对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络迫近,因而一个三层BP网络就可以完成任意的M维到闭经的映射。
隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验来确定,因而不存在一个理想的解析式来表示。隐单元的数目与问题的要求、输入助出单元的数目都有着直接关系。隐单元数目太多会导致学习时间过长、误差不一定最佳,也会导数容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。以下3个公式可用于选得最佳隐单元数时的参考公式。
i(1)?Cn?k,其中,k为样本数,n1为隐单元数,n为输入单元数。如果ini?n1,C?0。
(2)n1?n?m?a,其中,m为输出神经元数,n为输入单元数,a为[1,10]之间的常数。
(3)n1?log2n,其中,n为输入单元数。
还有一种途径可用于确定隐单元的数目。首先使隐单元的数目可变,或者放入足够多的隐单元,通过学习将那些不起作用的隐单元剔除,直到不可收缩为止。同样,也可以在开始时放入比较少的神经元,学习到一定次数后,如果不成功则再增加隐单元的数目,直到达到比较合理的隐单元数目为止。
(4)初始值的选取
由于系统是非线性的,初始值对于学习能否达到局部最小和是否能够收敛的结果关系很大。一个重要的要求是:初始权值在输入累加时使每个神经元的状态值接近于零,权值一般取随机数,数值要比较小。输入样本也同样希望进行归一他处理,使那些比较大的输入仍范在传递函数梯度大的地方。
ii?0ni3.4.5.BP网络的不足及改进
在人工神经网络的应用中,绝大部分的神经网络模型采用了BP网络及其变化形式,但这并不说明BP网络是尽善尽美的,其各种算法依然存在一定的局限性。BP神经网络的不足和改进主要有以下几个方面:
(1)
由于学习速率是固定的,因此,网络的收敛速度慢,需要较长的训练时间。对于一些复杂的问题,BP算法需要的训练时间可能会
西南交通大学本科毕业设计(论文) 第32页
非常长。这主要是由于学习速率太小造成的,对于这个问题,可采用的改进方法有:附加动量项、变化的学习速率或自适应的学习速率。
(2)
BP算法可以使权值收敛到某个值,但并不能保证其为误差平面的全局最小值,这是因为采用梯度下降法可能会产生多个局部最小值。
(3)
网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复试验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。
(4)
网络的学习和记忆具有不稳定性。也就是说,如果增加了学习样本,训练好的网络就需要从头开始重新训练,对于以前的权值和阀值是没有记忆的。
3.4.6 BP神经网络的构建
本小节介绍BP神经网络的构建、初始化、仿真。 1.生成神经网络
训练神经网络之前需要构造一个网络构架,函数newff()就是构造神经网络的。它需要四个输入条件,依次是:由R维的输入样本最大最小值构成的R*2维矩阵、各层的神经元个数、各层神经元的传递函数以及训练用函数的名称。
假设需要构建一个两层的神经网络,其输入向量是二维的,输入向量的范围为[-1 2;0 5],第一层(隐层)有三个神经元,传递函数是tansig();第二层(输出层)是单个神经元,传递函数是线性的,训练函数选取traingd。至此就生成了初始化训练的神经网络。
2.权值初始化
前馈性神经网络在训练之前必须要对权值和阀值进行初始化,newff()函数可以自动完成这一过程,但是无法重新赋新值。如果相重新初始化,可以应用init()函数,使网络恢复到初始化的情况。
3.网络仿真
给定网络结构和输入变量p,就可以应用sim()函数计算相应的网络输出a。