基于BP神经网络的非线性函数拟合技术报告资料下载.pdf
- 文档编号:5979506
- 上传时间:2023-05-05
- 格式:PDF
- 页数:21
- 大小:734.95KB
基于BP神经网络的非线性函数拟合技术报告资料下载.pdf
《基于BP神经网络的非线性函数拟合技术报告资料下载.pdf》由会员分享,可在线阅读,更多相关《基于BP神经网络的非线性函数拟合技术报告资料下载.pdf(21页珍藏版)》请在冰点文库上搜索。
可以根据经验公式213CCCa(a为110的常数)确定。
由于该非线性函数有两个输入参数,一个输出参数,所以BP神经网络结构为251,即输入层有2个节点,隐含层有5个节点,输出层有1个节点。
BP神经网络训练用非线性函数输入输出数据训练神经网络,使训练后的网络能够预测非线性函数输出。
本报告采集了2000组输入输出数据,其中1900组作为训练数据,用于网络训练,100组作为测试数据,用于测试网络的拟合性能。
神经网络预测用训练好的网络预测函数输出,并对预测结果进行分析。
32.3MFC编程实现编程实现根据BP神经网络理论,在VisualStudio2008开发软件中利用C+编程语言实现基于BP神经网络的非线性拟合算法。
2.3.1BP神经网络各项函数选择神经网络各项函数选择隐含层和输出层函数的选择对BP神经网络预测精度有较大的影响。
在本报告所实现的BP网络中,除输入层神经元以外,其他层神经元的整合函数均采用加权求和函数,激活函数均为非线性可微函数LogisticS型函数。
加和求和函数:
1()niiigXwxLogisticS型函数:
1()1fe输出误差度量为平方误差,输出误差被认为是w以为自变量的函数,单个输入数据对应的误差表示为211()()2niiiewdy根据梯度下降法确定的权值调整法则如下:
输出层的权值调整法则:
(1)()jijijiiiiiwwxyyyd隐含层的权值调整法则:
1
(1)
(1)()nkjkjkjjjjiiiiiiwwxyywyyyd2.3.2数据选择和归一化数据选择和归一化根据非线性函数方程随机得到该函数2000组输入输出数据,将其中1900组存储在dataOLearning.txt文件中作为网络训练数据,1004组存储在dataOExaming.txt文件中作为网络测试数据。
由于Logistic-S型激活函数的输出为0,1,所以需要对数据进行归一化处理。
本报告中数据的归一化和反归一化采用最简单的线性函数转换,表达式形式为y=(x-MinValue)/(MaxValue-MinValue)。
x、y分别为转换前、后的值,MaxValue、MinValue分别为样本的最大值和最小值。
2.3.3基于梯度下降算法的基于梯度下降算法的BP神经网络训练神经网络训练在BP神经网络开始学习前首先随机初始化网络所需权值和阈值。
然后用训练数据文件OLearning.txt中的数据训练BP神经网络。
对每一组训练数据,BP网络一次按如下方式进行处理:
把输入数据从输入层传到隐含层,再传到输出层,产生一个输出结果,这一过程称为正向传播;
如果经正向传播在输出层没有得到所期望的输出结果,则转为误差反向传播过程,即把误差信号沿着原连接路径返回,在返回过程中根据误差信号修改各层神经元的连接权值,使输出误差减小;
重复信息正向传播和误差反向传播过程,直至得到所期望的训练目标或者达到最大迭代次数。
基于梯度下降算法的BP神经网络学习参数配置:
迭代次数lloop=10即所有训练数据循环的次数学习率lratio=0.1学习目标lobject=0.01即相对绝对值误差小于0.01%,则认为该组输入、输出数据拟合成功,不用进行误差修正5训练目标lacept=0.80即当一次迭代训练中所有训练数据拟合成功率达到80%以上时停止学习,认为BP网络已达到训练目标。
2.3.4基于梯度下降算法的基于梯度下降算法的BP神经网络预测神经网络预测BP网络的学习过程需要正向传播和反向传播,但是网络经训练以后用于实际计算时,则只需正向传播,不需要再进行反向传播。
依次读取测试数据文件OExaming.txt中每组数据,输入训练好的BP神经网络预测非线性函数输出,并生成相应的测试报告文件BPExamingResult.txt。
2.4实实验结果验结果用验证数据文件测试基于梯度下降学习算法的BP网络,得到的实验结果如图2-2所示。
每一行有四个数据组成,分别对应X1、X2、期望输出、实际输出。
图2-2基于梯度下降学习算法的BP网络实验结果3.基于遗传基于遗传优化优化算法算法的的BP神经网络神经网络63.1技术现状技术现状3.1.1遗传算法原理遗传算法原理遗传算法(GeneticAlgorithms)是1962年由美国Michigan大学Holland教授提出的模拟自然界遗传机制和生物进化论而成的一种并行随机搜索最优化方法。
它把自然界“优胜劣汰,适者生存”的生物进化原理引入优化参数形成的编码串联群体中,按照所选择的适应度函数并通过遗传中的选择、交叉和变异对个体进行筛选,使适应度值好的个体被保留,适应度差的个体被淘汰,新的群体既继承了上一代的信息,又优于上一代。
这样反复循环,直至满足条件。
遗传算法的基本的操作分为:
(1)选择操作选择操作是指从就群体中以一定概率选择个体到新群体中,个体被选中的概率跟适应度值有关,个体适应度值越好,被选中的概率越大。
(2)交叉操作交叉操作是指从个体中选择两个个体,通过两个染色体的交换组合,来产生新的优秀个体。
交叉过程为从群体中任选两个染色体,随机选择一点或多点染色体位置进行交换。
交叉操作如图3-1所示。
A:
110001011111B:
111101010000A:
110001010000B:
111101011111交叉图3-1遗传操作交叉操作(3)变异操作7变异操作是指从群体中任选一个个体,选择染色体中的一点进行变异以产生更优秀的个体。
变异操作如图3-2所示。
110001011111A:
110001010000变异图3-2遗传操作变异操作遗传算法具有高效启发式搜索、并行计算等特点,目前已经应用在函数优化、组合优化以及生产调度等方面。
3.1.2遗传算法的基本要素遗传算法的基本要素遗传算法的基本要素包括染色体的编码方法、适应度函数、遗传操作和运行参数。
其中染色体编码方法是指个体的编码方法,目前包括二进制法、实数法等。
二进制法是指把个体编码成为一个二进制串,实数法是指把个体编码成为一个实数串。
适应度函数是指根据进化目标编写的计算个体适应度值的函数,通过适应度函数计算每个个体的适应度值,提供给选择算子进行选择。
遗传操作是指选择操作、交叉操作和变异操作。
运行参数是遗传算法在初始化时确定的参数,主要包括群体大小M,遗传代数G,交叉概率Pc和变异概率Pm。
3.2模型建立模型建立基于遗传优化算法的BP神经网络非线性函数拟合实现流程如图83-3所示。
BP神经网络部分确定BP网络拓扑结构初始BP神经网络权值阈值长度遗传算法部分GA初始化种群规模和每个个体的初始值BP神经网络训练得到误差作为适应度值选择操作交叉操作变异操作计算适应度值满足结束条件输入数据数据预处理NY获取最优初始权值和阈值BP网络进行最后的学习满足结束条件学习结束,验证网络YN图3-3基于遗传优化算法的BP网络实现流程基于遗传优化算法的BP神经网络分为BP神经网络结构确定、遗传算法优化、BP神经网络训练和BP神经网络预测4部分。
用2.2节所述方法确定BP神经网络结构,进而确定遗传算法个体的长度。
遗传算法优化使用遗传算法优化BP神经网络的权值和阈值,种群中的每个个体都包含了一个网络所有权值和阈值,个体通过适应度函数计算个体适应度值,遗传算法通过选择、交叉和变异操作找到最优适应度值对应的个体。
BP神经网络预测用遗传算法得到的最优个体对网络初始权值和阈值赋值,网络经训练后预测函数输出。
由2.2节确定BP神经网络结构为251,共有255115个权值,5+1=6个阈值,所以遗传算法个体编码长度为15+6=21。
同2.2节从非线性函数中随机得到2000组输入输出数据,1900作为训练数9据,100组作为测试数据。
把训练数据预测误差绝对值和和作为个体适应度值,个体适应度值越小,该个体越优。
3.3遗传遗传优化优化算法算法编程编程实现实现3.3.1遗传算法遗传算法原理具体实现原理具体实现基于遗传优化算法的BP神经网络是用遗传算法来优化BP神经网络的初始权值和阈值,使优化后的BP神经网络能够更好地预测函数输出。
遗传算法优化BP神经网络的要素包括种群初始化、适应度函数、选择操作、交叉操作和变异操作。
(1)种群初始化个体编码方法为实数编码,每个个体均为两个权值阈值构成的矩阵,由隐含层阈值、输入层与隐含层链接权值、输出层阈值以及隐含层与输出层连接权值4部分组成。
个体包含了神经网络全部权值和阈值,在网络结构已知的情况下,就可以构成一个结构、权值、阈值确定的神经网络。
(2)适应度函数根据个体得到BP神经网络的初始权值和阈值,训练数据输入BP神经网络后预测系统输出,把预测输出和期望输出之间的绝对值和作为个体适应度值F,计算公式为1()niiiFabsyd上式中,n为网络输出节点数;
id为BP神经网络第i个节点的期10望输出;
iy为第i个节点的预测输出。
(3)选择操作遗传算法选择操作有轮盘赌法、锦标赛法等多种方法,本报告中选择轮盘赌法,即基于适应度比例的选择策略,每个个体i的选择概率为ip为iikfF1iiNikfpf上式中,Fi为个体i的适应度值,由于适应度值越小越好,所以在个体选择前对适应度值求倒数;
k为系数;
N为种群个体数目。
轮盘赌选择的具体实现方法是:
首先计算每个个体的累积概率(代表圆盘),即010,()iikkpppa然后反复产生0,1之间的随机数(代表指针的转动),当1iiPp时,选择个体ia。
(4)交叉操作由于个体采用实数编码,所以交叉操作采用实数交叉法,第k个染色体ka和第l个染色体la在j位上交叉操作方法如下:
(1)
(1)kjkjljljljkjaababaabab上式中,b是0,1间的随机数。
(5)变异操作选取第i个个体的第j个基因ija进行变异,变异操作方法如下:
maxmin()*()0.5()*()0.5ijijijijijaaafgraaaafgr上式中,maxa为基因ija的上界;
mina为基因ija的下界;
1122max()(1/)fgrgG;
2r为一个随机数;
g为当前迭代次数;
maxG是最大进化次数;
r为0,1间的随机数。
3.3.2遗传算法编程实现遗传算法编程实现根据遗传算法和BP神经网络理论,在VisualStudio2008中编程实现基于遗传算法优化的BP神经网络非线性系统拟合算法。
遗传算法参数设置为:
种群规模sizepop=10进化代数maxgen=50交叉概率pcross=0.4变异概率pmutation=0.2
(1)遗传算法主函数遗传算法主函数流程为:
步骤1:
随机初始化种群。
步骤2:
计算种群适应度值,从中找出最优个体。
适应度函数用训练数据训练BP神经网络,并且把训练数据预测误差作为个体适应度值。
步骤3:
选择操作,即采用轮盘赌法从种群中选择适应度好的个体组成新种群。
步骤4:
交叉操作,即从种群中选择两个个体,按一定概率交叉得到新个体。
步骤5:
变异操作,即对种群中的每一个个体,按一定概率变12异得到新个体。
步骤6:
判断进化是否结束,若否,则返回步骤2。
(2)遗传算法优化的BP神经网络学习把遗传算法得到的最优个体赋给BP神经网络,按2.3.3节所述方法进行该网络的最后一次学习。
(3)遗传算法优化的BP神经网络预测依次读取测试数据文件OExaming.txt中每组数据,输入训练好的BP神经网络预测非线性函数输出,并生成相应的测试报告文件GAExamingResult.txt。
3.4实验结果实验结果用验证数据文件测试基于遗传算法优化的BP网络,得到的实验结果如图3-4所示。
图3-4基于遗传算法优化的BP网络实验结果4.基于粒子群优化算法的基于粒子群优化算法的BP神经网络神经网络134.1技术技术现状现状粒子群优化算法(PSO,ParticleSwarmOptimization)是计算智能领域,除了蚁群算法、鱼群算法之外的一种群体智能的优化算法。
PSO算法源于对鸟类捕食行为的研究,鸟类捕食时,每只鸟找到食物最简单有效的方法就是搜寻当前距离食物最近的鸟的周围区域。
PSO算法首先在可解空间中初始化一群粒子,每个粒子都代表问题的一个潜在解,用位置、速度和适应度值三项指标表示该粒子特征。
适应度值由适应度函数计算得到,其值的好坏表示粒子的优劣。
粒子的速度决定了粒子移动的方向和距离,速度随自身及其他粒子的移动经验进行动态调整,从而实现个体在可解空间中的寻优。
粒子在解空间中运动,通过跟踪个体最优值Pbest和群体最优值Gbest更新个体位置,个体最优值Pbest是指个体所经历位置中计算得到的适应度值最好的位置,群体最优值Gbest是指粒子群中所有粒子搜索到的适应度最好的位置。
粒子每更新一次位置,就计算一次适应度值,并且通过比较新粒子的适应度值和个体最优值、群体最优值的适应度值更新Pbest和Gbest的位置。
粒子位置和速度的调整是粒子群算法的关键。
假设在一个D维的搜索空间中,由n个粒子组成的种群12(,)nXXXX,其中第i个例子表示为一个D维的向量12(,)TiiiiDXxxx,代表第i个粒子在D维搜索空间中的位置,亦代表问题的一个潜在解。
根据目标函数即可计算出每个粒子位置Xi对应的适应度值。
第i个粒子的速度为12(,)TiiiiDVvvv,其个体极值为12(,)TiiiiDPppp,种群的全局极值14为12(,)TggggDPppp。
在每一次迭代过程中,粒子通过个体极值和全局极值更新自身的速度和位置,更新公式如下:
(4-1)11kkkidididxxv(4-2)上式中,w为惯性权重;
d=1,2,D;
i=1,2,n;
k为当前迭代次数;
idv为粒子速度;
1c和2c为非负的常数,称为加速度因子;
1r和2r为分布于0,1之间的随机数。
为防止粒子的盲目搜索,一般将其位置和速度限制在一定的区间内maxmax,xx、maxmax,vv。
4.2模型建立模型建立基于粒子群优化算法的BP神经网络非线性函数拟合实现流程如图4-1所示。
11122()()kkkkkkididididgdidvwvcrpxcrpx15BP神经网络部分确定BP网络拓扑结构初始BP神经网络权值阈值长度粒子群算法部分PSO初始化种群规模和每个粒子的初始值BP神经网络训练得到误差作为粒子适应度值速度更新和位置更新粒子适应度值计算个体极值和群体极值更新满足结束条件输入数据数据预处理NY获取最优初始权值和阈值BP网络进行最后的学习满足结束条件学习结束,验证网络YN寻找个体极值和群体极值图4-1基于粒子群优化算法的BP网络实现流程其中BP神经网络结构的确定见2.2所述。
对粒子群中每个粒子的初始化是对粒子位置和粒子速度赋予随机值。
然后用训练数据训练BP网络并用训练数据的绝对误差和作为粒子的适应度值。
根据初始粒子适应度值确定个体极值和群体极值,由式(4-1)和(4-2)更新粒子速度和位置。
根据新种群中粒子适应度值更新个体极值和群体极值。
粒子群优化算法收敛快,具有很强的通用性,但同时存在着容易早熟收敛、搜索精度较低、后期迭代效率不高等缺点。
借鉴GA算法中的变异思想,本报告在基本PSO算法中引入变异操作,即对某些粒子以一定的概率重新初始化。
变异操作拓展了在迭代中不断缩小的种群搜索空间,使粒子能够跳出先前搜索到的最优值位置,在更大的空间中展开搜索,同时保持了种群多样性,提高算法寻找到更优值的16可能性。
在普通粒子群算法的基础上引入简单变异算子,基本思想就是粒子每次更新之后,以一定概率重新初始化粒子。
惯性权重w体现的是粒子当前速度多大程度上继承先前的速度,较大的惯性权值有利于全局搜索,一个较小的惯性权值则更利于局部搜索。
为了更好地平衡算法的全局搜索和局部搜索能力,本报告中采用线性递减惯性权重,即max()()*/startstartendwkwwwkT上式中,startw为初始惯性权重;
endw为迭代至最大次数时的惯性权重;
k为当前迭代代数;
maxT为最大迭代代数。
这样,随着迭代的进行,惯性权重由startw线性递减至endw,迭代初期较大的惯性权重使算法保持了较强的全局搜索能力,而迭代后期较小的惯性权重有利于算法进行更精确的局部开发。
4.3PSO算法编程实现算法编程实现
(1)PSO算法参数设置粒子群算法参数设置为:
粒子群规模PSOSizepop=10迭代次数PSOmaxgen=10加速度因子c1=1.49445;
c2=1.49445。
个体和速度最大最小值popmax=1,popmin=-1;
Vmax=1,vmin=-1;
随机初始化概率psorinit=0.217初始惯性权重wstart=0.9迭代到最大次数时惯性权重wend=0.4
(2)PSO算法主函数粒子群算法主函数流程为:
随机初始化粒子群。
计算粒子群适应度值,寻找初始个体极值和全局极值。
迭代寻优,更新粒子位置和速度,并且根据新粒子的适应度值更新个体极值和群体极值。
直至找到可以接受的可行解或达到预设的最大迭代次数。
(4)PSO优化的BP神经网络学习把粒子群算法得到的最优个体赋给BP神经网络,按2.3.3节所述方法进行该网络的最后一次学习。
(5)PSO优化的BP神经网络预测依次读取测试数据文件OExaming.txt中每组数据,输入训练好的BP神经网络预测非线性函数输出,并生成相应的测试报告文件PSOExamingResult.txt。
4.4实验结果实验结果用验证数据文件测试基于PSO优化的BP网络,得到的实验结果如图4-2所示。
18图4-2基于粒子群算法优化的BP网络实验结果5.结论结论虽然基于梯度下降算法的BP神经网络具有较高的拟合能力,但是网络预测结果仍有一定误差,某些样本点的预测误差较大。
利用GA、PSO算法优化后的BP神经网络能够得到更好的预测结果。
GA算法、PSO算法优化BP神经网络的目的是通过遗传算法得到更好的网络初始权值和阈值。
优化后的BP神经网络的预测效果一般优于未优化的Bp网络。
但是这种优化是有局限性的,它只能有限提高原有BP神经网络的预测精度,并不能把预测误差较大的BP神经网络优化为能够准确预测的BP神经网络。
尤其对一些因为样本数量少、样本分布不均匀而造成神经网络预测误差大的问题,优化后的网络预测能力一般不能得到明显提高。
6.参考文献参考文献1邓伟.BP神经网络构建和优化的研究及其在医学统计中的应用D.上海:
复旦大学,2002.2吕蝉.基于BP神经网络的短期负荷预测D.武汉:
华中科技大学,2007.193林琳.基于BP神经网络的网络性能预测D.长春:
吉林大学,2004.4李明.基于遗传算法该进的BP神经网络的城市人居环境质量评价研究D.沈阳:
辽宁师范大学,2007.5王学会.遗传算法和BP网络在发酵模型中的应用D.天津:
天津大学,2007.6李华.基于一种改进遗传算法的神经网络D.太原:
太原理工大学,2007.7侯林波.基于遗传神经网络算法的基坑工程优化反馈分析D.大连:
大连海事大学,2009.8黄继红.基于改进PSO的BP网络的研究应用D.长沙:
长沙理工大学,20089杜玉平.关于粒子群算法改进的研究D.西安:
西北大学,2008.10薛婷.粒子群优化算法的研究和改进D.大连:
大连海事大学,2008.11KENNEDYJ,EBERHARTRC.ParticleSwarmOptimizationA.ProceedingsofIEEEInternationalConferenceonNeuralNetworks,1995,1942-1948.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 BP 神经网络 非线性 函数 拟合 技术 报告