基于神经网络的空气质量检测内容摘要:

立的神经网络模型的性能影响很大,而且是训练时出现“过拟合”的直接原因,但是目前理论上还没有一种科学的和普遍的确定方法。 目前多数文献中提出的确定隐层节点数的计算公式都是针对训练样本任意多的情况,而且多数是针对最不利的情况,一般工程实践中很难满足,不宜采用。 事实上,各种计算公式得到的隐层节点数有时相差几倍甚至上百倍。 为尽可能避免训练时出现“过拟合”现象,保证足够高的网络性能和泛化能力,确定隐层节点数的最基本原则是:在满足精度要求的前提下取尽可能紧凑的结构,即取尽可能少的隐层节点 数。 研究表明,隐层节点数不仅与输入 /输出层的节点数有关,更与需解决的问题的复杂程度和转换函数的形式以及样本数据的特性等因素有关。 在确定隐层节点数时必须满足下列条件: (1)隐层节点数必须小于 N1(其中 N 为训练样本数),否则,网络模型的系统误差与训练样本的特性无关而趋于零,即建立的网络模型没有泛化能力,也没有任何实用价值。 同理可推得:输入层的节点数(变量数)必须小于 N1。 (2)训练样本数必须多于网络模型的连接权数,否则,样本必须分成几部 分并采用“轮流训练”的方法才可能得到可靠的神经网络模型。 总之,若 隐层节点数太少,网络可能根本不能训练或网络性能很差;若隐层节点数太多,虽然可使网络的系统误差减小,但一方面使网络训练时间延长,另一方面,训练容易陷入局部极小点而得不到最优点,也是训练时出现“过拟合”的内在原因。 因此,合理隐层节点数应在综合考虑网络结构复杂程度和误差大小的情况下用节点删除法和扩张法确定。 神经网络的训练 (一)训练 BP 网络的训练就是通过应用误差反传原理不断调整网络权值使网络模型输出值与已知的训练样本输出值之间的误差平方和达到最小或小于某一期望值。 虽然理论上早已经证明:具有 1 个隐层(采用 Sigmoid 转换函数)的 BP 网络可实现对任意函数的任意逼近。 但遗憾的是,迄今为止还没有构造性结论,即在给定有限个(训练)样本的情况下,如何设计一个合理的 BP 网络模型并通过向所给的有限个样本的学习(训练)来满意地逼近样本所蕴含的规律(函数关系,不仅仅是使训练样本的误差达到很小)的问题,目前在很大程度上还需要依靠经验知识和设计者的经验。 因此,通过训练样本的学习(训练)建立合理的 BP 神经网络模型的过程,在国外被称为“艺术创造的过程”,是一个复杂而又十分烦琐和困难的过程。 由于 BP 网络采用误差反传算法,其实质是一 个无约束的非线性最优化计算过程,在网络结构较大时不仅计算时间长,而且很容易限入局部极小点而得不到最优结果。 目前虽已有改进 BP法、遗传算法( GA)和模拟退火算法等多种优化方法用于 BP网络的训练 (这些方法从原理上讲可通过调整某些参数求得全局极小点 ),但在应用中,这些参数的调整往往因问题不同而异,较难求得全局极小点。 这些方法中应用最广的是增加了冲量(动量)项和自适应调整的改进 BP 算法。 (二)学习率和冲量系数 学习率影响系统学习过程的稳定性。 大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超 出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个极小值。 所以,一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在 ~ 之间。 增加冲量项的目的是为了避免网络训练陷于较浅的局部极小点。 理论上其值大小应与权值修正量的大小有关,但实际应用中一般取常量。 通常在 0~ 1 之间,而且一般比学习率要大。 (三)网络的初始连接权值 BP算法决定了误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了 BP 算法收敛于哪个局部极小点或是全 局极小点。 因此,要求计算程序必须能够自由改变网络初始连接权值。 由于 Sigmoid 转换函数的特性,一般要求初始权值分布在~ 之间比较有效。 (四)网络模型的性能和泛化能力 训练神经网络的首要和根本任务是确保训练好的网络模型对非训练样本具有好的泛化能力(推广性),即有效逼近样本蕴含的内在规律,而不是看网络模型对训练样本的拟合能力。 从存在性结论可知,即使每个训练样本的误差都很小(可以为零),并不意味着建立的模型已逼近训练样本所蕴含的规律。 因此,仅给出训练样本误差(通常是指均方根误差 RSME 或均 方误差、 AAE 或 MAPE 等)的大小而不给出非训练样本误差的大小是没有任何意义的。 要分析建立的网络模型对样本所蕴含的规律的逼近情况(能力),即泛化能力,应该也必须用非训练样本(检验样本和测试样本)误差的大小来表示和评价,这也是之所以必须将总样本分成训练样本和非训练样本而绝不能将全部样本用于网络训练的主要原因之一。 判断建立的模型是否已有效逼近样本所蕴含的规律 ,最直接和客观的指标是从总样本中随机抽取的非训练样本(检验样本和测试样本)误差是否和训练样本的误差一样小或稍大。 非训练样本误差很接近训练样本误差或 比其小,一般可认为建立的网络模型已有效逼近训练样本所蕴含的规律,否则,若相差很多(如几倍、几十倍甚至上千倍)就说明建立的网络模型并没有有效逼近训练样本所蕴含的规律,而只是在这些训练样本点上逼近而已,而建立的网络模型是对训练样本所蕴含规律的错误反映。 因为训练样本的误差可以达到很小,因此,用从总样本中随机抽取的一部分测试样本的误差表示网络模型计算和预测所具有的精度(网络性能)是合理的和可靠的。 值得注意的是,判断网络模型泛化能力的好坏,主要不是看测试样本误差大小的本身,而是要看测试样本的误差是否接近于训 练样本和检验样本的误差。 (五)合理网络模型的确定 对同一结构的网络,由于 BP 算法存在(很)多个局部极小点,因此,必须通过多次(通常是几十次)改变网络初始连接权值求得相应的极小点,才能通过比较这些极小点的网络误差的大小,确定全局极小点,从而得到该网络结构的最佳网络连接权值。 必须注意的是,神经网络的训练过程本质上是求非线性函数的极小点问题,因此,在全局极小点邻域内(即使网络误差相同),各个网络连接权值也可能有较大的差异,这有时也会使各个输入变量的重要性发生变化,但这与具有多个零极小点(一般称为多模式现象)(如训练样本数少于连接权数时)的情况是截然不同的。 此外,在不满足隐层节点数条件时,总也可以求得训练样本误差很小或为零的极小点,但此时检验样本和测试样本的误差可能要大得多;若改变网络连接权初始值,检验样本和测试样本的网络计算结果会产生很大变化,即多模式现象。 对于不同的网络结构,网络模型的误差或性能和泛化能力也不一样。 因此,还必须比较不同网络结构的模型的优劣。 一般地,随着网络结构的变大,误差变小。 通常,在网络结构扩大(隐层节点数增加)的过程中,网络误差会出现迅速减小然后趋于稳定的一个阶段,因此,合理隐层节 点数应取误差迅速减小后基本稳定时的隐层节点数。 总之,合理网络模型是必须在具有合理隐层节点数、训练时没有发生“过拟合”现象、求得全局极小点和同时考虑网络结构复杂程度和误差大小的综合结果。 设计合理 BP网络模型的过程是一个不断调整参数的过程,也是一个不断对比结果的过程,比较复杂且有时还带有经验性。 这个过程并不是想象的那样,随便套用一个公式确定隐层节点数,经过一次训练就能得到合理的网络模型(这样建立的模型极有可能是训练样本的错误反映,没有任何实用价值)。 虽然神经网络的类型很多,建立神经网络模型时 ,根据研究对象的特点,可以考虑不同的神经网络模型。 前馈型 BP 网络即误差逆传播神经网络是最常用、最流行的神经网络。 BP 网络的输入和输出关系可以看成是一种映射关系,即每一组输入对应一组输出。 由于网络中神经元作用函数的非线性,网络实现是复杂的非线性映射。 关于这类网络对非线性的逼近能力, Hornikl 等分别利用不同的方法证明了如下一个事实:仅含有一个隐层的前向网络能以任意精度逼近定义在 Rn 的一个紧集上的任意非线性函数。 误差反向算法是最著名的多层前向网络训练算法,尽管存在收敛速度慢、局部极值等缺点,但可通过各种改进 措施来提高它的收敛速度、克服局部极值现象,而且具有简单、易行、计算量小、并行性强等特点,目前仍是多层前向网络的首选算法。 神经网络模型参数的确定 由于传统的误差反传 BP 算法较为成熟,且应用广泛,因此努力提高该方法的学习速度具有较高的实用价值。 BP 算法中有几个常用的参数,包括学习率 ? ,动量因子 ? ,形状因子λ及收敛误差界值 E等。 这些参数对训练速度的影响最为关键。 隐层的数目 理 论上虽然证明了这类网络的逼近能力,对于网络结构的要求,并没有给出明确的说明。 因而在应用中神经网络模型的结构确定常常有人为的主观性和艺术性,缺乏一个指导原则。 而网络训练与结构紧密相关,太大的网络结构在训练时效率不高,而且还会由于过拟合 (overfitting)造成网络的性能脆弱,泛化能力 (generalization ability)下降;太小的网络可能就根本不收敛。 考虑到本研究的特点,结合不同隐层网络结构的训练结果,本文选择了隐层数 L=1 的网络结构模型。 隐层神经元数的选择 隐层神经元数的 选择是一个十分复杂的问题。 因为没有很好的解析式表示,可以说隐层神经元数与问题的要求、输入层与输出层神经元的数量、训练样本的数。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。