资源描述:
《BP算法及其优缺点.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、BP算法及其优缺点--误差反传(ErrorBackPropagation)算法的改进与BP网络设计基于BP算法的多层感知器的模型三层BP网络输入层隐层输出层模型的数学表达输入向量:X=(x1,x2,…,xi,…,xn)T隐层输出向量:Y=(y1,y2,…,yj,…,ym)T输出层输出向量:O=(o1,o2,…,ok,…,ol)T期望输出向量:d=(d1,d2,…,dk,…,dl)T输入层到隐层之间的权值矩阵:V=(V1,V2,…,Vj,…,Vm)隐层到输出层之间的权值矩阵:W=(W1,W2,…,Wk,…,Wl)各个变量之间如何建立联系,
2、来描述整个网络?神经网络的学习学习的过程:神经网络在外界输入样本的刺激下不断改变网络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。学习的本质:对可变权值的动态调整学习规则:权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。BP算法是一种学习规则BP算法的基本思想学习的类型:有导师学习核心思想:将输出误差以某种形式通过隐层向输入层逐层反传学习的过程:信号的正向传播误差的反向传播将误差分摊给各层的所有单元---各层单元的误差信号修正各单元权值BP算法的学习过程正向传播:输入样本---输入层---各隐
3、层---输出层判断是否转入反向传播阶段:若输出层的实际输出与期望的输出(教师信号)不符误差反传误差以某种形式在各层表示----修正各层单元的权值网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止建立权值变化量与误差之间的关系输出层与隐层之间的连接权值调整隐层和输入层之间的连接权值调整j=0,1,2,…,m;k=1,2,…,l(3.4.9a)i=0,1,2,…,n;j=1,2,…,m(3.4.9b)式中负号表示梯度下降,常数η∈(0,1)表示比例系数,反映了训练速率。可以看出BP算法属于δ学习规则类,这类算法常被称为误差的梯度下
4、降(GradientDescent)算法。BP算法的程序实现(1)初始化;(4)计算各层误差信号;(5)调整各层权值;(6)检查是否对所有样本完成一次轮训;(7)检查网络总误差是否达到精度要求。(2)输入训练样本对XXp、ddp计算各层输出;(3)计算网络输出误差;BP算法的程序实现然后根据总误差计算各层的误差信号并调整权值。另一种方法是在所有样本输入之后,计算网络的总误差:BP网络的主要功能(1)非线性映射能力多层前馈网能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供
5、BP网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。多层前馈网的主要能力(2)泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为多层前馈网的泛化能力。(3)容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。误差曲面与BP算法的局限性误差函数的可调整参数的个数nw等于各层权值数加上阈值数,即:误差E是nw+1维空间中一个形状极为复杂的曲面,该曲面上的每个点的“高度”对应于一个误差值,每个点的坐标向量对应着nw个权值,因此称这样的空间为误差
6、的权空间。误差曲面的分布--BP算法的局限性曲面的分布特点--------算法的局限性(1)存在平坦区域--------误差下降缓慢,影响收敛速度(2)存在多个极小点------易陷入局部最小点曲面分布特点1:存在平坦区域平坦--误差的梯度变化小--接近于零存在平坦区域的原因分析接近于零的情况分析造成平坦区的原因:各节点的净输入过大对应着误差的某个谷点平坦区曲面分布特点2:存在多个极小点误差梯度为零多数极小点都是局部极小,即使是全局极小往往也不是唯一的。单权值双权值曲面分布特点2:存在多个极小点BP算法---以误差梯度下降为权值调整原则
7、误差曲面的这一特点---使之无法辨别极小点的性质导致的结果:因而训练经常陷入某个局部极小点而不能自拔,从而使训练无法收敛于给定误差。标准BP算法的改进--引言误差曲面的形状--固有的算法的作用是什么?调整权值,找到最优点那么如何更好地调整权值?利用算法使得权值在更新的过程中,‘走’合适的路径,比如跳出平坦区来提高收敛速度,跳出局部最小点等等如何操作?需要在进入平坦区或局部最小点时进行一些判断,通过改变某些参数来使得权值的调整更为合理。标准的BP算法内在的缺陷:⑴易形成局部极小而得不到全局最优;⑵训练次数多使得学习效率低,收敛速度慢;⑶隐
8、节点的选取缺乏理论指导;⑷训练时学习新样本有遗忘旧样本的趋势。针对上述问题,国内外已提出不少有效的改进算法,下面仅介绍其中3种较常用的方法。3.5标准BP算法的改进改进1:增加动量项改进2:自适应调节学习率