基于BP神经网络的非线性函数拟合系统实验分析与结果.docx
《基于BP神经网络的非线性函数拟合系统实验分析与结果.docx》由会员分享,可在线阅读,更多相关《基于BP神经网络的非线性函数拟合系统实验分析与结果.docx(8页珍藏版)》请在优知文库上搜索。
1、基于BP神经网络的非线性函数拟合系统实验分析与结果前几章已经完成了实验的数据准备并做好了相关理论研究,有了一定的理论基础。本章将通过MATLAB软件搭建拟合模型,完成BP神经网络的训练和预测工作,并对最后的模型根据评价指标进行评价。4.1 实验平台的搭建本实验的MATLAB软件版本为2018a,CPU15930OH,操作系统Windows-64位,显卡GTXIO50Ti3G0搭建步骤如下:(1)新建工程打开MATLAB,点击主页,选择新建一工程一空白工程,如图4-1所示。图4-1新建工程(2)新建M程序文件点击主页,选择新建脚本,然后点击保存并对文件重命名为data.m,如图42所示。图4-2
2、新建M程序文件完成上述流程,表明程序运行环境搭建完毕,通过在程序文件里面编写程序完成实验内容。4.2 数据归一化数据处理是数据拟合、预测和分类的关键步骤,对实验精度有很大影响。本实验的数据是2个输入一个输出。在进行BP网络训练之前,由于每一项输入指标量化标准各不相同,不利于直接进行训练。并且由于输入数据的单位不一样,有些数据的范围差别很大,导致神经网络收敛慢,训练时间长。所以在此之前,对样本输入进行归一化处理。4.2.1 最大-最小归一化最大-最小归一化是将Data经过公式映射在固定的范围内,具体公式如下:y=ww(4.1)naxXmin最大最小归一化可以将数据各个特征映射在一定范围,消除量纲
3、对数据特征的影响,不改变数据分布,加快模型的训练学习。4.2.2 Z-Score归一化Z-Score归一化是将原始数据进行标准化,其中方差为a,均值为b,具体公式如下:Z-Score归一化可以将离群点的数据规范化,改变原有数据分布,减少离群点数据对模型的影响。根据非线性函数的特点,本实验选择最大最小归一化方法,并将数据归一化在之间。4.3 BP神经网络模型的结构设计原则4.3.1 网络层数的确定由于在数学上已经证明,三层神经网络可以处理任何复杂的线性或者非线性问题,能完成任意m维度到n维度的映射。由此本文使用三层感知器的神经网络结构,其包含了输入层、隐含层和输出层。4.3.2 输入数据和输出数
4、据的确定将第二章中给出的非线性函数的输入作为输入向量。根据公式(4.1)对输入数据进行数据预处理。本实验将非线性函数作为样本,对其进行模型的建立、仿真和预测。根据第三章的研究,将2个输入分别用xl,x2进行表示,并将这两个输入当作BP神经网络的输入变量。将非线性函数的输出值当作输出变量。当前非线性函数一共生成了2000个数据,在本文中随机选取1900个数据作为TrainingSamPIe来构建神经网络,剩下的100个数据作为TeStSamPle进行仿真。4.3.3 各层节点的设计原则(1)输入层节点设计原则输入层节点要与第二章的非线性数据输入个数相匹配,彼此之间一一对应。输入层节点数确定为2个
5、。(2)隐含层节点数设计原则隐含层节点的作用是从输入的训练样本中提取有用的训练信息并且存储样本之间的联系和规律,它能够将输入数据和输出数据之间的函数映射关系很好地反映出来。因此隐含层节点数的多少直接说明了该神经网络抓取数据有效信息能力的强弱。当网络的隐含层节点数较少的时候,网络获取有效信息的能力也就越差,获取的数据可信度较低,输出的结果没有说服力;隐含层节点过多的时候,会导致网络结构过于复杂,这样会让网络学习过程变得极为漫长,并且最后会出现过度拟合的现象。当前学术界还没有一个公认的理论公式确切计算隐含层的节点数,但是比较常用的一个方法是试凑法。做法是对同一训练样本,从小到大依次设置隐含层节点数
6、,从中找出误差最小时候所对应的隐含层阶段数。此外,以下的经验公式可以作为试凑法的初始值。m=yn+1+(4.3)m=IogZ(4-4)m=4nl(4-5)利用上式,根据算法的特性,不断的训练过程中能将对网络影响小的权值逐步调整到0,这样就能够删除多余的节点。迭代到最后不能再删除的时候,就是最适合的隐含层节点数。本文的隐含层神经元节点数的确定由试凑法在后面进行。(3)输出层节点数设置原则输出层的数据来源于我们最后期望评估的结果,因此输出层节点数取Io4.4 神经网络结构设计和训练根据总结上述原则,因此本文所构建的模型是三层BP神经网络模型,输入层节点数为20,隐含层节点数为未定,学习率暂选默认0
7、.01,输出层节点数为1,学习率取0.01,允许误差选择系统默认值,HiddenLayer激活函数选择SigmoidFunction,输出层激活函数采用TanhFunction,训练函数采用Iraiglm,学习函数采用Iearndm,性能函数选择Mse函数。MATLAB对应BP神经网络语句如下:net=newff(trainsample(1:2,:),trainsample(3,:),23,logsig,tansig,trainlm);图4-3非线性函数拟合模型的MATLAB结构图4.4.1 神经网络模型隐含层节点数的确定综合4.3.3中的公式,将HiddenLayer神经元个数范围确定在14
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BP 神经网络 非线性 函数 拟合 系统 实验 分析 结果