基于PCA-BP神经网络对甲醛和甲醇的识别研究 下载: 1153次
1 引言
甲醛和甲醇是日常生活中常见的有毒物质。甲醛对皮肤和黏膜具有强烈的刺激作用,是引发鼻咽癌、鼻窦癌、血癌和肺癌的主要因素之一。甲醇可以经过皮肤和呼吸道进入人体,刺激人的神经系统,具有麻痹效果,同时对视网膜和视觉神经具有选择性,可以导致视觉神经损伤,严重可能导致失明。因此对甲醛和甲醇进行识别具有十分重要的意义。对甲醛的识别,常见的方法有色谱法[1]、气相色谱——质谱(GC-MS)联用法[2];对甲醇的识别,常见的方法有顶空进样-气相色谱法[3]、傅里叶变换红外法[4]。这些物理方法在一定程度上可以对甲醛和甲醇进行识别,但是操作复杂,需要专业的人士才能进行操作,不利于在现实生活中推广和使用。
随着传感器技术的迅猛发展。电子鼻在环境监测、食品安全及药物识别等方面发挥了极大的作用。郑豪男等[5]基于微纳米传感器探究了有毒有害气体检测的方法,对于每种浓度的气体重复测量5次。钱小瑞等[6]应用反向传播(BP)神经网络对室内甲醛进行了定量分析,结果表明,BP神经网络可以很好地对微量甲醛浓度进行定量预测。张覃轶等[7]基于ZnO气敏传感器阵列对乙醇、丙酮、苯、甲苯、二甲苯等目标气体进行了相关的识别研究,对每种气体浓度重复测量13次。以上研究的目标气体具有毒性,数据重复测量的次数少,造成采集的原始数据量较少,识别效果欠佳。何爱香等[8]基于温度调制的气体传感器获取探测的动态信号,每种调制波形重复测量了96次,结合主成分分析对数据进行降维处理,对三种气体进行了有效的识别。王雨等[9]基于流速调制的电子鼻对啤酒进行分类,每个样本重复测量25次,每次需要300 s的时间,识别的正确率为96.8%。因为对气体识别需要进行大量的实验,以获取较多的实验数据,用来提高识别的正确率。同时长时间地进行测量,在一定程度上占用了大量的时间和资源,不同样本特性的提取存在数据量不足等问题。为了降低实验操作成本,并能够有效地对目标气体进行识别,本文通过建立伪随机特征值矩阵克服这些缺点。伪随机特征值矩阵的具体建立过程如下:首先采用实测数据响应曲线,提取同一种传感器的最大响应值作为特征值[10],并将特征值投影到坐标轴上;其次通过求平均值方法找到不同数据集的中心;最后用准则函数对数据集中心的数值进行提取,形成新的特征值,并构造成伪随机特征值矩阵。采用主成分分析(PCA)法将新生成的伪随机特征值矩阵进行降维处理,将贡献率较大的主元作为BP神经网络的输入。本文以甲醛和甲醇的响应值数据为基础样本,利用生成的伪随机特征值矩阵对甲醛和甲醇进行分类识别。
2 实验分析与数据处理
2.1 实验分析
实验设备如
实验中使用实验室自制的传感器,制备过程描述如下:1)采用水热法[11]分别制取了SnO2/Pr 3+,PrFeO3,PrFeO3/Sm3+,BiVO4,SnO2/In2O3,SnO2/Pa,SnO2/Sb 7种半导体纳米材料;2)用去离子水将以上7种半导体纳米材料调配成均匀的糊状,并均匀地涂在带加热丝的陶瓷管上,厚度大约为300 μm;3)将涂抹后的陶瓷管干燥后置于老化台,老化10天时间,使其性能更加稳定。实验中测试腔的温度为23 ℃,测量过程为:1)对测试腔进行干燥洗气处理,排除其他气体对测量气体产生的测量误差,干燥和洗气时间为5 min;2)对传感器阵列进行加热,使其传感器的波形基线稳定,减少测量误差,加热时间为2 min;3)用微量注射器抽取一定体积的甲醛和甲醇分别注射到加热板上,使其快速挥发;4)气体完全挥发后,采集1 min气体浓度的响应值;5)1 min后对测试腔进行放气,直到波形恢复到基线位置。对甲醛和甲醇三种浓度(2 μL,4 μL,6 μL)重复测量30次,利用气体传感器阵列采集甲醛和甲醇的响应值,通过数据处理获得各个传感器的响应值曲线。使用BP神经网络对甲醛和甲醇这两种有机物进行分类识别,具体的步骤如
2.2 数据处理
采用液体定量取样方法,即微量注射器每次抽取定量的(2 μL,4 μL,6 μL)两种液体注射到测试腔的加热板进行加热,并进行测试,记录各个传感器的响应值(实验中每组数据循环测量30次)。由于信号采集过程中,电阻元件会受到温度的影响,导致采集到的模拟信号经过模数转换(ADC)时引入了高频噪声信号。如果将采集的信号直接送入计算机会造成识别效果不佳,因此首先要对原始信号进行预处理。采用均值滤波,对波形进行平滑处理。
图 3. 采集数据波形。(a)原始数据波形;(b)滤波后的数据波形
Fig. 3. Acquisition of data waveform. (a) Raw data waveform; (b) filtered data waveform
实验中采用自制的传感器,因此需要对数据的稳定性进行分析,传感器响应值的相对标准差可以反映传感器的稳定程度。传感器对被测气体反应越稳定,其相对标准差就越小,计算公式为
式中:N为样本数;η为样本均值;xi为样本值。
根据(1)式对采集的数据进行统计分析,
3 算法分析
3.1 BP神经网络
模式识别是指将实验采集的气体数据样本通过合适的处理方法得到不同识别结果的过程。其中,误差反向传播算法[12]是最常用的模式识别算法。BP神经网络将输出期望值与测量值的差值进行反向传播,修改每层神经元的权值和阈值,直到满足网络设定的期望误差。BP神经网络具有较好的非线性映射能力和网络结构简单的优势,如网络的各层数和神经元数可以根据数据量大小进行设定。通常3层结构的BP神经网络可以满足对任意非线性函数进行逼近的要求。常见的BP神经网络包含网络输入层、隐含层和输出层。
表 1. 气体传感器响应值的相对标准差
Table 1. Relative standard deviation of gas sensor response
|
3.2 PCA-BP神经网络模型
主成分分析算法[13]是对数据进行处理的常用方法之一,通过对数据集进行线性组合求解得出协方差矩阵的最大k个特征值对应的特征向量,原数据集有n个特征值,在尽量减少对原始数据信息丢失的情况下对数据进行降维处理。在k个特征值中选择方差最大的p1为第一主成分,若p1的贡献率较小,不足以代表原来n个特征值代表的信息,则选取p2即第二主成分,若p1和p2两个主成分的累积贡献率不能满足实际需要,继续选取p3、p4等直到满足实际需要为止,且p1,p2,…,pn各不相关。因此,可以构造T个主成分,构造公式为
式中:
BP神经网络基于梯度下降法,网络收敛速度较慢,误差函数容易陷入局部最小值,当对原始数据提取过多的特征向量时,向量彼此间存在线性相关,当特征向量选取过少时,网络训练结果不佳,因此在选择网络输入时,特征值维数不宜选取过多,否则会使网络过度拟合导致识别率下降,同时浪费大量的时间对网络进行训练,建模时间过长。针对以上存在的问题,建立PCA-BP神经网络模型,对采集到的原始数据进行特征值提取,通过PCA法对特征值进行降维处理,得到的主成分彼此不相关,选取贡献率大的主元成分作为网络的输入。利用PCA法对数据进行降维处理,减少数据间的相关性,同时降低网络的输入向量的维数,缩短网络建模的时间,通过精简数据维数,克服网络过度拟合,提高网络分类识别的正确率。PCA-BP神经网络结构图如
3.3 伪随机特征值矩阵算法
1)当分析对象有n个特征值时,这些特征值构成n维特征矢量x=(x1,x2,…,xi),其中i=1,2,…,n。对于m个分析对象的特征值均表示成n维特征矢量,则这m个分析对象对应测量值组合在一起形成m×n维测量矩阵Am×n,矩阵元素为xmn。
2)矩阵Am×n的每一列向量x=(x1i,x2i,…,xmi)T,i=1,2,…,n,将其投影到x轴上,求得这些数据的中心点为
3)数据集中心点间的距离为
4)设伪随机特征值矩阵为Wm×n,形式如下
式中:τmn是在xmn左右进行波动。
5)矩阵Wm×n中的元素满足如下准则函数
式中:ε的取值为(-1.5,1.5)。
6)矩阵Wm×n的行向量分别为τ=(τi1,τi2,…τin),μ=(μj1,μj2,…,μjn),其中i,j=(1,2,…,m,i≠j)。通过计算矩阵的相关系数,对组成的特征向量进行相似度分析,其公式为
式中:cov(τ,μ)为两组信号的协方差,相关系数ρ越接近0,新构造的行向量τ和μ彼此间的相似程度越小,数据对分类识别价值更大。
3.4 特征值提取与伪随机矩阵
由于传感器阵列采集到的数据量较大,直接进行分类识别效果较差。为解决这一问题,通常采用提取特征曲线的特征值进行分析,在这一过程中,特征参数的选取对模式识别起着关键作用。因此,在特征参数选择时,应使响应曲线的数据趋于稳定,使特征参数包含大多数传感器最有价值的特征响应信号。在实验测量当中,选取传感器每条响应曲线稳定后的最大值作为提取的特征值。
实验中传感器阵列有7种气敏传感器,因此有7个提取的特征值。实验当中每组数据循环测量30次,因此得到矩阵A为60×7维特征值矩阵。伪随机特征值矩阵W的构造步骤为:1)分别取出矩阵A的列向量,并求得每列向量对应的数据中心;2)再次求得数据中心与列向量值的最远距离;3)通过准则函数在中心点附近随机取值;4)按照每列向量对应的属性进行排列,并形成新的矩阵。通过步骤3随机生成100组特征值,通过步骤4组成矩阵W为200×7维矩阵。对于新组成的矩阵W行向量进行相似度分析。
表 2. 部分W矩阵数据相似度标征
Table 2. Data similarity of partial W matrix
|
3.5 特征值主成分分析
由
图 5. PCA得分图。(a)前2个主成分;(b)前3个主成分
Fig. 5. PCA score chart. (a) First two main components; (b) first three main components
4 PCA-BP神经网络对甲醛和甲醇的分类结果
BP神经网络可以通过已知样本对未知样本进行分类。将响应曲线的特征值作为系统输入,通过对神经网络进行训练,并不断地调整权值和阈值,使输入和输出建立近似的非线性关系,从而达到精确分类的目的。
实验中采用7个传感器进行数据采集,从每条响应曲线中提取1个最大值作为特征值,共有7个特征向量。对7维特征向量进行降维,采用前3个主元成分作为BP神经网络的输入量。实验需要识别甲醛和甲醇两种有机物,因此BP神经网络的输入层、隐藏层、输出层的神经元个数分别为3、15、2,每个输出元对应一种液体的类别,其网络拓扑结构为3×15×2。本实验对甲醛和甲醇两种有机物在同一浓度下进行重复测量,共获得60个样本,提取响应曲线的特征值,并组成特征值矩阵A。当采用BP神经网络进行分析时,矩阵A中训练样本选自每种样品的10个样本值,测试样本选自每种样品的20个样本值,即两种有机物的训练样本为20个,测试样本为40个。由矩阵A构造生成的矩阵W中,训练样本选自每种样品的50个样本值,测试样本选自每种样品的50个样本值,即训练样本值100个,测试样本值100个。利用这两个特征值矩阵分别对PCA-BP神经网络进行训练和测试,对应甲醛和甲醇的网络输出设置为-1和1。训练过程中不断改变神经元的权值,当满足误差精度时,结束训练。用矩阵A训练的PCA-BP神经网络记为A-PCA-BP,用矩阵W训练的PCA-BP神经网络记为W-PCA-BP。实验中选取3层神经网络,其中隐含层神经元数为15,同时以 tansig函数作为隐含层神经元的激励函数,将purelin函数作为输出层神经元的激励函数,训练函数采用共轭梯度法(trainscg),网络最大训练步长设置为2000,目标误差定为0.01,使用的软件为Matlab2016a版本。两个BP神经网络的分类结果如
为了验证由矩阵W训练得到的W-PCA-BP网络泛化效果。将实测矩阵A用W-PCA-BP网络进行分类识别。识别误差率(MSE)定义为BP神经网络对错误区分的总样本数和测试样本数的比值。甲醛和甲醇的MSE由下式计算,
表 5. 矩阵W训练的网络对甲醛和甲醇的识别
Table 5. Identification of formaldehyde and methanol bymatrix W trained network
|
表 3. W-PCA-BP网络对矩阵A识别结果
Table 3. Recognition results of matrix A on W-PCA-BP network
|
表 4. 矩阵A训练的网络对甲醛和甲醇的识别
Table 4. Identification of formaldehyde and methanol bymatrix A trained network
|
式中:N1和N2分别为甲醛和甲醇的测试样本;N1-BP和N2-BP分别为通过BP神经网络对甲醛和甲醇正确分类的样本。将实测矩阵A用W-PCA-BP网络进行分类识别的MSE结果列于
图 6. BP神经网络分类结果。(a) A-PCA-BP分类;(b) W-PCA-BP分类
Fig. 6. Classification results of BP neural network. (a) A-PCA-BP classification; (b) W-PCA-BP classification
将矩阵A和矩阵W的数据分别用矩阵A训练的神经网络和矩阵W训练的神经网络对甲醛和甲醇进行识别对比,结果列于
5 结论
本文利用自制传感器采集甲醛和甲醇的气敏响应值,根据数学方法对采集的数据进行了有效的扩增,建立了伪随机数矩阵。通过该伪随机数对BP神经网络进行训练,有效地提升了网络的泛化能力,使网络模型对训练样本以外的数据具有正确的映射能力。通过PCA方法有效降低了数据的维数,建立了合适的伪随机特征值矩阵,有效地对甲醛和甲醇进行识别分类。该研究有助于对不宜长时间采集,或者数据获取难度大的有毒气体进行识别分类,可以采取该方法对数据量进行扩充,有效提升PCA-BP神经网络识别的正确率,同时节省实验的周期。
[1] 彭力争, 陈威, 刘晖, 等. 国标甲醛量值识别方法比较[J]. 中国标准化, 2019( 11): 133- 135, 157.
Peng LZ, ChenW, LiuH, et al. Comparison of the determination methods of formaldehyde value recommended by the national standards[J]. China Standardization, 2019( 11): 133- 135, 157.
[2] 黄书浩, 韩银, 徐萍华, 等. 气相色谱-质谱法测定眼用全氟丙烷气体中甲醇、甲醛[J]. 化学分析计量, 2019, 28(1): 38-41.
Huang S H, Han Y, Xu P H, et al. Determination of methanol and formaldehyde in ophthalmic perfluoropropane gas by GC-MS[J]. Chemical Analysis and Meterage, 2019, 28(1): 38-41.
[3] 王璐, 李金慈, 乔立业, 等. 顶空进样-气相色谱法测定双乌止痛酊中甲醇和乙醇含量[J]. 海峡药学, 2019, 31(8): 106-108.
Wang L, Li J C, Qiao L Y, et al. Determination of methanol and ethanol in ShuangWuZhiTong tincture by headspace sampling GC[J]. Strait Pharmaceutical Journal, 2019, 31(8): 106-108.
[4] 罗志烽. 化学法测定化妆品中甲醇含量的方法[J]. 化工设计通讯, 2019, 45(6): 8-9.
Luo Z F. Determination of methanol content in cosmetics by chemical method[J]. Chemical Engineering Design Communications, 2019, 45(6): 8-9.
[5] 郑豪男, 陈珍珍, 施佩影, 等. 基于微纳传感器的有毒有害气体检测方法研究[J]. 传感技术学报, 2019, 32(4): 514-519.
Zheng H N, Chen Z Z, Shi P Y, et al. Study of toxic gases detection based on miniaturized sensor[J]. Chinese Journal of Sensors and Actuators, 2019, 32(4): 514-519.
[6] 钱小瑞, 吴飞. BP神经网络在室内甲醛定量分析中的应用[J]. 传感器与微系统, 2018, 37(4): 151-154.
Qian X R, Wu F. Application of BP neural network in quantitative analysis of indoor formaldehyde[J]. Transducer and Microsystem Technologies, 2018, 37(4): 151-154.
[7] 张覃轶, 谢长生, 李登峰, 等. 基于纳米ZnO气体传感器阵列的乙醇、丙酮、苯、甲苯、二甲苯的识别研究[J]. 传感技术学报, 2006, 19(3): 552-554, 558.
Zhang Q Y, Xie C S, Li D F, et al. Recognition of ethanol, acetone, benzene, toluene and xylene using nano ZnO gas sensor array[J]. Chinese Journal of Sensors and Actuators, 2006, 19(3): 552-554, 558.
[8] 何爱香, 唐祯安, 魏广芬, 等. 基于温度调制的气体传感器动态信号识别研究[J]. 传感器与微系统, 2015, 34(6): 24-26.
He A X, Tang Z A, Wei G F, et al. Study on dynamic signal recognition of gas sensor based on temperature modulation[J]. Transducer and Microsystem Technologies, 2015, 34(6): 24-26.
[9] 王雨, 邢建国, 傅均, 等. 基于流速调制的电子鼻及其在啤酒分类中的应用[J]. 传感器与微系统, 2018, 37(11): 158-160.
Wang Y, Xing J G, Fu J, et al. Electronic nose based on flow velocity modulation and its application in beer classification[J]. Transducer and Microsystem Technologies, 2018, 37(11): 158-160.
[10] 刘俊秀, 杜彬, 邓玉强, 等. 基于差分-主成分分析-支持向量机的有机化合物太赫兹吸收光谱识别方法[J]. 中国激光, 2019, 46(6): 0614039.
[11] 赵林艳, 席晓丽, 樊佑书, 等. 纳米氧化钨的水热/溶剂热法制备及应用的综述[J]. 材料导报, 2019, 33(19): 3203-3209.
Zhao L Y, Xi X L, Fan Y S, et al. Review of recent progress in the synthesis of nano-tungsten oxide via hydrothermal/solvothermal method and the application[J]. Materials Review, 2019, 33(19): 3203-3209.
[12] 马春玥. 基于分数阶微分和连续投影算法-反向传播神经网络的小麦叶片含水量高光谱估算[J]. 激光与光电子学进展, 2019, 56(15): 153002.
[13] 徐向君, 王宪双, 李昂泽, 等. 基于激光诱导击穿光谱的茶叶品种快速分类[J]. 中国激光, 2019, 46(3): 0311003.
Article Outline
宋海声, 麻林召, 王一帆, 朱恩功, 李承飞. 基于PCA-BP神经网络对甲醛和甲醇的识别研究[J]. 激光与光电子学进展, 2020, 57(7): 071201. Haisheng Song, Linzhao Ma, Yifan Wang, Engong Zhu, Chengfei Li. Recognition of Formaldehyde, Methanol Based on PCA-BP Neural Network[J]. Laser & Optoelectronics Progress, 2020, 57(7): 071201.