预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共60页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

改进BP神经网络与MATLAB实现江西师范大学.6.111:BP神经网络概述2:BP神经网络标准训练学习3:在MATLAB软件上运行几个程序4:基于Levenberg-Marquardt算法学习优化(阻尼最小二乘法)5:基于蚁群算法初始权值优化6:经过4和5优化后仿真试验(发动机性能趋势分析和故障诊疗中应用)7:总结多元函数图示多元函数图示BP神经网络模型BP神经网络模型网络结构输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元变量定义输入向量;隐含层输入向量;隐含层输出向量;输出层输入向量;输出层输出向量;期望输出向量;第一步,网络初始化给各连接权值分别赋一个区间(-1,1)内随机数,设定误差函数e,给定计算精度值和最大学习次数M。第二步,随机选取第个输入样本及对应期望输出第三步,计算隐含层各神经元输入和输出第四步,利用网络期望输出和实际输出,计算误差函数对输出层各神经元偏导数。第五步,利用隐含层到输出层连接权值、输出层和隐含层输出计算误差函数对隐含层各神经元偏导数第六步,利用输出层各神经元和隐含层各神经元输出来修正连接权值第七步,利用隐含层各神经元和输入层各神经元输入修正连接权。第八步,计算全局误差第九步,判断网络误差是否满足要求。当误差到达预设精度或学习次数大于设定最大次数,则结束算法。不然,选取下一个学习样本及对应期望输出,返回到第三步,进入下一轮学习。BP算法直观解释情况1直观表示当误差对权值偏导数大于零时,权值调整量为负,实际输出大于期望输出,权值向降低方向调整,使得实际输出与期望输出差降低。BP算法直解释情况2直观表示当误差对权值偏导数小于零时,权值调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出差降低。梯度下降法一、无约束优化古典分析法无约束优化问题可表示为minf(x1,x2,…,xn)xiR,i=1,2,…,n假如令x=(x1,x2,…,xn)T,则无约束优化问题为minf(x)xRn关于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)=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)对全部变元含有一阶及二阶连续偏导数,则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2f(x0)x决定,从而完全由Hessian矩阵2f(x)正(负)定性决定。注记:微积分中求一元函数和二元函数极值方法,是这个定理特例。二、无约束优化梯度下降法对于无约束优化问题minf(x)(1)x=(x1,x2,…,xn)TRn假如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*,但因为最优性条件不被满足或者难于验证,所以仍无法确定x*是否为(1)解。比如,有些曲面有许多甚至无穷多极大值和极小值,则无法验证最优性条件。鉴于上述种种原因,对于(1)求解,通常采取一些比较切合实际、行之有效数值算法。最惯用是迭代算法(搜索算法)。迭代算法基本思想是:从一个选定初始点x0Rn出发,按照某一特定迭代规则产生一个点列{xk},使得当{xk}是有穷点列时,其最终一个点是(1)最优解;当{xk}是无穷点列