收藏 分销(赏)

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

上传人:可**** 文档编号:795846 上传时间:2024-03-20 格式:PPT 页数:60 大小:2.06MB
下载 相关 举报
BP神经网络的改进和MATLAB实现.ppt_第1页
第1页 / 共60页
BP神经网络的改进和MATLAB实现.ppt_第2页
第2页 / 共60页
BP神经网络的改进和MATLAB实现.ppt_第3页
第3页 / 共60页
BP神经网络的改进和MATLAB实现.ppt_第4页
第4页 / 共60页
BP神经网络的改进和MATLAB实现.ppt_第5页
第5页 / 共60页
点击查看更多>>
资源描述

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

2、P神经网络模型神经网络模型l激活函数必须处处可导l一般都使用S型函数 l使用S型激活函数时BP网络输入与输出关系输入输出BP神经网络模型神经网络模型输出的导数 根据根据根据根据S S型激活函数的图形可知型激活函数的图形可知型激活函数的图形可知型激活函数的图形可知,对神经网络进行训练,应该对神经网络进行训练,应该对神经网络进行训练,应该对神经网络进行训练,应该将将将将netnet的值尽量控制在收敛比较快的范围内的值尽量控制在收敛比较快的范围内的值尽量控制在收敛比较快的范围内的值尽量控制在收敛比较快的范围内 l网络结构输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元l变量定义输入向量;隐

3、含层输入向量;隐含层输出向量;输出层输入向量;输出层输出向量;期望输出向量;输入层与中间层的连接权值:隐含层与输出层的连接权值:隐含层各神经元的阈值:输出层各神经元的阈值:样本数据个数:激活函数:误差函数:l第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值 和最大学习次数M。l第二步,随机选取第 个输入样本及对应期望输出 l第三步,计算隐含层各神经元的输入和输出l第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数 。第五步,利用隐含层到输出层的连接权值、输出层的 和隐含层的输出计算误差函数对隐含层各神经元的偏导数 l第

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

5、为正,实际输出少于期l望输出,权值向增大方向l调整,使得实际输出与期l望输出的差减少。e0who梯度下降法梯度下降法一、无约束优化的古典分析法一、无约束优化的古典分析法 无约束优化问题可表示为 min f(x1,x2,xn)xiR,i=1,2,n如果令 x=(x1,x2,xn)T,则无约束优化问题为 min f(x)xRn 关于 f(x):当 x=(x)时,f(x)是一条曲线;当 x=(x1,x2)T 时,f(x1,x2)是一个曲面;当 x=(x1,x2,x3)T 时,f(x1,x2,x3)是一个体密度(或类位势函数);当 x=(x1,x2,xn)T 时,f(x1,x2,xn)是一个超曲面。设

6、函数 f(x)=f(x1,.,xn)对所有变元都有一阶与二阶连续偏导数,则 称 n 个一阶偏导数构成的 n 维列向量为 f.(x)的梯度梯度,记作 称满足 f(x0)=0 的点 x0 为函数 f(x)的驻驻点点或临界点临界点。称 n2 个二阶偏导数构成的 n 阶对称矩阵为函数 f(x)的海海森森(Hessian)矩阵,记为 H(x)或2f(x):综上所述,多元函数 f(x)=f(x1,x2,xn)的一阶导数是它的梯度 f.(x),二阶导数是它的 Hessian 矩阵 2f(x)。在最优化方法的讨论中这是两个常用的概念。定定理理 (最优性条件)设 n 元函数 y=f(x)对所有变元具有一阶及二阶

7、连续偏导数,则 x0 是 f(x)极小点的充分条件为f(x0)=0,2f(x0)0(正定)而 x0 是 f(x)极大点的充分条件为f(x0)=0,2f(x0)0(负定)事事实实上上,如果设 x=(x1,xn)T,则利用多元函数的泰勒展开式,我们有其中 R 为 x 的高阶无穷小,即 R=o|x|2。于是,当 x0 为函数 f.(x)的驻点时可以得到于是,当 xi(i=1,n)足够小时,上式右端的正负号完全由二次型 xT2f(x0)x 决定,从而完全由 Hessian 矩阵 2f(x)的正(负)定性决定。注注记记:微积分中求一元函数和二元函数极值的方法,是这个定理的特例。二、无约束优化的梯度下降法

8、二、无约束优化的梯度下降法 对于无约束优化问题min f(x)(1)x=(x1,x2,xn)TRn如果 f(x)可微,根据古典分析的方法,可利用f(x)=0 (2)求驻点,然后再利用 Hessian 矩阵 2f.(x)来判定这些驻点是否极小值点,从而求出无约束优化问题(1)的最优解。但是,用古典分析的方法求解无约束优化问题(1)实际上是行不通的,这是由于:(1)实际应用中相当数量的函数 f.(x)不具有解析性,故非线性方程组 f(x)=0 无法形成;(2)即使形成了方程组 f(x)=0,由于它是一个 n 元非线性方程组,因而求它的解与解决原问题一样地困难;(3)即使求得了 f(x)=0 的解

9、x*,但由于最优性条件不被满足或者难于验证,因此仍无法确定 x*是否为(1)的解。例如,有些曲面有许多甚至无穷多极大值和极小值,则无法验证最优性条件。鉴于上述种种原因,对于(1)的求解,通常采用一些比较切合实际、行之有效的数值算法。最常用的是迭代算法(搜索算法)。迭迭代代算算法法的基本思想是:从一个选定的初始点 x0Rn 出发,按照某一特定的迭代规则产生一个点列 xk,使得当 xk 是有穷点列时,其最后一个点是(1)的最优解;当 xk 是无穷点列时,它有极限点,并且其极限点是(1)的最优解。设 xkRn 是某迭代算法的第 k 轮迭代点,而xk+1Rn 是第 k+1 轮迭代点,记xk+1=xk+

10、k pk这里 kR 称为步步长长,pkRn 称为搜搜索索方方向向。在 k 和 pk 确定之后,由 xkRn 就可以确定 xk+1Rn。各种不同迭代算法的差别,在于选择 k 和 pk(特别是 pk)的方法不同。使用最广泛的一类是下下降降算算法法,它每迭代一次都是目标函数值有所下降,即 f(xk+1)0,并令 k:=0;2 计算 pk=f(xk);3 检验是否满足收敛性判别准则:|pk|若满足判别准则,则停止迭代,得到点 x*xk,否则进行 4;4 单变量极值问题的最优解 kR:5 令xk+1=xk+k pk;k:=k+1返回 2。例例 用梯度下降法求解 min f(x)=2x12+x22。解解

11、(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。再求解单变量极值问题:得 0=5/18,于是x1=x0+0 p0=(1/9,4/9)T (2)计算得 p1=f(x1)=(4x11 2x12)|x11=1/9,x12=4/9 =(4/9,8/9)T所以故再求解单变量极值问题:得 1=5/12,于是x2=x1+1 p1=(2/27,2/27)T (3)计算得 p2=f(x2)=(8/27,4/27),.如此继续下去,直到满足收敛准则为止。该问题的最优解为 x*=(0,

12、1)T,f(x*)=0,如图所示。梯度下降法是求解无约束优化问题的最基本的算法,它在最优化方法中占有重要地位。梯度下降法的优点是计算量小,存储变量少,对初始点要求不高。缺点是:f.(x)仅仅反映了函数在点 x 处的局部性质,对局部来说是最速的下降方向,但对整体求解过程并不一定使函数值下降的最快;另外,梯度下降法收敛速度慢,特别是在极小值点附近。梯度下降法适用于寻优过程的前期迭代或作为间插步骤,当接近极值点时宜选用其它收敛快的算法。l在MATLAB 上实现的几个例子属于解析型的算法有:梯度法:又称最速下降法。这是早期的解析法,收敛速度较慢。牛顿法:收敛速度快,但不稳定,计算也较困难。共轭梯度法:

13、收敛较快,效果较好。变尺度法:这是一类效率较高的方法。等等BP网络的训练函数 训练方法训练函数梯度下降法traingd有动量的梯度下降法traingdm自适应lr梯度下降法traingda自适应lr动量梯度下降法traingdx弹性梯度下降法trainrpFletcher-Reeves共轭梯度法traincgfPloak-Ribiere共轭梯度法traincgpPowell-Beale共轭梯度法traincgb量化共轭梯度法trainscg拟牛顿算法trainbfg一步正割算法trainossLevenberg-Marquardttrainlm例一:利用三层BP神经网络来完成非线性函数的逼近任

14、务,其中隐层神经元个数为五个。样本数据:输入X输出D输入X输出D输入X输出D-1.0000-0.9602-0.30000.13360.40000.3072-0.9000-0.5770-0.2000-0.20130.50000.3960-0.8000-0.0729-0.1000-0.43440.60000.3449-0.70000.37710-0.50000.70000.1816-0.60000.64050.1000-0.39300.8000-0.3120-0.50000.66000.2000-0.16470.9000-0.2189-0.40000.46090.3000-0.09881.0000

15、-0.3201例二利用三层BP神经网络来完成非线性函数的逼近任务,其中隐层神经元个数为五个。样本数据:输入X输出D输入X输出D输入X输出D00448211539322621043371些论文对些论文对BP神经网络的训练学习过程进行改进神经网络的训练学习过程进行改进l用LM(Levenberg-Marquardt)算法对BP神经网络的训练学习进行改进。l它是使用最广泛的非线性最小二乘算法,它是利用梯度求最小(大)值的算法,形象的说,属于“爬山”法的一种。它同时具有梯度 法和牛顿法的优点。当很小时,步长等于牛顿法步长,当很大时,步长约等于梯度下降法的步长。l这个的变动有时候 像阻尼运动一样,所以L

16、M算法又叫阻尼最小二乘法牛顿法的几何意义牛顿法的几何意义xyx*x0 x 1x 2牛顿法也称为切线法牛顿法也称为切线法基本思想:基本思想:在极小点附近用在极小点附近用二阶二阶Taylor多项式多项式近似近似目标函数,进而求出极小点的估计值。目标函数,进而求出极小点的估计值。雅克比矩阵雅克比矩阵:雅克比矩阵的定义很广泛,只要是向量间微积分运算过程中所涉及的包含偏微粉的行列式都可以叫雅克比矩阵。如果说的更精确点的话,雅克比矩阵可以认为是两个向量空间中对应的映射关系。想要了解雅克比矩阵首先要了解两个向量空间的关系。及将初始向量空间的基矢量表示为末尾向量空间的基矢量的函数,然后通过求导既可以知道雅克比

17、矩阵的具体形式了。基于蚁群算法神经网络中权 值和阈值的初始化仿真试验收敛速度问题收敛速度问题 局部极小点问题局部极小点问题 逃逃逃逃离离离离/避避避避开开开开局局局局部部部部极极极极小小小小点点点点:修修修修改改改改WW、V V的的的的初初初初值值值值并并并并不不不不是是是是总有效。总有效。总有效。总有效。逃离逃离逃离逃离 统计方法;统计方法;统计方法;统计方法;WassermanWasserman,19861986将将将将CauchyCauchy训训训训练与练与练与练与BPBP算法结合起来,可以在保证训练速度不算法结合起来,可以在保证训练速度不算法结合起来,可以在保证训练速度不算法结合起来,

18、可以在保证训练速度不被降低的情况下,找到全局极小点。被降低的情况下,找到全局极小点。被降低的情况下,找到全局极小点。被降低的情况下,找到全局极小点。2024/3/18 周一57网络瘫痪问题网络瘫痪问题 在训练中,权可能变得很大,这会使神经元在训练中,权可能变得很大,这会使神经元的网络输入变得很大,从而又使得其激活函的网络输入变得很大,从而又使得其激活函数的导函数在此点上的取值很小。根据相应数的导函数在此点上的取值很小。根据相应式子,此时的训练步长会变得非常小,进而式子,此时的训练步长会变得非常小,进而将导致训练速度降得非常低,最终导致网络将导致训练速度降得非常低,最终导致网络停止收敛停止收敛

19、稳定性问题稳定性问题 用修改量的综合实施权的修改用修改量的综合实施权的修改连续变化的环境,它将变成无效的连续变化的环境,它将变成无效的 步长问题步长问题 BP网络的收敛是基于无穷小的权修改量网络的收敛是基于无穷小的权修改量步长太小,收敛就非常慢步长太小,收敛就非常慢步长太大,可能会导致网络的瘫痪和不稳步长太大,可能会导致网络的瘫痪和不稳定定自适应步长,使得权修改量能随着网络的自适应步长,使得权修改量能随着网络的训练而不断变化。训练而不断变化。1988年年Wasserman l对BP神经网络的改进 思想l每次找到极小值时记录下此值的范围,检测一下是否为局部极小值,如果是就把权值和阈值随机打乱再训练学习,同时避免向记录下来的局部极小值的方向收敛。l蚁群算法的权值选择范围可以做一些优化,使供蚂蚁选择的权值能让误差和函数值小。l神经网络的预测 可以应用到好多地方,如汽车性能方面

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服