BP神经网络的改进和MATLAB实现.ppt
《BP神经网络的改进和MATLAB实现.ppt》由会员分享,可在线阅读,更多相关《BP神经网络的改进和MATLAB实现.ppt(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、改进BP神经网络与MATLAB实现江西师范大学2012.6.111:BP神经网络的概述2:BP神经网络的标准训练学习3:在MATLAB软件上运行几个程序4:基于Levenberg-Marquardt算法的学习优 化(阻尼最小二乘法)5:基于蚁群算法的初始权值优化6:经过4 和 5 优化后的 仿真试验(发 动机性能趋势分析和故障诊断中的应用)7:总结多元函数图示多元函数图示一元函数X.R二元函数xyoR.fD.f.三元函数xyzo.R.fXXI矩形的面积 S=xy长方体体积 V=xyz多元函数图示多元函数图示xR.多元函数及其图形多元函数及其图形多元函数及其图形多元函数及其图形BP神经网络模型激
2、活函数必须处处可导必须处处可导一般都使用一般都使用S S型函数型函数 使用S型激活函数时BP网络输入与输出关系输入输入输出输出BP神经网络模型输出的导数输出的导数 根据根据根据根据S S型激活函数的图形可知型激活函数的图形可知型激活函数的图形可知型激活函数的图形可知,对神经网络进行训练,应该将对神经网络进行训练,应该将对神经网络进行训练,应该将对神经网络进行训练,应该将netnet的值尽量控的值尽量控的值尽量控的值尽量控制在收敛比较快的范围内制在收敛比较快的范围内制在收敛比较快的范围内制在收敛比较快的范围内 网络结构输入层有输入层有n n个神经元,隐含层有个神经元,隐含层有p p个神经元个神经
3、元,输出层有输出层有q q个神经元个神经元变量定义输入向量输入向量;隐含层输入向量;隐含层输入向量;隐含层输出向量隐含层输出向量;输出层输入向量输出层输入向量;输出层输出向量输出层输出向量;期望输出向量期望输出向量;输入层与中间层的连接权值输入层与中间层的连接权值:隐含层与输出层的连接权值隐含层与输出层的连接权值:隐含层各神经元的阈值隐含层各神经元的阈值:输出层各神经元的阈值输出层各神经元的阈值:样本数据个数样本数据个数:激活函数激活函数:误差函数:误差函数:第一步,网络初始化 给各连接权值分别赋一个区间(给各连接权值分别赋一个区间(-1-1,1 1)内)内的随机数,设定误差函数的随机数,设定
4、误差函数e e,给定计算精度,给定计算精度值值 和最大学习次数和最大学习次数MM。第二步,随机选取第 个输入样本及对应期望输出 第三步,计算隐含层各神经元的输入和输出第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数 。第五步,利用隐含层到输出层的连接权值、输出层的 和隐含层的输出计算误差函数对隐含层各神经元的偏导数 第六步,利用输出层各神经元的 和隐含层各神经元的输出来修正连接权值 第七步,利用隐含层各神经元的 和输入层各神经元的输入修正连接权。第八步,计算全局误差第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取
5、下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。BP算法直观解释情况情况1 1的直观表达的直观表达 当误差对权值的偏当误差对权值的偏导数大于零时,权值导数大于零时,权值调整量为负,实际输调整量为负,实际输出大于期望输出,出大于期望输出,权值向减少方向调整,权值向减少方向调整,使得实际输出与期望使得实际输出与期望输出的差减少。输出的差减少。whoe0,此时此时who0BP算法直解释情况情况2 2的直观表达的直观表达当误差对权值的偏导数当误差对权值的偏导数小于零时,权值调整量小于零时,权值调整量为正,实际输出少于期为正,实际输出少于期望输出,权值向增大方向望输出,权值向增大方向调整,
6、使得实际输出与期调整,使得实际输出与期望输出的差减少。望输出的差减少。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)是一个超曲面。设函数 f(x)=
7、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)对所有变元具有一阶及二阶连续偏导数,则
8、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)的正(负)定性决定。注注记记:微积分中求一元函数和二元函数极值的方法,是这个定理的特例。二、无约束优化的梯度下降法二、无约束优化的
9、梯度下降法 对于无约束优化问题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 的解 x*,但由于最优
10、性条件不被满足或者难于验证,因此仍无法确定 x*是否为(1)的解。例如,有些曲面有许多甚至无穷多极大值和极小值,则无法验证最优性条件。鉴于上述种种原因,对于(1)的求解,通常采用一些比较切合实际、行之有效的数值算法。最常用的是迭代算法(搜索算法)。迭迭代代算算法法的基本思想是:从一个选定的初始点 x0Rn 出发,按照某一特定的迭代规则产生一个点列 xk,使得当 xk 是有穷点列时,其最后一个点是(1)的最优解;当 xk 是无穷点列时,它有极限点,并且其极限点是(1)的最优解。设 xkRn 是某迭代算法的第 k 轮迭代点,而xk+1Rn 是第 k+1 轮迭代点,记xk+1=xk+k pk这里 k
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BP 神经网络 改进 MATLAB 实现
限制150内