BP神经网络的改进和MATLAB实现PPT课件.ppt

上传人:可**** 文档编号:87470594 上传时间:2023-04-16 格式:PPT 页数:60 大小:1.65MB
返回 下载 相关 举报
BP神经网络的改进和MATLAB实现PPT课件.ppt_第1页
第1页 / 共60页
BP神经网络的改进和MATLAB实现PPT课件.ppt_第2页
第2页 / 共60页
点击查看更多>>
资源描述

《BP神经网络的改进和MATLAB实现PPT课件.ppt》由会员分享,可在线阅读,更多相关《BP神经网络的改进和MATLAB实现PPT课件.ppt(60页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、改进BP神经网络与MATLAB实现江西师范大学2012.6.111 1.1:BP神经网络的概述2:BP神经网络的标准训练学习3:在MATLAB软件上运行几个程序4:基于Levenberg-Marquardt算法的学习优 化(阻尼最小二乘法)5:基于蚁群算法的初始权值优化6:经过4 和 5 优化后的 仿真试验(发 动机性能趋势分析和故障诊断中的应用)7:总结2 2.多元函数多元函数图图示示一元函数X.R二元函数xyoR.fD.f.三元函数xyzo.R.fXXI矩形的面积 S=xy长方体体积 V=xyz3 3.多元函数多元函数图图示示xR.4 4.多元函数及其多元函数及其图图形形多元函数及其多元函

2、数及其图图形形5 5.6 6.BP神经网络模型激活函数必必须处处须处处可可导导一般都使用一般都使用S S型函数型函数 使用S型激活函数时BP网络输入与输出关系输输入入输输出出7 7.BP神经网络模型输输出的出的导导数数 根据根据根据根据S S型激活函数的型激活函数的型激活函数的型激活函数的图图图图形可知形可知形可知形可知,对对对对神神神神经经经经网网网网络进络进络进络进行行行行训练训练训练训练,应该应该应该应该将将将将netnet的的的的值值值值尽量控制尽量控制尽量控制尽量控制在收在收在收在收敛敛敛敛比比比比较较较较快的范快的范快的范快的范围围围围内内内内 8 8.9 9.网络结构输输入入层层

3、有有n n个神个神经经元,元,隐隐含含层层有有p p个神个神经经元元,输输出出层层有有q q个神个神经经元元变量定义输输入向量入向量;隐隐含含层输层输入向量;入向量;隐隐含含层输层输出向量出向量;输输出出层输层输入向量入向量;输输出出层输层输出向量出向量;期望期望输输出向量出向量;1010.输输入入层层与中与中间层间层的的连连接接权值权值:隐隐含含层层与与输输出出层层的的连连接接权值权值:隐隐含含层层各神各神经经元的元的阈值阈值:输输出出层层各神各神经经元的元的阈值阈值:样样本数据个数本数据个数:激活函数激活函数:误误差函数:差函数:1111.第一步,网络初始化 给给各各连连接接权值权值分分别

4、赋别赋一个区一个区间间(-1-1,1 1)内)内的随机数,的随机数,设设定定误误差函数差函数e e,给给定定计计算精度算精度值值 和最大学和最大学习习次数次数MM。第二步,随机选取第 个输入样本及对应期望输出 1212.第三步,计算隐含层各神经元的输入和输出1313.第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数 。1414.第五步,利用隐含层到输出层的连接权值、输出层的 和隐含层的输出计算误差函数对隐含层各神经元的偏导数 1515.1616.第六步,利用输出层各神经元的 和隐含层各神经元的输出来修正连接权值 1717.第七步,利用隐含层各神经元的 和输入层各神经元

5、的输入修正连接权。1818.第八步,计算全局误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。1919.BP算法直观解释情况情况1 1的直的直观观表达表达 当当误误差差对权值对权值的偏的偏导导数大于零数大于零时时,权值权值调调整量整量为负为负,实际输实际输出大于期望出大于期望输输出,出,权值权值向减少方向向减少方向调调整,整,使得使得实际输实际输出与期望出与期望输输出的差减少。出的差减少。whoe0,此,此时时who02020.BP算法直解释情况情况2 2的直的直观观表达表达

6、当当误误差差对权值对权值的偏的偏导导数数小于零小于零时时,权值调权值调整量整量为为正,正,实际输实际输出少于期出少于期望望输输出,出,权值权值向增大方向向增大方向调调整,使得整,使得实际输实际输出与期出与期望望输输出的差减少。出的差减少。e0who2121.梯度下降法梯度下降法2222.一、无一、无约约束束优优化的古典分析法化的古典分析法 无约束优化问题可表示为 min f(x1,x2,xn)xiR,i=1,2,n如果令 x=(x1,x2,xn)T,则无约束优化问题为 min f(x)xRn2323.关于 f(x):当 x=(x)时,f(x)是一条曲线;当 x=(x1,x2)T 时,f(x1,

7、x2)是一个曲面;当 x=(x1,x2,x3)T 时,f(x1,x2,x3)是一个体密度(或类位势函数);当 x=(x1,x2,xn)T 时,f(x1,x2,xn)是一个超曲面。2424.设函数 f(x)=f(x1,.,xn)对所有变元都有一阶与二阶连续偏导数,则 称 n 个一阶偏导数构成的 n 维列向量为 f.(x)的梯度梯度,记作 称满足 f(x0)=0 的点 x0 为函数 f(x)的驻驻点点或临临界点界点。2525.称 n2 个二阶偏导数构成的 n 阶对称矩阵为函数 f(x)的海海森森(Hessian)矩阵,记为 H(x)或2f(x):2626.综上所述,多元函数 f(x)=f(x1,x

8、2,xn)的一阶导数是它的梯度 f.(x),二阶导数是它的 Hessian 矩阵 2f(x)。在最优化方法的讨论中这是两个常用的概念。2727.定定理理 (最优性条件)设 n 元函数 y=f(x)对所有变元具有一阶及二阶连续偏导数,则 x0 是 f(x)极小点的充分条件为f(x0)=0,2f(x0)0(正定)而 x0 是 f(x)极大点的充分条件为f(x0)=0,2f(x0)0(负定)事事实实上上,如果设 x=(x1,xn)T,则利用多元函数的泰勒展开式,我们有2828.其中 R 为 x 的高阶无穷小,即 R=o|x|2。于是,当 x0 为函数 f.(x)的驻点时可以得到于是,当 xi(i=1

9、,n)足够小时,上式右端的正负号完全由二次型 xT2f(x0)x 决定,从而完全由 Hessian 矩阵 2f(x)的正(负)定性决定。注注记记:微积分中求一元函数和二元函数极值的方法,是这个定理的特例。2929.二、无二、无约约束束优优化的梯度下降法化的梯度下降法 对于无约束优化问题min f(x)(1)x=(x1,x2,xn)TRn如果 f(x)可微,根据古典分析的方法,可利用f(x)=0 (2)求驻点,然后再利用 Hessian 矩阵 2f.(x)来判定这些驻点是否极小值点,从而求出无约束优化问题(1)的最优解。3030.但是,用古典分析的方法求解无约束优化问题(1)实际上是行不通的,这

10、是由于:(1)实际应用中相当数量的函数 f.(x)不具有解析性,故非线性方程组 f(x)=0 无法形成;(2)即使形成了方程组 f(x)=0,由于它是一个 n 元非线性方程组,因而求它的解与解决原问题一样地困难;(3)即使求得了 f(x)=0 的解 x*,但由于最优性条件不被满足或者难于验证,因此仍无法确定 x*是否为(1)的解。3131.例如,有些曲面有许多甚至无穷多极大值和极小值,则无法验证最优性条件。3232.鉴于上述种种原因,对于(1)的求解,通常采用一些比较切合实际、行之有效的数值算法。最常用的是迭代算法(搜索算法)。迭迭代代算算法法的基本思想是:从一个选定的初始点 x0Rn 出发,

11、按照某一特定的迭代规则产生一个点列 xk,使得当 xk 是有穷点列时,其最后一个点是(1)的最优解;当 xk 是无穷点列时,它有极限点,并且其极限点是(1)的最优解。3333.设 xkRn 是某迭代算法的第 k 轮迭代点,而xk+1Rn 是第 k+1 轮迭代点,记xk+1=xk+k pk这里 kR 称为步步长长,pkRn 称为搜搜索索方方向向。在 k 和 pk 确定之后,由 xkRn 就可以确定 xk+1Rn。各种不同迭代算法的差别,在于选择 k 和 pk(特别是 pk)的方法不同。3434.使用最广泛的一类是下下降降算算法法,它每迭代一次都是目标函数值有所下降,即 f(xk+1)0,并令 k

12、:=0;2 计算 pk=f(xk);3 检验是否满足收敛性判别准则:|pk|若满足判别准则,则停止迭代,得到点 x*xk,否则进行 4;3838.4 单变量极值问题的最优解 kR:5 令xk+1=xk+k pk;k:=k+1返回 2。3939.例例 用梯度下降法求解 min f(x)=2x12+x22。解解 (1)取初始点 x0=(1,1)T,计算得 p0=f(x0)=(4x01,2x02)T|x1=1,x2=1 =(4,2)T由于所以 f(x0+p0)=2(1 4)2+(1 2)2。再求解单变量极值问题:4040.得 0=5/18,于是x1=x0+0 p0=(1/9,4/9)T (2)计算得

13、 p1=f(x1)=(4x11 2x12)|x11=1/9,x12=4/9 =(4/9,8/9)T所以4141.故再求解单变量极值问题:得 1=5/12,于是x2=x1+1 p1=(2/27,2/27)T (3)计算得 p2=f(x2)=(8/27,4/27),.如此继续下去,直到满足收敛准则为止。4242.该问题的最优解为 x*=(0,1)T,f(x*)=0,如图所示。4343.梯度下降法是求解无约束优化问题的最基本的算法,它在最优化方法中占有重要地位。梯度下降法的优点是计算量小,存储变量少,对初始点要求不高。缺点是:f.(x)仅仅反映了函数在点 x 处的局部性质,对局部来说是最速的下降方向

14、,但对整体求解过程并不一定使函数值下降的最快;另外,梯度下降法收敛速度慢,特别是在极小值点附近。梯度下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时宜选用其它收敛快的算法。4444.在MATLAB 上实现的几个例子4545.属于解析型的算法有:梯度法:又称最速下降法。这是早期的解析法,收敛速度较慢。牛顿法:收敛速度快,但不稳定,计算也较困难。共轭梯度法:收敛较快,效果较好。变尺度法:这是一类效率较高的方法。等等4646.BP网络的训练函数 训练训练方法方法训练训练函数函数梯度下降法梯度下降法traingdtraingd有有动动量的梯度下降法量的梯度下降法traingdmtraing

15、dm自适自适应应lr lr梯度下降法梯度下降法traingdatraingda自适自适应应lr lr动动量梯度下降法量梯度下降法traingdxtraingdx弹弹性梯度下降法性梯度下降法trainrptrainrpFletcher-ReevesFletcher-Reeves共共轭轭梯度法梯度法traincgftraincgfPloak-RibierePloak-Ribiere共共轭轭梯度法梯度法traincgptraincgpPowell-BealePowell-Beale共共轭轭梯度法梯度法traincgbtraincgb量化共量化共轭轭梯度法梯度法trainscgtrainscg拟拟牛牛

16、顿顿算法算法trainbfgtrainbfg一步正割算法一步正割算法trainosstrainossLevenberg-MarquardtLevenberg-Marquardttrainlmtrainlm4747.例一:利用三层BP神经网络来完成非线性函数的逼近任务,其中隐层神经元个数为五个。样本数据:输输入入X X输输出出D D输输入入X X输输出出D D输输入入X X输输出出D D-1.0000-1.0000-0.9602-0.9602-0.3000-0.30000.13360.13360.40000.40000.30720.3072-0.9000-0.9000-0.5770-0.5770

17、-0.2000-0.2000-0.2013-0.20130.50000.50000.39600.3960-0.8000-0.8000-0.0729-0.0729-0.1000-0.1000-0.4344-0.43440.60000.60000.34490.3449-0.7000-0.70000.37710.37710 0-0.5000-0.50000.70000.70000.18160.1816-0.6000-0.60000.64050.64050.10000.1000-0.3930-0.39300.80000.8000-0.3120-0.3120-0.5000-0.50000.66000.6

18、6000.20000.2000-0.1647-0.16470.90000.9000-0.2189-0.2189-0.4000-0.40000.46090.46090.30000.3000-0.0988-0.09881.00001.0000-0.3201-0.32014848.例二利用三层BP神经网络来完成非线性函数的逼近任务,其中隐层神经元个数为五个。样本数据:输输入入X X输输出出D D输输入入X X输输出出D D输输入入X X输输出出D D0 00 04 44 48 82 21 11 15 53 39 93 32 22 26 62 210104 43 33 37 71 14949.些些论论

19、文文对对BPBP神神经经网网络络的的训练训练学学习过习过程程进进行改行改进进用用LMLM(Levenberg-MarquardtLevenberg-Marquardt )算法)算法对对BPBP神神经经网网络络的的训练训练学学习进习进行改行改进进。它是使用最广泛的非它是使用最广泛的非线线性最小二乘算法,它是利用梯度求性最小二乘算法,它是利用梯度求最小(大)最小(大)值值的算法,形象的的算法,形象的说说,属于,属于“爬山爬山”法的一种。法的一种。它同它同时时具有梯度具有梯度 法和牛法和牛顿顿法的法的优优点。当点。当 很小很小时时,步,步长长等等于牛于牛顿顿法步法步长长,当,当 很大很大时时,步,步

20、长约长约等于梯度下降法的步等于梯度下降法的步长长。这这个个 的的变动变动有有时时候候 像阻尼运像阻尼运动动一一样样,所以,所以LMLM算法又叫阻算法又叫阻尼最小二乘法尼最小二乘法5050.牛牛顿顿法的几何意法的几何意义义xyx*x0 x 1x 2牛牛顿顿法也称法也称为为切切线线法法5151.基本思想:基本思想:在极小点附近用在极小点附近用二二阶阶Taylor多多项项式式近似近似目目标标函数,函数,进进而求出极小点的估而求出极小点的估计值计值。5252.5353.雅克比矩雅克比矩阵阵:雅克比矩阵的定义很广泛,只要是向量间微积分运算过程中所涉及的包含偏微粉的行列式都可以叫雅克比矩阵。如果说的更精确

21、点的话,雅克比矩阵可以认为是两个向量空间中对应的映射关系。想要了解雅克比矩阵首先要了解两个向量空间的关系。及将初始向量空间的基矢量表示为末尾向量空间的基矢量的函数,然后通过求导既可以知道雅克比矩阵的具体形式了。5454.基于蚁群算法神经网络中权 值和阈值的初始化5555.仿真试验5656.收收敛敛速度速度问题问题 局部极小点局部极小点问题问题 逃逃逃逃离离离离/避避避避开开开开局局局局部部部部极极极极小小小小点点点点:修修修修改改改改WW、V V的的的的初初初初值值值值并并并并不不不不是是是是总总总总有效。有效。有效。有效。逃离逃离逃离逃离 统计统计统计统计方法;方法;方法;方法;Wasser

22、manWasserman,19861986将将将将CauchyCauchy训训训训练练练练与与与与BPBP算法算法算法算法结结结结合起来,可以在保合起来,可以在保合起来,可以在保合起来,可以在保证训练证训练证训练证训练速度不速度不速度不速度不被降低的情况下,找到全局极小点。被降低的情况下,找到全局极小点。被降低的情况下,找到全局极小点。被降低的情况下,找到全局极小点。4/9/2023575757.网网络瘫痪问题络瘫痪问题 在在训练训练中,中,权权可能可能变变得很大,得很大,这这会使神会使神经经元元的网的网络输络输入入变变得很大,从而又使得其激活函得很大,从而又使得其激活函数的数的导导函数在此点

23、上的取函数在此点上的取值值很小。根据相很小。根据相应应式子,此式子,此时时的的训练训练步步长长会会变变得非常小,得非常小,进进而而将将导导致致训练训练速度降得非常低,最速度降得非常低,最终导终导致网致网络络停止收停止收敛敛 稳稳定性定性问题问题 用修改量的用修改量的综综合合实实施施权权的修改的修改连续变连续变化的化的环环境,它将境,它将变变成无效的成无效的 5858.步步长问题长问题 BP网网络络的收的收敛敛是基于无是基于无穷穷小的小的权权修改量修改量步步长长太小,收太小,收敛敛就非常慢就非常慢步步长长太大,可能会太大,可能会导导致网致网络络的的瘫痪瘫痪和不和不稳稳定定自适自适应应步步长长,使

24、得,使得权权修改量能随着网修改量能随着网络络的的训练训练而不断而不断变变化。化。1988年年Wasserman 5959.对对BPBP神神经经网网络络的改的改进进 思想思想每次找到极小每次找到极小值时记录值时记录下此下此值值的范的范围围,检测检测一下一下是否是否为为局部极小局部极小值值,如果是就把,如果是就把权值权值和和阈值阈值随机随机打乱再打乱再训练训练学学习习,同同时时避免向避免向记录记录下来的局部极下来的局部极小小值值的方向收的方向收敛敛。蚁蚁群算法的群算法的权值选择权值选择范范围围可以做一些可以做一些优优化,使供化,使供蚂蚁选择蚂蚁选择的的权值权值能能让误让误差和函数差和函数值值小。小。神神经经网网络络的的预测预测 可以可以应应用到好多地方,如汽用到好多地方,如汽车车性性能方面能方面6060.

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

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁