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

上传人:牧羊曲112 文档编号:5416793 上传时间:2023-07-05 格式:PPT 页数:60 大小:1.64MB
返回 下载 相关 举报
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页
点击查看更多>>
资源描述

《BP神经网络的改进和MATLAB实现.ppt》由会员分享,可在线阅读,更多相关《BP神经网络的改进和MATLAB实现.ppt(60页珍藏版)》请在三一办公上搜索。

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

2、模型,激活函数必须处处可导一般都使用S型函数 使用S型激活函数时BP网络输入与输出关系输入输出,BP神经网络模型,输出的导数,根据S型激活函数的图形可知,对神经网络进行训练,应该将net的值尽量控制在收敛比较快的范围内,网络结构输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元变量定义输入向量;隐含层输入向量;隐含层输出向量;输出层输入向量;输出层输出向量;期望输出向量;,输入层与中间层的连接权值:隐含层与输出层的连接权值:隐含层各神经元的阈值:输出层各神经元的阈值:样本数据个数:激活函数:误差函数:,第一步,网络初始化 给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e

3、,给定计算精度值 和最大学习次数M。第二步,随机选取第 个输入样本及对应期望输出,第三步,计算隐含层各神经元的输入和输出,第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数。,第五步,利用隐含层到输出层的连接权值、输出层的 和隐含层的输出计算误差函数对隐含层各神经元的偏导数,第六步,利用输出层各神经元的 和隐含层各神经元的输出来修正连接权值,第七步,利用隐含层各神经元的 和输入层各神经元的输入修正连接权。,第八步,计算全局误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三

4、步,进入下一轮学习。,BP算法直观解释情况1的直观表达 当误差对权值的偏导数大于零时,权值调整量为负,实际输出大于期望输出,权值向减少方向调整,使得实际输出与期望输出的差减少。,BP算法直解释情况2的直观表达当误差对权值的偏导数小于零时,权值调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出的差减少。,梯度下降法,一、无约束优化的古典分析法 无约束优化问题可表示为 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

5、)T 时,f(x1,x2)是一个曲面;当 x=(x1,x2,x3)T 时,f(x1,x2,x3)是一个体密度(或类位势函数);当 x=(x1,x2,xn)T 时,f(x1,x2,xn)是一个超曲面。,设函数 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)的一阶导数是

6、它的梯度 f.(x),二阶导数是它的 Hessian 矩阵 2f(x)。在最优化方法的讨论中这是两个常用的概念。,定理(最优性条件)设 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,则利用多元函数的泰勒展开式,我们有,其中 R 为 x 的高阶无穷小,即 R=o|x|2。于是,当 x0 为函数 f.(x)的驻点时可以得到于是,当 xi(i=1,n)足够小时,上式右端的正负号完全由二次型 xT

7、2f(x0)x 决定,从而完全由 Hessian 矩阵 2f(x)的正(负)定性决定。注记:微积分中求一元函数和二元函数极值的方法,是这个定理的特例。,二、无约束优化的梯度下降法 对于无约束优化问题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 无法

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

9、,它有极限点,并且其极限点是(1)的最优解。,设 xkRn 是某迭代算法的第 k 轮迭代点,而xk+1Rn 是第 k+1 轮迭代点,记xk+1=xk+k pk这里 kR 称为步长,pkRn 称为搜索方向。在 k 和 pk 确定之后,由 xkRn 就可以确定 xk+1Rn。各种不同迭代算法的差别,在于选择 k 和 pk(特别是 pk)的方法不同。,使用最广泛的一类是下降算法,它每迭代一次都是目标函数值有所下降,即 f(xk+1)f(xk)。在下降算法中(1)搜索方向 pk 有多种选择方式,不同的选择形成不同的下降算法,如梯度下降法(也叫最速下降法),共轭梯度法,牛顿法,阻尼牛顿法,拟牛顿法等。但

10、无论哪种下降法,pk 的选择都有一个一般的原则:既要使它尽可能地指向极小值点,又不至于花费太大的使计算代价。,(2)步长的选择也有多种不同方式,最常用的方式是寻找最优步长,即求单变量极值问题的最优解 kR:,梯度下降法(最速下降法)早在 1847 年,法国数学家 Cauchy 就曾提出这样的问题:从任一给定点 x0Rn 出发,沿着哪个方向 f(x)的函数值下降最快?这个问题从理论上已经得到解决,就是沿着在该点的负梯度方向,f(x)的函数值下降最快。这就是梯度下降法的理论依据。,梯度下降法的迭代步骤 1 给定初始点 x0Rn,允许误差 0,并令 k:=0;2 计算 pk=f(xk);3 检验是否

11、满足收敛性判别准则:|pk|若满足判别准则,则停止迭代,得到点 x*xk,否则进行 4;,4 单变量极值问题的最优解 kR:5 令xk+1=xk+k pk;k:=k+1返回 2。,例 用梯度下降法求解 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。再求解单变量极值问题:,得 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/

12、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,1)T,f(x*)=0,如图所示。,梯度下降法是求解无约束优化问题的最基本的算法,它在最优化方法中占有重要地位。梯度下降法的优点是计算量小,存储变量少,对初始点要求不高。缺点是:f.(x)仅仅反映了函数在点 x 处的局部性质,对局部来说是最速的下降方向,但对整体求解过程并不一定使函数值下降的最快;另外,梯度下降法收敛速度慢,特别是在极小值点附近。梯度下降法适用

13、于寻优过程的前期迭代或作为间插步骤,当接近极值点时宜选用其它收敛快的算法。,在MATLAB 上实现的几个例子,属于解析型的算法有:梯度法:又称最速下降法。这是早期的解析法,收敛速度较慢。牛顿法:收敛速度快,但不稳定,计算也较困难。共轭梯度法:收敛较快,效果较好。变尺度法:这是一类效率较高的方法。等等,BP网络的训练函数,例一:利用三层BP神经网络来完成非线性函数的逼近任务,其中隐层神经元个数为五个。样本数据:,例二利用三层BP神经网络来完成非线性函数的逼近任务,其中隐层神经元个数为五个。样本数据:,些论文对BP神经网络的训练学习过程进行改进,用LM(Levenberg-Marquardt)算法

14、对BP神经网络的训练学习进行改进。它是使用最广泛的非线性最小二乘算法,它是利用梯度求最小(大)值的算法,形象的说,属于“爬山”法的一种。它同时具有梯度 法和牛顿法的优点。当很小时,步长等于牛顿法步长,当很大时,步长约等于梯度下降法的步长。这个的变动有时候 像阻尼运动一样,所以LM算法又叫阻尼最小二乘法,牛顿法的几何意义,x 1,x 2,牛顿法也称为切线法,基本思想:在极小点附近用二阶Taylor多项式近似目标函数,进而求出极小点的估计值。,雅克比矩阵:雅克比矩阵的定义很广泛,只要是向量间微积分运算过程中所涉及的包含偏微粉的行列式都可以叫雅克比矩阵。如果说的更精确点的话,雅克比矩阵可以认为是两个

15、向量空间中对应的映射关系。想要了解雅克比矩阵首先要了解两个向量空间的关系。及将初始向量空间的基矢量表示为末尾向量空间的基矢量的函数,然后通过求导既可以知道雅克比矩阵的具体形式了。,基于蚁群算法神经网络中权 值和阈值的初始化,仿真试验,收敛速度问题 局部极小点问题 逃离/避开局部极小点:修改W、V的初值并不是总有效。逃离 统计方法;Wasserman,1986将Cauchy训练与BP算法结合起来,可以在保证训练速度不被降低的情况下,找到全局极小点。,2023/7/5,57,网络瘫痪问题 在训练中,权可能变得很大,这会使神经元的网络输入变得很大,从而又使得其激活函数的导函数在此点上的取值很小。根据

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号