下载此文档

基于BP神经网络的非线性函数拟合.doc


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
基于BP神经网络的非线性函数拟合
基于BP神经网络的非线性函数拟合
- 1 -
基于BP神经网络的非线性函数拟合
-1-
基于BP神经网络的非线性函数拟合
摘要:本文建立BP神经网络对一个多输入多输出系统的二元非线性函数进行拟合,仿真实验表明:在样本数据充足且不含噪声的情况下,训练的精度越高,逼近的效果越好;数据不充足且不含噪声时,训练精度的高低在一定范围内对于网络性能没有决定性的影响,网络性能主要取决于初始化;不管训练数据就是否充足,若含有噪声,训练精度过高会使网络泛化能力降低。
引 言
作为当前应用最为广泛的一种人工神经网络,BP网络在函数逼近、模式识别、数据压缩、智能控制等领域有着非常广泛的应用。 BP网络由大量简单处理单元广泛互联而成,就是一种对非线性函数进行权值训练的多层映射网络,结构简单,工作状态稳定,具有优良的非线性映射能力,理论上它能够以任意精度逼近任意非线性函数。BP神经网络通过学****能够存储大量输入输出样本中蕴含的映射关系,只需提供足够的样本模式对BP网络进行训练,而无需事先了解数学方程。本文采用BP神经网络解决下列函数拟合问题。
函数逼近:设计一个神经网络拟合下列多输入多输出函数:
y1=2+x11、5-1、5sin(3x2); y2=x2sin(x1)+x1cos(x2); 1< x1, x2<5
产生200个数据,其中100个用来训练网络,另外100个用于网络模型的测试。
BP神经网络结构与算法
一个典型的3层BP神经网络结构如图1所示,包括输入层、隐含层与输出层。各层神经元之间无反馈连接,各层内神经元之间无任何连接。其中隐含层的状态影响输入输出之间的关系,及通过改变隐含层的权系数,就可以改变整个多层神经网络的性能。BP 神经网络的学****过程由正向传播与反向传播组成。在正向传播中,输入的样本从输入层经过隐含层之后,传向输出层,在逐层处理的过程中,每一层神经元的状态只对下一层神经元的状态产生影响。在输出层把现行输出与期望输出进行比较,如果现行输出不等于期望输出,则进入反向传播过程。反向传播过程中,误差信号从输出层向输入层传播,并对每个隐含层的各个神经元的权系数进行修改,使误差不断减少,直至达到精度要求。BP 算法的实质就是求取误差函数最小值问题,通过多个样本的反复训练,一般采用非线性规划中的最速下降方法,按误差函数的负梯度方向修改权系数。
基于BP神经网络的非线性函数拟合
基于BP神经网络的非线性函数拟合
- 3 -
基于BP神经网络的非线性函数拟合
-1-
图 1 典型3层BP神经网络结构图
用于函数拟合的BP神经网络模型的建立
为建立函数拟合的BP神经网络模型,一般要考虑以下几步:
(1) 样本数据的产生
为简单起见,在x1,x2均属于[1,5]区间内选择均匀分布的200个数据点分别作为训练与测试样本。如图2所示。
图2 数据样本
(2) 数据预处理
通常需要将样本数据归一化,由于这里的数据变化范围不大,所以暂不考虑对数据的归一化。
(3) 网络结构的选择
①网络层数:理论证明,在不限制隐层节点数目的情况下,单隐层BP网络可以实现任意非线性映射。
基于BP神经网络的非线性函数拟合
基于BP神经网络的非线性函数拟合
- 3 -
基于BP神经网络的非线性函数拟合
-1-
但本题中,仿真表明采用两个隐层更为合适。
②输入输出层节点数:本题中,所拟合的函数为两个输入变量,两个输出变量。所以BP网络输入层设置两个节点,输出层也设置两个节点。
③隐层节点数:隐含层节点数目的选择就是一个十分复杂的问题, 到目前为止, 还没有用数学公式来明确表示应该怎样确定隐含层的节点数目。节点数目太少, 不能很好的表达样本数据种所蕴含的规律; 但隐含层节点太多又导致学****训练时间太长, 误差也不一定最佳,还可能出现“过度吻合”的问题,使得泛化能力降低。本题中隐层节点的选取主要采用试凑的办法。如前所述,这里设置两个隐层,第一层节点设置分为3与30两种,第二层节点设置分为2与20两种,以便于对比。
④神经元的传递函数:隐层采用单极性sigmoid函数“tansig”,输出层采用线性传递函数“purelin”。
(4) 训练及仿真
采用批训练方法,一批数据即为全部100个训练样本。输入x1,x2∈[1、2,4、8],输出y1∈[1、8660,14、0105];y2∈[-7、9795,4、9380]。
通过对100个样本进行一次整体学****后,再统一修改一次网络的权。学****算法采用学****率可变的动量BP算法(traingdx)。训练目标为网络输出与样本输出之间的均方误差(mse),训练精度可根据需要设定。B

基于BP神经网络的非线性函数拟合 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人幻影
  • 文件大小463 KB
  • 时间2021-11-08