毕业设计(论文)基于神经网络的空气质量检测.doc
《毕业设计(论文)基于神经网络的空气质量检测.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于神经网络的空气质量检测.doc(22页珍藏版)》请在三一办公上搜索。
1、 本科生毕业论文(设计)题目 基于神经网络的空气质量检测 姓名 学号 院系 电气信息与自动化学院 专业 自动化 指导教师 职称 讲师 2009 年 5 月 20 日曲阜师范大学教务处制目录摘要1关键词2ABSTRACT2KEY WORDS2引言21 BP神经网络概述31.1 基本原理31.2 BP算法学习过程42 空气质量检测模型的建立62.1样本数据62.1.1收集和整理分组62.1.2输入/输出变量的确定及其数据的预处理72.2神经网络拓扑结构的确定72.2.1隐层数72.2.2隐层节点数72.3神经网络的训练82.4神经网络模型参数的确定102.4.1隐层的数目102.4.2隐层神经元数
2、的选择102.4.3 学习率和动量因子132.4.4 初始权值的选择132.4.5 收敛误差界值Emin132.4.6输入数据的预处理133 MATLAB实现和结果分析143.1 MATLAB神经网络工具箱的应用143.2 基于MATLAB的BP算法的实现过程143.3训练神经网络154结语23致谢23参考文献23基于神经网络的空气质量检测05级自动化 指导教师 摘要:空气质量的好坏反映了空气污染程度,它是依据空气中污染物浓度的高低来判断的。污染物浓度由于受风向、风速、气温、湿度、污染源排放情况等多种因素的影响,使得空气质量问题具有很大的不确定性和一定的复杂性。神经网络作为一种描述和刻画非线性
3、的强有力工具,具有较强的自学习、自组织、自适应能力等特点,特别适合于对具有多因素性、不确定性、随机性、非线性和随时间变化特性的对象进行研究。本文基于神经网络的BP算法,利用MATLAB神经网络工具箱建立了空气质量模型。文中,采用MATLAB 的rand()函数在各级评价标准内按随机均匀分布方式内插生成训练样本和检验样本,利用premnmx()函数对数据进行预处理,调用激活函数对网络权值进行训练,并同其他评价方法比较,取得了良好的评价结果。同时表明此方法具有一定的客观性和积极性。关键词:BP神经网络;空气质量; MATLAB神经网络工具箱The detection of air quality
4、based on neural network Student majoring in automation Zang Pengjuan Tutor Shi LihongAbstract:The quality of air quality reflects the extent of air pollution, which is based on the concentration of pollutants in the air to determine the level of the air. Concentration of pollutants due to wind direc
5、tion, wind speed, air temperature, humidity, pollutant emissions 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-
6、organization, the characteristics of adaptive capacity, especially suitable for multi-factor, uncertainty, randomness, non-linear and time-varying characteristics of the object of research. This design bases on the BP neural network algorithm, using MATLAB neural network toolbox to establish air qua
7、lity model. In this text, using the MATLABs rand () function at all levels within the evaluation criteria uniformly distributes random interpolation methods to generate training samples and the samples tested. Then the paper uses premnmx () function on the data pre-processing, and transfers activati
8、on function of network weights training and compares with other evaluation methods, and achieved good results which indicate the objectivity and enthusiasm of the design.Key words:BP neural network; Air quality; MATLAB neural network toolbox引言神经网络(又称人工神经网络,Neural Networks),是由众多简单的神经元连接而成的一个网络,通过模拟人脑
9、细胞的分布式工作特点和自组织功能实现并行处理、自学习和非线性映射等功能。尽管每个神经元结构、功能都不复杂,但网络的整体动态行为却是极为复杂的,可以组成高度非线性动力学系统,从而可以表达很多复杂的物理系统。神经网络作为一种描述和刻画非线性现象的强有力工具,具有较强的自学习、自组织、自适应能力等特点,特别适合于对具有多因素性、不确定性、随机性、非线性和随时间变化特性的对象进行研究5。 神经网络在环境科学与工程中的应用如环境质量评价、环境系统因素预测、环境因素定量关系模拟、构效分析、成因分析和污染防治系统建模已取得了令人瞩目的进展。空气质量预报主要是依靠环境空气质量自动监测系统连续不断地实时监测数据
10、,并自动传输到控制室,经数据处理后得出当天的空气污染指数,再向社会公布。自动监测系统每4分钟就产生一组监测数据,连续不断地测量,然后计算出小时均值和日均值,一般来说,日均值是采用上一天中午12时到次日12时的数据。根据环境空气质量标准和各项污染物对人体健康和生态的影响来确定各级污染物浓度的限值,详细请参照附录表一:中华人民共和国国家标准空气质量标准(GB3095-1996)各项污染物的浓度限值(1999年)。环境空气质量由于受风向、风速、气温、湿度、污染源排放情况等多种因素的影响,使得环境空气质量问题具有很大的不确定性。论文将BP神经网络应用到环境空气质量当中,利用MATLAB的神经网络工具箱
11、训练网络,建立起了环境空气质量检测模型。 1 BP神经网络概述1.1 基本原理BP神经网络是一种利用误差反向传播算法的人工神经网络,具有很强的自学习自适应抗干扰能力。其网络结构由输入层中间层(隐层)和输出层构成,输入层接收到的信号经过隐层激活放大后再由输出层,信号传递时每一层神经元通过权值只影响下一层神经元的状态,结构模型图如图1 图1 BP神经网络结构模型图其基本原理是:先从基础数据中给出有代表性的网络输入信号(即训练样本),并根据所要关心的具体问题构造出期望的目标信号(教师样本)输入网络,然后在网络学习和自适应过程中,通过输入信号在正向的激活放大传播和误差的反向传播,不断修改和调整各层神经
12、元的连接权值,使输出信号与期望目标输出信号间的误差减至最小,当其值小于某一给定值时,即认为完成或训练好该神经网络,在此基础上将进行下一步的预测或拟合。1.2 BP算法学习过程BP算法学习过程由信号的正向传播与误差的反向传播两个过程组成。设输入为P,输入神经元有r个,隐含层内有s1个神经元,激活函数为F1,输出层内有s2个神经元,对应的激活函数为F2,输出为A,目标矢量为T。(一)正向传播:输入样本输入层各隐层(处理)输出层1) 隐含层中第i个神经元的输出为:2) 输出层第k个神经元的输出为:3) 定义误差函数为:注1:若输出层实际输出与期望输出(教师信号)不符,则转入2)(误差反向传播过程)(
13、二)误差反向传播2:输出误差(某种形式)隐层(逐层)输入层1) 输出层的权值变化对从第i个输入到第k个输出的权值,有:其中:同理可得:2) 隐含层权值变化对从第j个输入到第i个输出的权值,有:其中:同理可得:在MATLAB工具箱中,上述公式的计算均已编成函数的形式,通过简单的书写调用即可方便地获得结果。误差反向传播过程实际上是通过计算输出层的误差,然后将其与输出层激活函数的一阶导数相乘来求得。由于隐含层中没有直接给出目标矢量,所以利用输出层的进行误差反向传递来求出隐含层权值的变化量。然后计算,并同样通过将与该层激活函数的一阶导数相乘,而求得,以此求出前层权值的变化量。如果前面还有隐含层,沿用上
14、述同样方法依此类推,一直将输出误差一层一层的反推算到第一层为止。注2:权值调整的过程,也就是网络的学习训练过程(这也就是学习的由来权值调整)。BP神经网络的学习训练流程图,如图2开始初始化,给出一组训练样本,并对阈值和各连接权值分别赋初值输入训练样本前向传播:分别计算隐层和输出层各神经元的输出计算输出层上各神经元的值,并调整该层上神经元的输出反向传播:逐层计算各神经元的值,调整各连接权值和阈值结束E满足要求?图2 BP神经网络算法流程图2 空气质量检测模型的建立2.1样本数据72.1.1收集和整理分组采用BP神经网络方法建模的首要和前提条件是有足够多典型性好和精度高的样本。而且,为监控训练(学
15、习)过程使之不发生“过拟合”和评价建立的网络模型的性能和泛化能力,必须将收集到的数据随机分成训练样本、检验样本(10%以上)和测试样本(10%以上)3部分。此外,数据分组时还应尽可能考虑样本模式间的平衡。2.1.2输入/输出变量的确定及其数据的预处理一般地,BP网络的输入变量即为待分析系统的内生变量(影响因子或自变量)数,一般根据专业知识确定。若输入变量较多,一般可通过主成份分析方法压减输入变量,也可根据剔除某一变量引起的系统误差与原系统误差的比值的大小来压减输入变量。输出变量即为系统待分析的外生变量(系统性能指标或因变量),可以是一个,也可以是多个。一般将一个具有多个输出的网络模型转化为多个
16、具有一个输出的网络模型效果会更好,训练也更方便。由于BP神经网络的隐层一般采用Sigmoid转换函数,为提高训练速度和灵敏性以及有效避开Sigmoid函数的饱和区,一般要求输入数据的值在01之间。因此,要对输入数据进行预处理。一般要求对不同变量分别进行预处理,也可以对类似性质的变量进行统一的预处理。如果输出层节点也采用Sigmoid转换函数,输出变量也必须作相应的预处理,否则,输出变量也可以不做预处理。预处理的方法有多种多样,各文献采用的公式也不尽相同。但必须注意的是,预处理的数据训练完成后,网络输出的结果要进行反变换才能得到实际值。再者,为保证建立的模型具有一定的外推能力,最好使数据预处理后
17、的值在0.20.8之间。2.2神经网络拓扑结构的确定2.2.1隐层数一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向。Hornik等早已证明:若输入层和输出层采用线性转换函数,隐层采用Sigmoid转换函数,则含一个隐层的MLP网络能够以任意精度逼近任何有理函数。显然,这是一个存在性结论。这实际上已经给了我们一个基本的设计BP网络的原则,应优先考虑3层BP网络(即有1个隐层)。实际上误差精度的提高可以通过增加隐含层中神经元数目来获得,其训练效果要比增加隐层数更容易观察和实现。所以一般情况下,应优先考
18、虑增加隐含层中的神经元数。另外一个问题:能不能仅用具有非线性激活函数的单层网络来解决问题呢?结论是:没有必要或效果不好。因为能用单层非线性网络解决的问题,用自适应线性网络一定也能解决,而且自适应线性网络的运算速度还更快。而对于只能用非线性函数解决的问题,单层精度又不够高,也只有增加层数才能达到期望的结果。这主要还是因为一层网络的神经元数被所要解决的问题本身限制造成的。2.2.2隐层节点数在BP 网络中,隐层节点数的选择非常重要,它不仅对建立的神经网络模型的性能影响很大,而且是训练时出现“过拟合”的直接原因,但是目前理论上还没有一种科学的和普遍的确定方法。目前多数文献中提出的确定隐层节点数的计算
19、公式都是针对训练样本任意多的情况,而且多数是针对最不利的情况,一般工程实践中很难满足,不宜采用。事实上,各种计算公式得到的隐层节点数有时相差几倍甚至上百倍。为尽可能避免训练时出现“过拟合”现象,保证足够高的网络性能和泛化能力,确定隐层节点数的最基本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽可能少的隐层节点数。研究表明,隐层节点数不仅与输入/输出层的节点数有关,更与需解决的问题的复杂程度和转换函数的形式以及样本数据的特性等因素有关。在确定隐层节点数时必须满足下列条件:(1)隐层节点数必须小于N-1(其中N为训练样本数),否则,网络模型的系统误差与训练样本的特性无关而趋于零,即建立的
20、网络模型没有泛化能力,也没有任何实用价值。同理可推得:输入层的节点数(变量数)必须小于N-1。(2)训练样本数必须多于网络模型的连接权数,否则,样本必须分成几部分并采用“轮流训练”的方法才可能得到可靠的神经网络模型。总之,若隐层节点数太少,网络可能根本不能训练或网络性能很差;若隐层节点数太多,虽然可使网络的系统误差减小,但一方面使网络训练时间延长,另一方面,训练容易陷入局部极小点而得不到最优点,也是训练时出现“过拟合”的内在原因。因此,合理隐层节点数应在综合考虑网络结构复杂程度和误差大小的情况下用节点删除法和扩张法确定。2.3神经网络的训练(一)训练BP网络的训练就是通过应用误差反传原理不断调
21、整网络权值使网络模型输出值与已知的训练样本输出值之间的误差平方和达到最小或小于某一期望值。虽然理论上早已经证明:具有1个隐层(采用Sigmoid转换函数)的BP网络可实现对任意函数的任意逼近。但遗憾的是,迄今为止还没有构造性结论,即在给定有限个(训练)样本的情况下,如何设计一个合理的BP网络模型并通过向所给的有限个样本的学习(训练)来满意地逼近样本所蕴含的规律(函数关系,不仅仅是使训练样本的误差达到很小)的问题,目前在很大程度上还需要依靠经验知识和设计者的经验。因此,通过训练样本的学习(训练)建立合理的BP神经网络模型的过程,在国外被称为“艺术创造的过程”,是一个复杂而又十分烦琐和困难的过程。
22、由于BP网络采用误差反传算法,其实质是一个无约束的非线性最优化计算过程,在网络结构较大时不仅计算时间长,而且很容易限入局部极小点而得不到最优结果。目前虽已有改进BP法、遗传算法(GA)和模拟退火算法等多种优化方法用于BP网络的训练(这些方法从原理上讲可通过调整某些参数求得全局极小点),但在应用中,这些参数的调整往往因问题不同而异,较难求得全局极小点。这些方法中应用最广的是增加了冲量(动量)项和自适应调整的改进BP算法。(二)学习率和冲量系数学习率影响系统学习过程的稳定性。大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习
23、率导致学习时间过长,不过能保证收敛于某个极小值。所以,一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在0.010.8之间。 增加冲量项的目的是为了避免网络训练陷于较浅的局部极小点。理论上其值大小应与权值修正量的大小有关,但实际应用中一般取常量。通常在01之间,而且一般比学习率要大。(三)网络的初始连接权值 BP算法决定了误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了BP算法收敛于哪个局部极小点或是全局极小点。因此,要求计算程序必须能够自由改变网络初始连接权值。由于Sigmoid转换函数的特性,一般要求初始权值分布在-0.50.5之间比较有效。(四)网络模型的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 神经网络 空气质量 检测
链接地址:https://www.31ppt.com/p-3981602.html