BP神经网络预测空气质量指数毕业设计

上传人:沈*** 文档编号:89258479 上传时间:2022-05-12 格式:DOC 页数:62 大小:514KB
返回 下载 相关 举报
BP神经网络预测空气质量指数毕业设计_第1页
第1页 / 共62页
BP神经网络预测空气质量指数毕业设计_第2页
第2页 / 共62页
BP神经网络预测空气质量指数毕业设计_第3页
第3页 / 共62页
点击查看更多>>
资源描述
沈阳理工大学学士学位论文 摘 要 空气质量指数的大小可以用来反应空气质量的好坏,而空气质量指数主要受PM2.5,PM10,一氧化碳,二氧化氮及二氧化硫等多种污染物的浓度影响,使得空气质量指数问题具有很大的不确定性和一定的复杂性。神经网络作为一种描述和刻画非线性的强有力工具,具有较强的自学习、自组织、自适应能力等特点,特别适合于对具有多因素性、不确定性、随机性、非线性和随时间变化特性的对象进行研究。本文基于神经网络BP算法和RBF算法,利用MATLAB神经网络工具箱建立空气质量指数模型并对空气质量指数进行预测。计算结果表明BP和RBF模型应用于大气污染预报具有较高的预测精度和良好的泛化能力,它为信息社会的城市空气污染预报工作提供了一种全新的思路和方法。而通过BP和RBF算法的比较,更好的展现了神经网络在预测方面应用的可行性。同时表明这两种方法具有一定的客观性和积极性。关键词:空气质量指数;BP神经网络;RBF神经网络;MATLAB;预测AbstractThe size of the air quality index can be used to response the air quality, and the air quality index mainly due to PM2.5, PM10, carbon monoxide, nitrogen dioxide, sulfur dioxide and other factors, makes the issue of air quality is a great uncertainty and a certain degree of complexity. Neural network description and characterization as a powerful tool for non-linear phenomenon, with strong self-learning, self-organization, the characteristics of adaptive capacity, especially suitable for factor, uncertainty, randomness, non-linear and time-varying characteristics of the object of research. This design bases on the BP neural network algorithm and RBF neural network algorithm, using MATBLB neural network toolbox to establish air quality model and forecast the air quality index. The computation results showed that the BP model had good quality on forecasting precision and generalization ability. Besides,it provided a new method for urban air pollution forecasting. Through the comparison of BP and RBF algorithm, showing the feasibility of neural network in the prediction aspect better, and achieved good results which indicate the objectivity and enthusiasm of the design. Key words: Air quality index; BP neural network ;RBF neural network; MATLAB; Forecast 目录1 绪论11.1课题的研究背景及意义11.2神经网络的发展与研究现状21.3课题设计路线及主要工作32 神经网络简介42.1 BP神经网络简介42.1.1 BP神经网络的定义42.1.2 BP神经网络的基本原理42.1.3 BP神经网络的应用52.1.4 BP神经网络的优点及局限性52.2 RBF神经网络简介62.2.1 RBF神经网络的定义62.2.2 RBF神经网络的基本原理72.2.3 RBF神经网络的特点72.2.4 RBF神经网络的优点及局限性82.3 模糊神经网络简介102.3.1 模糊神经网络定义102.3.2 模糊神经网络基本形式102.3.3 模糊神经网络的发展动向及用途103 开发软件简介123.1 MATLAB发展历程123.2 MATLAB的语言特点133.3 MATLAB的基本功能及应用154 基于BP神经网络预测仿真研究184.1 预测原理184.2 预测方法184.3 预测步骤214.4基于BP网络预测仿真实现265 基于RBF神经网络预测仿真研究305.1 预测原理305.2 预测算法315.2.2基本步骤325.2.3仿真实现335.3 BP与RBF神经网络预测仿真比较35结论37致谢38参考文献39附录A 英文原文41附录B 英文原文译文50附录C 程序代码56BP网络程序代码56RBF网络程序代码58IVI1 绪论1.1课题的研究背景及意义作为一种能够模仿动物神经网络行为特征的人工神经网络(Artificial Neural Networks, ANN),能够按照分布式并行方式进行信息处理,依靠系统的复杂程度,通过调整在内部存在的大量节点之间相互连接的关系,达到处理信息的目的。人工神经网络有能力自学习和自适应,可以根据对应的一组预先设置的输入 - 输出数据,分析掌握其中的规律,最终根据这些规律,用新的输入数据,以计算输出其结果,这种分析的过程被称为“训练”。人工神经网络就是一种模拟人思维的方式,它是一个非线性动力学系统,其信息的分布式存储和并行协同处理是它的特色。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的1。通过近年来对人工神经网络的研究,可以看出神经网络的研究目的和意义有以下三点: (1)通过揭示物理和认知平面间的映射关系,了解它们相互作用和相互联系的机理,从而揭示思维的本质,探索智能的根本。 (2)争取构造出的计算机可以与人脑具有相似功能,即神经网络计算机。 (3)人工神经网络在研究仿照脑神经系统方面,会在组合优化、模式识别和决策判断等方面取得传统计算机难以达到的效果。人工神经网络是由大量的、简单的处理单元(称为神经元)广泛地互相连接而形成的复杂网络系统,它反映了人脑功能的许多基本特征,是一个高度复杂的非线性动力学系统2。神经网络具有大规模并行、分布式存储和处理、自组织、自适应和自学习能力,特别适合处理需要同时考虑许多因素和条件的、不精确和模糊的信息处理问题。神经网络的发展与神经科学、数理科学、认知科学、计算机科学、人工智能、信息科学、控制论、机器人学、微电子学、心理学、微电子学、心理学、光计算、分子生物学等有关,是一门新兴的边缘交叉学科3。MATLAB是一种科学与工程计算的高级语言,广泛地运用于包括信号与图像处理,控制系统设计,系统仿真等诸多领域。为了解决神经网络问题中的研究工作量和编程计算工作量问题,目前工程领域中较为流行的软件MATLAB,提供了现成的神经网络工具箱(Neural Network Toolbox,简称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.1 BP神经网络简介2.1.1 BP神经网络的定义BP网络(BackPropagation),是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一8。BP网络能学习和存贮大量的输入- 输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hidelayer)和输出层(outputlayer)。BP学习算法是训练人工神经网络的基本方法,它也是一个非常重要且经典的学习算法,其实质是求解误差函数的最小值问题,利用它可以实现多层前馈神经网络权值的调节9。这种学习算法的提出对人工神经网络发展起了很大的推动作用。2.1.2 BP神经网络的基本原理BP网络是一种多层前馈神经网络,由输入层、隐层和输出层组成。图2.1为一个典型的三层BP网络的拓扑结构,层与层之间采用全互连方式,同一层之间不存在相互连接,隐层可以有一层或多层。层与层之间有两种信号在流通:一种是工作信号(用实线表示),它是施加输入信号后向前传播直到在输出端产生实际输出的信号,是输入和权值的函数。另一种是误差信号(用虚线表示),网络实际输出与期望输出间的差值即为误差,它由输出端开始逐层向后传播。BP网络的学习过程程由前向计算过程和误差反向传播过程组成。在前向计算过程中,输入量从输入层经隐层逐层计算,并传向输出层,每层神经元的状态只影响下一层神经元的状态。如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号沿原来的连接通路返回,逐次调整网络各层的权值和阈值,直至到达输入层,再重复向计算10。这两个过程一次反复进行,不断调整各层的权值和阈值,使得网络误差最小或达到人们所期望的要求时,学习过程结束。输出层输入层 图2.1典型Bp网络模型BP算法是在导师指导下,适合于多层神经元网络的一种学习,它是建立在梯度下降法的基础上的。理论证明,含有一个隐含层的BP网络可以实现以任意精度近似任何连续非线性函数。2.1.3 BP神经网络的应用目前,在人工神经网络的实际应用中,绝大部分的神经网络模型都采用BP神经网络及其变化形式。它也是前向网络的核心部分,体现了人工神经网络的精华。BP网络主要用于以下四方面。 (1)函数逼近:用输入向量和相应的输出向量训练一个网络以逼近一个函数。 (2)模式识别:用一个待定的输出向量将它与输入向量联系起来。 (3)分类:把输入向量所定义的合适方式进行分类。 (4)数据压缩:减少输出向量维数以便传输或存储。本文主要研究的是BP神经网络在预测方面的应用,其实质上就是求解函数逼近问题,给出训练样本使BP神经网络对其进行训练,然后给出测试样本使训练出的数值尽可能地逼近实际值,越逼近实际值预测效果便越好。2.1.4 BP神经网络的优点及局限性BP神经网络最主要的优点是具有极强的非线性映射能力。理论上,对于一个三层和三层以上的BP网络,只要隐层神经元数目足够多,该网络就能以任意精度逼近一个非线性函数。其次,BP神经网络具有对外界刺激和输入信息进行联想记忆的能力。这是因为它采用了分布并行的信息处理方式,对信息的提取必须采用联想的方式,才能将相关神经元全部调动起来。BP 神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息。这种能力使其在图像复原、语言处理、模式识别等方面具有重要应用。再次,BP 神经网络对外界输入样本有很强的识别与分类能力。由于它具有强大的非线性处理能力,因此可以较好地进行非线性分类, 解决了神经网络发展史上的非线性分类难题。另外,BP 神经网络具有优化计算能力。BP神经网络本质上是一个非线性优化问题, 它可以在已知的约束条件下,寻找一组参数组合,使该组合确定的目标函数达到最小。基于BP算法的神经网络从运行过程中的信息流向来看,它是前馈型网络。这种网络仅提供许多具有简单处理能力的神经元的复合作用使网络具有复杂的非线性映射能力而没有反馈,因此它不属于一个非线性动力学系统,而只是一个非线性映射。尽管如此,由于它理论上的完整性和应用的广泛性,所以它仍然有重要的意义,但它也存在着不少问题11。 (1)BP算法按照均方误差的梯度下降方向收敛,但均方误差的梯度曲线存在不少局部和全局最小点,这就使得神经网络易陷入局部极小(local minima); (2)BP学习算法的收敛速度很慢,可能会浪费大量时间; (3)网络的隐含节点数的选取尚缺少统一而完整的理论指导(即没有很好的解析式来表示); (4)已学习好的网络的泛化能力较差。2.2 RBF神经网络简介2.2.1 RBF神经网络的定义径向基函数(Radial Basis Function ,RBF)是多维空间插值的传统技术,由Powell 于1985 年提出。1988 年,Broomhead 和Lowe 根据生物神经元具有局部响应这一特点, 将RBF 引入到神经网络设计中,产生了RBF 人工神经网络。1989 年,Jackson 论证了RBF 人工神经网络对非线性连续函数的一致逼近性能由于RBF 人工神经网络输出层是对隐含层的线性加权, 使得该网络避免了像BP 网络那样繁琐冗长的计算,具有较高的运算速度和外推能力,同时使得网络有较强的非线性映射功能12。因此,被广泛应用于时间序列分析、模式识别、非线性控制和图像处理等领域。2.2.2 RBF神经网络的基本原理径向基函数(RBF)神经网络是前馈神经网络,与BP 网络相比,RBF 网络不仅有生理学基础,而且结构更加简洁,学习速度也更快。RBF 人工神经网络一般由三层组成: 输入层、隐含层、输出层,如图2.2所示。它只有一个隐含层, 输出单元是线性求和单元,即输出是各隐单元的加权求和,隐单元的转移函数用径向基函数(Radial Basis Function ,RBF),输入单元和隐单元的连接权值固定为1, 只有隐单元和输出单元的连接权值可调13。输入层神经元隐层神经元输出层神经元 网络连接网络连接 图2.2 RBF 人工神经网络结构可以把RBF 看成对未知函数F(x)的逼近器,一般任何函数都可以表示成一组基函数的加权和,这相当于选择各隐单元的作用函数构成一组基函数用于近似F(x)。由模式识别理论可知,在低维空间非线性可分问题总可以映射到一个高维空间, 使其在高维空间中线性可分。在RBF 网络中,输入单元到隐单元的映射为非线性的, 而隐单元到输出单元则是线性的, 因而可以把输出单元部分看做一个单层感知器,这样,只有适当选择隐单元数(高维空间的维数)及其作用函数,就可以把原来的问题映射为一个线性可分问题,从而可用一个线性单元解决问题14。2.2.3 RBF神经网络的特点RBF神经网络是一种性能优良的前馈型神经网络,RBF网络可以任意精度逼近任意的非线性函数,且具有全局逼近能力,从根本上解决了BP网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快15。RBF网络和模糊逻辑能够实现很好的互补,提高神经网络的学习泛化能力。 RBF网络的特点: (1)前向网络。 (2)隐单元的激活函数通常为具有局部接受域的函数,即仅当输入落在输入空间中一个很小的指定区域中时,隐单元才作出有意义的非零响应。因此,RBF网络有时也称为局部接受域网络(Localized Receptive Field Network)。 (3)RBF网络的局部接受特性使得其决策时隐含了距离的概念,即只有当输入接近RBF网络的接受域时,网络才会对之作出响应。这就避免了BP网络超平面分割所带来的任意划分特性。 在RBF 网络中,输入层至输出层之间的所有权重固定为1,隐层RBF单元的中心及半径通常也预先确定,仅隐层至输出层之间的权重可调。RBF网络的隐层执行一种固定不变的非线性变换,将输入空间Rn映射到一个新的隐层空间 Rh,输出层在该新的空间中实现线性组合。显然由于输出单元的线性特性,其参数调节极为简单,且不存在局部极小问题。 (4)另外,研究还表明,一般RBF网络所利用的非线性激活函数形式对网络性能的影响并非至关重要,关键因素是基函数中心的选取。2.2.4 RBF神经网络的优点及局限性 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.1 MATLAB发展历程20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Little、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。 版本更新如下表2.1所示:表3.1 MATLAB历年版本统计版本建造编号发表时间版本建造编号发布时间MATLAB 1.01984MATLAB 7.0R14SP22005MATLAB 21986MATLAB 7.1R14SP32005MATLAB 31987MATLAB 7.2R2006a2006MATLAB 3.51990MATLAB 7.3R2006b2006MATLAB 41992MATLAB 7.4R2007a2007MATLAB 4.2R71994MATLAB 7.5R2007b2007MATLAB 5.0R81996MATLAB 7.6 R2008a2008MATLAB5.1R91997MATLAB 7.7R2008b2008MATLAB 5.1.1R9.11997MATLAB 7.8R2009a2009MATLAB 5.2R101998MATLAB 7.9R2009b2009MATLAB 5.2.1R10.11998MATLAB 7.10 R2010a2010MATLAB 5.3R111999MATLAB 7.11R2010b2010MATLAB 5.3.1R11.11999MATLAB 7.12R2011a2011 续表3.1MATLAB 6.0R122000MATLAB 7.13R2011b2011MATLAB 6.1R12.12001MATLAB 7.14R2012a2012MATLAB 6.5R132002MATLAB 7.15R2012b2012MATLAB 6.5.1R13SP12003MATLAB 8.1R2013a2013MATLAB 6.5.2R13SP22003MATLAB 8.2R2013b2013MATLAB 7R142004MATLAB 8.3R2014a2014MATLAB 7.0.1R14SP12004MATLAB 8.4R2014b20143.2 MATLAB的语言特点 一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点。正如同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里,用户无需对矩阵预定义就可使用。 (5)程序的可移植性好,基本不做修改就可以在各种型号的计算机和操作系统上运行。 (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的命令窗口中输入命令heip nnet,便可以得到神经网络工具箱有关函数列表和版本信息。目前,神经网络工具箱中主要提供的神经网络模型类别有BP网络、RBF网络、感知器网络、自组织映射、动态网络和向量量子化网络。这些神经网络模型主要在信息处理和预测、函数逼近和模型拟合、神经网络控制和故障诊断有所应用。在MATLAB R2008b神经网络工具箱中有许多BP网络和RBF网络分析与设计的函数,BP网络的常用函数如表3.2所示:表3.2 BP网络的常用函数表函数名称函数用途newcf创建级联前向BP网络newff创建前向BP网络logsigS型的对数函数tansigS型的正切函数purelin纯线性函数learngd基于梯度下降法的学习函数learngdm梯度下降动量学习函数mse均方误差函数traingd梯度下降BP算法函数traingdm梯度下降动量BP算法函数plotperf绘制误差曲面errsurf计算神经元的误差曲面 RBF网络的常用函数如表:表3.3 RBF网络的常用函数表函数名称函数用途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)将式(38)代入式(37)中,则得 (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网络模型,并通过所给的有限个样本的训练来满意地逼近样本
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!