神经网络-(6)BP网络

上传人:飞*** 文档编号:48497449 上传时间:2018-07-16 格式:PPT 页数:52 大小:265.50KB
返回 下载 相关 举报
神经网络-(6)BP网络_第1页
第1页 / 共52页
神经网络-(6)BP网络_第2页
第2页 / 共52页
神经网络-(6)BP网络_第3页
第3页 / 共52页
神经网络-(6)BP网络_第4页
第4页 / 共52页
神经网络-(6)BP网络_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《神经网络-(6)BP网络》由会员分享,可在线阅读,更多相关《神经网络-(6)BP网络(52页珍藏版)》请在金锄头文库上搜索。

1、人工神经网络及其应用 第6章BP神经网络1一、内容回顾 二、BP网络 三、网络设计 四、改进BP网络 五、内容小结内容安排2一、内容回顾 感知机自适应线性元件3一、内容回顾 感知机 感知机简介 神经元模型 网络结构 功能解释 学习和训练 局限性 自适应线性元件4一、内容回顾 感知机自适应线性元件 Adline简介 网络结构 网络学习 网络训练52.1 BP网络简介 2.2 网络模型 2.3 学习规则 2.4 图形解释 2.5 网络训练二、BP网络6反向传播网络(Back-Propagation Network,简 称BP网络)是将W-H学习规则一般化,对非线性 可微分函数进行权值训练的多层网络

2、 权值的调整采用反向传播(Back-propagation) 的学习算法它是一种多层前向反馈神经网络,其神经元的 变换函数是S型函数输出量为0到1之间的连续量,它可实现从输入 到输出的任意的非线性映射2.1 BP网络简介72.1 BP网络简介BP网络主要用于下述方面 函数逼近:用输入矢量和相应的输出矢量训练一个 网络逼近一个函数 模式识别和分类:用一个特定的输出矢量将它与输 入矢量联系起来;把输入矢量以所定义的合适方式 进行分类; 数据压缩:减少输出矢量维数以便于传输或存储 具有将强泛化性能:使网络平滑地学习函数,使网络 能够合理地响应被训练以外的输入 泛化性能只对被训练的输入输出对最大值范围

3、内的 数据有效,即网络具有内插值特性,不具有外插值性 。超出最大训练值的输入必将产生大的输出误差82.2 网络模型一个具有r个输入和一个隐含层的神经网络模型结构 92.2 网络模型感知器和自适应线性元件的主要差别在激活函数 上:前者是二值型的,后者是线性的BP网络具有一层或多层隐含层,除了在多层网络 上与前面已介绍过的模型有不同外,其主要差别 也表现在激活函数上。BP网络的激活函数必须是处处可微的,因此它不 能采用二值型的阀值函数0,1或符号函数1 ,1BP网络经常使用的是S型的对数或正切激活函数 和线性函数102.2 网络模型BP网络特点 输入和输出是并行的模拟量 网络的输入输出关系是各层连

4、接的权因子决定,没有 固定的算法 权因子通过学习信号调节。学习越多,网络越聪明 隐含层越多,网络输出精度越高,且个别权因子的损 坏不会对网络输出产生大的影响 只有当希望对网络的输出进行限制,如限制在0和1之 间,那么在输出层应当包含S型激活函数 在一般情况下,均是在隐含层采用S型激活函数,而 输出层采用线性激活函数112.2 网络模型S型函数具有非线性放大系数功能,可以把输入从负无穷 大到正无穷大的信号,变换成-1到l之间输出对较大的输入信号,放大系数较小;而对较小的输入信 号,放大系数则较大采用S型激活函数可以处理和逼近非线性输入/输出关系122.3 学习规则BP算法属于算法,是一种监督式的

5、学习算法主要思想 对于q个输入学习样本:P1,P2,Pq,已知与其对应的 输出样本为:T1,T2,Tq 使网络输出层的误差平方和达到最小 用网络的实际输出A1,A2,Aq, 与目标矢量T1,T2,Tq 之间的误差修改其权值,使Am与期望的Tm,(ml,q) 尽可能接近132.3 学习规则BP算法是由两部分组成,信息的正向传递与误差 的反向传播 正向传播过程中,输入信息从输入层经隐含层逐层计 算传向输出层,每一层神经元的状态只影响下一层神 经元的状态 如果在输出层未得到期望的输出,则计算输出层的误 差变化值,然后转向反向传播,通过网络将误差信号 沿原来的连接通路反传回来修改各层神经元的权值直 至

6、达到期望目标142.3 学习规则假设输入为P,输入神经元有r个,隐含层内有s1个神经 元,激活函数为F1,输出层内有s2个神经元,对应的激 活函数为F2,输出为A,目标矢量为T152.3 学习规则信息的正向传递 隐含层中第i个神经元的输出输出层第k个神经元的输出定义误差函数162.3 学习规则利用梯度下降法求权值变化及误差的反向传播 输出层的权值变化 其中 同理可得172.3 学习规则利用梯度下降法求权值变化及误差的反向传播 隐含层权值变化 其中 同理可得 182.3 学习规则对于f1为对数S型激活函数,对于f2为线性激活函数192.4 误差反向传播图形解释误差反向传播过程实际上是通过计算输出

7、层的误差ek, 然后将其与输出层激活函数的一阶导数f2相乘来求得 ki由于隐含层中没有直接给出目标矢量,所以利用输出层 的ki反向传递来求出隐含层权值的变化量w2ki。然后 计算同样通过将ei与该层激活函数的一阶导数f1相乘,而 求得ij,以此求出前层权值的变化量w1ij如果前面还有隐含层,沿用上述同样方法依此类推,一 直将输出误差ek逐层的反推算到第一层为止202.4 误差反向传播图形解释212.5 网络训练训练BP网络,需要计算网络加权输入矢量以及网 络输出和误差矢量,然后求误差平方和当所训练矢量的误差平方和小于误差目标,训练 停止;否则在输出层计算误差变化,且采用反向 传播学习规则来调整

8、权值,然后重复此过程网络完成训练后,对网络输入一个不是训练集合 中的矢量,网络将以泛化方式给出输出结果222.5 网络训练为了能够较好地掌握BP网络的训练过程,我们用 两层网络为例来叙述BP网络的训练步骤初始化:用小的随机数初始化每一层的权值W和 偏差B,保证网络不被大的加权输入饱和 期望误差最小值error_goal 最大循环次数max_epoch 修正权值的学习速率1r,一般情况下k0.0l,0.7232.5 网络训练变量表达:计算网络各层输出矢量A1和A2以及网 络误差E A1tansig(W1*P,B1); A2purelin(W2*A1,B2); ET-A; 权值修正:计算各层反传的

9、误差变化D2和D1并计 算各层权值的修正值以及新权值: D2deltalin(A2,E); D1deltatan(A1,D2,W2); dlWl,dBllearnbp(P,D1,lr); dW2,dB21earnbp(A1,D2,1r); W1W1十dW1;B1B1十dBl; W2W2十dW2;B2B2十dB2242.5 网络训练计算权值修正后误差平方和 SSEsumsqr(T-purelin(W2*tansig(W1*P,B1),B2)检查:SSE是否小于err_goal。若是,训练结束 ;否则继续以上所有的学习规则与训练的全过程,可以用函 数trainbp.m来完成它的使用只需定义有关参数

10、:显示间隔次数,最大循 环次数,目标误差,以及学习速率。调用后返回训练 后权值,循环总数和最终误差 TPdisp_freq max_epoch err_goal 1r W,B,epochs,errorstrainbp(W,B,F,P,T ,TP)25三、网络设计3.1 网络的层数 3.2 隐含层神经元数 3.3 初始权值的选取 3.4 学习速率 3.5 期望误差的选取 3.6 应用举例 3.7 局限性263.1 网络的层数理论上已经证明:具有偏差和至少一个S型隐 含层加上一个线性输出层的网络,能够逼近任 何有理函数 定理:增加层数主要可以进一步的降低误差,提高精 度,但同时也使网络复杂化,从而

11、增加了网络 权值的训练时间。 一般情况下应优先考虑增加隐含层中神经元数 仅用具有非线性激活函数的单层网络来解决问 题没有必要或效果不好 线性问题 非线性问题273.2 隐含层神经元数网络训练精度的提高,可以通过采用一个隐含层,而 增加其神经元数的方法来获得。这在结构实现上,要 比增加更多的隐含层简单得多 定理: 实现任意N个输入向量构成的任何布尔函数的前向网络所需权 系数数目为在具体设计时,比较实际的做法是通过对不同神经元 数进行训练对比,然后适当地加上一点余量 283.3 初始权值的选取一般取初始权值在(-1,1)之间的随机数 威得罗等人在分析了两层网络是如何对一个函 数进行训练后,提出一种

12、选定初始权值的策略 选择权值的量级为在MATLAB工具箱中可采用函数nwlog.m或 nwtan.m来初始化隐含层权值W1和B1。 其方法仅使用在第一隐含层的初始值的选取上 ,后面层的初始值仍然采用随机取数293.4 学习速率学习速率决定每一次循环训练中所产生的权值 变化量 大的学习速率可能导致系统的不稳定 小的学习速率导致较长的训练时间,可能收敛 很慢,不过能保证网络的误差值不跳出误差表 面的低谷而最终趋于最小误差值 所以在一般情况下,倾向于选取较小的学习速 率以保证系统的稳定性。学习速率的选取范围 在0.01-0.8之间 303.5 期望误差值选取在设计网络的训练过程中,期望误差值也应当

13、通过对比训练后确定一个合适的值这个所谓的“合适”,是相对于所需要的隐含层 的节点数来确定,因为较小的期望误差值是要 靠增加隐含层的节点,以及训练时间来获得一般情况下,作为对比,可以同时对两个不同 期望误差值的网络进行训练,最后通过综合因 素的考虑来确定采用其中一个网络313.6 应用举例求解函数逼近问题 有21组单输入矢量和相对应的目标矢量,试设计神 经网络来实现这对数组的函数关系P=-1:0.1:1 T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 -0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.30

14、72 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201测试集 P2=-1:0.025:1323.6 应用举例目标矢量相对于输入矢量的图形初始网络的输出曲线 333.6 应用举例训练1000次 2000次343.6 应用举例训练3000次 5000次353.7 限制与不足需要较长的训练时间 完全不能训练 选取较小的初始权值 采用较小的学习速率,但同时又增加了训练时间局部极小值 BP算法可以使网络权值收敛到一个解,但它并 不能保证所求为误差超平面的全局最小解,很 可能是一个局部极小解 36四、BP网络的改进4.1 目标 4.2 附加动量法 4.3 误差函数改进

15、 4.4 自适应学习速率374.1 目标加快训练速度避免陷入局部极小值384.2 附加动量法 利用附加动量的作用则有可能滑过局部极小值修正网络权值时,不仅考虑误差在梯度上的作 用,而且考虑在误差曲面上变化趋势的影响, 其作用如同一个低通滤波器,它允许网络忽略 网络上微小变化特性该方法是在反向传播法的基础上在每一个权值 的变化上加上一项正比于前次权值变化量的值 ,并根据反向传播法来产生新的权值变化394.2 附加动量法 带有附加动量因子的权值调节公式其中k为训练次数,mc为动量因子,一般取095左右附加动量法的实质是将最后一次权值变化的影响,通 过一个动量因子来传递。当动量因子取值为零时,权值变化仅根据梯度下降法产生当动量因子取值为1时,新的权值变化则是设置为最后一次权 值的变化,而依梯度法产生的变化部分则被忽略掉了 促使权值的调节向着误差曲面底部的平均方向变化,当网络 权值进入误差曲面底部的平坦区时,i将变得很小,于是, wij(k+1)wij (k),从而防止了

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号