掌桥专利:专业的专利平台
掌桥专利
首页

一种基于优化的BP神经网络的气体辨识方法

文献发布时间:2023-06-19 11:02:01


一种基于优化的BP神经网络的气体辨识方法

技术领域

本发明涉及气体检测及识别领域,更具体地,涉及一种基于优化的BP神经网络的气体辨识方法。

技术背景

受建筑物室内装饰材料及家具质量影响,室内环境常存在氨气、甲醛、苯及苯系物、多元芳香烃等多种气态污染物。除建筑饰材中存在的氨气、甲醛、苯及苯系物等气态污染物,此外,用于维持居民日常生活的天然气管道以及下水道等设施,也可能使人们暴露于一氧化碳和硫化氢等有毒气体的危害之下。

长期生活和工作在上述有毒有害气体浓度超标的室内环境中,人体健康将受到严重威胁。随着大众健康意识的不断提高,人们对当前室内生活及工作环境中存在的有毒有害气体也越来越关注。因此,发明一种室内环境有毒有害气体的检测装置,对保障人体健康具有重要意义。

目前可同时实现上述室内常见有毒有害气体检测的装置不多,主要集中于气体检测装置硬件本身的研究,实现气体组分辨识并提高辨识准确率的算法成果较少,且多为对单一气体的辨识。因此,在控制设备成本的同时,要求可识别气体种类多且具有较高识别率,需对对气体辨识算法进行升级。

徐凡提出的“一种可检测有毒有害气体的腕表”(申请号:201911411706.6)所述有毒有害气体传感器可支持一氧化碳、二氧化硫、硫化氢、甲醛以及氨气的检测,未给出上述气体检测及辨识方法,也无法实现有毒有害气体混合情况下的组分辨识。

孙运龙等提出的“一种基于机器嗅觉的有毒有害气体检测与识别方法”(授权号:CN107478683B)所述方法通过基于特征选择的线性判别方法对传感器阵列测量的数据进行处理,结合马氏二维距离判别法,可识别二氧化碳、甲烷、氨气以及挥发性有机化合物等各种有毒有害气体,但未对混合气体情况进行分析。

王平等提出的“一种厨房环境中多组分有害气体检测装置及检测方法”(授权号:CN110426421B)所述装置和方法,采用BP神经网络对传感器阵列响应信号进行分析,实现厨房环境中的一氧化碳、甲烷和甲醛等三种有害气体,在氢气和乙醇干扰下的检测,该发明未对神经网络隐含层最优节点数进行优化。

发明内容

本发明的目的在于针对现有技术的不足,提供一种基于优化的BP神经网络的气体辨识方法,解决常见的有毒有害气体检测装置在控制设备成本的情况下,无法实现多组分气体辨识、气体组分识别准确率较低、对未训练浓度样本识别结果较差等缺点。

本发明的目的是这样实现的,本发明提供了一种基于优化的BP神经网络的气体辨识方法,包括对传感器阵列电压响应信号的检测,包括以下步骤:

步骤1,传感器阵列及气体的设定:

设定1,所述传感器阵列共包含4种传感器;

设定2,所述气体辨识中的气体为p种,包括m种单一气体和n种二元混合气体,所述二元混合气体由两种气体混合而成;将p种气体中的任意一种气体记为气体a

设定3,所述传感器阵列电压响应信号检测中的设定条件,所述设定条件包括气体浓度和检测次数,具体的,对每种单一气体设定了x种气体浓度,且对每种气体浓度均进行y次信号检测,即每种单一气体的检测样本为x×y个;对每种二元混合气体设置了x

步骤2,传感器阵列电压响应信号的采集:

步骤2.1,首先将传感器阵列放至恒温恒湿的气腔中,用洁净空气对气腔及放置在气腔中的传感器阵列进行清洗,再按照步骤1设定的气体浓度和检测次数,将气体a

步骤2.2,按照步骤2.1的方法对气体a

步骤2.3,按照步骤2.2的方法对p种气体的所有检测样本进行检测后,得到与p种气体所有检测样本对应的个体电压响应数据矩阵,引入电压响应数据矩阵X,

X=[x

步骤3,对电压响应数据矩阵X=[x

BP神经网络输入T的表达式如下:

T=[T

其中,

T

T

T

BP神经网络类别输出Y的表达式如下:

Y=[g

在BP神经网络类别输出Y的表达式中,列向量g

步骤4,利用步骤3得到的BP神经网络输入T和BP神经网络类别输出Y,通过二次函数拟合法对BP神经网络进行训练和优化,得到优化后的BP神经网络;

步骤5,将步骤3得到的BP神经网络输入T输入到优化后的BP神经网络中,得到优化后的BP神经网络输出Y’,BP神经网络输出Y′的表达式为:

Y′=[g′

其中,列向量g′

在BP神经网络输出Y′的表达式中,取Y′的p项中最大的一项为1时,其余各项均为0,得到BP神经网络类别输出Y,在BP神经网络类别输出Y中,第i个列向量的数值为1,即表示为第i种气体,从而实现气体类型的辨识。

优选地,步骤4所述通过二次函数拟合法对BP神经网络进行训练和优化的具体步骤如下:

步骤4.1,对以下参数进行设置:

BP神经网络最大迭代次数L

步骤4.2,记当前神经元数为l,l

步骤4.3,总量为K的检测样本中,将每一种气体的检测样本,取75%的检测样本作为训练样本,剩余的为测试样本,并将训练样本与测试样本分别随机打乱;

步骤4.4,对输入层与隐含层连接权重和阈值进行随机初始化,载入训练样本对应的BP神经网络输入T,通过贝叶斯正则化算法对BP神经网络进行训练,训练过程中取BP神经网络输出Y′的p项中最大的一项为1时,其余各项均为0,损失函数采用分类准确率Q

若Q

若Q

步骤4.5:考察步骤4.4中的训练重复次数F:

若F<L

若F≥L

步骤4.6,更新后的隐含层神经元数为l′,l′=l+1,并进行如下判断:

若l′≤L

若l′>l

f(l)=a

其中,a

步骤4.7,再次进行参数设置:训练准确率Thr、BP神经网络输入层神经元数M,BP神经网络输出层神经元数N,隐含层激活函数为Sigmoid函数,隐含层神经元数为l

步骤4.8,总量为K的检测样本中,将每一种气体的检测样本,取75%的检测样本作为训练样本,并将训练样本随机打乱;

步骤4.9,对输入层与隐含层连接权重和阈值进行随机初始化,载入训练样本对应的BP神经网络输入T,通过贝叶斯正则化算法对BP神经网络进行训练,训练过程中取BP神经网络输出Y′的p项中最大的一项为1时,其余各项均为0,损失函数采用分类准确率Q

若Q

若Q

优选地,所述步骤1中恒温恒湿为:温度为室温25℃、相对湿度为40%-60%。

优选地,所述步骤1中的四种气体传感器为日本FIGARO公司生产的TGS2620、TGS2603、TGS2600、TGS2602四种商用金属氧化物半导体气体传感器。

优选地,所述步骤1中的m=6,n=3,具体的,6种单一性气体分别为:硫化氢(H

与现有技术相比,本发明的有益效果是:

1、可实现室内常见的具有不同性质的有毒有害气体的检测及辨识,可实现混合气体对应组分的辨识,具有单一气体以及混合气体同时检测及辨识的能力。

2、该有毒有害气体检测装置选用成熟的商用气体传感器构造传感器阵列,其成本低廉且易于集成,为室内有毒有害气体检测装置的大规模应用提供了可能。

3、时域特征提取实现简单,无需复杂的信号处理技术。多种时域特征同时作为分类器的输入,可充分表征传感器阵列响应的特征,其对温湿度变化等因素具有较好的抗干扰能力,提高了气体检测装置在实际使用中的可靠性。

4、提出的基于二次函数拟合的BP神经网络隐含层神经元数优化方法,克服了经验公式法未考虑神经网络输入的数据结构特征的不足,因此,优化的BP神经网络相对于传统方法训练得到的神经网络,具有更好的泛化性能,即对浓度未参与训练的气体样本具有更高的识别准确率。

附图说明

图1为本发明整体流程图;

图2为本发明实施例中气体样本响应数据获取的实验示意图;

图3为本发明实施例中传感器阵列中气体传感器TGS2620在不同浓度一氧化碳气体的气氛下的响应曲线图;

图4为本发明实施例中BP神经网络的结构示意图;

图5为BP神经网络使用传统训练方法得到的不同隐含层神经元数对应的分类平均准确率以及对测试样本的分类准确率。

图6为BP神经网络使用基于二次函数拟合方法训练得到的不同隐含层神经元数对应的分类平均准确率以及对测试样本的分类准确率。

具体实施方式

下面结合附图和实施例对本发明的技术方案做进一步的说明。

图1为本发明基于优化的BP神经网络的气体辨识方法的整体流程图。由图1可见,本发明所述气体辨识方法,包括对传感器阵列电压响应信号的检测。具体的,包括以下步骤:

步骤1,传感器阵列及气体的设定:

设定1,所述传感器阵列共包含4种传感器;

设定2,所述气体辨识中的气体为p种,包括m种单一气体和n种二元混合气体,所述二元混合气体由两种气体混合而成;将p种气体中的任意一种气体记为气体a

设定3,所述传感器阵列电压响应信号检测中的设定条件,所述设定条件包括气体浓度和检测次数,具体的,对每种单一气体设定了x种气体浓度,且对每种气体浓度均进行y次信号检测,即每种单一气体的检测样本为x×y个;对每种二元混合气体设置了x

在本实施例中,四种气体传感器为日本FIGARO公司生产的TGS2620、TGS2603、TGS2600、TGS2602四种商用金属氧化物半导体气体传感器。

在本实施例中,m=6,n=3,具体的,6种单一性气体分别为:硫化氢(H

在本实施例中,x=4,y=3,即对于每一种单一气体,设置了4种浓度,每个浓度重复进行3次检测,即每种单一气体的检测样本为12个。对每种二元混合气体设置了16种浓度,且对每种二元混合气体浓度重复3次检测,即每种二元混合气体的检测样本为48个,p种气体的检测样本总数为K,K=216。

步骤2,传感器阵列电压响应信号的采集:

步骤2.1,首先将传感器阵列放至恒温恒湿的气腔中,用洁净空气对气腔及放置在气腔中的传感器阵列进行清洗,再按照步骤1设定的气体浓度和检测次数,将气体a

步骤2.2,按照步骤2.1的方法对气体a

步骤2.3,按照步骤2.2的方法对p种气体的所有检测样本进行检测后,得到与p种气体所有检测样本对应的个体电压响应数据矩阵,引入电压响应数据矩阵X,

X=[x

在本实施例中,恒温恒湿为:温度为室温25℃、相对湿度为40%-60%。

步骤3,对电压响应数据矩阵X=[x

BP神经网络输入T的表达式如下:

T=[T

其中,

T

T

T

BP神经网络类别输出Y的表达式如下:

Y=[g

在BP神经网络类别输出Y的表达式中,列向量g

步骤4,利用步骤3得到的BP神经网络输入T和BP神经网络类别输出Y,通过二次函数拟合法对BP神经网络进行训练和优化,得到优化后的BP神经网络。

图4是本发明实施例中BP神经网络的结构示意图,输入层神经元数M为12,输出层神经元数N为9,激活函数为Sigmoid,与传统训练方法相比,需要先对隐含层神经元数进行优化得到l

步骤5,将步骤3得到的BP神经网络输入T输入到优化后的BP神经网络中,得到优化后的BP神经网络输出Y′,BP神经网络输出Y′的表达式为:

Y′=[g

其中,列向量g′

在BP神经网络输出Y′的表达式中,取Y′的p项中最大的一项为1时,其余各项均为0,得到BP神经网络类别输出Y,在BP神经网络类别输出Y中,第i个列向量的数值为1,即表示为第i种气体,从而实现气体类型的辨识。。

本发明实施例中BP神经网络的隐含层神经元数最大值l

步骤4.1,对以下参数进行设置:

BP神经网络最大迭代次数L

步骤4.2,记当前神经元数为l,l

步骤4.3,总量为K的检测样本中,将每一种气体的检测样本,取75%的检测样本作为训练样本,剩余的为测试样本,并将训练样本与测试样本分别随机打乱。

步骤4.4,对输入层与隐含层连接权重和阈值进行随机初始化,载入训练样本对应的BP神经网络输入T,通过贝叶斯正则化算法对BP神经网络进行训练,训练过程中取神经网络输出Y′的p项中最大的一项为1时,其余各项均为0,损失函数采用分类准确率Q

若Q

若Q

步骤4.5:考察步骤4.4中的训练重复次数F,

若F<L

若F≥L

步骤4.6,更新后的隐含层神经元数为l′,l′=l+1,并进行如下判断:

若l′≤l

若l′>l

f(l)=a

其中,a

步骤4.7,再次进行参数设置:分类准确率阈值Thr、BP神经网络输入层神经元数M,BP神经网络输出层神经元数N,隐含层激活函数为Sigmoid函数,隐含层神经元数为l

步骤4.8,总量为K的检测样本中,将每一种气体的检测样本,取75%的检测样本作为训练样本,并将训练样本随机打乱。

步骤4.9,对输入层与隐含层连接权重和阈值进行随机初始化,载入训练样本对应的BP神经网络输入T,通过贝叶斯正则化算法对BP神经网络进行训练,训练过程中取BP神经网络输出Y′的p项中最大的一项为1时,其余各项均为0,损失函数采用分类准确率Q

若Q

若Q

在本实施例中,气体样本的浓度、数量见表1。

a.H

b.当H

c.4个不同浓度的H

图2为本发明实施例中气体样本响应数据获取的实验示意图。由图2可见,不同气体检测样本获取过程如下:

D1:打开电动气泵3、电动气泵4、电动气泵5,送入洁净空气获得传感器阵列基线;

D2:关闭电动气泵3和电动气泵5,打开电动气泵1送气t秒,关闭电动气泵4,打开电动气泵5,将硫化氢气体送入气腔,得到硫化氢第一个浓度下的传感器阵列响应,数据采集为基线采样时长50s,气体送入气腔后采样250s,即稳态响应部分;

D3:重复D1、D2步骤3次,获得硫化氢在该浓度下的3个不同批次的气体样本;

D4:控制电动气泵1不同的送气时间,重复D1、D2、D3,获得硫化氢不同浓度下的不同批次的传感器阵列响应;

D5:重复上述步骤获得一氧化碳、氨气、甲苯、甲醛、丙酮等剩余5种气体的不同浓度不同批次的气体样本;

D6:打开电动气泵3、电动气泵4、电动气泵5,送入洁净空气获得传感器阵列基线;

D7:关闭电动气泵3和电动气泵5,首先打开电动气泵1,送入硫化氢,打开时间t秒,然后关闭电动气泵1,打开电动气泵2送入一氧化碳,打开时间为t秒,然后关闭电动气泵2和电动气泵4,打开电动气泵5,测量并保存气体传感器阵列响应数据;

D8:重复步骤D6和D7,硫化氢送入时间仍为t秒,控制一氧化碳不同的送入时间,获得二元混合气体的气体样本,重复上述步骤直到获得所有不同浓度组分的二元混合气体样本;

D9:重复步骤D6、步骤D7和步骤D8,得到硫化氢+一氧化碳、氨气+甲苯、甲醛+丙酮的气体样本。

图3为本发明实施例中传感器阵列中气体传感器TGS2620在不同浓度一氧化碳气体的气氛下的响应曲线图。从图中可见,在进行特征提取时,首先取基线部分前10个数据的平均值作为R

T

T

T

其中,传感器阵列中的每一个气体传感器的电压响应信号均进行上述特征提取。

因此,BP神经网络输入T的表达式如下:

T=[T

获得检测样本后,对BP神经网络进行基于二次函数拟合的训练和优化。

为验证优化训练后的BP神经网络对气体辨识的有效性,尤其是浓度未参与训练的气体样本分类的有效性,即BP神经网络的泛化性能,重复上述实验,获取了如表2所示未标签气体样本。

表2

图5给出了本发明实施例中BP神经网络使用传统训练方法得到的不同隐含层神经元数对应的分类平均准确率以及对测试样本的分类准确率,由图5可见,用传统方法对BP神经网络进行训练时,当隐含层神经元数为37时,其对训练样本的分类准确率即可达到100%,无需再增加隐含层神经元数。而此时将训练后的BP神经网络用于对表2中未标签气体样本进行分类,在图5中可以发现:

当BP神经网络隐含层神经元数为37时,其对未标签样本的分类准确率仍未达到最佳;当BP神经网络隐含层神经元数大于55时,训练后的BP神经网络对未标签气体样本的分类准确率显著下降,此时,传统方法训练得到的BP神经网络发生了过拟合,对浓度未参与训练的气体样本分类性能显著下降。

因此,从图5中可以知道,BP神经网络隐含层神经元数的增加,会有效提升其分类性能,即提高分类准确率,但隐含层神经元数并非越多越好,对BP神经网络隐含层神经元数进行优化是有必要的。

图6给出了本发明实施例中BP神经网络使用基于二次函数拟合方法训练得到的不同隐含层神经元数对应的分类平均准确率以及对测试样本的分类准确率,由图6可见,采用二次函数拟合法优化得到的BP神经网络隐含层神经元数为46,其用于对表2中未标签气体样本进行分类时,最优隐含层神经元数为48。显然,本发明提出的优化训练方法显著提高了BP神经网络在对气体分类时的泛化性能,平衡了分类准确性能与分类泛化性能。

在对BP神经网络隐含层神经元数进行优化后,取隐含层神经元数为46,然后对BP神经网络进行训练,训练后的BP神经网络对气体组分辨识结果如表3所示。

表3

表3中,1到9分别代表一种气体类别,分别对应硫化氢、一氧化碳、氨气、甲苯、甲醛、丙酮、硫化氢+一氧化碳、氨气+甲苯、甲醛+丙酮。

显然,本发明提出的一种基于优化的BP神经网络的气体辨识方法,可有效实现单一气体和二元混合气体等多种气体的同时检测和辨识,其对浓度未参与训练的气体样本,同样具有较好的辨识性能。

相关技术
  • 一种基于优化的BP神经网络的气体辨识方法
  • 基于改进遗传算法优化BP神经网络的驾驶风格辨识方法
技术分类

06120112773139