基于BP神经网络的函数拟合算法研究(3)
(2)网络建立函数:newff()函数,用于建立一个前馈BP神经网络。
(3)网络训练函数:train()函数,它用于训练建立的BP神经网络。
(4)网络仿真函数:sim()函数,它用于仿真训练前后的BP神经网络。
2.6 BP神经网络训练方法
(1)输入和输出层的设计 。输入的神经元可以根据需要求解的问题和数据表示方式确定。
(2)输出层的维数可根据使用者的要求来确定。如果将BP网络用做分类器,类别模式一共有m个,那么输出层神经元的个数为m或log2m。
(3)隐含层的设计。BP网络有一个重要的定理,即对于任何在闭区间内的一个连续函数都可以用单隐含层的BP网络拟合,因而一个三层BP网络就可以完成任意的n维到m维的映射。
设BP网络的输入层有m个神经元,输出层有n个神经元,隐含层有p个神经元,d(i)为输入层节点,i 1,2,
出层节点k 1,2,,m;d(j)为隐含层节点,j 1,2,,p;d(k)为输,n。xi为d(i)的输入或输出;Hj、hj分别为d(j)的输入、输
*出;Yk、yk分别为d(k)的输入、输出;yk为d(k)的期望输出;wij为d(i)与d(j)之
间的连接权(以下称为隐含层的权值);wjk为d(j)与d(k)之间的连接权(以下称为输出层的权值)。
对于隐含层,有
Hj xiwij (2-4)
i 1m
hj f(Hj) (2-5)
对于输出层,有
Yk hjwjk (2-6)
j 1p
yk f(Yk) (2-7) 当网络实际输出与期望输出之间的全局误差E定义如下: 1m*2 E (yk yk) (2-8) 2k 1
将以上误差定义式展开到隐含层,则有: p1m1m*2*2 E [f(Yk) yk] [f( hjwjk) yk] (2-9) 2k 12k 1j 1
进一步展开至输入层,得到
ppm1m1m*2*2E {f[ f(Hj)wjk] yk} {f[ f( xiwij)wjk] yk} (2-10) 2k 12k 1j 1j 1i 1
从上式可以看出,网络输入误差是各层权值wij、wjk的函数,因此调整权值可改变误差E。显然,调整权值的原则是使误差不断地减小,因此应使权值的调整量与误差的梯度下降成正比,故而有:
wjk E wjk (2-11)
wij E wij (2-12)
上式中负号表示梯度下降,常数 (0,1)表示比例系数,在训练中反映了学习速率。
3 基于BP神经网络的函数拟合算法设计与实现
3.1面向函数拟合的BP网络结构
下面设计BP神经网络,用于对非线性函数的拟合。通过各个参数的设置,观察BP神经网络对非线性函数拟合的效果。
3.1.1 函数问题的提出
对待拟合的函数进行采样,生成训练样本集,画出要拟合的非线性函数图像: 置k = 1为非线性函数频数,采样点为p=[-1:.05:1] ,即在-1到1之间每隔0.05开始采样,将其作为输入样本。非线性函数为t = 2*cos(k*pi*p),t是p的函数,计算上面采样点相对应的函数值,将其作为目标样本。接下来,画出要拟合的非线性函数图像:
plot(p,t,'-') %画出要拟合的函数图像
title('要拟合的函数图像 '); %图像的标题
xlabel('时间'); %x轴变量的含义
ylabel('非线性函数'); %y轴的含义
得到函数图像如图6所示:
图3-1 非线性函数图像
3.1.2 建立BP神经网络
本次实验利用newff建立神经网络,n = 10表示神经元个数:
net = newff(minmax(p),[n,1],{'tansig' 'purelin'},'trainlm');
其中newff为构造前向网络的函数;minmax用于求数组的最小值和最大值,在这里可表示输入的上限与下限;trainlm为训练函数梯度下降法,还可选traingdm :带动量梯度下降改进型;tansig为激活函数,它正切S型传递函数。第二层输出激活函数为线性激活purelin;[n,1]表示第一层有n个神经元,第二层有1个神经元,n是可调节的隐层节点数目。
3.1.3 网络仿真
利用sim函数进行网络仿真,训练BP网络,画出仿真图形和原函数的图形。根据仿真结果观察BP网络对样本的拟合能力。
y1=sim(net,p) %网络仿真,仿真训练BP网络
figure;
plot(p,t,'-',p,y1,'--') %画出图像
title('未训练网络的输出结果');
xlabel('时间');
ylabel('仿真输出-- 原函数-');
得到的结果如图7所示:
图3-2 仿真曲线和原函数曲线
从图像上可以看出,使用newff建立BP神经网络的时候,所取的权值和阈值都是随机的,所以输出结果很差,两个函数的图像相差很多,根本达不到函数拟合的目的,并且每次运行的结果也有所不同。
3.1.4 网络测试
基于上述实验结果,我们需要训练网络。我们利用train函数进行训练,分别设置训练时间为50个单位时间,设计训练目标的误差小于0.01,开始训练并观察实验结果:
net.trainparam.epochs=50; %设计训练时间为50个单位时间
net.trainparam.goal=0.01; %设计训练目标的误差小于0.01
…… 此处隐藏:495字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




