APP下载

基于改进OS-ELM 的电子鼻在线气体浓度检测*

2023-11-10朱梓涵陶洋梁志芳

电子技术应用 2023年10期
关键词:混合气体惯性乙烯

朱梓涵,陶洋,梁志芳

(重庆邮电大学 通信与信息工程学院,重庆 400065)

0 引言

随着工业的高速发展,环境问题日益突出。空气污染问题不仅直接危害人体健康,还对生活环境造成了严重影响。电子鼻是一种模仿动物嗅觉器官的传感器设备,能够快速并准确地识别出各种气体[1]。

电子鼻主要由气体识别算法、信号处理模块和传感器阵列组成[2]。气体识别算法是电子鼻系统中的关键组成部分,能够从软件层面上提升电子鼻的识别效果。

目前的研究者使用了不同的方法提高气体识别算法的精度。Akbar等[3]通过特征降维提升气体识别的准确率,但这可能导致特征信息丢失而影响最终效果。Fan等[4]则采用无监督学习的方式进行气体聚类分析提高了气体分类时的精度,但这种方式要求提取高质量的特征。Wijaya[5]运用信息论对传感器阵列进行特征选择,以优化气体识别算法,但增加了特征提取和选择的工作量和复杂度。李鹏等[6]直接使用一维卷积神经网络 (One Dimensional Convolutional Neural Network,1DCNN)对气体进行识别并确定气体种类。而LE B T等人[7]指出了直接使用CNN 网络进行分类或预测的缺陷,因此他们采用了混合模型来预测目标,但这种模型面对大量样本数据时,会导致训练速度缓慢和计算机内存占用较高。

针对电子鼻的气体浓度预测中的问题,本文提出一种基于在线序列极限学习机(Online Sequential-Extreme Learning Machine,OS-ELM)的气体浓度预测方法。OSELM 不仅具有ELM 模型计算速度快、泛化能力强的特点[8],而且还采用了在线式增量学习策略[9]。但OSELM 的输入权重和隐层偏置是随机生成的,这会影响预测精度。为了克服这一缺点,本文提出一种改进的粒子群算法,该算法能够有效地搜索OS-ELM 全局最优参数,从而进一步提高模型浓度预测精度。此外,本文还使用1DCNN 模型对气体信号进行特征提取,挖掘了气体信号的深度特征。

1 模型构建

1.1 1DCNN 特征提取网络

本文提出的1DCNN 网络包含有输入层、卷积层、池化层和全连接层,具体结构如图1 所示。

图1 1DCNN 结构

此外网络还含有4 个BN 规范层、1 个展平层、1 个随机丢弃层以保证网络的鲁棒性。在模型训练阶段需要提升1DCNN 网络特征提取效果,因此需要通过计算模型的均方差误差损失对模型进行优化。

1.2 ICMA-PSO-OS-ELM 预测模型

ELM 类型的模型的不足之处则是输入权重值和隐层偏置是随机确定的,因此增加了预测结果的不确定性。针对粒子群算法(Particle Swarm Optimization,PSO)[10]惯性权重和学习因子固定的缺陷进行改进,保证粒子群算法收敛速度快、实现简单的基础上,改善粒子群算法的搜索能力,使其更容易得到目标全局最优解。因此在传统PSO 算法基础上,将惯性权重因子ω与学习因子c1、c2进行调整[11],以实现算法前期全局搜索能力强、后期局部搜索能力强的特性,同时将粒子群的整个种群拆分为多个子种群,将每个子种群的输出结果进行集成,得到所有粒子历史中的最优解,通过这种方式提高粒子多样性,从而提高粒子群算法的全局搜索能力。

PSO 算法中的惯性权重因子ω在趋于1时,全局搜索能力较强,适合算法前期的全局搜索;而惯性权重在趋近于0 时则提高了算法的局部搜索能力,降低了全局搜索能力,适合算法后期的局部搜索[12]。同时PSO 算法中的个体学习因子c1和社会学习因子c2也会影响粒子群的搜索能力。

为了能够在算法前期维持较高的惯性权重因子,后期取尽量小的惯性权重因子,需要将权重因子设为变量[13]。王生亮等人提出一种基于神经网络中Sigmoid 函数的惯性权重下降策略,Sigmoid 函数是呈现“S”型单调曲线函数,该函数在前期和后期变化趋势平缓,并且实现取值前期和后期的快速变换[14]。将函数进行翻转后,可以变成一个单调递减的函数:

式中,ωmax为预定的惯性权重最大值,ωmin为预定的惯性权重最小值,b表示调整系数,k(·)为迭代函数,T表示最大迭代次数。这种方式对粒子群算法有明显的提升,但函数在迭代过程中,可能会因为数据抖动对最终结果造成影响,因此本文提出一种基于滑动平均值的Sigmoid函数惯性权重因子下降策略,能够消除数据抖动带来的影响,同时使惯性权重因子自适应下降。首先对惯性权重因子的滑动均值定义如下:

其中,m为滑动的窗口大小。规定了惯性权重因子的滑动均值的初值取ωmax,以及迭代轮次小于等于滑动均值窗口大小时的取值和迭代次数大于窗口大小的取值。因此对惯性权重因子下降函数定义如下:

其中,β是函数的下降控制参数,β∈[0.2,0.4]。通过上述对函数的定义,实现了一种呈现“S”型下降趋势且下降曲线平滑的惯性权重下降策略。

另一方面,学习因子也会影响算法的搜索能力。粒子群算法在前期主要靠个体学习因子,后期则靠社会学习因子,如果学习因子的取值随惯性权重同步变换,则能够进一步地优化粒子群算法,因此对学习因子定义为:

其中,cmin为学习因子可取的最小值,cmax为学习因子能够取的最大值。个体学习因子c1整体呈现单调下降趋势,社会学习因子c2则呈现单调递增的趋势。根据以上定义的公式确定了惯性权重因子和学习因子,那么可以确定粒子群每个粒子速度和位置:

同时,为了增加粒子的多样性,将上述算法结合粒子群集成协同[15]思想,将粒子群看作一个种群,并把整个种群分为多个子种群,每个子种群分别计算出子种群的最优值,再将这些子种群最优值形成集合,通过比较集合中的值可以得到所有粒子历史中的最优解。

将ICMA-PSO 算法引入到OS-ELM中,通过搜索算法找到输入权重和隐层偏置的全局最优解。模型初始训练时的准确度作为目标函数进行搜索,从而得到最优的输入权重和隐层偏置,在后期的在线学习阶段均采用最优参数进行训练。具体算法流程图如图2 所示,ICMA-PSO-OS-ELM 算法步骤如下:

图2 ICMA-PSO-OS-ELM 算法流程图

(1)对OS-ELM 模型和ICMA-PSO 算法中的参数进行初始化。

(2)将OS-ELM 模型的输入权重和隐含层偏置设置为ICMA-PSO 算法的搜索参数。

(3)利用初始数据样本经1DCNN 特征提取后对模型进行初始训练,构成ELM 模型,并使用评价函数作为ICMA-PSO 算法中的目标函数。

(4)按照ICMA-PSO 算法中的惯性权重因子ω下降策略进行更新,同时按照同步更新策略更新c1和c2。

(5)更新粒子的当前速度和位置,并根据当前目标函数的取值与粒子历史最优和全局最优解进行比较,判断是否更新和

(6)达到迭代上限后退出算法,输出全局最优惯性权重因子和学习因子。

(7)利用最优参数构建OS-ELM 模型,并利用不同批次的训练样本经1DCNN 特征提取后进行多次训练得到最终模型。

(8)向最终模型中输入预测数据集,输出结果。

2 实验仿真与结果分析

2.1 实验数据介绍

本文实验所采用的数据集来源于加州大学欧文分校的机器学习数据集库。数据集包含两种混合气体下16 个气体传感器所组成的电子鼻测量数据[16]。其中包含两个数据集,一个是一氧化碳和乙烯组成的混合气体数据集,另一个是乙烯和甲烷组成的混合气体数据集。其中一氧化碳的浓度范围是0~533.33 ppm,甲烷的浓度范围0~290 ppm,乙烯浓度为0~18.33 ppm。这些数据反映了传感器阵列在不同环境下的混合气体情况,可以用于电子鼻气体分类和预测算法的研究。

2.2 实验设计与仿真

本数据集的数据量巨大,但相似数据较多,因此对原始数据集进行均匀采样,构成数据量为10 000 的数据集。由于部分传感器的反应值较大,不利于模型的训练,因此需要先对数据集进行归一化处理。选择一半的数据作为测试集,选择数据量3 000 的数据作为初始训练集,剩余的2 000 数据作为在线训练时的训练集。在对1DCNN 模型的初始阶段优化时,优化算法设置为Adam,学习率设置为0.001,迭代周期数为200,一批量的样本大小300,优化完成后输入初始训练集提取特征后输入到预测器当中进行预测任务。初始化训练时,利用ICMA-PSO 算法对OS-ELM 模型参数进行优化,对算法的粒子数取50,搜索轮数设置为50。在模型的在线训练阶段,将训练集切片为大小为500 的子集进行4 次在线训练,完成后输入在线训练期间的样本提取特征并开始预测任务,由于混合气体中同时含有两种气体成分,因此需要对两种成分同时进行预测得出结果。

为了进一步证明本文提出的算法的优势,本文采用BP 神经网络、OS-ELM、1DCNN-OS-ELM、1DCNN-PSOOS-ELM 作为对比实验组,设置BP 网络和ELM 隐含层节点均为128。通过几种对比实验模型和本文提出的模型对混合气体的浓度进行预测。

各模型的评价结果由平均绝对误差(MAE)、均方误差(RMSE)以及判定系数(R2)进行衡量。实验结果采用多次实验后取平均值。

2.3 实验结果分析

表1 列出一氧化碳和乙烯的混合气体、甲烷和乙烯的混合气体中不同模型对这两种气体的预测结果。其中,一氧化碳和乙烯混合气体中的乙烯气体记为乙烯-1,甲烷和乙烯混合气体中的乙烯气体记为乙烯-2。通过多次仿真实验,取平均值作为最终结果。本文提出的1DCNN 与ICMA-PSO-OS-ELM 混合模型预测浓度得到的R2值最高,同时MAE 和RMSE均为最低值,乙烯-1 的预测R2值达到了0.993 以上,对于浓度范围较大的一氧化碳,R2值也达到了0.964 以上。而和乙烯的混合气体中的浓度预测中,甲烷的R2值达到0.974 以上,乙烯-2的R2值也在0.998以上。

表1 不同气体下各算法浓度预测效果

为了更加直观地观察每种算法在预测时与实际的值差异,分别作出两种混合气体下的每种气体的浓度预测效果曲线图如图3~图6 所示。

图3 一氧化碳预测结果

图4 乙烯-1 预测结果

图6 乙烯-2 预测结果

3 结论

本文针对电子鼻进行气体浓度检测时的精度问题,提出一种1DCNN 与ICMA-PSO-OS-ELM 的混合模型,1DCNN 网络对原始信号进行特征提取以减少信号特征选择与提取期间工作并提升预测精度,通过OS-ELM 的在线学习机制减少训练时间,并对PSO 算法进行改进,进一步提升预测时的精度。将该算法与BP 神经网络、OS-ELM、1DCNN-OS-ELM、1DCNN-PSO-OS-ELM 算法进行对比实验,根据实验结果表明,本文提出的算法在混合气体的浓度预测中无论是浓度范围较大还是较小的气体都可以取得较好的预测结果。但针对数据样本少的场景时,算法性能会受到一定的影响,因此电子鼻小样本气体浓度检测将是后期的研究重点。

猜你喜欢

混合气体惯性乙烯
你真的了解惯性吗
SF6/N2混合气体负流注放电特性的模拟研究
冲破『惯性』 看惯性
乙烷裂解制乙烯产业大热
无处不在的惯性
NO、O2及NO2混合气体考点归纳
普遍存在的惯性
混合气体在聚合物注射成型保压阶段中扩散的分子动力学模拟
基于分子弛豫模型的混合气体多物理场二维重建算法
乙烯裂解炉先进控制系统开发及工业应用