APP下载

基于误差反向传播神经网络的PM2.5预测

2018-12-22付彦丽

电脑知识与技术 2018年33期
关键词:权值个数神经元

付彦丽

摘要:针对使用传统预测方式,对空气中PM2.5的质量浓度进行预测,难以获得准确的结果这样的问题,提出了一种基于误差反向传播神经网络的PM2.5预测方法。将宝鸡市空气质量监测站的历史监测数据作为分析对象,进行PM2.5小时浓度预测建模。BP神经网络能够使用梯度下降法不断对网络连接权值和阈值进行修正,针对PM2.5质量浓度预测这种非线性的问题具备较为精准的分析处理能力。仿真结果证明,使用BP神经网络对PM2.5质量浓度进行预测,其结果具备一定的有效性和精准度。

关键词:PM2.5预测;误差反向传播;神经网络

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)33-0180-02

1 引言

近年以来,空气质量指数(air quality index,AQI)已经开始成为衡量我们生活环境质量最重要的标准,而PM2.5则是造成空气质量降低的一个主要因素。PM即英文Particulate Matter的缩写,其中文译为颗粒物,PM2.5指的是在空气动力学中,其等效直径等于或小于2.5微米的大气颗粒物[1],这种颗粒物也就是我们常说的细微颗粒。PM2.5造成的最直观的危害就是引发雾霾天的增加,除此之外,它还能改变降水和气温的模式,减少日照以及降低能见度,更会对我们的身体健康产生不良的影响[2]。因为PM2.5带来的这些危害,1997年时,美国就在空气质量监测标准中加入了PM2.5这一项,之后意大利、加拿大、英国、日本、西班牙等一些国家,也接连在国家标准污染物检测系统中加入了PM2.5质量浓度。而我国则在2012年将PM2.5检测指标加入到了《环境空气质量标准》中,并对其浓度进行了限制。因此,寻求PM2.5质量浓度的预测具有极为重要的意义。

2 PM2.5预测原理

PM2.5其形成原因复杂、污染物来源广泛,是一种化学成分复杂且可变的空气污染物,其组成成分也并不单一,主要包括了:土壤尘埃、有机碳、元素碳等一次粒子,以及由各类污染物经过各种物理化学反应而形成的铵盐、硝酸盐、硫酸盐和半挥发性有机物等二次粒子[3]。所以,PM2.5其本身的浓度与空气中存在其他污染物的密不可分,故PM2.5质量浓度预测问题,是一个具有显著不确定性的非线性问题。

对区域内每小时的PM2.5浓度进行预测,其原理就是将影响其质量浓度因素的历史检测数据进行预处理后建模,将历史数据作为训练样本进行训练,最终得到一个关系函数,使用该函数对未来某时刻的PM2.5进行预测,其公式如下:

3 BP神经网络

BP是Back Propagation的英文缩写,译为反向传播,BP算法是在20世纪80年代中期提出的,之后Geoffrey Hinton、David Rnmelhart等人在其基础上又研究发展出了BP神经网络,也就是使用BP算法的神经网络,简称BP网络。BP算法的主要特点是,使用了度下降法在误差向后传播的过程中不断对网络的阈值和连接权值这些参数进行修改,使得网络的输出结果不断向期望值靠拢[4],其网络的主要特点是:输入信号正向传播、误差信号反向传递,其网络结构如图1所示:

从图1中可以看出,BP神经网络一共有输入层(input layer)、隐含层(hidden layer)、输出层(output)三层,其中隐含层的数量可以是一层也可以是多层,输入量和输出量的维度,决定了输入层和输出层神经元的个数。输入量[X=[x1, x2,x3,…, xi]]由输入层输入到网络中,在隐含层中进行逐层处理后,最后得到输出值。整个BP神经网络的训练可以被分为两个阶段:输入信号正向传播、误差信号反向传播,这两个阶段在迭代的过程中不断被交替执行,最终完成整个网络的训练[5]。

当输入信号正向传播时,我们选中的影响因子数据会从输入层进入到网络中,然后经过各层的加权求和以及激活函数的各种变换后,再由输出层输出,此时每一层神经元的输入只受前一层神经元输出的影响,并且网络的权值和阈值不会发生变化;当网络得到的输出结果yd与期望得到的记过ye之间的误差没有达到目标时,则会进入误差信号反向传播的阶段,误差信号由输出层延原网络方向向输入层逐层反向传播,在这个阶段中网络的权值和阈值会根据误差的梯度值进行调整,逐步降低网络的输出结果和期望结果的误差,向期望值逼近,这样两个阶段不断的循环迭代,最终得到网络的期望输出。

4 基于BP神经网络的PM2.5预测仿真

使用BP神經网络进行预测分析,首先需要确定网络每层的神经元的个数,其输入层神经元个数是由选择的影响因子的个数来确定的,本预测中选取了6个影响因子,故输入层网络的神经元个数为6;输出层神经元个数是由输出结果的数量决定的,本预测中只需要输出PM2.5的预测值,故输出层神经元个数为1。神经网络的隐含层,可以是一层也可以是多层,但是隐含层过多会导致网络的训练速度过慢,还会造成网络过拟合现象,使得网络拟合结果和测试结果相差过大,根据Kosmogorov定理,当网络参数及结构设计合理时,单隐含层的神经网络就可以完成任意m维到n维的映射[6],故本预测中选择单一隐含层。隐含层的神经元的数量可以说是一个神经网络中最难以确定的,通常是使用试错法加上经验公式来确定的,其经验公式如下:

根据表2中的结果可以发现,当隐含层神经元个数为9时,网络的训练误差最小为18.27,故确定隐含层神经元的个数为9。

5 Matlab下PM2.5预测仿真

在Matlab下对PM2.5每小时的质量浓度进行预测分析,BP神经网络采用6-9-1的结构,也就是输入层、隐含层、输出层的神经元数量分别是6个、9个、1个,确定隐含层、输出层、训练及阈值和权值学习函数分别选择logsig、purelin、traingdx、learngd,网络迭代100次。将采集的800条历史数据进行筛选后,将其中的640条作为训练集数据、160条作为测试集数据进行预测分析,得到如下结果:

猜你喜欢

权值个数神经元
一种融合时间权值和用户行为序列的电影推荐模型
《从光子到神经元》书评
怎样数出小正方体的个数
CONTENTS
等腰三角形个数探索
怎样数出小木块的个数
怎样数出小正方体的个数
跃动的神经元——波兰Brain Embassy联合办公
基于权值动量的RBM加速学习算法研究
基于二次型单神经元PID的MPPT控制