bp神经网络预测空气质量指数毕业设计_第1页
bp神经网络预测空气质量指数毕业设计_第2页
bp神经网络预测空气质量指数毕业设计_第3页
bp神经网络预测空气质量指数毕业设计_第4页
bp神经网络预测空气质量指数毕业设计_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

沈阳理工大学学士学位论文I1绪论1.1课题的研究背景及意义作为一种能够模仿动物神经网络行为特征的人工神经网络(ArtificialNeuralNetworks,ANN),能够按照分布式并行方式进行信息处理,依靠系统的复杂程度,通过调整在内部存在的大量节点之间相互连接的关系,达到处理信息的目的。人工神经网络有能力自学习和自适应,可以根据对应的一组预先设置的输入-输出数据,分析掌握其中的规律,最终根据这些规律,用新的输入数据,以计算输出其结果,这种分析的过程被称为“训练”。人工神经网络就是一种模拟人思维的方式,它是一个非线性动力学系统,其信息的分布式存储和并行协同处理是它的特色。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的[1]。通过近年来对人工神经网络的研究,可以看出神经网络的研究目的和意义有以下三点:(1)通过揭示物理和认知平面间的映射关系,了解它们相互作用和相互联系的机理,从而揭示思维的本质,探索智能的根本。(2)争取构造出的计算机可以与人脑具有相似功能,即神经网络计算机。(3)人工神经网络在研究仿照脑神经系统方面,会在组合优化、模式识别和决策判断等方面取得传统计算机难以达到的效果。人工神经网络是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统[2]。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科[3]。MATLAB是一种科学与工程计算的高级语言,广泛地运用于包括信号与图像处理,控制系统设计,系统仿真等诸多领域。为了解决神经网络问题中的研究工作量和编程计算工作量问题,目前工程领域中较为流行的软件MATLAB,提供了现成的神经网络工具箱(NeuralNetworkToolbox,简称NNbox),为解决这个矛盾提供了便利条件。神经网络工具箱提供了很多经典的学习算法,使用它能够快速实现对实际问题的建模求解。在解决实际问题中,应用MATLAB语言构造典型神经网络的激活传递函数,编写各种网络设计与训练的子程序,网络的设计者可以根据需要调用工具箱中有关神经网络的设计训练程序,使自己能够从烦琐的编程中解脱出来,减轻工程人员的负担,从而提高工作效率[4]。1.2神经网络预测的发展与研究现状20世纪90年代作为神经网络预测理论与应用迅速发展的时期,在理论方面的主要工作是:(1)线性化方法:通过不同的线性化逼近,可以把非线性规律求解加以简化,以此提高计算速度。(2)预测偏差补偿方法:多步预测时,将会产生较大误差,采用神经网络进行补偿纠正。(3)数值计算和解析相结合的方法。在1992年用于多步预测的神经网络得到了广泛地关注。自此,国内外学者进行了大量的研究在神经网络预测方面。Buescher等利用神经网络作为预测的模型,提出了一种基于非线性预测的时间二尺度方案,在预测模型中使用多个采样周期的平均值形成多步预测,从而减少计算量;Namarreno等同样利用递归神经网络作为预测模型,提出了一种多变量的带约束的预测方法,其优点是具有强非线性和能够处理系统变量约束;陈强等提出一种非线性系统间接预测方法,控制网络为多输入单输出,输出的量是准备计算的当前控制信号,各个输入量是对过程的多步预测序列与相应的设定值之差。进入21世纪后,人们除继续研究基于非线性系统的神经网络建模与预测外,还针对一些较为特殊且复杂的非线性系统,开展了一些关于神经网络预测理论以及应用方面的新的研究。张兴会等提出了一种非线性系统间接多步预测学习,采用BP网络对非线性系统进行建模,通过对广义预测控制目标函数的优化进行计算;刘晓华等利用权值一种权值可在线调整的动态BP网络对模型预测误差进行拟合,并对预测模型一起构成动态组合预测器,在此基础上形成对模型误差具有动态补偿能力的预测控制算法[5]。吴爱国对非线性时滞系统采用了d步超前预测模型的神经网络预测控制,首次实现了非线性时滞系统的神经网络预测的并联模型的RTRL算法,介绍了一种新的正交神经网络,首次给出了多变量输入正交神经网络完备处理单元选择的通用公式[6]。针对输入变量增多时,完备处理单元急剧增加的情况,提出了几种裁剪完备处理单元的选取方法,仿真实验验证了正交神经网络比BP网络收敛速度快、训练时间短、逼近能力好[7]。1.3课题设计路线及主要工作本文的主要工作是探讨基于BP和RBF神经网络对空气质量指数的预测。本文一共分为五大章。其中,第一章为绪论,主要讲述课题的研究背景和意义,神经网络的发展和目前研究的现状以及对各章节的主要内容进行总结概括。第二章主要是对三种不同的神经网络作简要的介绍,分别为BP神经网络,RBF神经网络以及模糊神经网络。在第二章里简单的讲述了三种神经网络的基本知识点,以便读者可以对神经网络有初步的了解,在后续章节中还会重点对BP神经网络和RBF神经网络进行详细的介绍。第三章主要介绍了MATLAB工具箱的一些基础知识,为读者能更好的理解后续BP神经网络和RBF神经网络的编程仿真提供帮助。第四章为本文的重点,主要是对BP神经网络进行详细的研究,包括BP神经网络的原理,算法,实现步骤,仿真实现以及对仿真结果的分析。第五章也是本文的重点,主要是对RBF神经网络进行详细的研究,研究的主要内容和BP神经网络一样,只不过在最后还要对BP和RBF进行比较分析。2神经网络简介2.1BP神经网络简介2.1.1BP神经网络的定义BP网络(Back

Propagation),是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一[8]。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide

layer)和输出层(output

layer)。BP学习算法是训练人工神经网络的基本方法,它也是一个非常重要且经典的学习算法,其实质是求解误差函数的最小值问题,利用它可以实现多层前馈神经网络权值的调节[9]。这种学习算法的提出对人工神经网络发展起了很大的推动作用。2.1.2BP神经网络的基本原理BP网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。图2.1为一个典型的三层BP网络的拓扑结构,层与层之间采用全互连方式,同一层之间不存在相互连接,隐层可以有一层或多层。层与层之间有两种信号在流通:一种是工作信号(用实线表示),它是施加输入信号后向前传播直到在输出端产生实际输出的信号,是输入和权值的函数。另一种是误差信号(用虚线表示),网络实际输出与期望输出间的差值即为误差,它由输出端开始逐层向后传播。BP网络的学习过程程由前向计算过程和误差反向传播过程组成。在前向计算过程中,输入量从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,逐次调整网络各层的权值和阈值,直至到达输入层,再重复向计算[10]。这两个过程一次反复进行,不断调整各层的权值和阈值,使得网络误差最小或达到人们所期望的要求时,学习过程结束。输出层输入层图2.1典型Bp输出层输入层BP算法是在导师指导下,适合于多层神经元网络的一种学习,它是建立在梯度下降法的基础上的。理论证明,含有一个隐含层的BP网络可以实现以任意精度近似任何连续非线性函数。2.1.3BP神经网络的应用目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP神经网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP网络主要用于以下四方面。(1)函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数。(2)模式识别:用一个待定的输出向量将它与输入向量联系起来。(3)分类:把输入向量所定义的合适方式进行分类。(4)数据压缩:减少输出向量维数以便传输或存储。本文主要研究的是BP神经网络在预测方面的应用,其实质上就是求解函数逼近问题,给出训练样本使BP神经网络对其进行训练,然后给出测试样本使训练出的数值尽可能地逼近实际值,越逼近实际值预测效果便越好。2.1.4BP神经网络的优点及局限性BP神经网络最主要的优点是具有极强的非线性映射能力。理论上,对于一个三层和三层以上的BP网络,只要隐层神经元数目足够多,该网络就能以任意精度逼近一个非线性函数。其次,BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。这是因为它采用了分布并行的信息处理方式,对信息的提取必须采用联想的方式,才能将相关神经元全部调动起来。BP神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。再次,BP神经网络对外界输入样本有很强的识别与分类能力。由于它具有强大的非线性处理能力,因此可以较好地进行非线性分类,解决了神经网络发展史上的非线性分类难题。另外,BP神经网络具有优化计算能力。BP神经网络本质上是一个非线性优化问题,它可以在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小。基于BP算法的神经网络从运行过程中的信息流向来看,它是前馈型网络。这种网络仅提供许多具有简单处理能力的神经元的复合作用使网络具有复杂的非线性映射能力而没有反馈,因此它不属于一个非线性动力学系统,而只是一个非线性映射。尽管如此,由于它理论上的完整性和应用的广泛性,所以它仍然有重要的意义,但它也存在着不少问题[11]。(1)BP算法按照均方误差的梯度下降方向收敛,但均方误差的梯度曲线存在不少局部和全局最小点,这就使得神经网络易陷入局部极小(localminima);(2)BP学习算法的收敛速度很慢,可能会浪费大量时间;(3)网络的隐含节点数的选取尚缺少统一而完整的理论指导(即没有很好的解析式来表示);(4)已学习好的网络的泛化能力较差。2.2RBF神经网络简介2.2.1RBF神经网络的定义径向基函数(RadialBasisFunction,RBF)是多维空间插值的传统技术,由Powell于1985年提出。1988年,Broomhead和Lowe根据生物神经元具有局部响应这一特点,将RBF引入到神经网络设计中,产生了RBF人工神经网络。1989年,Jackson论证了RBF人工神经网络对非线性连续函数的一致逼近性能由于RBF人工神经网络输出层是对隐含层的线性加权,使得该网络避免了像BP网络那样繁琐冗长的计算,具有较高的运算速度和外推能力,同时使得网络有较强的非线性映射功能[12]。因此,被广泛应用于时间序列分析、模式识别、非线性控制和图像处理等领域。2.2.2RBF神经网络的基本原理径向基函数(RBF)神经网络是前馈神经网络,与BP网络相比,RBF网络不仅有生理学基础,而且结构更加简洁,学习速度也更快。RBF人工神经网络一般由三层组成:输入层、隐含层、输出层,如图2.2所示。它只有一个隐含层,输出单元是线性求和单元,即输出是各隐单元的加权求和,隐单元的转移函数用径向基函数(RadialBasisFunction,RBF),输入单元和隐单元的连接权值固定为1,只有隐单元和输出单元的连接权值可调[13]。输入层神输入层神经元隐层神经元输出层神经元网络连接网络连接网络连接网络连接图2.2RBF人工神经网络结构可以把RBF看成对未知函数F(x)的逼近器,一般任何函数都可以表示成一组基函数的加权和,这相当于选择各隐单元的作用函数构成一组基函数用于近似F(x)。由模式识别理论可知,在低维空间非线性可分问题总可以映射到一个高维空间,使其在高维空间中线性可分。在RBF网络中,输入单元到隐单元的映射为非线性的,而隐单元到输出单元则是线性的,因而可以把输出单元部分看做一个单层感知器,这样,只有适当选择隐单元数(高维空间的维数)及其作用函数,就可以把原来的问题映射为一个线性可分问题,从而可用一个线性单元解决问题[14]。2.2.3RBF神经网络的特点RBF神经网络是一种性能优良的前馈型神经网络,RBF网络可以任意精度逼近任意的非线性函数,且具有全局逼近能力,从根本上解决了BP网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快[15]。RBF网络和模糊逻辑能够实现很好的互补,提高神经网络的学习泛化能力。RBF网络的特点:(1)前向网络。(2)隐单元的激活函数通常为具有局部接受域的函数,即仅当输入落在输入空间中一个很小的指定区域中时,隐单元才作出有意义的非零响应。因此,RBF网络有时也称为局部接受域网络(LocalizedReceptiveFieldNetwork)。(3)RBF网络的局部接受特性使得其决策时隐含了距离的概念,即只有当输入接近RBF网络的接受域时,网络才会对之作出响应。这就避免了BP网络超平面分割所带来的任意划分特性。在RBF网络中,输入层至输出层之间的所有权重固定为1,隐层RBF单元的中心及半径通常也预先确定,仅隐层至输出层之间的权重可调。RBF网络的隐层执行一种固定不变的非线性变换,将输入空间Rn映射到一个新的隐层空间Rh,输出层在该新的空间中实现线性组合。显然由于输出单元的线性特性,其参数调节极为简单,且不存在局部极小问题。(4)另外,研究还表明,一般RBF网络所利用的非线性激活函数形式对网络性能的影响并非至关重要,关键因素是基函数中心的选取。2.2.4RBF神经网络的优点及局限性RBF网络的优点:(1)它具有的特性,且无局部极小唯一最佳逼近问题存在。(2)RBF神经网络具有较强的输入和输出映射功能,并且理论证明在前向网络中RBF网络是完成映射功能的最优网络。(3)网络连接权值与输出呈线性关系。(4)分类能力好。(5)学习过程收敛速度快。RBF神经网络除了具有一般神经网络的优点,如多维非线性映射能力,泛化能力,并行信息处理能力等,还具有很强的聚类分析能力,学习算法简单方便等优点;径向基函数(RBF)神经网络是一种性能良好的前向网络利用在多维空间中插值的传统技术,可以对几乎所有的系统进行辩识和建模它不仅在理论上有着任意逼近性能和最佳逼近性能,而且在应用中具有很多优势如和Sigmoid函数作为激活函数的神经网络相比,算法速度大大高于一般的BP算法[16]。RBF神经网络同BP网络相比,不但在理论上它是前向网络中最优的网络,而且学习方法也避免了局部最优的问题。已经证明:一个RBF网络,在隐层节点足够多的情况下,经过充分学习,可以用任意精度逼近任意非线性函数,而且具有最优泛函数逼近能力,另外,它具有较快的收敛速度和强大的抗噪和修复能力。在理论上,RBF网络和BP网络一样能以任意精度逼近任何非线性函数。但由于它们使用的激励函数不同,其逼近性能也不相同。Poggio和Girosi已经证明,RBF网络是连续函数的最佳逼近,而BP网络不是。BP网络使用的Sigmoid函数具有全局特性,它在输入值的很大范围内每个节点都对输出值产生影响,并且激励函数在输入值的很大范围内相互重叠,因而相互影响,因此BP网络训练过程很长。此外,由于BP算法的固有特性,BP网络容易陷入局部极小的问题不可能从根本上避免,并且BP网络隐层节点数目的确定依赖于经验和试凑,很难得到最优网络。采用局部激励函数的RBF网络在很大程度上克服了上述缺点,RBF不仅有良好的泛化能力,而且对于每个输入值,只有很少几个节点具有非零激励值,因此只需很少部分节点及权值改变。学习速度可以比通常的BP算法提高上千倍,容易适应新数据,其隐层节点的数目也在训练过程中确定,并且其收敛性也较BP网络易于保证,因此可以得到最优解。RBF网络的缺点:(1)最严重的问题是没能力来解释自己的推理过程和推理依据。(2)不能向用户提出必要的询问,而且当数据不充分的时候,神经网络就无法进行工作。(3)把一切问题的特征都变为数字,把一切推理都变为数值计算,其结果势必是丢失信息。(4)理论和学习算法还有待于进一步完善和提高。RBF神经网络的非线性映射能力体现在隐层基函数上,而基函数的特性主要由基函数的中心确定,从数据点中任意选取中心构造出的RBF神经网络的性能显然是不能令人满意的目的(5)RBF神经网络用于非线性系统建模需要解决的关键问题是样本数据的选择在实际工业过程中,系统的信息往往只能从系统运行的操作数据中分析得到,因此如何从系统运行的操作数据中提取系统运行状况信息,以降低网络对训练样本的依赖,在实际应用中具有重要的价值。隐层基函数的中心是在输入样本集中选取的,这在许多情况下难以反映出系统真正的输入输出关系,并且初始中心点数太多,另外优选过程会出现数据病态现象。2.3模糊神经网络简介2.3.1模糊神经网络定义模糊神经网络就是模糊理论同神经网络相结合的产物,它汇集了神经网络与模糊理论的优点,集学习、联想、识别、信息处理于一体。2.3.2模糊神经网络基本形式模糊神经网络有如下三种形式:(1)逻辑模糊神经网络(2)算术模糊神经网络(3)混合模糊神经网络模糊神经网络就是具有模糊权系数或者输入信号是模糊量的神经网络。上面三种形式的模糊神经网络中所执行的运算方法不同。模糊神经网络无论作为逼近器,还是模式存储器,都是需要学习和优化权系数的。学习算法是模糊神经网络优化权系数的关键。对于逻辑模糊神经网络,可采用基于误差的学习算法,也即是监视学习算法。对于算术模糊神经网络,则有模糊BP算法,遗传算法等。对于混合模糊神经网络,目前尚未有合理的算法;不过,混合模糊神经网络一般是用于计算而不是用于学习的,它不必一定学习。2.3.3模糊神经网络的发展动向及用途模糊理论和神经网络技术是近几年来人工智能研究较为活跃的两个领域。人工神经网络是模拟人脑结构的思维功能,具有较强的自学习和联想功能,人工干预少,精度较高,对专家知识的利用也较好。但缺点是它不能处理和描述模糊信息,不能很好利用已有的经验知识,特别是学习及问题的求解具有黑箱的特性,其工作不具有可解释性,同时它对样本的要求较高;模糊系统相对于神经网络而言,具有推理过程容易理解、专家知识利用较好、对样本的要求较低等优点,但它同时又存在人工干预多、推理速度慢、精度较低等缺点,很难实现自适应学习的功能,而且如何自动生成和调整隶属度函数和模糊规则,是一个棘手的问题。如果将二者有机地结合起来,可起到互补的效果[17]。模糊神经网络可用于模糊回归、模糊控制器、模糊专家系统、模糊谱系分析、模糊矩阵方程、通用逼近器。在控制领域中,所关心的是由模糊神经网络构成的模糊控制器。在这一章中.介绍模糊神经网络的基本结构、遗传算法、模糊神经网络的学习算法,以及模糊神经网络的应用。除了以上三种神经网络之外还有很多其他的神经网络,比如竞争学习神经网络,反馈神经网络,小波神经网络等等。由于本文主要研究的是基于人工神经网络对空气质量指数的预测,所以本文只讨论BP及RBF神经网络对空气质量指数的预测以及BP与RBF神经网络的简单比较。3开发软件简介3.1MATLAB发展历程20世纪70年代,美国新墨西哥大学计算机科学系主任CleveMoler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、SteveBangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。版本更新如下表2.1所示:表3.1MATLAB历年版本统计版本建造编号发表时间版本建造编号发布时间MATLAB1.01984MATLAB7.0R14SP22005MATLAB21986MATLAB7.1R14SP32005MATLAB31987MATLAB7.2R2006a2006MATLAB3.51990MATLAB7.3R2006b2006MATLAB41992MATLAB7.4R2007a2007MATLAB4.2R71994MATLAB7.5R2007b2007MATLAB5.0R81996MATLAB7.6R2008a2008MATLAB5.1R91997MATLAB7.7R2008b2008MATLAB5.1.1R9.11997MATLAB7.8R2009a2009MATLAB5.2R101998MATLAB7.9R2009b2009MATLAB5.2.1R10.11998MATLAB7.10R2010a2010MATLAB5.3R111999MATLAB7.11R2010b2010MATLAB5.3.1R11.11999MATLAB7.12R2011a2011续表3.1MATLAB6.0R122000MATLAB7.13R2011b2011MATLAB6.1R12.12001MATLAB7.14R2012a2012MATLAB6.5R132002MATLAB7.15R2012b2012MATLAB6.5.1R13SP12003MATLAB8.1R2013a2013MATLAB6.5.2R13SP22003MATLAB8.2R2013b2013MATLAB7R142004MATLAB8.3R2014a2014MATLAB7.0.1R14SP12004MATLAB8.4R2014b20143.2MATLAB的语言特点一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点。正如同FORTRAN和C等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的MATLAB,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。MATLAB的最突出的特点就是简洁。MATLAB用更直观的、符合人们思维习惯的代码,代替了C和FORTRAN语言的冗长代码。MATLAB给用户带来的是最直观、最简洁的程序开发环境。以下简单介绍一下MATLAB的主要特点。(1)语言简洁紧凑,使用方便灵活,库函数极其丰富。MATLAB程序书写形式自由,利用其丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用MATLAB进行科技开发是站在专家的肩膀上。具有FORTRAN和C等高级计算机语言知识的读者可能已经注意到,如果用FORTRAN或C语言去编写程序,尤其当涉及矩阵运算和画图时,编程会很麻烦。例如,如果用户想求解一个线性代数方程,就得编写一个程序块读入数据,然后再使用一种求解线性方程的算法(例如追赶法)编写一个程序块来求解方程,最后再输出计算结果[18]。在求解过程中,最麻烦的要算第二部分。解线性方程的麻烦在于要对矩阵的元素作循环,选择稳定的算法以及代码的调试都不容易。即使有部分源代码,用户也会感到麻烦,且不能保证运算的稳定性。解线性方程的程序用FORTRAN和C这样的高级语言编写至少需要好几十行。再如用双步QR方法求解矩阵特征值,如果用FORTRAN编写,至少需要四百多行,调试这种几百行的计算程序可以说很困难。以下为用MATLAB编写以上两个小程序的具体过程。用MATLAB求解下列方程,并求矩阵A的特征值。其中:解为:x=A/b;设A的特征值组成的向量为e,e=eig(A)。可见,MATLAB的程序极其简短。更为难能可贵的是,MATLAB甚至具有一定的智能水平,比如上面的解方程,MATLAB会根据矩阵的特性选择方程的求解方法,所以用户根本不用怀疑MATLAB的准确性。(2)运算符丰富。由于MATLAB是用C语言编写的,MATLAB提供了和C语言几乎一样多的运算符,灵活使用MATLAB的运算符将使程序变得极为简短。(3)MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。(4)语法限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。(6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。(7)MATLAB的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于MATLAB的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。(8)MATLAB包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又可分为两类:功能性和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬件实时交互功能。(9)源程序的开放性。除内部函数外,所有MATLAB的核心文件和工具箱文件都是可读改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。3.3基于MATLAB神经网络工具箱函数神经网络理论的实现基于MATLAB提供的一种方便的仿真手段。MATLAB神经网络工具箱开拓了神经网络的应用空间。神经网络工具箱把很多需要手动计算的工作交于了计算机,一方面提高了计算的精度和准确度,另一方面,还提高了工作效率,工程人员的负担得以减轻。神经网络工具箱是许多在MATLAB环境下开发出来的工具箱的其中一种。它将人工神经网络理论作为基础,利用MATLAB构造出许多框架和相关函数。这些工具箱主要分为两部分。一部分函数针对神经网络的某一种类型,如BP网络的训练函数,感知器的创建函数等。另一部分则为通用的函数,几乎可用于神经网络的所有类型,如初始化函数、训练函数和神经网络仿真函数等。这些函数的MATLAB实现使设计者对选定的网络进行计算工程,转变为对参数的选择和对函数的调用,这样一来,网络设计人员可以根据所需调用相关的设计和训练的程序在MATLAB工具箱中,从而可以使设计者从繁琐的编程中解脱,提高了工作效率[19]。最新版本的神经网络工具箱涵盖了几乎所有的神经网络方面的常用的基本模型。对于不同的网络的模型,神经网络工具箱集成了很多种学习算法,为用户提供了特别大的方便。另外,神经网络工具箱还有很多的演示示例,对初学者加深理解有很大的帮助。在MATLAB的命令窗口中输入命令heipnnet,便可以得到神经网络工具箱有关函数列表和版本信息。目前,神经网络工具箱中主要提供的神经网络模型类别有BP网络、RBF网络、感知器网络、自组织映射、动态网络和向量量子化网络。这些神经网络模型主要在信息处理和预测、函数逼近和模型拟合、神经网络控制和故障诊断有所应用。在MATLABR2008b神经网络工具箱中有许多BP网络和RBF网络分析与设计的函数,BP网络的常用函数如表3.2所示:表3.2BP网络的常用函数表函数名称函数用途newcf创建级联前向BP网络newff创建前向BP网络logsigS型的对数函数tansigS型的正切函数purelin纯线性函数learngd基于梯度下降法的学习函数learngdm梯度下降动量学习函数mse均方误差函数traingd梯度下降BP算法函数traingdm梯度下降动量BP算法函数plotperf绘制误差曲面errsurf计算神经元的误差曲面RBF网络的常用函数如表:表3.3RBF网络的常用函数表函数名称函数用途newrb创建径向基网络newrbe创建准确的径向基网络dist计算欧几里得距离radbas实现径向基函数的传递mse均方误差函数4基于BP空气质量预测仿真研究4.1预测原理近年来,随着我国经济社会的快速发展,以煤炭为主的能源消耗大幅攀升,机动车数量急剧增加,沈阳地区氮氧化合物和挥发性有机物排放量显著增长,臭氧和细颗粒物污染加剧,可吸入颗粒物和总悬浮物污染还未全面解决的情况下,由于经济的发展,加之机动车迅猛增加,汽车尾气排放量加大,使得二氧化硫、二氧化氮、一氧化碳、PM2.5、PM10和臭氧等污染加重,雾霾现象频繁发生,能见度降低,环境空气质量评价以及污染治理等问题再一次引起大众的关注。通过污染物监测项目,加严部分污染物限值,客观反映我国环境空气质量状况,推动大气污染治理,并通过空气污染指数判断空气质量。近年来迅速发展的人工神经网络,由于具有人脑思维的特点和具有自学习、自适应及自组织的功能,应用于模式分类与识别有适应性强、客观性好的优点,已广泛地用于系统控制和预测等方面。通过运用人工神经网络的多层神经网络对大气污染物浓度的实测值及其相关因子进行训练学习,从而建立大气污染物浓度与其在大气中的限制因子的相关模型,再用此模型对大气污染物浓度进行预测预警,以达到对大气环境质量进行预测预警的作用。这里,我们用BP神经网络对空气质量指数进行预测。BP神经网络通过对以往历史数据的学习,找出空气污染指数的变化趋势之间的非线性关系,并将其存储在网络具体的权值和阈值中,从而对空气污染指数未来的走势进行预测。本文中,我们一共选取30组样本,其中23组样本作为训练样本,7组样本作为测试样本。通过BP神经网络模型对23组样本数据进行训练学习,使测试得到的数据尽可能地接近测试样本中的实际值以达到对空气质量指数预测的目的。4.2预测方法BP神经网络的训练学习过程包括如下两个阶段:(1)工作信号的正向传播,输入信号从输入层进入网络,经隐含层后,传向输出层,在输出端产生输出信号,在此期间,网络各神经元的权值和阀值保持不变,每一层神经元只影响下一层神经元的输入和状态,如果在输出端没有得到期望的输出值,网络即转入误差信号的反向传播过程[20]。(2)误差信号的反向传播,网络的实际输出与期望输出之间的差即误差信号,误差信号由输出端开始逐层回传,在此传播过程中,网络各神经元的权值和阀值由误差反馈按照一定的规则得以调整。以上两个阶段交替循环进行,通过各神经元权值和阀值的不断修正使网络的实际输出逐步接近期望的输出值。其中,在误差反向传播的过程中,各神经元权值和阈值的调整是误差反向传播的核心,调整权值的原则是使误差不断减小的过程。下面我们将详细讲解权值调整的算法。设含有共L层和n个节点的一个任意网络,每层单元只接受前一层的输出信息并输出给下一层各单元,各节点(有时称为单元)的特性为Sigmoid型(它是连续可微的,不同于感知器中的线性阈值函数,因为它是不连续的)。为简单起见,认为网络只有一个输出y。设给定N个样本(xk,yk)(k=1,2,...,N),任一节点i的输出为i,对某一个输入为xk,网络的输出为yk,节点i的输出为ik,现在研究第l层的第j个单元,当输入第k个样本时,节点j的输入为(2.1)(2.2)其中表示l-1层,输入第k个样本时,第j个单元节点的输出。采用的误差函数为 (2.3)其中为单元j的实际输出。总误差为(2.4)定义于是(2.5)下面分两种情况来讨论:(1)若节点j为输出单元,则(2.6)(2)若节点j不是输出单元,则(2.7)式中是送到下一层(l+1)层的输入,计算要从(l+1)层算回来。在(l+1)层第m个单元时(2.8)将式(3·8)代入式(3·7)中,则得(2.9)总结上述结果,有(2.10)因此,反向传播算法的步骤可概括如下:(1)选定权系数初值;(2)重复下述过程,直到误差指标满足精度要求,即::精度对k=1到N正向过程计算:计算每层单元的,和,k=2,...,N。反向过程:对各层(l=L-1到2),对每层各单元,计算。修正权值(2.11)(3)结束。这里,训练样本的顺序从一个回合到另一个回合必须是随机的。动量和学习率参数随着训练迭代次数的增加而调整(通常是减少的)。以上是BP神经网络基本的学习算法,梯度下降法。下面将介绍本文采用的算法—LM算法。LM算法与拟牛顿法一样,是为了在以近似二阶训练速率进行修正时避免计算Hessian矩阵而设计的。当误差性能函数具有平方和误差(训练前馈网络的典型误差函数)的形式时,Hessian矩阵可以近似表示为:(2.12)其中,J为Jacobian矩阵可以表示为梯度的计算表达式为(2.13)式中,H是雅可比矩阵,e是网络的误差向量。雅可比矩阵可以通过标准的前馈网络技术进行计算,比Hessian矩阵的计算要简单得多。类似于牛顿法,LM算法用上述近似Hessian矩阵按下式进行修正。(2.14)当系数μ为0时,上式采用牛顿法;当系数很大时,上式采用步长比较小的梯度下降法。牛顿法逼近最小误差更快更准,所以要使算法更加接近牛顿法。若是要实现误差最小,则应减小μ的值。LM算法适合训练中等规模的前馈网络,它对MATLAB的实现也一样可行,因为它的矩阵的计算在MATLAB中的实现方式是函数。4.3预测步骤用BP神经网络对空气质量指数进行预测可以分为神经网络的训练和预测两个部分,具体步骤如下:(1)选取训练样本数据构造训练样本。空气质量指数是一个很不稳定的动态变化的非线性系统,尾气、煤炭燃放等都影响着空气质量指数。因此,必须考虑到影响空气质量指数的各项因素,否则会降低网络的预测能力。另外,如果训练样本的个数选取太多有可能造成计算量巨大,训练过程难以拟合,可能导致最终预测失败;而选取样本过少有可能造成拟合误差过大。本次实例中,我们选取23组数据作为训练样本对空气质量指数进行预测。(2)对空气质量指数样本数据进行预处理。在进行神经网络预测之前,要对原始数据进行归一化处理,对于预测值,由于变化幅度较大,也不宜直接作为神经网络的输出,因此仍需进行必要的归一化。将数据规范在[0,1]之间,这样可以尽可能地平滑数据,从而消除预测结果的噪声。归一化是为了加快训练网络的收敛性,具体算法是:将输入输出数据变换为[0,1]区间的值常用以下变换式:(2.15)式中,代表输入或输出数据;代表数据变化范围的最小值;代表数据变化范围的最大值。将输入数据变换为[-1,1]区间的值常用以下变换式:(2.16)(2.17)其中,代表数据变化范围的中间值,按上述方法变换后,处于中间值的原始数据转化为零,而最大值和最小值分别转化为1和-1.当输入或输出向量中的某个分量值过于密集时,对其进行以上预处理可将数据点拉开距离。(3)构造训练样本。对空气质量指数进行预测的基础是空气质量指数的历史数据,这些数据主要是每日的二氧化硫、二氧化氮、一氧化碳、PM2.5、PM10和臭氧等。尽管从表面上看,这些数据并不能直接反映空气质量指数的内在规律,但是通过对它们进行简单的计算便可以得到相关的状态指标。(4)选用三层结构BP神经网络建立预测模型。第一层为输入层,输入训练样本,第二层为隐含层,第三层为输出层,输出最终结果,最终结果包括期望输出,预测输出,预测误差以及预测误差百分比。其中,隐层节点数对建立的神经网络模型的性能有重大影响,甚至关系到网络训练时是否出现“过适配”现象,然而,目前理论上还没有一种通用的科学方法来确定隐层的节点数,多数文献中提出的确定隐层节点数的计算方法为试凑法,可先设置较少的隐节点训练网络,然后逐渐增加隐节点数,用同一样本集进行训练,从中确定网络误差最小时对应的隐节点数。在用试凑法时,可以一些确定隐节点数的经验公式。这些公式计算出来的隐节点数只是一种粗略的估计值,可作为试凑法的初始值。下面介绍几个公式:(2.18)(2.19)式中,m为隐节点数;n为输入层节点数;l为输出节点数;α为1-10之间的常数。不过,这在实践中难以满足,实践中常常出现各种计算公式得到的隐层节点数相差较大,甚至达百倍。为了得到性能优异的网络拓扑结构,一般按照如下原则来确定隐层节点数:在保证精度要求的前提下使结构尽量紧凑,即让隐层节点数尽可能小。针对这一原则,目前有学者提出了动态的隐层节点数方案,该方案先根据性能要求逐步增加隐层节点数,然后随着训练进行逐步减少节点数以找到满足性能要求的最少节点数,该方案有一定的实现价值,但是也增加了学习过程的复杂性。理论研究和实践表明,隐层节点数主要与以下几个因素有关:(1)输入层节点数;(2)输出层节点数;(3)激励函数的形式;(4)问题的复杂程度。(5)训练网络。用设计好的BP神经网络对数据进行训练。在训练过程中,BP网络应用BP算法不断调整网络权值和阀值,使网络模型输出值与已知的训练样本输出值之间的误差平方和或者其他性能函数值不断减小,直至达到设定的停止训练要求,这些要求主要包括误差值达到某一设定的较小值、训练次数达到最大迭代次数以及误差保持不变等。在给定有限个训练样本数据的情况下,设计二个合理的BP网络模型,并通过所给的有限个样本的训练来满意地逼近样本所蕴含的规律,目前在很大程度上还需要依靠经验知识或者设计者个人的经验。在BP网络的训练过程中,为了达到较好亦或最优的网络性能,我们必须耐心的反复运用多种学习算法和训练方式,改变各个参数,对于特定问题,摸索出网络性能与各个变量之间的复杂关系,才有可能最终获得我们所期望的网络模型。(6)预测网络。对后7组数据进行预测,预测结束后,利用反归一化对数据进行处理,得到预测后的数据。(7)全局误差计算。设共有P对训练样本,网络对于不同的样本具有不同的误差,可将全部样本输出误差的平方进行累加再开方,作为总输出误差,也可用诸误差中的最大者代表网络的总误差,实用中更多采用均方根误差(2.20)(8)判断网络误差是否满足要求。当误差值将到预先设定的精度或者学习次数大于设定的最大次数时,则结束训练。否则,随机选取下一个学习样本,返回到第三步,转入下一轮学习过程。注意,以上算法步骤采取的是顺序训练方式,当采取批处理训练方式时,每次训练的样本是一批而不是一个,除此以外,训练学习步骤基本一致。因为每次初始化网络时都是随机的,而且训练终止的误差也不完全相同,结果训练后的权值和阈值也不完全相同(大致是一样的),所以每次训练后的结果也略有不同。找到比较好的结果后,用命令savefilenamenet_name保存网络,可使预测的结果不会发生变化,在需要的调用时用命令loadfilename载入。基本流程图如下图3.1所示:开始开始连接权及阈值初始化连接权及阈值初始化向网络提供学习模式对向网络提供学习模式对计算中间层各单元的输入、输出计算中间层各单元的输入、输出计算输出层各单元的输入、输出计算输出层各单元的输入、输出计算输出层各单元的校正误差计算输出层各单元的校正误差计算中间层各单元的校正误差计算中间层各单元的校正误差调整中间层至输出层之间的连接权及输出层各单元的输出阈值调整中间层至输出层之间的连接权及输出层各单元的输出阈值调整输入层至中间层之间的连接权及中间层各单元的输出阈值调整输入层至中间层之间的连接权及中间层各单元的输出阈值更新学习输入模式更新学习输入模式全部模式训练完No全部模式训练完更新学习次数Yes更新学习次数误差<e?误差<e?No学习结束Yes学习结束图3.1程序设计步骤框图4.4基于BP网络预测仿真实现首先建立预测模型,选用3层结构BP神经网络:输入层、一个隐含层和输出层,输入层的输入个数为5,隐含层个数为5,输出层个数为1。用23组数据进行训练,7组数据进行测试。输入样本数据,并对输入样本数据进行归一化:[inputn,inputps]=mapminmax(input_train);[outputn,outputps]=mapminmax(output_train);其中,inputn为归一化后的数据,inputps为归一化后的结构体,包含最大、最小、平均值等,可用于测试数据归一化及反归一化。input_train为训练的原始数据。数据进行归一化后的范围会在0-1之间,方便数据进行训练和预测。数据归一化后将对网络进行初始化创建一个前馈BP神经网络,调用格式为:net=newff(inputn,outputn,5);其中,inputn为输入数据,即影响空气质量指数的五个因素。outputn为输出数据,输出数据为综合五个影响空气质量因素而得到的空气质量指数。隐含层的个数最终选为5,在隐含层个数的选取过程中,首先利用隐含层个数计算公式得出隐含层个数初始值,然后利用试凑法对逐个数值进行测试,选取误差最小的隐含层个数作为最终的结果,本次仿真中,当隐含层个数为5时误差最小。在初始化网络中,创建函数为trainlm函数。trainlm函数采用Levenberg-Marquardt算法,对于中等规模的BP神经网络有最快的收敛速度,是系统默认的算法。由于其避免了直接计算赫赛矩阵,从而减少了训练中的计算量,但需要较大内存量。当创建函数为trainlm函数时,传递函数是随机的,权值和阈值也是随机的,没有进行初始化。初始化之后将对网络进行训练,建立BP网络模型。输入预测数据,对网络进行预测。预测结束后对输出数据进行反归一化。BPoutput=mapminmax('reverse',an,outputps);其中,an=sim(net,inputn_test)为网络的预测输出。反归一化后数据变为正常的数值,方便数值之间的比较。网络训练过程如图3.2所示:图3.2网络训练过程Epoch:训练次数,最大训练次数为10;Performance:训练误差(训练性能),最小误差为0.00001;Gradient:最小梯度为0.1;Validationchecks:错误验证,当错误次数达到6时,停止训练。训练结束后,显示训练BP网络预测输出图。BP网络预测输出如下图3.3所示:图3.3BP网络预测输出如图所示:蓝色实线为期望输出,绿色虚线为预测输出,红色实线为预测输出与期望输出相差的误差。图中所示,预测输出与期望输出的基本走势大致相同,红色实线在0附近较小幅度浮动,没有过大的误差产生,存在的误差相对较小,基本符合预测的标准,达到了基本的预测目的。由于网络的权值和阈值是随机分配的,所以每一次的预测输出的结果都是不相同的,本文选取了一个误差最小的结果作为最终的预测输出结果。显示BP网络预测误差输出,预测误差的输出为期望输出减去预测输出,程序代码如下所示:error=BPoutput-output_test;BP网路预测误差如下图3.4所示:图3.4BP网络预测误差如图所示:蓝色实线代表BP网络预测误差,误差的范围在-9至6之间,样本1的误差最小,样本2的误差最大在-8到-9之间,7个样本的误差均在允许误差范围之内。显示BP神经网络预测误差百分比输出,预测误差百分比为测试输出数据减去期望输出数据与期望输出数据的比值。BP神经网络预测误差百分比如下图3.5所示:图3.5BP神经网络预测误差百分比如图所示:蓝色折线表示BP神经网络预测误差的百分比,预测误差百分比在-0.06至0.1之间,7个样本的预测误差百分比均在允许预测误差百分比之内,预测误差百分比基本符合预测的基本要求,达到了预测的基本目的。预测总误差程序代码是:errorsum=sum(abs(error))预测的总误差errorsum为35.3138.总误差在允许预测误差之内,总误差基本符合预测的基本要求,达到了预测的基本目的。结论:BP神经网络具有很强的学习、联想和容错功能,具有高度非线性函数映射功能,将其应用于大气污染预报预测精度较高,泛化能力好;Matlab中的工具箱使BP网络的建立、训练以及仿真都变得非常简单,而且训练过程及效果非常直观,使神经网络应用于实际具有更大的可行性。以往报道的神经网络在大气环境预测领域的应用多是基于大气污染物含量与气象因素建立的网络,本文初步尝试采用历史时序数据建立网络,由于数据量有限,在使用更大数据集建立网络,去除原始数据噪声等对网络预报精度的影响方面还有待进一步研究。5基于RBF空气质量预测仿真研究5.1预测原理由于空气质量指数中的数据可以看做一个时间序列进行处理,因此这时假定有时间序列x={xi|xi∈Ri,i=1,2,…,L},现在通过序列的前N个值,预测M后个时刻的值。这里可以采用序列的前N个时刻的数据为滑动窗,并将其映射为M个值。这M个值在该窗之后的M个时刻上的预测值。如表所示,列出了数据的一种划分方法。该表把数据分为K个长度为N+M的有重叠的数据段,每一个数据段可以看做一个样本,这样就可得到K=L-(N+M)+1个样本。这样一来就可以将每个样本的前N个值作为RBF神经网络的输入,后M个值作为目标输出。通过学习,实现从RN到输出空间RM的映射,从而达到时间序列预测的目的。表5.1输入到输出的映射N个输入M个输出X1,L,XNXN+1,L,XN+MX2,L,XN+1XN+2,L,XN+M+1L,LL,LXK,L,XN+K-1XN+K,L,XN+M+K-1首先要做的是采集样本数据,本文的样本数据来源于沈阳某月的空气质量情况,选择30个数据作为本例的数据,即L=30。将23天的数据作为网络的输入向量。输出向量则为预测日当天的空气质量指数。因此,输入层的神经元个数N=7,输出层的神经元个数M=1,样本个数K=L-(N+M)+1=23个。实际上,无论采用多大的学习样本,网络的设计和训练过程都是一致的。唯一不同的是,通过大容量样本训练出来的网络其预报误差更小,外推能力也更强。使用的RBF网络模型是以MATLAB语言构建,利用其神经网络工具箱提供的新建、训练、模拟等函数可以方便地完成整个学习过程。由样本数据得到输入向量P与目标向量T(训练样本)。输入测试样本P_test,目标测试样本T_test(测试样本)。采用精确设计函数newrbe创建一个0误差的RBF神经网络,自动选择隐含层的数目。SPREAD=1;net=newrbe(P,T,SPREAD);SPREAD为径向基函数的分布密度。由于网络的建立过程就是训练过程,因此,此时得到的网络已经是训练好了的。然后对网络进行仿真,验证其预测误差。5.2预测算法RBF神经网络的学习算法需要求解的参数有3个:基函数中心、方差以及隐含层到输出层的权值。根据径向基函数中心选取的方法的不同,RBF网络有多种学习方法,如自组织选取中心法、梯度训练法、有监督选取中心法和正交最小二乘法等。本文主要介绍自组织选取中心法。自组织选取中心法由两个阶段组成:一是自组织学习阶段,此阶段为无导师学习过程,求解隐含层基函数的中心与方差;二是有导师学习阶段,此阶段求解隐含层到输出层之间的权值。径向基神经网络中常用的函数是高斯函数,因此径向基神经网络的激活函数可表示为(5.1)式中,为欧式范数;为高斯函数的中心;为高斯函数的方差。因此可以得到网络的输出为(5.2)式中,为第p个输入样本;,P为样本总数;为网络隐含层结点的中心;为隐含层到输出层的连接权值;为隐含层节点数;为与输入样本对应的网络的第j个输出结点实际输出。设d为样本的期望输出值,那么基函数的方差可表示为(5.3)求解方差的表达式为(5.4)式中,为所选取中心之间的最大距离。计算隐含层和输出层之间的权值,连接权值可以用最小二乘法直接计算得到,计算公式如下:(5.5)5.2.2基本步骤(1)网络初始化,对样本数据进行预处理。(2)用K-均值聚类算法求取RBF网络的中心。(3)将输入的训练样本集合按最近邻规则分组。(4)重新调整聚类中心。(3)用梯度下降法对每一个训练样本多次迭代训练RBF网络的输出层权值。(4)对空气质量指数进行“实时学习”式预测。RBF神经网络预测流程图如下图5.1所示:开始开始网络初始化网络初始化计算所有样本输入与聚类中心的距离计算所有样本输入与聚类中心的距离将输入的训练样本集合按最近邻规则分组将输入的训练样本集合按最近邻规则分组重新调整聚类中心重新调整聚类中心判断前后聚类中心是否相同No判断前后聚类中心是否相同结束结束图5.1RBF程序流程图5.2.3仿真实现RBF神经网络是局部逼近型网络,能以任意精度逼近连续非线性映射。由于样本的变动往往只涉及少数几个基函数中心和宽度的调整,权值修正工作量相对较小,因而比较适合用于动态的系统建模和模式分类。为此,选择RBF神经网络来对空气质量指数进行预测。首先用newrb函数建立RBF神经网络预测模型。其调用格式为:[net,tr]=newrb(inputn,outputn,Goal,Spread,MN,DF);其中,GOAL为训练精度,MN为神经元个数的最大值,DF为训练过程的显示频率,Spread为传播的径向基函数(扩展速度),Spread的值越大,拟合越平滑。但是,若Spread的值过大则需要非常多的神经元,而过小则会导致变化缓慢,网络性能不好。在选定Spread的过程中需要不断的尝试以确定最优的Spread值使网络的误差达到最小。本次仿真所采用的创建函数为newrb,当用newrb函数创建径向基网络时,开始是没有径向基神经元的,可以通过以下步骤逐渐增加径向基神经元的数目:(1)输入所有样本对网络进行仿真。(2)找到误差最大的一个输入样本。(3)增加一个径向基神经元,其权值等于该样本输入向量的转置。(4)以径向基神经元输出的点积作为线性网络层神经元的输入,重新设计线性网络层,使其误差最小。(5)当均方误差未达到规定的误差性能指标,且神经元的数目未达到规定的上限值时,重复以上步骤,直至网络的均方误差达到规定的误差性能指标,或神经元的数目达到规定的上限值。可以看出,创建径向基网络时,newrb函数是逐渐增加径向基神经元数目的,所以可以获得更小规模的径向基网络。RBF网络预测输出图5.1如下所示:图5.1BP网络预测输出如图所示:蓝色实线代表期望输出,绿色虚线代表预测输出,红色实线代表期望输出与预测输出的误差。图中所示,预测输出与期望输出的基本走势大致相同,存在的误差相对较小,基本符合预测的标准,达到了基本的预测目的。RBF神经网络模型的输出值是固定的不存在BP网络的不确定性。RBF网络预测误差图5.2如下所示:图5.2RBF网络预测误差如图所示:误差的范围在-12至16之间,样本4的误差最小,样本1的误差最大在15到16之间,7个样本的误差均在允许误差范围之内。显示RBF网络预测误差百分比输出,BP神经网络预测误差百分比如图5.3所示:图5.3RBF神经网络预测误差百分比如图所示:蓝色折线表示BP神经网络预测误差的百分比,预测误差百分比在-0.1至0.15之间,7个样本的预测误差百分比均在允许预测误差百分比之内,预测误差百分比基本符合预测的基本要求,达到了预测的基本目的。预测的总误差errorsum为54.2064.总误差在允许预测误差之内,总误差基本符合预测的基本要求,达到了预测的基本目的。5.3BP与RBF神经网络预测仿真比较BP与RBF神经网络预测输出对比图如下图5.4所示:图5.4RBF与BP网络预测输出对比图如图所示:蓝色实线为期望输出,绿色实线为BP网络误差,绿色虚线为BP网络预测输出,红色实线为RBF网络误差,红色虚线为RBF网络预测输出。由图可以看出,红色虚线即RBF网络预测输出比绿色虚线即BP网络预测输出更贴近蓝色实线即期望输出。RBF网络和BP网络一样能以任意精度逼近任何非线性函数。但由于它们使用的激励函数不同,其逼近性能也不相同。RBF网络是连续函数的最佳逼近,而BP网络不是。由于BP算法的固有特性,BP网络容易陷入局部极小的问题不可能从根本上避免,并且BP网络隐层节点数目的确定依赖于经验和试凑,很难得到最优网络。而且RBF网络的训练时间要小于BP网络的训练时间。BP与RBF网络预测误差对比图:图5.5BP与RBF网络误差对比图如图所示:蓝色实线为BP网络预测误差,绿色虚线为RBF网络预测误差。由图可以看出,RBF网络预测的整体误差要小于BP网络预测的整体误差。RBF网络的收敛性比BP网络更易于保证,因此可以得到最优解。结论在理论上.RBF网络和BP网络一样是一种能以任意精度逼近任何非线性函数的网络模型。但由于它们激励函数的不同选取,使其在逼近性能方面也不相同。Poggio和Girosi已经证明,RBF网络作为连续函数逼近有着最佳的效果,而BP网络则不是。BP网络使用了具有全局特性的Sigmoid函数,它的输入值内的每个节点在最大范围内都对输出值产生影响,并且在输入值的很大范围内激励函数相互重叠,因而相互之间产生影响,因此BP网络训练时间很长。除此之外,由于BP算法具有的固有特性,BP网络容易陷入不可能从根本上避免的局部极小问题,并且BP网络依赖于经验和试凑确定隐层节点数目,不容易得到最优网络。RBF网络采用局部激励函数在很大程度上克服了上述缺点,RBF网络不仅有良好的泛化能力,而且对于每个只有很少几个节点的输入值具有非零激励值,因此只需改变很少部分节点及权值。学习速度是通常的BP算法的上千倍,容易适应新数据,在训练过程中确定隐层节点的数目,也可以使其收敛性较BP网络易于保证,因此可以得到最优解。从上面所示的结果来看,主要有以下几方面的不同:(1)由于固定的学习速率,因此BP网络在需要处理较复杂的问题时,训练过程较长,需要的时间也很长。而RBF网络的训练过程即是建网过程,训练时间较少,精度也比较高。(2)在处理同一问题时,通常在神经网络个数方面BP网络少于RBF网络。(3)BP网络的初始权值和输出有关,而RBF网络则无关。(4)BP网络隐含层的层数和单元数的选择要凭借经验反复验证,因此网络的冗余性比较大。RBF隐层节点的数目也在训练过程中确定,但是要确定径向基函数的分布密度。BP网络和RBF网络各有优点,在实际选取神经网络模型进行预测时,可以根据实际的要求选取适合的神经网络进行预测,以达到最好的预测效果。致谢 历时半载,从论文选题到搜集资料,从开题报告、写初稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。论文能够顺利完成首先要感谢郭海峰老师对我的帮助,若是没有老师的热心帮助我的工作也不会如此顺利。本课题在选题及研究过程中得到郭老师的亲切关怀和悉心指导下完成的。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,郭老师都始终给予我细心的指导和不懈的支持。郭老师不仅在学业上给我以精心指导,同时还在思想、生活上给我以无微不至的关怀,在此谨向郭老师致以诚挚的谢意和崇高的敬意。渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。在此,谨向指导老师郭海峰表示崇高的敬意和衷心的感谢!在毕业设计过程中,也得到了许多同学的帮助,在此也对他们表示真诚的感谢!最后,对给过我帮助的所有同学和指导老师再次表示衷心的感谢!参考文献[1]郑君里,杨行峻.人工神经网络[M].高等教育出版社.1992:17-235.[2]王彬.MATLAB数字信号处理[M].机械工业出版社.2010:123-211.[3]朱大奇.人工神经网络研究现状及其展望[N].江南大学学报,2004:103-108.[4]闻新.MATLAB神经网络应用设计[M].科学出版社.2001:55-102.[5]王卓,王艳辉,贾利民,李平.改进的BP神经网络在铁路客运量时间序列预测中的应用[J].中国铁道科学.2005,2:1-23.[6]崔德光,吴淑宁,徐冰.空中交通流量预测的人工神经网络和回归组合方法[J].清华大学学报(自然科学版).2005,1:12-18.[7]凌浩.用BP神经网络预测下游交叉口进口交通量[J].科学出版社.2005,1:35-56[8]马锐.人工神经网络原理[M].机械工业出版社.2010:156-233.[9]韩力群.人工神经网络理论设计及应用[M].化学工业出版社.2002:97-132.

[10]刘永,张立毅.BP网络与RFB神经网络的实现及其性能比较[J].电子测量技术研究设计.2007,2:77-80.[11]Prideaux.TheRoleoftheTransportSysteminDestinationDevelopment[J].TourismManagement.2005,6:320-350.[12]ShiliangSun.TheSelectiveRandomSubspacePredictorforTrafficFlowForecasting[J].IEEETransactionsonIntellgentTransportationSystems.2007,1:1-12.[13]FengJin,ShiliangSun.NeuralNetworkMultitaskLearningforTrafficFlowForecasting[J].InternationalJointConferenceonNeuralNetworks.2008,3:3-11.[14]JolliffeIT.PrincipalComponentAnalysis[J].TransportationResearchB.2009,1:3.14.[15]Z.Huang,Z.S.Chalabi.Useoftime-seriesanalysistomodelandforecastwindspeed[J].JournalofWindEngineering&IndustrialAerodynamics.2005,2:45-78.[1

温馨提示

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

评论

0/150

提交评论