基于BP神经网络的非线性拟合系统设计_第1页
基于BP神经网络的非线性拟合系统设计_第2页
基于BP神经网络的非线性拟合系统设计_第3页
基于BP神经网络的非线性拟合系统设计_第4页
基于BP神经网络的非线性拟合系统设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEI基于BP神经网络的非线性函数拟合系统设计摘要随着工业的快速进步与发展,数据拟合在工业应用中的作用越来越大。在实际的工程问题中,存在着许多复杂的工业模型,这些模型无法用数学公式表达。为了更精确地控制被控对象,数学模型的准确性是首要因素,因此非线性拟合模型在控制系统辨识中起着举足轻重的地位。针对上述问题,设计一种基于BP神经网络的非线性函数拟合系统。首先,以MATLAB为仿真平台,设计非线性公式,用MATLAB计算生成非线性数据;然后,采用BP神经网络为拟合模型,通过实验分析确定隐藏层个数、激活函数类型和学习率数值等相关模型参数;最后,通过选择均方误差MSE、平均绝对误差MAE和均方根误差RMSE为评价指标,对数据拟合模型进行训练和测试。实验结果表明,设计模型的平均绝对误差MAE为0.0090368,均方误差MSE为0.0063983,均方根误差RMSE为0.07999,满足设计要求,验证了算法的有效性。关键词:非线性拟合;激活函数;BP神经网络;MATLAB仿真PAGE25DesignofnonlinearfunctionfittingsystembasedonBPneuralnetworkAbstractWiththerapidprogressanddevelopmentofindustry,datafittingplaysanincreasinglyimportantroleinindustrialapplication.Inpracticalengineeringproblems,thereexistmanyindustrialmodelswhichcannotbeexpressedbymathematicalmodels.Inordertocontrolthecontrolledobjectmoreaccurately,theaccuracyofmathematicalmodelisthefirstfactor,sothenonlinearfittingmodelplaysanimportantroleintheidentificationofcontrolsystem.Tosolvetheseproblems,thispaperdesignsanonlinearfunctionfittingsystembasedonBPneuralnetwork.Firstly,usingMATLABasthesimulationplatform,thenonlinearformulaisdesigned,andthenonlineardataiscalculatedandgeneratedbyMATLAB.Then,BPneuralnetworkwasusedasthefittingmodel,andthemodelparameterssuchasthenumberofhiddenlayers,thetypeofactivationfunctionandthevalueoflearningrateweredeterminedthroughexperimentalanalysis.Finally,MSE,MAEandRMSEwereselectedasevaluationindexestotrainandtestthedatafittingmodel.TheexperimentalresultsshowthattheMAE,MSEandRMSEofthedesignedmodelare0.0090638,0.0063983and0.07999,whichmeetthedesignrequirementsandverifytheeffectivenessofthealgorithm.Keywords:nonlinearfitting;activationfunction;BPneuralnetwork;MATLABsimulation目录绪论 11非线性函数拟合研究相关概述 21.1课题研究的背景及意义 21.2国内外研究现状 21.3论文章节安排 42非线性函数的设计 52.1非线性函数概述 52.2数据集的生成 52.2.1MATLAB数值计算 52.3数据可视化 52.4数据集的划分与保存 63基于BP神经网络的非线性拟合模型设计 73.1人工神经网络概述 73.2BP神经网络基本原理 73.3激活函数 93.3.1sigmoid激活函数 93.3.2Tanh激活函数 93.3.3Relu激活函数 103.4损失函数 103.4.1MSE均方误差 113.4.2RMSE均方根误差 113.4.3MAE平均绝对误差 113.5梯度下降算法 124实验分析与结果 134.1实验平台的搭建 134.2数据归一化 144.2.1最大-最小归一化 144.2.2Z-Score归一化 144.3BP神经网络模型的结构设计原则 144.3.1网络层数的确定 144.3.2输入数据和输出数据的确定 144.3.3各层节点的设计原则 144.4神经网络结构设计和训练 154.4.1神经网络模型隐含层节点数的确定 164.4.2神经网络模型学习率的确定 164.4.3神经网络模型训练及仿真结果 17结论 20参考文献 21致谢 23附录 24绪论BP神经网络结构作为在当代发展过程当中,应用率非常广泛的一种人工神经网络,在函数逼近以及模式识别和数据压缩等方面具有非常广泛的应用,并且整体也是具有大量简单处理单元来进行组成的,是一对非线性函数进行权值训练以及多层映射,网络结构简单,整体的工作状态比较稳定,并且在非线性函数进行选值预算的过程当中,能够呈现多层映射的网络。在进行学习的过程当中,能够储存大量的输入输出样本中所蕴含的映射关系,只要能够提供一定的样本模式,就能够对BP网络开展一定的训练模式,但是在之前一定要先了解对应的数学方程,然后再用BP神经网络结构来解决函数拟合方面的问题。

1非线性函数拟合研究相关概述1.1课题研究的背景及意义随着工业的日益繁杂多元,在部分项目实施过程中,可能存在着要对大批采集到的数据做函数拟合的需求。然而,这些数据是非线性的,根据目前的传统拟合方法,很难达到项目所要求的拟合精度。在实际的工程问题中,存在着许多无法用数学模型表达的工业模型。为了更精准的控制被控对象,数学模型的准确性是第一要素,因此非线性拟合模型在控制系统辨识中起着举足轻重的地位。随着人工智能的飞速发展,人们对模型的智能化要求越来越高。过去,大多数智能系统普遍缺乏自动纠错等自学习功能,并不能通过经验学习来提高学习效率,也不能自动获得所需的知识。计算机不能通过经验来提高自己的功能。计算机只能通过存储规则来丰富自己,并不能通过向外界学习来提高自己。近年来机器学习的发展趋势可以说是全盛时期。在算法的指导下,通过训练大量的数据来分析隐藏的结构或规则,并不断提高算法的性能来判断或预测事件的发生。其目标是让计算机学会如何像人类一样思考和创造,不断学习新的知识和技能。在这个背景下,专家们开始了进一步的研究,提出了机器学习这个概念。BP神经网络就是一种机器学习方法,该方法可以通过训练和学习自主获取新的知识,在复杂模型的建立和模型拟合的问题上开辟了新的道路。1.2国内外研究现状BP神经网络是一系列简单的机器学习方法,它们高度互连并在大脑结构上牢固构建。在过去的几十年中,神经网络取得了显著进展,全球越来越多的研究人员开发了许多模型架构并提出了用于预测、分类和拟合的多个模型算法。神经网络是一组模拟人脑工作方式的算法,可以学习一组数据中的潜在关系。在这种情况下,神经网络更像是模仿生物或人工神经元的结构。随着人工智能的到来,越来越多的科学家开始研究神经网络算法。2019年,Yun[1]等人提出了一种基于混合粒子群算法的BP神经网络算法,用于民族食品中大肠菌群数量的预测。该方法首先采用主成分分析法提取影响大肠菌群数量的关键因素,并将该模型降维作为BP神经网络的输入,其次,利用粒子群优化算法(PSO)和BP神经网络优化初始权值和阈值,得到最优参数,并基于PSO-BP神经网络模型构建傣族特色小吃萨饼大肠菌群数量预测模型,最后,对模型的预测值进行了验证。结果表明:MSE为0.0097,MAPE为0.3198,MAE为0.0079。PSO-BP模型具有较好的准确性和鲁棒性。2020年,Li[2]等人为声表面波微压力传感器的数据分析提供了一种BP神经网络方法。该方法研究了声表面波(SAW)微压力传感器输出频差数据与相应加载压力的关系。然后以频差为输入,压力为输出,构造BP(BackPropagation)神经网络,利用实验数据进行训练,预测传感器的输出压力。实验结果表明,通过对同一组样本数据在预测结果的整体和局部精度上的多次比较,验证了BP神经网络预测的输出误差远小于最小二乘法。2021年,Huang[3]等人提出了一种基于LSTM-BP的无创负荷识别算法。该方法首先对数据进行归一化处理,然后利用主成分分析对高维数据进行降维处理。最后,通过建立LSTM-BP神经网络进行载荷识别。实验结果表明,与现有的基于事件检测的负荷识别算法相比,该方法具有更高的稳定性和准确性。近年来,随着工业的快速发展,许多专家学者研究非线性函数。2013年,Ying[4]在航空煤油中对丁腈橡胶复合材料片材进行了加速热老化试验。XPS和ATR-FTIR观察到,热老化引起了硅的一些明显变化。通过对各种丁腈橡胶样品的ATR-FTIR光谱分析,提出了丁腈橡胶复合材料在航空煤油中可能的老化机理。通过ATR-FTIR光谱和Arrhenius图的非线性曲线拟合,得到了丁腈橡胶复合材料薄板在航空煤油中的寿命预测方程。NBR复合材料片材在航空煤油中的室温(25℃)使用寿命为6467天。Michael[5]等人提出一种新的方法来拟合实验停止功率数据到一个简单的经验公式。该方法用径向基函数(RBF)神经网络外加一个线性神经元来逼近未知的复杂非线性停止幂函数,拟合系数由全局学习算法确定。在基准数据集(钛热)和含隐式噪声(元素碳材料中Li、B、C、O、Al、Si、Ar、Ti和Fe的MeV射弹)的高能物理测量数据上进行了实验。结果表明,提出的方法使我们能够获得一个快速和准确的插值,很好地适合于没有停止功率数据存在的情况。它可以作为一个独立的方法或实现作为一个子系统,可以有效地嵌入到一个智能系统的离子束分析技术。2021年,陈静[6]等人采用两种不同的非线性曲线拟合方法,对乳饮料中蔗糖检出限的不确定度进行了评定。方法根据《测量不确定度的评定与表达》,采用变量代换与功率线性化方法和高效液相色谱-蒸发光散射检测法测定乳饮料中蔗糖含量,建立数学模型,并对每个不确定因素进行了评估。结果表明,蔗糖平均含量为0.21g/100g。变量代换线性化方法的扩展不确定度为27.8%,幂次线性化方法的扩展不确定度在95%置信区间内为3.3%。幂次线性化方法更适用于不确定度的评定。2022年,Mustafa[7]采用基于优化的曲线拟合方法对文献中不同数学模型的功能参数计算进行了综合评价。闪电电流波形采用不同震级的人工闪电电流波形,由德累斯顿高压实验室使用电流冲击发生器进行实验测量。利用这些波形,利用遗传算法(GA)、粒子群优化算法(PSO)和灰狼-布谷鸟搜索(GWOsinglebondCS)优化算法对脉冲、双指数和Heidler函数参数进行了计算。仿真结果表明,基于优化的曲线拟合方法是利用脉冲函数、双指数函数和Heidler函数准确提取闪电脉冲形态的峰值、电流导数、电荷、比能和前后次数的简单、可靠、高效的工具。用gwo4e-2单bondCS计算的脉冲函数参数在标准差-5.134e-2、相对误差-2.11e-10、平均绝对误差-6.14e-12和均方根误差-2.47e-6条件下人工闪电电流波形具有较高的精度。随着计算机科学技术的更新进步,人工智能技术已经在人们的生活中的分量越来越重,因为它强大的学习能力,在众多领域都占据着十分重要的位置。本文提出了基于BP神经网络的非线性函数拟合方法,该方法通过实验选择BP神经网络的相关参数,完成模型的训练和测试,最后选择相关评价函数对模型的有效性进行评价。1.3论文章节安排在进行本次论文章节安排时,我们主要对每一章进行了不同部分的讲解,在第一章当中,我们主要介绍了有关课题方面的研究背景和整体的国内外现状,第二章介绍了在MATLAB大多数存在的相关函数以及非线性函数中所体现的理论知识,其中主要包括数据的可视化和对数据保存的基本方法等,第三章,我们主要阐述了对于整体神经网络的结构和原理,进行了描述,第四章内容对于神经网络的参数模型进行有效的评价和安排。2非线性函数的设计本文的研究对象是非线性函数。本章将重点叙述MATLAB的使用方法,并通过调用相关MATLAB函数设计非线性函数,获取实验数据并可视化。2.1非线性函数概述在因变量和自变量的之间所存在的关系不只是线性函数的关系,其中也包括非线性函数,所以,在常见的非线性函数当中,存在指数函数、多项式函数、对数函数、幂函数等和复合函数。2.2数据集的生成首先,确定非线性函数关系式,然后以MATLAB为实验平台,通过编写M语言生成2000组为实验数据。其中,随机选取1900组为训练数据,用训练集建立拟合模型,剩下的100组数据为测试数据,用测试数据对模型拟合的好坏进行评价。本文非线性函数公式如下:(2.1)2.2.1MATLAB数值计算MATLAB可以数值计算和数据可视化,下面将叙述MATLAB有关矩阵计算的符号规则。矩阵加减法:符号是‘+’和‘-’,A+B为矩阵A和矩阵B对应位置数值相加,A-B为矩阵A减去矩阵B对应位置的数值。矩阵点乘、点除和点次方运算:符号是‘.*’、‘./’和‘.^’,A.*B为矩阵A和矩阵B对应位置数值相乘,A./B为矩阵A和矩阵B对应位置数值相除,A.^2为矩阵A每个位置数值为其数值的平方。为此,非线性函数对应的MATLAB代码为:Y=x1.^2+x2.^2。2.3数据可视化为了更好的观察和分析数据,需要对数据进行可视化。利用MATLAB可视化函数surf完成数据可视化,如图2.1所示。图2.1数据可视化图2.4数据集的划分与保存数据进行采集的过程当中,一般分为训练集和测试集,在训练集当中,用来训练和模拟不同的模型,从而能够使得模型在学习到数据的收集过程当中,我们可以使用特定的软件来进行整体的测试工作。用save函数将数据保存为dat文件,如图2.2所示。图2.2数据保存图在图中,第一列代表自变量x1,第二列代表自变量x2,第三列则是因变量Y,数据个数为2000个。Dividerand函数可以随机选取数据对数据集进行划分。[trainsample,testsample]=dividerand(Date,19,1,0)即将Data中的数据随机选取19/20存放在trainsample变量里面,选取剩下的1/20存放在testsample变量里面。选择数据的19/20部分为训练集,数据的1/20部分为测试集。3基于BP神经网络的非线性拟合模型设计首先通过上一章用MATLAB生成非线性函数的输入和输出作为实验数据集,然后,本章将着重介绍BP神经网络的基本结构和算法,学习神经网络的前向传播计算方法,了解神经网络是如何训练和学习,达到拟合非线性模型的目的,最后,根据现有的经验知识搭建神经网络模型。3.1人工神经网络概述人工神经网络是一种信息处理系统,它将人和动物的神经网络应用到计算机中来达到让机器学习的目的,主要的有感知器、线性神经网络、BP神经网络等算法[10-12]。一个完整的神经网络有输入层、隐藏层和输出层,每一层都由多个神经元组成。每个神经元都有输入、计算单元和输出,将神经元连接在一起的权重值是最重要的单元,要想一个神经网络模型的学习效果好就要将权重值训练到最佳值。使用人工神经网络主要是因为它有以下特点:首先因为是很多神经元一起处理一个问题,所以具有很好的并行处理能力,所需时间也很短;其次神经网络储存容量很大,容错能力也很好,是因为每个神经元都会接收其他神经元的信息,神经元都是互相影响的,这样就使得输入数据和输出数据的非线性映射,所以就扩大了储存容量;再其次神经元是通过训练学习而得到结果,又因为它是模拟人和动物的神经网络,所以具有很好的自适应性;最后神经网络存储信息是分布存储在整个网络中,用输入信息激活神经元将学习的结果体现到权重值上,并以同样的方式向下一层传递,这样处理输出数据的速度就会很快。除了神经网络自身的特点,它适合进行非线性拟合还有以下两个原因:第一点就是自学习的适应能力,在常见的工业模型当中,一般都是基于物理模型来进行建立的,并且,在模型方面,对于参数精度的要求也非常高,需要自己去考虑某一模型自己所存在的机理特征,而人工智能模型就不同于一般的模型,只需要采用合理的算法来进行输入,并且体现出对应的原理特征来达到一定的效果。第二点就是非线性的映射能力,系统的模型往往是一种非线性的复杂模型,在一般的线性模型当中,可以通过传递函数来对模型进行搭建,而复杂的非线性函数就很难去用复杂传统的来进行表达,人工智能的模型基础是通过神经网络来进行调节和输出,在整体的处理复杂系统过程当中,具有非常强大的优势。3.2BP神经网络基本原理本文选择BP神经网络[13-14]作为主要算法,研究BP神经网络在非线性拟合中的实验效果。BP神经网络原理如下图3.1所示:输出层输入层隐层图3.1BP神经网络结构对应用BP神经网络的阶段进行划分,可分为:首先第一点是训练阶段,训练阶段就是对整体的样本采取训练的方式来计算,其中所存在的权重部分能够对其进行更加准确的识别,来达到对应的目标,第二点是应用阶段,让神经网络来对这些真实的数据或者是样本进行识别,能够记录下来整体的过程,能够方便日后的模型方面的工作,对新的对象具有更加准确的识别,能够在面对其他的非线性对象,也能够进行更好的拟合,而图3.1就是关于网络三层模型的整体架构,在这个架构模型当中,主要包括三种类型的函数,其中分别是误差函数,激活函数以及输出函数,而这三种函数在整体神经网络结构的构建过程当中是非常核心的部分。如果用()这个字母来表示输入的值,那么当输入的数值有个时,则表示为,把BP神经网络的隐含层中的第到个节点之间的权值设为,把第个节点得到阈值设为。用来表示BP神经网络中隐含层的激活函数,用来表示BP神经网络输出层中第个节点与隐含层第个节点之间的权值大小,(其中),把BP神经网络输出层中第个节点的阈值设为(其中),用来表示BP神经网络输出层的激励函数。用这个字母来表示输出层中第个节点处将要输出的值。通过上面的设定,该模型就可以表示出维空间到维空间之间,关于输入与输出向量之间的映射,其中模型中的神经元处的输出可以用下面的公式所表示:隐含层第个节点的输入:(3.1)隐含层第个节点的输出:(3.2)输出层第个节点输入:(3.3)输出层第个节点输出:(3.4)3.3激活函数激活函数(ActivationFunction)一般为非线性函数。在神经网络中,仅仅依靠权重之间线性关系很难学习和理解复杂的模型,为此,引入ActivationFunction可以提升模型的‘Nonlinear’表达能力,只有加入ActivationFunction,模型才有‘Nonlinear’映射学习能力。常用的ActivationFunction有SigmoidFunction、TanhFunction和ReluFunction。3.3.1sigmoid激活函数SigmoidFunction是使用最多的ActivationFunction,它具有是指数函数的性质。SigmoidFunction的值域与概率值范围相同为(0,1),此就可以和概率分布结合在一起研究学习。另一方面,近三十年里的神经网络难以有有效的进展也是和SigmoidFunction的性质有关,这种性质是SigmoidFunction是平滑饱和ActivationFunction。平滑饱和ActivationFunction就是因为当x趋于-∞时,它的导数值会逼近于0,这会引起GradientDisappeared。GradientDisappeared是指SigmoidFunction在向下传递的梯度里有k’(s)k(s)因子,k’(s)k(s)会在输入落入饱和区时趋近于0,使得向底层传递的梯度变小,通常五层之内就会出现这种情况。图3-2sigmoid函数曲线3.3.2Tanh激活函数TanhFunction的值域为(1,-1),与SigmoidFunction幅度增大后相似。TanhFunction的导数的取值范围在(0,1),而SigmoidFunction导数值域为(0,0.25),所以TanhFunction在一定程度上能够防止梯度消失的情况发生。并且它的输出和输入的关系不管是上升还是下降都是非线性的单调的,和BP网络的梯度求解是相匹配的。TanhFunction在原点附近与比例系数为1的正比例函数相似,所以在激活值较小的时候为了使训练更简便可以直接运用矩阵运算。图3-3tanh函数曲线3.3.3Relu激活函数ReluFunction在代数学中称为斜坡函数:当x小于0时,y为0;x大于0时,y等于x的值。在神经网络中,ReluFunction激活部分神经元。它将上一层神经网络传递来的输入向量x转化为max(0,WTx+b)输出到下一层神经网络。ReluFunction相比于SigmoidFunction的优点在于:ReluFunction的导数在x大于0时,导数为定值,所以不会发生梯度消失的情况;在x小于0时,导数为0,神经元激活值在负半区,梯度为0,那么便不会训练这个神经元,这种特性称之为稀疏性。根据有关大脑方面的研究,大脑中的神经元在同一时间仅有1%~4%处于工作状态。在使用Relu激活函数的网络中,通常只有50%左右的神经元被激活。但Relu函数很脆弱,如果Relu的神经元要经过一个较大的梯度会使这个神经元无法再被其他数据点再一次被激活并且经过这个神经元的梯度都会变为0,使得数据会有所丢失。图3-4Relu函数曲线3.4损失函数损失函数是用来评估神经网络模型的Predictivevalue与Turevalue的差距的函数。选择合适的损失函数能使模型发挥最大的学习效率,在模型学习的过程中有着指导的重要作用。损失函数的值越小则模型的鲁棒性越好。3.4.1MSE均方误差均方误差是计算Predictivevalue与Turevalue之间差的平均值[15-16]。其公式如下:MSE=1Ni=13.4.2RMSE均方根误差均方根误差是计算Predictivevalue与Turevalue之间差的平均值开方[17-18]。其公式如下:RMSE=sqrt(3.4.3MAE平均绝对误差平均绝对误差是计算Predictivevalue与Turevalue之间绝对误差的平均值[19-20]。其公式如下:MAE=1Ni=1应用梯度下降法时,MSE损失的梯度为−yi、MAE损失的梯度为±1,图3-5MSE和MAE曲线对比从上面的两幅图可以看出:MSE的损失与误差的关系是平方关系,MAE的损失与误差之间是线性关系。虽然在误差小于1时MAE的损失会比MSE小,但当误差越来越大时,MAE的损失会比MSE小很多。再由下面两幅图对比可知:假设误差为拉普拉斯分布的MAE比以高斯分布的MSE的鲁棒性更好。图3-6MSE和MAE误差分布对比3.5梯度下降算法梯度下降的方法是没有其他条件下最普遍的用法。在迭代的每一步根据特定的方向更新x的值来求出f(x)的最小值,这个方向就是使函数值下降得最快的方向。所以使用这种方法时首先要求出f(x)的梯度。计算过程如下:假设需拟合的函数为h(θ),n为参数的个数,m为训练集的大小,j(θ)表示损失函数。ℎθ=j=0jθ=1将j(θ)对θ求偏导,得到对应的梯度:φj(θ)φθj再根据每个梯度负方向来确定θ的值:θj'=BP神经网络与一般神经网络不同的是,该网络具有反向传播算法,该方法是训练方法,通过对比实际输出和预测值之间误差的导数来调整阈值,从而完成学习的过程。其算法流程为:(1)初始化网络参数,一般设阈值和权值为在0附近很小的数;(2)设置HiddenLayer神经元个数,选择合适的ActivationFunction;(3)计算InputLayer到HiddenLayer,HiddenLayer到OutputLayer各个神经元的输出;(4)计算神经网络Predictivevalue与Turevalue的误差,判断误差是否小于设定值;(5)若误差小于设定值,则退出训练过程,神经网络训练完成;(6)若误差大于设定值,则通过公式(3.10)来计算各个单元的梯度值,修正神经网络的权值,返回第(3)步。4实验分析与结果前几章已经完成了实验的数据准备并做好了相关理论研究,有了一定的理论基础。本章将通过MATLAB软件搭建拟合模型,完成BP神经网络的训练和预测工作,并对最后的模型根据评价指标进行评价。4.1实验平台的搭建本实验的MATLAB软件版本为2018a,CPUI59300H,操作系统Windows-64位,显卡GTX1050Ti3G。搭建步骤如下:(1)新建工程打开MATLAB,点击主页,选择新建→工程→空白工程,如图4-1所示。图4-1新建工程(2)新建M程序文件点击主页,选择‘新建脚本’,然后点击保存并对文件重命名为‘data.m’,如图4-2所示。图4-2新建M程序文件完成上述流程,表明程序运行环境搭建完毕,通过在程序文件里面编写程序完成实验内容。4.2数据归一化数据处理是数据拟合、预测和分类的关键步骤,对实验精度有很大影响。本实验的数据是2个输入一个输出。由于每一项的输入指标,各项标准当中所体现出不同,所以不利于去进行直接的训练,所以有时可能会因为输入数据的单位不同所体现出一定的差异,导致整体的神经网络在进行收敛时速度比较慢。4.2.1最大-最小归一化最大-最小归一化是将Data经过公式映射在固定的范围内,具体公式如下:(4.1)最大-最小归一化可以将数据各个特征映射在一定范围,消除量纲对数据特征的影响,不改变数据分布,加快模型的训练学习。4.2.2Z-Score归一化Z-Score归一化是将原始数据进行标准化,其中方差为a,均值为b,具体公式如下:(4.2)Z-Score归一化可以将离群点的数据规范化,改变原有数据分布,减少离群点数据对模型的影响。根据非线性函数的特点,本实验选择最大-最小归一化方法,并将数据归一化在[-1,1]之间。4.3BP神经网络模型的结构设计原则4.3.1网络层数的确定关于网络层数的确定,在数学上就已经对此进行了证明并且从不同的维度来进行映射分析,而本文在进行研究的过程当中,就通过使用神经网络的结构来进行分类。4.3.2输入数据和输出数据的确定将第二章中给出的非线性函数的输入作为输入向量。根据公式(4.1)对输入数据进行数据预处理。本实验将非线性函数作为样本,对其进行模型的建立、仿真和预测。根据第三章的研究,将2个输入分别用x1,x2进行表示,并将这两个输入当作BP神经网络的输入变量。将非线性函数的输出值当作输出变量。当前非线性函数一共生成了2000个数据,在本文中随机选取1900个数据作为TrainingSample来构建神经网络,剩下的100个数据作为TestSample进行仿真。4.3.3各层节点的设计原则(1)输入层节点设计原则输入层节点要与第二章的非线性数据输入个数相匹配,彼此之间一一对应。输入层节点数确定为2个。(2)隐含层节点数设计原则隐含层节点的主要作用,就是通过从输入的训练成本当中提取到有用的信息来存储样本之间所存在的规律和联系,能够将输入数据和输出数据之间的函数进行映射,并且能够更好地反映出来,因此,在对于隐含层节点数进行说明的情况之下,应该去抓取数据当中的有效信息,从而能够对网络的隐含层节点数较少的时候来获取更有效的信息能力。获得的信息具有一定的可信度,在输出的结果方面可能会没有一定的说服力,这样会使得进行网络学习的过程当中更加缓慢。在当前学术界当中,没有一个确认的理论公式来对此进行确定,但是最常用的就是通过使用试凑法来对不同的样本进行设置,从中找出误差所存在最小的隐含层的阶段数来进行初始值的计算。(4.3)(4-4)(4-5)我们利用上列公式,可以根据算法所体现的特性来进行训练的过程,并且对其中所存在网络影响比较小的权值来进行调整,这样才能够删除更多多余的节点,选取最适合的隐含层节点数来进行使用。(3)输出层节点数设置原则输出层的数据来源于我们最后期望评估的结果,因此输出层节点数取1。4.4神经网络结构设计和训练根据总结上述原则,因此本文所构建的模型是三层BP神经网络模型,输入层节点数为20,隐含层节点数为未定,学习率暂选默认0.01,输出层节点数为1,学习率取0.01,允许误差选择系统默认值,HiddenLayer激活函数选择SigmoidFunction,输出层激活函数采用TanhFunction,训练函数采用traiglm,学习函数采用learndm,性能函数选择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到25区间当中的一个正整数,并且根据一定的控制变量法来保持其他参数不变的情况下进行计算。我们可以先将学习率设置为系统当中所存在的默认值,以此来作为依据来对[14,25]中不同隐含层的节点数进行训练和计算来得到最佳的结果,我们可以将其表达为如表4-1所示:表4-1隐藏层神经元训练对比表隐含层的神经元数均方误差训练次数14006472000160.05222000170.04822000180.03492000190.03122000200.03752000210.02402000220.03182000230.02742000240.03972000250.00902000从上表当中的数据,我们可以发现其中所存在的均方误差最小值会出现在隐含层神经元为25的情况之下,所以在神经网络当中,最优的隐含层神经元数目为25,具体的网络结构图可以参照下图4-3所示。图4-3BP神经网络拟合模型的结构图4.4.2神经网络模型学习率的确定由于BP神经网络在学习率上,一般都指定为0.01到0.1之间,所以在本文中,我们分别采取这个区间当中的十组数据来进行分析,能够将神经元固定在25个的基础之上,保持其他的参数不变,具体数据参照下图。表4-2学习率训练表学习率均方误差训练次数0.010.009020000.020.012720000.030.029120000.040.022020000.050.013220000.060.015320000.070.015120000.080.009520000.090.015120000.10.022420004.4.3神经网络模型训练及仿真结果我们在进行设计的过程当中,主要通过对软件当中的神经网络工具进行整体的仿真和训练。(1)在训练数据的输入和输出方面,可以从该软件当中新建一个脚本,并且清空整体的环境变量导入对应的数据包进行如下图所示的展示。图4-4神经网络数据导入图(2)随机产生训练集和测试集为了保证神经网络训练结果的可信性,因此本文从输入的2000个Sample中随机选取1900个Sample作为样本的训练集‘trainsample’,剩下的100个Sample作为Sample的测试集‘testsample’,从而对训练结果进行检验和误差分析。(3)创建网络并进行网络训练根据前文所确定的神经网络的层数、InputLayer节点数、HiddenLayer节点数、OutputLayer节点数、ActivationFunction和学习函数,设定各参数值、创建所需的神经网络并进行网络训练。(4)训练结果分析把上一步计算得到的规范化后的数据样本导入MATLAB软件,利用建立好的BP网络对样本数据进行训练,样本的预测值与测试集的真实结果之间的评价指标用相对误差E和决定系数R的平方进行表示。相对误差E越小,说明模型的性能越好。(4-6)经过训练之后,所得决定系数的值为0.99994,说明了整个网络性能非常好。下图4-5是对整个神经网络进行回归分析的过程,从图可知,基本上所有的回归分析系数都接近于1,这说明了整个神经网络模型具有良好的非线性映射能力和学习能力。图4-5BP神经网络模型表现图4-6为误差分析图,从图中可以看出误差均小于0.2,满足拟合性能要求。图4-7为预测值与实际值的对比图,从图中可以看出预测值和实际值十分接近,说明拟合效果很好。图4-6误差分析图图4-7预测值和真实值的对比图(5)预测结果与评价在训练结束之后,根据上述的训练结果,获得评价指标结果,如图4-8所示。平均绝对误差MAE为0.0090368,均方误差MSE为0.0063983,均方根误差RMSE为:0.07999,满足系统性能指标要求。图4-8性能指标结果图结论相比传统的拟合方法,非线性拟合模型在控制系统辨识中起着举足轻重的地位。随着人工智能的飞速发展,人们对模型的智能化要求越来越高,在这个背景下,专家们开始了进一步的研究,提出了机器学习这个概念。而BP神经网络就是一种机器学习方法,该方法可以通过训练和学习自主获取新的知识,在复杂模型的建立和模型拟合的问题上开辟了新的道路。本文就设计了一种基于BP神经网络的非线性函数拟合系统。首先,了解BP神经网络在非线性函数拟合中的应用,并熟悉非线性函数相关原理及算法,其次在以MATLAB软件为仿真平台,设计非线性函数,并利用MATLAB计算生成非线性数据。然后,采用BP神经网络作为拟合模型,进行相关实验,通过实验分析确定了隐层数、激活函数类型和学习率值等相关模型参数。最后选取均方误差(MSE)、平均绝对误差(MAE)和均方根误差(RMSE)作为评价指标,对数据拟合模型进行训练和检验,最终得到拟合模型,完成非线性函数拟合系统设计。实验结果表明,该模型的平均绝对误差(MAE)为0.0090638、均方误差(MSE)为0.0063983和均方根误差(RMSE)为0.07999,满足设计要求,验证了算法的有效性,证明出BP神经网络具有较高的拟合能力。参考文献[1]YunDeng,HanjieXiao,JianxinXu,HuaWang.PredictionmodelofPSO-BPneuralnetworkoncoliformamountinspecialfood[J].SaudiJournalofBiologicalSciences.2019,26(6):1154-1160.[2]YuanyuanLi,JitongLi,JianHuang,HuaZhou.FittinganalysisandresearchofmeasureddataofSAWmicro-pressuresensorbasedonBPneuralnetwork[J].Measurement.2020,155:107533.[3]LiangHuang,ShijieChen,ZaixunLing,YiboCui,QiongWang.Non-invasiveloadidentificationbasedonLSTM-BPneuralnetwork[J].EnergyReports.2021,7(1):485-492.[4]YingXiong,GuangshunChen,ShaoyunGuo.LifetimepredictionofNBRcompositesheetinaviationkerosenebyusingnonlinearcurvefittingofATR-FTIRspectra[J].JournalofIndustrialandEngineeringChemistry.2023,19(5):1611-1616.[5]MichaelM.Li,BrijeshVerma.NonlinearcurvefittingtostoppingpowerdatausingRBFneuralnetworks[J].ExpertSystemswithApplications.2016,45:161-171.[6]陈静,胡雪,段国霞,武伦玮,刘春霞,宫慧丽,刘丽君,李翠枝,吕志勇.不同非线性曲线拟合方式对乳饮料中蔗糖含量的不确定度评定[J].食品安全质量检测学报.2021,12(17):6865-6871.[7]MustafaŞEKER.Parameterestimationofpositivelightningimpulseusingcurvefitting-basedoptimizationtechniquesandleastsquaresalgorithm[J].ElectricPowerSystemsResearch,2022,205:107733.[8]胡菊华.非线性回归函数参数估计的初值问题——以酶促反应回归函数为例[J].江西科学.2021,39(06):983-985.[9]关杰,卢健伟.SIMON类非线性函数的线性性质研究[J].电子与信息报.2021,43(11):3359-3366.[10]张彭辉,肖攸安,赵建仓,丁康康,侯健.GA-BP神经网络在铜合金海洋腐蚀预测中的应用[J].装备环境工程.2021,18(12):73-78.[11]张丽媛,贾楠,郑晓娜,张博,李松丽,韩全乡.基于人工神经网络多叶准直器叶片位置偏差预测[J].中国医学物理学杂志.2021,38(12):1495-1501.[12]陆校松.基于人工神经网络的舰船通信数据模糊聚类算法[J].舰船科学技术.2021,43(24):91-93.[13]刘炳彦,张军辉,耿世聪,陶晶晶,冯月.基于BP神经网络模型的全球森林土壤异养硝化过程N_2O排放通量估算[J].生态学杂志:2022,12:1-9.[14]廖有为,曹伟嘉,蒋剑锋,杨留方.基于GA-BP神经网络的气体传感器湿度补偿研究[J].传感器与微系统.2021,40(12):49-55.[15]刘子英,张靖,付智辉,朱琛磊.基于光纤角度传感器的高压隔离开关角度测量技术研究[J].高压电器.2021,57(10):9-17.[16]黄力.深度特征均方误差的WGAN-GP图像超分辨率重建算法[J].电子技术与软件工程.2021,(20):122-125.[17]杨锦辉,宋君强.混沌系统模型误差平均绝对误差增长过程研究[J].物理学报.2012,61(22):148-153.[18]薛宇峰.人工神经网络及其在气候预测中的应用[J].太原师范学院学报(自然科学版).2005,(03):63-66.[19]唐旺,马尚昌,李程.基于滑动窗口的LSTM地温预测方法[J].成都理工大学学报(自然科学版).2021,48(03):377-384.[20]张千一.基于支持向量回归的机动车价格指数预测[J].设备管理与维修.2017,(19):14-16.致谢为期一个学期的毕业设计已经接近尾声了,我的四年大学生活也即将画上一个句号。在这四年期间,电子信息工程专业的教师们为我的学习和成长创造了一个美好的环境,引导我更加充分利用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论