一种基于递归神经网络预测空气污染的方法及系统与流程

文档序号:17389493发布日期:2019-04-13 00:23阅读:278来源:国知局
一种基于递归神经网络预测空气污染的方法及系统与流程

本发明涉空气环境质量预测技术领域,尤其涉及一种基于递归神经网络预测空气污染的方法。



背景技术:

大气污染俨然已成为影响我区经济社会发展的重大瓶颈制约和潜在风险隐患,是目前最大的短板之一,大气污染受污染源位置和高度、城市地形、大气稳定度、天气以及人口、燃料构成等多方面的影响,对大气污染物的有效预测对于打好“蓝天保卫战”,有效应对重污染天气有重要意义。

随着对大气污染数据的不断积累,现在已经存有大量的环境污染的相关数据。人工神经网络预测方法是近年来国际上人工智能领域研究的重点,它是由大量神经元通过丰富和完善的联接而构成的自适应非线性动态系统,具有并行处理、容错性、自学习功能,在模式识别、自动化控制、知识处理及运输与通信等领域取得了很好的应用效果。人工神经网络预测方法不需要明确的输入、输出之间的函数关系;主要通过对大量的数据训练、学习来完成模拟过程,并利用训练好的网络来对新输入的数据进行预测。

污染相关的因素有很多,工厂污染源,城市地形、大气稳定度、天气等。因为某些因素具有周期性的原因,导致大气污染的情况也呈现周期性的状态。并且今天的污染源产生的污染,会对往后几天的环境造成影响。所以在对大气的污染物浓度预测的时候,要结合影响因素历史的情况,才能更加充分地对大气污染进行预测。对于普通的神经网络而言,之前的信息不能对现在的理解产生影响。传统神经网络只能通过目前的影响因素的状态来预测大气的污染程度,缺乏对影响因素历史条件的考虑。



技术实现要素:

本发明的目的在于提出一种基于递归神经网络预测空气污染的方法,该方法能利用递归神经网络lstm预测大气的污染情况,应用于空气环境质量预测,包括未来七天空气质量情况预测和空气质量分析预报等。

本发明还提出一种基于递归神经网络预测空气污染的系统,该系统带有主机系统、检测模块和稀疏自编码器,能有效预测空气质量。

为达此目的,本发明采用以下技术方案:

一种基于递归神经网络预测空气污染的方法,包括以下步骤:

(1)收集每个检测点对大气污染浓度的当前数据和历史数据;收集每个检测点对天气数据的当前数据和历史数据;

(2)将对应时间段的检测区域大气污染浓度和天气数据,使用稀疏自编码器提取数据特征变成时间序列数据;将整个数据集划分为训练集和测试集两部分;

(3)在训练集当中将天气数据作为输入,大气污染浓度作为输出数据,通过梯度下降算法训练递归神经网络模型;

(4)使用测试集的数据对训练好的递归神经网络模型进行测试,评估递归神经网络模型的性能;

(5)根据当前区域天气数据,使用递归神经网络模型对当前区域的大气污染浓度进行预测。

更进一步说明,所述步骤(2)中,训练稀疏自编码网络抽取数据的特征,使稀疏自编码器发现输入数据中隐含的特征,并将特征加入对应的时间戳形成时间序列。

更进一步说明,所述步骤(3)中,将时间序列放入递归神经网络中进行训练,训练出对应天气时间序列和大气污染时间序列的递归神经网络模型。

更进一步说明,所述步骤(3)中具体为:

1)稀疏自编码器对特征进行抽取后获取时间序列数据;

2)初始化lstm的状态c和输出h为随机值;

3)计算遗忘门ft的值:遗忘门用来选择性遗忘一些信息,如当前时刻起风了,则忘记之前没有起风的信息,遗忘门的计算公式为:

ft=σ(wf·[ht-1,xt]+bf)

ht-1为上一时刻的输出结果,也就是从序列中提取到的特征,wf和bf分别为权值与偏置,[]表示将两个向量拼接。σ为激活函数,其定义为:

4)计算输入门it和候选状态的值:输入门的值与候选状态的值如:

it=σ(wi·[ht-1,xt]+bi)

其中,wi,bi,wc,bc分别代表不同值的权值与偏置,tanh为激活函数;

5)更新lstm单元的状态ct,ct的值由如下公式计算:

6)确定lstm单元的输出值ht,ht由如下公式计算:

ot=σ(wo·[ht-1,xt]+bo)

ht=ot×tanh(ct)。

更进一步说明,所述步骤(5)中,根据当前区域天气数据,使用稀疏自编码网络提取特征装换成时间序列,使用递归神经网络模型对当前区域的大气污染浓度情况进行预测,得到大气污染浓度的实践序列,再将大气污染浓度的实践序列通过稀疏自编码网络转换成对应的大气污染浓度情况。

一种基于递归神经网络预测空气污染的系统,包括:主机系统、检测模块和稀疏自编码器;

所述主机系统,用于接收所述检测模块的大气污染浓度和天气数据,并将所述大气污染浓度和所述天气数据发送至所述稀疏自编码器;

所述主机系统还用于向所述稀疏自编码器发送当前区域天气数据;

所述检测模块,用于检测每个检测点对所述大气污染浓度和所述天气数据两者的当前数据和历史数据;并将所述大气污染浓度和所述天气数据发送至所述主机系统;

所述稀疏自编码器,用于将对应时间段的检测区域所述大气污染浓度数据和所述天气数据提取出数据特征,变成时间序列数据;再将所述天气数据和所述大气污染浓度通过梯度下降算法训练递归神经网络模型,并对所述递归神经网络模型进行测试;

所述稀疏自编码器还用于接收所述主机系统的当前区域天气数据,将其通过所述递归神经网络模型进行数据分析,获得大气污染浓度预测数据,并将所述大气污染浓度预测数据发送至所述主机系统。

更进一步说明,所述稀疏自编码器将所述天气数据和所述大气污染浓度分为训练集和测试集两部分;

在所述训练集当中将所述天气数据作为输入,所述大气污染浓度作为输出数据,通过梯度下降算法训练所述递归神经网络模型;在所述测试集中,利用所述测试集的数据对所述递归神经网络模型进行测试,评估递归神经网络模型的性能。

本发明的有益效果:

本设计使用稀疏自编码器将海量的数据的关键特征进行抽取,并且表示成为时间序列的形式;并通过历史关联性的角度,用递归神经网络lstm训练天气情况和大气污染的提取特征的关系模型;再将天气预测的数据输入训练的模型进行预测大气的污染情况。

附图说明

图1是预测空气污染的方法的流程图;

图2是预测空气污染的数据处理流程图;

图3是lstm内部的遗忘门;

图4是lstm内部的输入门的第一步;

图5是lstm内部的输入门的第二步;

图6是lstm内部的输出门;

图7是一种基于递归神经网络预测空气污染的系统结构图。

其中:

主机系统1、检测模块2、稀疏自编码器3;

a:检测模块发送大气污染浓度和天气数据;

b:发送大气污染浓度和天气数据;

c:发送当前区域天气数据;

d:发送大气污染浓度预测数据。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

一种基于递归神经网络预测空气污染的方法,包括以下步骤:

(1)收集每个检测点对大气污染浓度的当前数据和历史数据;收集每个检测点对天气数据的当前数据和历史数据;

(2)将对应时间段的检测区域大气污染浓度和天气数据,使用稀疏自编码器提取数据特征变成时间序列数据;将整个数据集划分为训练集和测试集两部分;

稀疏自编码器可以自动从无标注数据中学习特征,可以给出比原始数据更好的特征描述。在实际运用时可以用稀疏编码器发现的特征取代原始数据,这样往往能带来更好的结果。

(3)在训练集当中将天气数据作为输入,大气污染浓度作为输出数据,通过梯度下降算法训练递归神经网络模型;

(4)使用测试集的数据对训练好的递归神经网络模型进行测试,评估递归神经网络模型的性能;

(5)根据当前区域天气数据,使用递归神经网络模型对当前区域的大气污染浓度进行预测。

递归神经网络模型(简称“lstm”),是利用递归神经网络的模型;寻找压缩后的时间序列的时间关联性,剔除大量无关因素的影响值计算相关因素的关联,提高了模型的训练速度。

更进一步说明,所述步骤(2)中,训练稀疏自编码网络抽取数据的特征,使稀疏自编码器发现输入数据中隐含的特征,并将特征加入对应的时间戳形成时间序列。

更进一步说明,所述步骤(3)中,将时间序列放入递归神经网络中进行训练,训练出对应天气时间序列和大气污染时间序列的递归神经网络模型。

更进一步说明,所述步骤(3)中具体为:

1)稀疏自编码器对特征进行抽取后获取时间序列数据;

训练稀疏自编码网络抽取数据的特征,稀疏自编码器是具有一层隐含层的神经网络,其思路是让输出等于输入,(即y(i)=x(i),其中{x(1),x(2),x(3),...}表示训练样本集合),让编码器自己发现输入数据中隐含的特征。并将特征加入对应的时间戳形成时间序列。

稀疏性可以被简单地解释如下。如果当神经元的输出接近于1的时候我们认为它被激活,而输出接近于0的时候认为它被抑制,那么使得神经元大部分的时间都是被抑制的限制则被称作稀疏性限制。这里我们假设的神经元的激活函数是sigmoid函数。使用来表示在给定输入为x情况下,自编码神经网络隐藏神经元j的激活度。并将隐藏神经元j的平均活跃度(在训练集上取平均)记为:

2)初始化lstm的状态c和输出h为随机值;

3)计算遗忘门ft的值:遗忘门用来选择性遗忘一些信息,如当前时刻起风了,则忘记之前没有起风的信息,遗忘门的计算公式为:

ft=σ(wf·[ht-1,xt]+bf)

ht-1为上一时刻的输出结果,也就是从序列中提取到的特征,wf和bf分别为权值与偏置,[]表示将两个向量拼接。σ为激活函数,其定义为:

在我们lstm中的第一步是决定我们会从细胞状态中丢弃什么信息。这个决定通过一个称为忘记门层完成;

4)计算输入门it和候选状态的值:输入门的值与候选状态的值如:

it=σ(wi·[ht-1,xt]+bi)

其中,wi,bi,wc,bc分别代表不同值的权值与偏置,tanh为激活函数;

输入门:下一步是决定让多少新的信息加入到cell状态中来。实现这个需要包括两个步骤:首先,一个叫做“inputgatelayer”的sigmoid层决定哪些信息需要更新;

5)更新lstm单元的状态ct,ct的值由如下公式计算:

6)确定lstm单元的输出值ht,ht由如下公式计算:

ot=σ(wo·[ht-1,xt]+bo)

ht=ot×tanh(ct)。

我们需要确定输出什么值。这个输出将会基于我们的细胞状态,但是也是一个过滤后的版本。首先,我们运行一个sigmoid层来确定细胞状态的哪个部分将输出出去。接着,我们把细胞状态通过tanh进行处理(得到一个在-1到1之间的值)并将它和sigmoid门的输出相乘,最终我们仅仅会输出我们确定输出的那部分。

更进一步说明,所述步骤(5)中,根据当前区域天气数据,使用稀疏自编码网络提取特征装换成时间序列,使用递归神经网络模型对当前区域的大气污染浓度情况进行预测,得到大气污染浓度的实践序列,再将大气污染浓度的实践序列通过稀疏自编码网络转换成对应的大气污染浓度情况。

一种基于递归神经网络预测空气污染的系统,包括:主机系统1、检测模块2和稀疏自编码器3;

所述主机系统1,用于接收所述检测模块2的大气污染浓度和天气数据,并将所述大气污染浓度和所述天气数据发送至所述稀疏自编码器3;

所述主机系统1还用于向所述稀疏自编码器3发送当前区域天气数据;

所述检测模块2,用于检测每个检测点对所述大气污染浓度和所述天气数据两者的当前数据和历史数据;并将所述大气污染浓度和所述天气数据发送至所述主机系统1;

所述稀疏自编码器3,用于将对应时间段的检测区域所述大气污染浓度数据和所述天气数据提取出数据特征,变成时间序列数据;再将所述天气数据和所述大气污染浓度通过梯度下降算法训练递归神经网络模型,并对所述递归神经网络模型进行测试;

所述稀疏自编码器3还用于接收所述主机系统1的当前区域天气数据,将其通过所述递归神经网络模型进行数据分析,获得大气污染浓度预测数据,并将所述大气污染浓度预测数据发送至所述主机系统1。

更进一步说明,所述稀疏自编码器3将所述天气数据和所述大气污染浓度分为训练集和测试集两部分;

在所述训练集当中将所述天气数据作为输入,所述大气污染浓度作为输出数据,通过梯度下降算法训练所述递归神经网络模型;在所述测试集中,利用所述测试集的数据对所述递归神经网络模型进行测试,评估递归神经网络模型的性能。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1