BP神经网络逼近非线性函数
实用标准文案
应用BP神经网络逼近非线性函精彩文档
实用标准文案
一、实验要求
1、逼近的非线性函数选取为y=sin(x1)+cos(x2),其中有两个自变量即x1,x2,一个因变量即y。
2、逼近误差<5%,即:应用测试数据对网络进行测试时,神经网络的输出与期望值的最大误差的绝对值小于期望值的5%。
3、学习方法为经典的BP算法或改进形式的BP算法,鼓励采用改进形式的BP算法。
4、不允许采用matlab中现有的关于神经网络建立、学习、仿真的任何函数及命令。
二、实验基本原理
2.1 神经网络概述
BP神经网络是一种多层前馈神经网络,该网络的主要特点是信号前向传播,误差反向传播。在前向传递中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态。如果输出层得不到期望输出,则转入反向传播,根据预判误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。BP神经网络的拓扑结构如图所示。
2.2 BP神经网络训练步骤
BP神经网络预测前首先要训练网络,通过训练使网络具有联想记忆和预测能力。BP神经网络的训练过程包括以下几个步骤。
步骤1:网络初始化。根据系统输入输出序列(X,Y)确定网络输入层节点数n、隐含层节点数l、输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权值ωij,ωjk,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数。
步骤2:隐含层输出计算。根据输入变量X,输入层和隐含层间连接权值ωij
以及隐含层阈值a,计算隐含层输出H。
精彩文档
实用标准文案
精彩文档 j 1(a )n
j ij i i H f x ω==-∑ j=1,2,…,l
式中,l 为隐含层节点数,f 为隐含层激励函数,该函数有多种形式,一般选取为1(x)1x f e -=+ 步骤3:输出层输出计算。根据隐含层输出H ,连接权值ωjk 和阈值b ,计算BP 神经网络预测输出O 。
1l
k j jk k j O H b ω==-∑ k=1,2,…,m
步骤4:误差计算。根据网络预测输出O 和期望输出Y ,计算网络预测误差e 。
k k k e Y O =- k=1,2,…,m
步骤5:权值更新。根据网络预测误差e 更新网络连接权值ωij ,ωjk
1(1)x(i)m
ij ij j j jk k k H H e ωωηω==+-∑ i=1,2,…,n j=1,2,…,l
jk jk j k H e ωωη=+ j=1,2,…,l k=1,2,…,m
步骤6:阈值更新。根据网络预测误差e 更新网络节点阈值a ,b 。
1(1)m
j j j j jk k k a a H H e ηω==+-∑ j=1,2,…,l
k k k b b e =+ k=1,2,…,m
步骤7:判断算法迭代是否结束,若没有结束,返回步骤2。
2.3 附加动量法
经典BP 神经网络采用梯度修正法作为权值和阈值的学习算法,从网络预测误差的负梯度方向修正权值和阈值,没有考虑以前经验的积累,学习过程收敛缓慢。对于这个问题,可以采用附加动量法来解决,带附加动量的算法学习公式为
[](k)(k 1)(k)a (k 1)(k 2)ωωωωω=-+?+---
式中,ω(k),ω(k-1),ω(k-2)分别为k ,k-1,k-2时刻的权值;a 为动量学习率,一般取值为0.95。
实用标准文案
精彩文档
2.4 程序流程图
三、程序简述
本次实验选择逼近的非线性函数为y=sin(x 1)+cos(x 2)。程序首先创建用于神将网路训练的样本数据,取在区间[-4.5,4.5]之间均匀分布的数值,由于有两个自变量,所以一共产生361组输入输出数据。其次确定神经网络的训练参数,比如隐含层节点数、学习速率、学习目标、隐含层和输出层的权值阈值等,其中隐含层节点数在参考相关资料后确定为9,这样不仅在训练结束后可以获得较小的误差,而且也不会使训练次数过大从而耗时较长;程序中隐含层和输出层的权值阈值是采取随机产生的方法获得的,并且之后的修改方法采用了附加动量法,减少训练次数加快网络收敛。由于matlab 可以采用矩阵运算的形式,所以输入输出数据和网络权值阈值构建生成相应的矩阵,
这样可以在全部数据遍历一次之后再进行
实用标准文案
权值阈值修改,同样可以缩短网络训练时间。最后,根据修正后的权值阈值就输入数据预测网路输出,和期望输出数据进行比较,计算输出误差,直至训练结束根据训练结果画出相应图像。
最初程序中神经网络训练只有当最大预测误差小于5%之后才停止,实际情况中,当输出接近0时只要有微小的变化就会产生较大的误差,这样不仅导致网络训练次数增加耗时长,还会使网络收敛速度变慢;在经过查询相关资料之后,训练结束条件除了最大预测误差小于5%之外,还增加了目标函数,目标函数是取所有误差的平方和,当目标函数的计算值小于预期目标时同样也会停止训练,此时默认训练已达目标。在实际检验过程中发现,加入目标函数后不仅可以有效地改善收敛速度慢耗时长的问题,同时各个坐标点的预测误差也在期望值之内,达到了实验要求。
四、实验结果
由于程序中权值阈值的取值是随机的,所以取其中一次的结果展示。最大训练次数为15329,训练结束后的最大误差为2.5331。
图1 非线性函数图像
精彩文档
实用标准文案
图2 网络图
图3 误差曲线
程序:
clc
clear
%创建输入数据,产生361组输入输出数据
row = 1;
for i=-4.5:0.5:4.5
for j=-4.5:0.5:4.5
input(row,1) = i;
input(row,2) = j;
output(row,1) = sin(input(row,1)) + cos(input(row,2));
row = row+1;
end
end
精彩文档
实用标准文案
%神经网络结构
inputnum = 2; %输入层节点数
hiddennum = 9; %隐含层节点数
outputnum = 1; %输出层节点数
%网络参数
learnSpeed = 0.0003; %学习率
learnGoal = 0.05; %目标
%隐含层及输出层的权值和阈值
w1 = 0.2*rand(hiddennum,inputnum)-0.1;
b1 = 0.2*rand(hiddennum,1)-0.1;
w2 = 0.2*rand(outputnum,hiddennum)-0.1;
b2 = 0.2*rand(outputnum,1)-0.1;
%取训练数据和预测数据
%采用全部样本遍历一次后再进行权值阈值调整
%调整采用附加动量法,加快收敛速度,减少遍历次数
input_train = [input ones(361,1)]';
output_train = output;
HH = [w1 b1];
OO = [w2 b2];
collectHH = [];
collectOO = [];
%用训练数据训练BP神经网络
aimJ = 0;
max_rate=100; %初始化最大样本误差
trainNum = 0; %初始化训练次数
while(max_rate>learnGoal)
collectHiddenOut = logsig(HH*input_train); %计算隐含层输出
hiddenOut = [collectHiddenOut' ones(361,1)]';
精彩文档
实用标准文案
精彩文档networkOut = OO*hiddenOut; %计算网络输出
error = output_train-networkOut'; %计算误差
%利用目标函数,判断是否结束循环
aimJ = sumsqr(error)
if (aimJ<learnGoal)
break;
end
%统计训练次数
trainNum = trainNum+1;
%权值阈值调整因子
factor2 = error';
factor1 = w2'*factor2.*c …… 此处隐藏:3406字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [行业范文]美好的法语句子
- [行业范文]描写露珠的句子
- [行业范文]精彩禅语句子图片
- [行业范文]关于满嘴谎言的句子
- [行业范文]关于安静的句子48句
- [行业范文]关于小河的句子
- [行业范文]描写稻田的句子
- [行业范文]思念好朋友的句子
- [行业范文]赞美雪的句子
- [行业范文]早上激励人心的句子
- [行业范文]失恋忧伤的句子
- [行业范文]努力积极向上的句子
- [行业范文]对工作心灰意冷的句子
- [行业范文]失恋让人心疼的句子
- [行业范文]描写珍惜青春的句子
- [行业范文]表达思念的句子简短
- [行业范文]关于父爱的句子范例
- [行业范文]浪漫的英语句子
- [行业范文]关于周末的句子
- [行业范文]思念牵挂的句子
- 有关感恩班会课件简短(二篇)(感恩班会
- 2025年初二下乡军训心得体会800字(15篇
- 关于新员工培训方案汇编(关于新员工培
- 精选高考生寒假学习计划书(精)(高考生
- 毕业实训报告心得体会(3篇)(实训报告心
- 银行工作感悟及心得范文怎么写(四篇)(
- 精选领导干部个人政治画像报告通用(七
- 精选超市11.11活动促销方案(精品超市品
- 2025年怎么做自我介绍汇总(5篇)(至2025
- 最新企业错峰生产方案(26篇)(山西企业
- 最新暑期三下乡社会实践调研报告范本(
- 最新幼儿园大班教育教学总结怎么写(最
- 最新教师节主持词小学(优秀9篇)(教师节
- 关于小学安全教育教学方案(推荐)(关于
- 员工信模板范文怎么写(五篇)(员工信息
- 最新保险销售离职申请书(十六篇)(最新
- 最新XX小学防校园欺凌工作方案怎么写(2
- 有关特岗教师辞职信范文(推荐)(特岗教
- 精选党的建设工作要点简短(党的建设的
- 如何写安康杯竞赛活动总结汇总(4篇)(安




