PCA-SVM 优化WO3 气敏薄膜的VOC 选择性研究
2022-06-14王明松刘桂武乔冠军
唐 潇,王明松,柏 凌,刘桂武,乔冠军
(江苏大学 材料科学与工程学院,江苏 镇江 212013)
目前市面上的装修材料大都会通过化学处理[1],同时,人们日常生活中使用的杀虫剂、清洁剂等大都会挥发出有毒有害气体。而挥发性有机物(VOC)占空气污染物的比例是最大的[2]。为了人体健康,对VOC气体的识别显得尤为重要。
气体传感器是一种检测特定气体的传感器。电阻式气体传感器利用半导体材料与气体接触时其自身电阻值的变化来检测特定气体,所用敏感材料以金属氧化物为主[3],具有制作方法简单、灵敏度高、检测限低、使用寿命长、成本低等优点,但也同时存在交叉敏感性的问题,导致电阻式气体传感器的气体选择性普遍较差。
解决电阻式气体传感器选择性差的方法之一,是通过机器学习对多维的原始数据进行处理分析,实现对气体类型和浓度的定性与定量预测。在非监督学习[4-6]中,Xu 等[4]基于ZnO@TiO2纳米棒制备的传感器,以响应值、响应时间和恢复时间作为特征量,采用主成分分析(PCA)法进行分析,结果表现出对正丁醇良好的选择性。Li 等[5]通过调节氢氟酸浓度制备了不同形貌的TiO2纳米片,搭建传感器阵列,结合PCA和雷达图分析,在室温下对11 种爆炸气体进行了识别。在监督学习[7-9]中,Acharyya 等[8]基于水热法制备的SnO2空心球,在200~350 ℃工作温度下对VOC气体进行测试,对比随机森林(RF)、多层感知器(MLP)、支持向量机(SVM)和朴素贝叶斯(NB)四种算法结果,显示RF 可以精确识别所有气体。郑尧军等[9]采用不分光红外法对CO 进行测试,通过粒子群优化SVM 参数,对20 组不同浓度的CO 进行了定量分析,相比BP 网络,SVM 建模时间更短,预测精度更高。在混合算法[10-16]中,Ji 等[15]采用SnO2气敏传感器,先采用PCA 结合多项式回归对特征量进行提取分离,减少了气体浓度的干扰,再采用K-近邻算法对多种有毒有害气体实现了快速定性与定量识别。余道洋等[16]基于快速色谱与气敏传感器阵列结合检测方法,采用PCAPSO-SVM 算法,实现对痕量多组分气体的快速识别。目前获取多维原始数据的方式大都来自不同气敏材料搭建的传感器阵列,鉴于此,本文拟采用一种气敏材料,基于其在不同工作温度下对气体的响应表现出不同的特征,以此构建多维响应矩阵,并结合PCA-SVM 算法优化其选择性。
本文基于化学浴沉积法制备WO3气敏薄膜,在250,300,350 和400 ℃工作温度下,对甲醛、丙酮、甲苯、甲醇、乙醇和异丙醇六种VOC 气体进行气敏测试获取样本信息。首先采用PCA 对样本数据进行降维,根据结果进行初步的定性分析;再采用SVM 算法,选取36 组数据作为训练集进行建模,剩下18 组数据作为测试集进行验证,对VOC 类型进行预测,并与传统SVM 模型与PCA-SVM 模型的处理结果进行对比,实现WO3气敏薄膜对VOC 选择性的优化。
1 材料与方法
1.1 WO3气敏薄膜的制备
化学浴沉积法是一种经常使用的湿法制备薄膜的方法,将有机或无机盐溶于特定溶剂中形成稳定的溶液,再将基板放入其中,并在适当温度下缓慢反应,就能在基板上发生结晶形成前驱体物质的薄膜,最后通过高温热处理获得最终的薄膜样品。
首先,分别称取0.3 g 分析纯的钨酸钠和0.6 g 一水合柠檬酸溶于30 mL 去离子水中,在室温下搅拌0.5 h 直至完全溶解,再逐滴加入3 mol/L 的稀盐酸溶液调节pH 值至2 左右,继续搅拌0.5 h 后得到澄清透明的前驱体溶液。其中一水合柠檬酸起络合作用:
Al2O3基板电极片结构示意图,如图1 所示,将印刷Pt 电极(用于加热和电阻测量)的Al2O3基板斜放入溶液中,在叉指电极区域进行膜沉积,再放入60 ℃恒温烘箱内保温3 h 后取出,用去离子水冲洗基板去除杂质和不稳固沉淀,获得纯净的WO3前驱体薄膜。
图1 Al2O3基板电极片结构示意图Fig.1 Structure diagram of Al2O3 substrate electrode sheet
最后,将其置于干燥箱中烘干,在400 ℃下热处理3 h,WO3∙H2O 在高温下分解,得到最终的WO3气敏薄膜样品。
1.2 多维响应矩阵的测试
图2 为气敏测试模块示意图,将WO3薄膜作为敏感材料的电极片插入测试模块内,并接入测试软件,检测其在250,300,350 和400 ℃工作温度下对浓度为50ppm,200ppm 和500ppm 的甲醛、丙酮、甲苯、甲醇、乙醇和异丙醇共六种VOC 气体的气敏响应,得到响应曲线图,如图3 流程所示从中提取数据得到多维响应矩阵。
图2 气敏测试模块Fig.2 Gas sensing test module
图3 多维响应矩阵测试流程图Fig.3 Flow chart for testing of multidimensional response matrices
由于WO3为n 型半导体,VOC 为还原性气体,根据公式可计算出响应值:
式中:R为响应值;Rg为半导体在空气中的电阻值;Ra为半导体在被测气体中的电阻值。
响应时间(τres)指的是传感器接触待测气体后,电阻值变化90%时所需要的时间。恢复时间(τrecov)指的是待测气体被抽离后,传感器电阻值恢复到90%时所需要的时间。
将甲醛、丙酮、甲苯、甲醇、乙醇和异丙醇分别命名为gas-1、gas-2、gas-3、gas-4、gas-5 和gas-6;[Xij]为多维响应矩阵,i为测试样本数,i=1,2,3,…,m;j为特征量(如响应值、响应时间、恢复时间),j=1,2,3,…,n。
如图4 所示,实验采用静态测试的方式,根据公式计算对应浓度VOC 的有机液体体积,再将其注入到静态测试腔内的加热板上,经完全蒸发后通过混气风扇实现均匀配气。气体状态方程为:
图4 静态测试腔Fig.4 Static test chamber
式中:P为压强;V为体积;n为摩尔数;R为气体常数;T为温度。待测气体体积为:
式中:C为待测气体浓度;VC为静态测试腔体积。液体体积与摩尔数的关系式为:
式中:M为分子量;ρ为液体密度。由此可以推算出有机液体体积与浓度的关系式:
在本实验条件下,气体压强P为101 kPa,R为8.314,温度T为298 K,测试腔体积为50 L。如表1所示,计算得出待测VOC 每1ppm 所需注射进测试腔的有机液体体积。
表1 待测气体浓度及其对应的液体体积Tab.1 The concentration of the gas to be measured and the corresponding liquid volume
1.3 数据分析方法
1.3.1 数据的预处理
由于原始数据的响应值、响应时间和恢复时间数值差距较大,并且为了避免不同指标间量纲带来的误差,要对原始数据进行归一化预处理,使得各数据处于同一量级。本文将多维响应矩阵归一化到[-1,1]区间。归一化函数定义如下:
式中:x为多维响应矩阵;y为归一化后矩阵;ymax和ymin为定义区间的极值。
1.3.2 主成分分析
主成分分析(PCA)[13]主要用作降低特征量之间的相关性,实现对原始数据的降维。将多维的输入矩阵投影到低维空间中,把原始数据的特征量在低维空间中展示,根据数据点分布情况能够定性地看出样本间的相关程度,也能用作后续的数据分析,减小数据计算量,提高算法运行速率。计算步骤如下:
①输入k维的矩阵,k为多维响应矩阵的特征量,如响应值、响应时间或恢复时间;
②计算协方差矩阵;
③计算协方差矩阵的特征向量和特征值;
④按照特征值大小排序,选择前p个(p 通过PCA 实现对多维响应矩阵的降维,绘制二维或三维的主成分分析结果图,定性地对VOC 类型进行区分。并选取累计贡献率大于90%的主成分作为后续算法的输入矩阵。 1.3.3 支持向量机 支持向量机(SVM)的核心思想是将输入矩阵非线性地映射到高维的空间中,在此空间中选择适当算法,构造一个最优的超平面对输入数据实现分类。算法模型构建步骤如下: ①设定输入和输出矩阵。以归一化后的多维响应矩阵或累计贡献率大于90%的主成分作为输入,VOC 类型矩阵作为输出。并将样本数据分为训练集与测试集。 ②选定核函数。核函数的目的是为了替换高维空间的内积运算,并不需要显式地指定非线性变化,提高算法模型的收敛速率。选用径向基函数(RBF)作为该SVM 的核函数,RBF 可以将输入数据映射到更高维,而且模型参数较少,具体公式如下: ③设定模型参数。在训练模型中,需要对惩罚系数c和松弛变量g进行优化,从而提高分类准确性,采用交叉验证法[17]来寻找模型的最佳c值和g值。首先设定并初始化惩罚系数c、松弛变量g、预测准确率Accuracy 和最佳准确率AccuracyBest 为0,设定误差Epsilon 为10-3,在[2-10,210]的范围建立[c,g]的网格矩阵。图5 为交叉验证法寻找最佳c值和g值的流程图,其中[c,g]best为当前最佳c值与g值,当准确率接近时,以较小的c值作为最佳c值,因为过高的惩罚系数可能会造成模型过拟合。重复此流程,依次对[c,g]的网格矩阵每一对参数进行验证,最后输出[c,g]best作为最佳c值和g值。 图5 交叉验证法寻找最佳[c,g]流程图Fig.5 Flow chart of cross-validation to find the best[c,g] ④对测试集进行验证。通过训练集设定好最佳参数后,建立SVM 模型,以测试集作为验证,计算对VOC 分类的准确率,并输出模型的运行耗时。 通过SVM 算法分析,对气体类型进行预测,实现对VOC 的精确分类,并将传统SVM 模型与PCASVM 模型的分析结果进行对比。 图6 是WO3气敏薄膜的XRD 图谱,如图所示样品的全部衍射峰相对强度和位置基本与标准相WO3(JCPDS#83 -0950) 吻合,样品的衍射峰主要在24.33°,34.14°,49.95°(三强蜂)左右,这些衍射峰与标准PDF 卡片的衍射峰(200)、(202)和(400)重合,由此可以断定样品的主要成分为WO3,可以看出样品的峰型尖锐,说明薄膜的结晶度比较好,且在图中未观察到杂峰存在,表明薄膜具有很好的纯度。 图6 WO3气敏薄膜的XRD 谱图Fig.6 X-ray diffraction pattern of WO3 gas sensing film 如图7 扫描电镜图所示,所制备的WO3气敏薄膜由厚约20 nm 的纳米片组成,纳米片垂直基片生长,形成网络状结构。 图7 WO3气敏薄膜的扫描电子显微镜图Fig.7 SEM image of WO3 gas sensing film 在250,300,350 和400 ℃工作温度下,分别将浓度为50ppm,200pmm 和500ppm 的甲醛、丙酮、甲苯、甲醇、乙醇和异丙醇所对应体积的有机液体注射到静态测试腔的加热板上,待挥发完全后,打开风扇实现均匀混气,其中注入气体时间的间隔为300 s。浓度梯度测试完毕后,在500ppm 浓度下进行循环稳定性测试。重复测试三次,得到多组WO3气敏薄膜的响应曲线图,由于数据量较大,本文只对第一次测试的响应曲线图进行展示。 图8 分别为WO3气敏薄膜对不同浓度的六种VOC气体的动态响应曲线图。如图所示,WO3气敏薄膜的基态电阻随工作温度升高而降低;待测气体浓度越高,响应值越大,且不同温度下响应值变化幅度不同。图9 分别为六种VOC 气体在500ppm 的浓度下进行3 次循环测试,响应均能保持一定的稳定性,表明其重复性较好。 图8 WO3气敏薄膜对不同浓度的六种VOC 气体的动态响应曲线图。(a)甲醛;(b)丙酮;(c)甲苯;(d)甲醇;(e)乙醇;(f)异丙醇Fig.8 Graphs of dynamic response of WO3 gas sensing film to six VOC gases with different concentrations.(a) Formaldehyde;(b) Acetone;(c) Toluene;(d) Methanol;(e) Ethanol;(f) Isopropyl alcohol 图9 WO3气敏薄膜对500ppm 的六种VOC 气体的3 次循环响应曲线图。(a)甲醛;(b)丙酮;(c)甲苯;(d)甲醇;(e)乙醇;(f)异丙醇Fig.9 Graphs of the 3-cycle response of WO3 gas sensing film to six VOC gases at 500ppm.(a) Formaldehyde;(b) Acetone;(c) Toluene;(d) Methanol;(e) Ethanol;(f) Isopropyl alcohol 根据响应曲线图,计算对应的响应值,获得54 组样本数据。对相同条件下的响应值取平均值,并计算标准差: 式中:σ为标准差;x为样本数据;为样本数据平均值;n为样本数。 图10 为甲醛、丙酮、甲苯、甲醇、乙醇和异丙醇在浓度为50ppm,200ppm 和500ppm 下的响应值立方图。标准差较小,表明3 次测试没有明显误差;WO3气敏薄膜对甲苯响应值最高,选择性最好;对其他气体响应难以通过立方图直接判断,尤其甲醛和甲醇在4 种工作温度下响应值均很接近。如图11 和图12 所示,通过计算甲醛和甲醇的响应时间和恢复时间,增加样本数据的特征量。 图10 六种VOC 气体在不同浓度下的响应值立方图Fig.10 Cube plots of response values of six VOC gases with different concentrations 图11 WO3气敏薄膜在不同温度下对3 种浓度甲醛的动态响应曲线图Fig.11 Graphs of dynamic response of WO3 gas sensing film to formaldehyde with three concentrations at different temperatures 图12 WO3气敏薄膜在不同温度下对3 种浓度甲醇的动态响应曲线图Fig.12 Graphs of dynamic response of WO3 gas sensing film to methanol with three concentrations at different temperatures 以VOC 气体在250,300,350 和400 ℃工作温度下的响应值作为特征量,分别在50ppm,200ppm 和500ppm 浓度下,构建18×4 矩阵作为PCA 的输入数据,选取累计贡献率大于90%的主成分(PC1 和PC2)作二维图。如图13 所示,在3 种浓度下,甲苯和异丙醇数据点与其他数据点分离得最远,丙酮和乙醇数据点也具有一定的分离程度,说明降维后能够对甲苯、异丙醇、丙酮和乙醇进行区分;而如上节所述,甲醛和甲醇在各个工作温度下的响应值均很接近,降维后数据点分布区域的重叠性较高,难以区分甲醛和甲醇。 图13 不同浓度下PCA 分析散点图Fig.13 Scatter plots of PCA analysis at different concentrations 结果表明以响应值作为特征量输入,通过PCA 降维处理,能够初步对甲苯、异丙醇、丙酮和乙醇实现定性识别,但不足以区分甲醛和甲醇。 针对甲醛和甲醇的数据组,进一步以响应时间和恢复时间作为新增特征量,通过增加样本信息,提高识别分辨率。构建18×12 矩阵作为PCA 的输入数据,选取累计贡献率大于90%的主成分(PC1 和PC2)作二维图。如图14 所示箭头方向为浓度梯度增加方向,甲醛-1 和甲醇-1 为仅以响应值作为特征量进行PCA 降维后的数据点,甲醛-2 和甲醇-2 为以响应值、响应时间和恢复时间作为特征量进行PCA 降维后的数据点。结果表明,在增加特征量后,甲醛与甲醇的数据点分离程度变高,说明能够提高对甲醛和甲醇定性识别的效果。 图14 甲醛和甲醇两组不同特征量的PCA 分析散点图Fig.14 Scatter plot of PCA analysis of two groups of formaldehyde and methanol with different characteristic quantities 整体分析,将50ppm,200ppm 和500ppm 浓度下的样本数据整合,构建54×4 矩阵作为PCA 输入数据,选取PC1、PC2 和PC3 作三维图。如图15 所示箭头方向为浓度梯度增加方向,高浓度时数据点分离较远,选择性较好;低浓度时数据点团聚密集,难以识别各类VOC。分析得出,高浓度时气敏响应值较高,在归一化过程中所占权重较大,使得各低浓度下的响应值在归一化后数值较为接近,对定性识别影响较大。 图15 在三种浓度下整体的PCA 分析散点图Fig.15 Scatter plot of overall PCA analysis at three concentrations 结果表明,通过PCA 降维分析,在相同浓度下能够实现对VOC 的定性识别,针对难分辨气体,可以通过增加响应时间和恢复时间作为补充的特征量提高识别效果,但在浓度差距较大的情况下,定性识别也存在一定的局限性。 为了准确判断各气体类型,采用SVM 模型对VOC 进行精确分类。以RBF 作为该模型的核函数,通过交叉验证法寻找最佳惩罚系数c和松弛变量g。 首先以响应值作为特征量,对样本数据进行归一化后作为传统SVM 模型的输入数据,VOC 类型作为输出数据,选择36 组数据作为训练集,建立SVM 模型进行训练,得到最佳惩罚系数c=36.76,最佳松弛变量g=6.96,并选择剩余的18 组数据作为测试集。 然后再整合2.3 节3 种浓度下的主成分分析结果,以累计贡献率大于90%的主成分(PC1 和PC2)作为PCA-SVM 模型的输入数据,以VOC 类型作为输出数据。选择36 组数据作为训练集,建立SVM 模型进行训练,得到最佳惩罚系数c=8.00,最佳松弛变量g=724.08,并选择剩余的18 组数据作为测试集。表2 为两种算法模型的详细数据,可以看出通过SVM 处理,分类准确率均能达到100%。 表2 两种算法模型的详细数据表Tab.2 Detailed data table of two algorithm models 为了比较传统SVM 和PCA-SVM 模型的差异,表3 为两种算法模型运行耗时表,表中所列仅包括总时间和耗时占比前三的函数语句。从总时间来看,PCA-SVM 的运行速率明显优于传统SVM 模型,耗时减少40%,其中,速率的提升主要来自对数据的训练过程,同样36 组训练集,传统SVM 模型需要4.7 s,由于通过PCA 降维后,特征量从四维降为二维,保留关键样本信息的同时减少了模型的计算量,PCASVM 模型仅需要2.8 s。 表3 SVM 和PCA-SVM 运行耗时表Tab.3 Running time table of SVM and PCA-SVM 本文基于制备的WO3气敏薄膜,在250,300,350 和400 ℃工作温度下,对50ppm,200ppm 和500ppm 浓度的六种VOC 进行测试,获取多维响应矩阵作为样本信息。通过PCA 对VOC 实现初步的定性分析,其中针对难分辨的甲醛和甲醇气体,通过增加响应时间和恢复时间作为补充的特征量,使各VOC 之间均有一定的区分度。在SVM 模型中,采用交叉验证法寻求最佳惩罚系数和松弛变量,对VOC 分类的准确率达到了100%,其中PCA-SVM 模型对比传统SVM模型,耗时减少40%,速率提升主要来自于对降维后数据计算量的降低,PCA 和SVM 相结合更适合处理具有多维特征量的数据样本。通过PCA 与SVM 算法分析,对WO3气敏薄膜鉴别VOC 实现了定性识别与精确分类,减少了半导体传感器的交叉敏感性问题,优化了WO3气敏薄膜选择性。2 结果和讨论
2.1 WO3气敏薄膜的表征
2.2 气敏响应特性
2.3 PCA 定性识别
2.4 SVM 精确分类
3 结论