罗小刚,谢新莘
(重庆大学生物工程学院,重庆 400030)
应用于卟啉阵列气体检测系统的识别算法*
罗小刚*,谢新莘
(重庆大学生物工程学院,重庆 400030)
差值图谱是卟啉化学传感器(PSA)芯片识别气体的根据,但同种气体的差值图谱之间会出现颜色或显色位置的差异,存在实验数据发散的问题。结合BP神经网络和粗糙集,提出了一种新的气体种类识别算法,并将之用于PSA气体检测系统中。该方法利用粗糙集的数据约简功能找到差值图谱数据中颜色变化明显的点的数据,以这些数据为输入,进行BP神经网络的训练和识别。通过实验可以证明,相对于欧氏距离聚类结果、BP神经网络识别结果,本文提出的算法对于发散的实验数据具有更高的识别精度。
卟啉传感器;气体识别;神经网络;粗糙集
不论是在大气污染检测领域[1],还是疾病检测领域,痕量气体检测技术都有着极其重要的应用[2]。利用气敏传感器进行痕量气体检测的技术已成为目前的研究热点。由于卟啉及其衍生物与不同气体反应会产生不同的颜色变化,并具有很高的灵敏度,因此可以将之制作成卟啉化学传感器阵列PSA(Porphyrin Sensor Array)芯片,应用于高精度的气体检测中[3-4]。
适用于气体传感器阵列的模式识别方法有很多种,包括聚类分析、判别分析、主元分析、反向传播人工神经网络、概率神经网络和遗传算法等。PSA气体检测系统的气体分类方法一般采用聚类分析[5-6]或者主成分分析[7-9]。在进行同种气体检测的平行实验时,若PSA芯片的差值图谱基本一致,应用聚类分析或者主成分分析进行气体识别不仅简单、快捷,而且具有很好的识别效果。但是当出现差值图谱不一致,检测结果部分发散的情况时,这两种方法并不能很好地识别气体。因此需要设计一种较为全面、智能的气体种类识别算法,以保证PSA气体检测系统在任何状态下都有较高的识别率。
本文针对非理想状态下气体种类识别算法的弊端,提出了一种结合粗糙集与BP神经网络的气体种类识别算法。BP神经网络广泛应用于气体传感器阵列的模式识别,具有强大的自组织、自学习、自适应和分类计算功能[10]。粗糙集(Rough Set)理论是一种新型的处理模糊和不确定知识的数学工具,具有提取离散数据特征属性的功能[11],可以补偿神经网络训练速度慢,泛化能力差,产生过拟合等缺点[12]。本文先利用粗糙集进行数据约简,后利用BP神经网络进行数据的训练和识别,通过对氨气、丙酮和苯这3种气体的差值图谱数据进行识别测试,证明了该算法在PSA气体检测系统中有较高的正确率和识别精度。
1.1 PSA系统检测原理
卟啉及其衍生物具有很好的分子识别能力。当与分子或离子发生结合时,卟啉吸收的光谱发生改变,产生颜色变化[13],这种变化对不同目标物具有特异性。筛选合适的卟啉及其衍生物以及酸碱指示剂,共计36种,构建成6×6的PSA芯片。如图1所示,气体由气泵进入反应气室与PSA芯片反应,利用摄像头拍摄反应前后阵列的照片,通过安装在PC机上的系统软件计算处理得到各卟啉点反应前后的RGB三个颜色分量的差值,生成差值图谱。理论上,芯片中与气体反应的点(敏感点)的颜色变化明显,在差值图谱中会显示出来。一般以差值图谱显示的敏感点个数及其位置作为气体种类识别的标志。一幅差值图谱的所有卟啉点的RGB分量差值组成一个1×108的差值向量,如式(1)所示:
ΔRGB=ΔR1,ΔG1,ΔB1,…,ΔRi,ΔGi,ΔBi,…,ΔR36,ΔG36,ΔB36
(1)
ΔRGB表示差值数据的向量,ΔRi,ΔGi,ΔBi分别表示第i个卟啉点的红色、绿色、蓝色分量差值,i=1,2,…,36。
图1 气体检测系统框图
在实际的实验过程中,由于卟啉非常灵敏,检测结果会受环境变化的影响,导致平行实验的差值图谱不一致。当一种气体进行多次平行检测实验时,敏感点数量和位置一致,并且占检查结果大多数的差值图谱称为该气体的理想图谱,少数不一致的差值图谱称为发散图谱。例如,当丙酮进行平行实验时,检测得到的差值图谱大部分如图2(a)所示,因此将(a)作为丙酮气体的理想图谱。本文选择了3种气体:氨气、丙酮和苯,分别对比了它们的理想图谱与发散图谱,如图2所示。
图2 三种气体差值图谱对比
从图2可以看出,虽然每一组差值图谱的敏感点个数及其位置不尽相同,但是他们都代表同种气体。在这种情况下,仅凭直接观察差值图谱来判定气体种类是不可靠的。
1.2 基本概念
粗糙集理论采用等价关系将研究对象粒化为若干互斥的等价类,作为描述对象任意概念的基本信息粒子。通过集合中的包含关系和代数中的等价关系可以描述知识的粗糙性[14-16]。
定义1决策系统。设S={U,A,V,f}是一个信息系统,论域U为非空有限集,A为属性集,V为属性A的值域,f:U×A→V为信息函数。若A由条件属性集合C和结论属性集合D组成,且C、D满足C∪D=A,C∩D=φ,则称S为决策系统。
定义2不可分辨关系。对于决策系统S={U,C∪D},非空集合B⊆C,B中所有等价关系的交集称为B上的一种不可分辨关系,用IND(B)表示。
定义3约简。决策系统S=(U,C∪D),C为条件属性集合,如果存在一个非空集合C′,满足①IND(C′,D)=IND(C,D);②不存在C″′⊂C,使IND(C″,D)=IND(C,D)。则称C′为C的约简。
定义4核。在C中所有必要关系组成的集合称为C的核,用core(C)表示。核是所有约简所具有的共同特征。
粗糙集理论中,任意的一个元素或对象是否属于特定一个属性是具有概率分布意义的[17]。设P为一个已知的知识,给定P的概率分布,可以得到P的信息熵:
知识Q与知识P的相对信息熵定义为:
知识P与Q的互信息定义为:I(P;Q)=H(Q)-H(Q|P)。
定理1设S={U,C∪D}是一个决策表,C和D分别为条件属性集合决策属性集。对任意的B⊆C,B是C的一个约简必须满足下列两个条件:
①I(B;D)=I(C;D);②对于任意的p∈B,都有H(D|B) 本文利用粗糙集的数据约简功能对差值图谱数据进行约简的步骤如下:①以差值图谱数据构造决策表,制定条件属性与决策属性;②使用基于信息熵的粗糙集约简算法寻找最小约简和核;③保留约简后特征属性的值,特征属性的个数作为网络的输入节点数;④将约简后的数据进行神经网络训练、识别;⑤重复②~④步骤,直到识别精度不再提高。 2.1 数据预处理 图3 样本数据预处理过程 在差值向量中,每个卟啉点的颜色变化都由ΔR、ΔG、ΔB三个分量表示。本文利用式(2)计算得到每个点的d值,表示将每个点的RGB三维向量投影至一维平面,以方便综合地表示该点的颜色变化情况。因此,一幅差值图谱的差值向量维度从1×108降到1×36。 (2) 为了去除平行实验之间的系统误差,这里采用式(3)对d进行归一化处理。 xk=(xk-xmin)/(xmax-xmin) (3) 其中,xmin为差值向量中的最小数,xmax为最大数。 2.2 聚类对发散样本的识别实验 在本次实验中,选择图2所示3组共12个样本数据作为数据源,经数据预处理后,组成一个12×36的向量,作为欧氏距离聚类的输入。 将数据经预处理后,为了方便区分,每个样本均被编号。将图2中的样本(a)、(e)、(i)分别命名为ACE、NH3、BEN,表示丙酮、氨气和苯的理想样本数据;将(b)、(c)、(d)分别命名为A1、A2、A3,表示丙酮的发散样本数据;将(f)、(g)、(h)分别命名为N1、N2、N3,表示氨气的发散样本数据;将(j)、(k)、(l)分别命名为B1、B2、B3,表示苯的发散样本数据。本文利用SPSSInc18.0软件的系统聚类功能对12个样本数据进行欧氏距离聚类。 如图4所示,从聚类的结果可以看到,丙酮的理想样本ACE与发散样本A1、A2、A3被归为一类,苯的发散样本中只有B1与理想样本BEN归为一类,B2、B3并没有被归类,而氨气的理想样本NH3虽然与发散样本N1、N2、N3被归为一类,但是两者的欧氏距离差距较大。 图4 欧氏距离聚类结果 使用欧氏距离聚类有着明显的不足之处:在发散样本中,同种气体样本的差值图谱会有颜色或者显色点位置的变化,反映在空间中则是不同纬度值的变化。若简单地以距离作为分类标准,则不会得到令人满意的分类效果。 2.3 神经网络对发散样本的识别实验 在使用BP神经网络前,首先要进行网络结构设计,包括网络层数的设计、隐含层节点数的选择、激励函数的选取、权值的优化以及网络误差的设定等。 本文中隐含层节点数的选择参照以下三个经验公式[18]: m (4) 其中,x为输入节点数,m为隐含层节点数。 (5) 其中,y为输出节点数,a为1~10之间的任意整数。 m=log2x (6) 本文对3气体各挑选了10个理想样本的差值向量,组成一个30×108的向量作为训练样本。为了方便区分,我们给每种气体都加上分类号:氨气为1,丙酮为2,苯为3。图2所示9个发散样本数据作为识别数据。设置BP神经网络的输入节点数为36,输出节点数为1(以每种气体的分类号作为期望的输出)。根据式(4)~(6)计算出隐含层数的范围为[6,35],本文选择隐含层数为8。 图5 BP训练网络结构 以MATLAB2012为计算平台,选择Levenberg_Marquardt[19]作为BP神经网络的训练函数。网络学习函数选择带动量项的学习规则,性能分析函数选择均方差性能分析函数。在性能参数选择上,本次训练的学习率为0.01,训练误差为0.000 04。 图6为BP网络的识别结果。可以看出,9个气体发散样本的种类能被很好地区分。对比聚类分析的结果,BP神经网络显然更加适用于对发散样本进行气体识别。 图6 BP网络输出结果 2.4 数据约简 CEBARKCC算法是粗糙集基于信息熵的静态属性约简算法之一。该算法以决策表核属性集为起点,自底向上选择使H(D|B{a})最小的非核条件属性a添加到核属性集中,直到满足H(D|B)=H(D|C)。 用差值向量数据构造决策表,U表示所有的差值向量数据值,C表示条件属性,即36个点经数据预处理后的值,D表示决策属性,即每种气体的种类编号。本文根据PSA芯片上的36个点的排列位置为每个点都标上编号。每一个点在所有实验样本中的值是属性集C的一个子集,以该点的编号命名。不论是训练样本还是识别样本,均根据1.2小节介绍的约简步骤处理。 图7 PSA芯片上每个点的编号 图8 CEBARKCC粗糙集约简算法流程图 经过粗糙集约简后得到的特征属性为{17,22,16,9,8}。表示编号为17,22,16,9,8的五个卟啉点。只保留这五个卟啉点的d值,组成30×5的向量作为BP神经网络的训练样本。识别样本数据也保留同样编号的点的值,降为9×5的向量。利用BP神经网络对数据进行训练和识别,识别结果如图9所示。 图9 数据约简后BP网络输出结果 本文将识别结果与期望输出的差值称为识别误差。输出误差越小,表示识别精度越大。 由表1可知,差值图谱数据未经过粗糙集约简,直接进行BP神经网络识别时的识别误差平均值为0.079 3,最大误差为0.158;经过粗糙集约简后再进行BP神经网络识别的识别误差平均值是0.005 60,最大误差为0.027 2。识别误差平均值下降了93%。可见,利用粗糙集结合BP神经网络的气体种类识别算法减少了冗余数据,提高了识别精度,可以很好地应用于PSA气体检测系统中。 表1 数据约简前后的BP网络识别输出对比 通过对本文的实验结果进行分析,对比图4和图6可以证明,在识别PSA系统的发散气体样本时,BP神经网络无论在识别精度上还是算法结构上都比欧氏距离聚类更适用。从图9的识别结果可以看出,粗糙集的数据约简功能只保留了特征属性,减少了其他冗余数据的干扰,提高了BP神经网络的识别精度。因此,对于PSA气体检测系统的检测结果,特别是存在发散样本的情况下,本文提出的算法有较高的识别精度和正确率。 [1] Anders Berlinera,Myung-Goo Leeab,Yagang Zhang,et al. A Patterned Colorimetric Sensor Array for Rapid Detection of TNT at ppt Level[J]. Royal Society of Chemistry,2014(4):10672-10675. [2]Peter J Mazzone,Xiao-Feng Wang,Yaomin Xu,et al. Exhaled Breath Analysis with a Colorimetric Sensor Array for the Identification and Characterization of Lung Cancer[J]. Journal of Thoracic Disease,2012,7(1):137-142. [3]Maria K Lagasse,Jacqueline M Rankin,Jon R Askim,et al. Colorimetric Sensor Arrays:Interplay of Geometry,Substrate and Immobilization[J]. Sensors and Actuators B:Chemical,2014,197(5):116-122. [4]罗小刚,汪德暖,侯长军,等. Radon变换与功率谱结合的PSA图像倾斜度自动校正算法[J]. 传感技术学报,2011,24(9):1296-1300. [5]Liang F,Christopher J M,Jonathan W K,et al. Colorimetric Sensor Array for Determination and Identification of Toxic Industrial Chemicals[J]. Anal Chem,2010,82(22):9433-9440. [6]Sung H L,Liang F,Jonathan W K,et al. An Optoelectronic Nose for Detection of Toxic Gases[J]. Nat Chem,2009,13(1):562-567. [7]Patrick K,Jeffrey D A,James R C,et al. Towards the Development of a Portable Device for the Monitoring of Gaseous Toxic Industrial Chemicals Based on a Chemical Sensor Array[J]. Sensors and Actuators B,2008(134):307-312. [8]Thichamporn E,Radeemada M,Chaiwat P,et al. Polydiacetylene Paper-Based Colorimetric Sensor Array for Vapor Phase Detection and Identification of Volatile Organic Compounds[J]. J Mater Chem,2012,22:5970-5977. [9]Long J,Xu J H,Yang Y J,et al. A Colorimetric Array of Metalloporphyrin Derivatives for the Detection of Volatile Organic Compounds[J]. Materials Science and Engineering B,2011,176:1271-1276. [10]Lü P,Tang Z A,Wei G F. Recognizing VOCs with Micro-GAS Sensor Array and Neural Network[J]. Chinese Journal of Sensor and Actuators,2007,20(8):1712-1716. [11]Dai J H,Xu Q. Approximations and Uncertainty Measures in Incomplete Information Systems[J]. Information Sciences,2012,198:62-80. [12]Xiao Z,Ye S J,Zhong B,et al. BP Neural Network with Rough Set for Short Term Load Forecasting[J]. Expert Systems with Applications,2009,36(1):273-279. [13]Shirsat M D,Sarkar T S,James K,et al. Porphyrin-Functionalized Single-Walled Carbon Nanotube Chemiresistive Sensor Arrays for VOCs[J]. Journal of Physical Chemistry C,2012,116(5):3845-3850. [14]Pawlak Z,Skowron A. Rudiments of Rough Sets[J]. Information Sciences,2007,177(1):3-27. [15]Ali M,Davvaz B,Shabir M. Some Properties of Generalized Rough Sets[J]. Information Sciences,2013,224(1):170-179. [16]Bing L,Tommy W S,Chow P T. Analyzing Rough Set Based Attribute Reductions by Extension Rule[J]. Neurocomputing,2014,123(1):185-196. [17]Slezak D. Approximate Entropy Reducts[J]. Fundamenta Informaticae,2002,53(3-4):365-390. [18]史峰,王小川,郁磊,等. MATLAB神经网络30个案例分析[M]. 北京:北京航空航天大学出版社,2010. [19]Jin Y J,Shen B X,Ren R F,et al. Prediction of the Styrene Butadiene Rubber Performance by Emulsion Polymerization Using Backpropa-gation Neural Network[J]. Journal of Engineering,2013. 罗小刚(1974-),男,副教授,主要研究方向为生物医学传感器、生物医学仪器设计,luosteel@163.com; 谢新莘(1988-),女,硕士研究生,主要研究方向为模式识别算法与软件设计,620011xxx@163.com。 GasRecognitionAlgorithmAppliedinPorphyrinArrayGasDetectionSystem* LUOXiaogang*,XIEXinxin (College of Bioengineering,Chongqing University,Chongqing 400030,China) The difference map is the basis of identifying gases by the PSA chips. However,there are differences between each difference map of a gas,which is called the“divergent problem”. A pattern recognition algorithm based on backpropagation neural network and rough set was described,which was employed in the porphyrin chemical sensor array integrated system. That algorithm picked up the spots whose color changed obviously using the rough set,and set their values as input of BP network. Comparing with the result of Euclidean distance clustering and BP neural network identification without removing unnecessary data as input,the result of the algorithm proposed in this article has higher identification accuracy to the divergence experimental data. porphyrin sensor;gas recognition;neural network;rough set 项目来源:国家科技支撑计划项目(2012BAI19B03);国家自然科学基金项目(81271930,81171414);教育部高校博士点基金项目(20090191110030);中央高校基本科研业务费项目(CDJXS10231179,CDJSX102300) 2014-06-25修改日期:2014-09-04 10.3969/j.issn.1004-1699.2014.11.004 TP391 :A :1004-1699(2014)11-1464-052 对比实验
3 结束语