《[企业管理]第五章 BP网络》由会员分享,可在线阅读,更多相关《[企业管理]第五章 BP网络(31页珍藏版)》请在金锄头文库上搜索。
1、Chapter 5 BPChapter 5 BP网络网络多层神经网络多层神经网络2012-5-222012-5-222章节目录章节目录BP神经元及神经元及BP网络模型网络模型BP网络的学习网络的学习BP网络学习算法BP网络学习算法的比较BP网络泛化能力的提高网络泛化能力的提高BP网络的局限性网络的局限性BP网络的网络的MATLAB仿真程序设计仿真程序设计BP网络设计的基本方法BP网络应用实例3Title MM/DD/YYYYBP神经元及神经元及BP网络模型网络模型4BPBP神经元及神经元及BPBP网络模型网络模型BP神经元的传输函数最常用的为神经元的传输函数最常用的为logsig和和tansi
2、g函数,输出层有时函数,输出层有时也采用也采用purelin线性函数。线性函数。如:如:a=logsig(Wp+b)BP神经网络信息从输入层流向输神经网络信息从输入层流向输出层,是一种多层前馈神经网络。出层,是一种多层前馈神经网络。5Title MM/DD/YYYYBP网络的学习网络的学习6BPBP网络的学习网络的学习BP网络学习过程分为两个阶段:网络学习过程分为两个阶段:第一个阶段: 输入已知的学习样本,通过设置网络结构和前一次迭代的权值和阈值,从网络第一层向后计算各神经元的输出。第二个阶段:对权值和阈值进行修改,从最后一层向前计算各权值和阈值对总误差的影响,据此对各权值和阈值进行修改。BP
3、算法(算法(backpropagation):由误差逐层往回传递,以修正层与层间的权值和阈值的误差反响传播算法称之为BP算法。将该种算法推广到多层网络形成BP网络。长沙7BPBP网络学习算法网络学习算法8最速下降最速下降BPBP算法算法3第第k次迭代的总误差曲面的梯度次迭代的总误差曲面的梯度4修正权值和阈值修正权值和阈值X(k):第第k次迭代各层之间的连接权向量或阈值向量次迭代各层之间的连接权向量或阈值向量:学习速率,默认值为:学习速率,默认值为0.01缺点:收敛速度慢缺点:收敛速度慢易陷于局部极小易陷于局部极小容易发生震荡容易发生震荡9动量动量BPBP算法算法p对权值和阈值的修正:对权值和阈
4、值的修正:p优点:优点:收敛速度较快,学习时间较短。收敛速度较快,学习时间较短。p学习率学习率根据局部误差曲面作出相应的调整,使得算法稳定且尽量大的步长。根据局部误差曲面作出相应的调整,使得算法稳定且尽量大的步长。学习率可变的学习率可变的BPBP算法算法10弹性弹性BPBP算法算法p目的:消除梯度幅度的不利影响。目的:消除梯度幅度的不利影响。g(k):第第k次迭代的梯度次迭代的梯度:权值或阈值第:权值或阈值第k次迭代的幅度修正值次迭代的幅度修正值11变梯度算法变梯度算法变梯度算法中,沿着变化的方向进行搜索,使其收敛速度比最陡下降梯度方向的收变梯度算法中,沿着变化的方向进行搜索,使其收敛速度比最
5、陡下降梯度方向的收敛速度更快。敛速度更快。1第一次迭代沿着最陡梯度下降方向开始第一次迭代沿着最陡梯度下降方向开始2最佳距离的线性搜索沿着当前搜索方向最佳距离的线性搜索沿着当前搜索方向P(k):第第k+1次迭代的搜索方向次迭代的搜索方向如何计算如何计算,介绍不同的变梯度算法中的四种计算方法。,介绍不同的变梯度算法中的四种计算方法。12变梯度算法变梯度算法(1)Fletcher-Reeves修正算法修正算法(2)Polak-Ribiere修正算法修正算法(3)Powell-Beale复位算法复位算法当梯度当梯度时,有时,有(4)SCG算法算法采用了模型信任区间逼近原理,避免了搜索方向计算耗时问题。
6、采用了模型信任区间逼近原理,避免了搜索方向计算耗时问题。13线性搜索路径线性搜索路径(1)黄金分割搜索)黄金分割搜索p确定误差极小点的区间确定误差极小点的区间连续两次迭代中,误差性能增加时,确定误差性能F(x)在 区间内存在极小点。p减小极小点区间大小减小极小点区间大小c=a+(1-0.618)(b-a)d=b-(1-0.618)(b-a)比较F(c)与F(d)p不断重复上述过程,直到最小不断重复上述过程,直到最小点的区间小宇设定值为止。点的区间小宇设定值为止。14线性搜索路径线性搜索路径(2)Brent搜索搜索综合运用了黄金分割搜索和二次差值的线性搜索方法。综合运用了黄金分割搜索和二次差值的
7、线性搜索方法。令令求的极小点求的极小点d,重复此方法,继续进行搜索。,重复此方法,继续进行搜索。15线性搜索路径线性搜索路径(3)对分)对分-三次差值混合搜索三次差值混合搜索p应用对分法,将在包含误差性能极小点的不确定区间减半。应用对分法,将在包含误差性能极小点的不确定区间减半。p进行三次插值,减小不确定区间的范围。进行三次插值,减小不确定区间的范围。16线性搜索路径线性搜索路径(4)Charalambous搜索搜索采用二次插值和一种分割算法。采用二次插值和一种分割算法。(5)反响跟踪搜索)反响跟踪搜索采用当前点的误差性能函数及其偏导,步长系数采用当前点的误差性能函数及其偏导,步长系数=1,即
8、,即逐渐倍增逐渐倍增值,直到误差性能函数值值,直到误差性能函数值Fx(temp)减少到给定的范围内为止。减少到给定的范围内为止。17拟牛顿算法拟牛顿算法牛顿法牛顿法:基于二阶泰勒级数的快速优化算法。基于二阶泰勒级数的快速优化算法。A(k):为误差性能函数在当前权值和阈值下的:为误差性能函数在当前权值和阈值下的Hessian矩阵矩阵拟牛顿法:不需要求二阶导数,用拟牛顿法:不需要求二阶导数,用Hessian矩阵近似值进行修正。矩阵近似值进行修正。BFGS算法(近似算法(近似Hessian矩阵,适用于规模较小的网络算法)矩阵,适用于规模较小的网络算法)OSS算法(不储存全部的算法(不储存全部的Hes
9、sian矩阵,假定每一次迭代时,前一次迭代矩阵,假定每一次迭代时,前一次迭代Hessian矩阵具有一致性)矩阵具有一致性)18LMLM算法算法类似于拟牛顿法,以近似二阶训练速率进行修正,避免计算类似于拟牛顿法,以近似二阶训练速率进行修正,避免计算Hessian矩阵。矩阵。(H近似表示近似表示Hessian矩阵)矩阵)其中:其中:H为雅克比矩阵,包含网络误差函数对权值和阈值一阶导数为雅克比矩阵,包含网络误差函数对权值和阈值一阶导数e为网络的误差向量为网络的误差向量当当为为0时,上式为牛顿法时,上式为牛顿法19BPBP网络学习算法比较网络学习算法比较优点优点缺点缺点LM算法算法包含数百个权值函数,
10、收敛速度快精度比较高获得最小的均方误差网络权值数量很多时模式识别的处理功能弱存储空间大RPROP模式识别时,速度最快所需的存储空间相对较小函数逼近问题不适用变梯度算法变梯度算法网络规模较大情况适用SCG应用于函数逼近问题很快应用于模式识别时也很快对存储空间要求相对较低BFGS存储空间比LM小运算量随网络大小几何级数增长变学习率算法变学习率算法应用于某些特定问题速度相对慢20Title MM/DD/YYYYBP网络泛化能力的提高网络泛化能力的提高21BPBP网络泛化能力的提高网络泛化能力的提高p“过适配过适配”现象:现象:对训练样本集数据拟合较好,但是由于噪声的影响,对训练样本集数据拟合较好,但
11、是由于噪声的影响,没能很好的实现对争先曲线的拟合。没能很好的实现对争先曲线的拟合。*为加噪正弦训练集为加噪正弦训练集实线为对正弦函数的拟合结果实线为对正弦函数的拟合结果虚线为实际的正弦函数虚线为实际的正弦函数p提高网络泛化能力方法:提高网络泛化能力方法:归一化法归一化法提前终止法提前终止法22BPBP网络泛化能力的提高网络泛化能力的提高归一化法归一化法(1)修正网络误差性能函数)修正网络误差性能函数其中:其中:r为误差性能调整率为误差性能调整率msw为权值和阈值均方值为权值和阈值均方值(2)自动归一化)自动归一化利用贝叶斯框架理论,决定归一化最佳误差性能调整率。利用贝叶斯框架理论,决定归一化最
12、佳误差性能调整率。23BPBP网络泛化能力的提高网络泛化能力的提高提前终止法:提前终止法:将数据分为三个子集,分别是:将数据分为三个子集,分别是:p训练样本集:训练样本集:计算梯度和修正网络的权值和阈值p确认样本集:确认样本集:在训练过程中,监控确认样本集的误差。训练初期,确认样本集误差在正常减少,即为训练样本集的误差,而在网络开始出现“过适配”时,确认样本集的误差在明显增加,当确认样本集的误差连续增加的次数达到指定的迭代次数时,训练便被终止,此时网络返回具有最小确认样本集误差的权值和阈值。(例题)p测试样本集:测试样本集:用于各种不同模型的比较以及画测试样本集的误差曲线24BPBP网络泛化能
13、力的提高网络泛化能力的提高归一化法与提前终止法比较归一化法与提前终止法比较p归一化法比提前终止法具有更好的泛化性能(采用所有数据样本)归一化法比提前终止法具有更好的泛化性能(采用所有数据样本)p归一化法用于函数逼近的性能好归一化法用于函数逼近的性能好p提前终止法用于模式识别的性能好提前终止法用于模式识别的性能好p归一化法比提前终止法收敛所需花费的时间要长归一化法比提前终止法收敛所需花费的时间要长25Title MM/DD/YYYYBP网络的局限性网络的局限性26BPBP网络的局限性网络的局限性p学习率与稳定性的矛盾学习率与稳定性的矛盾p学习率的选择缺乏有效的方法学习率的选择缺乏有效的方法p训练
14、过程可能陷于局部最小训练过程可能陷于局部最小p没有确定隐层神经元数的有效方法没有确定隐层神经元数的有效方法27Title MM/DD/YYYYBP网络的网络的MATLAB仿真程序设计仿真程序设计28BPBP网络设计的基本方法网络设计的基本方法p网络层数网络层数p输入层的节点数输入层的节点数p输出层的节点数输出层的节点数p隐层的节点数隐层的节点数p传输函数传输函数p训练方法及其参数选择训练方法及其参数选择29BPBP网络应用实例网络应用实例p用于模式识别与分类的用于模式识别与分类的BP网络(例题)网络(例题)p用于曲线拟合的用于曲线拟合的BP网络(例题)网络(例题)30常用函数总结常用函数总结函数名功能newff()生成一个前馈BP网络tansig()双曲正切S型传输函数logsig()对数S型传输函数traingd()梯度下降BP训练函数net.trainParam.show显示的间隔次数net.trainParam.epochs训练的最大步长net.trainParam.goal误差性能目标值(设置精确度)net.trainParam.lr学习率tr训练记录31Title MM/DD/YYYYThank you Thank you