基于GA-QPSO算法的传感器阵列多目标优化研究*
2021-09-10孔宇航梁志芳
孔宇航,陶 洋,梁志芳
(重庆邮电大学 通信与信息工程学院,重庆 400065)
0 引 言
电子鼻(electronic nose,E-nose)系统是气体检测的有效分析工具之一,主要由三个部分组成:传感器阵列、信号预处理和模式识别系统[1]。其中,对广谱化合物产生响应的传感器阵列是关键组成部分,传感器阵列的响应直接决定了模式识别系统的输入质量。传感器阵列优化通常按照一定的策略从原始传感器阵列中选择具有较好特性的传感器从而组成新的传感器阵列,精简后的阵列包含更少的传感器,节省了构造成本,但保证同时具有更好的检测效果。
近年来传感器阵列优化的研究方法不断涌现。Sun H等人[2]利用Wilks统计方法通过分析传感器特征的主成分,计算阵列中各个传感器的贡献度,从而对传感器进行筛选或淘汰。Jia P F等人[3]提出了遗传量子行为粒子群优化(genetic algorithm quantum-behavior particle swarm optimization,GA-QPSO)方法,引入重要性因子法计算传感器的贡献权重,同时对粒子群算法改进,最终实现对传感器阵列和分类器的同步优化。常美茁[4]利用15只气体金属氧化物传感器,通过相关性分析找出了存在冗余信息的传感器组合,然后使用区分性能值的方法剔除冗余传感器组合中区分性能值小对应的传感器。
本文首先通过聚类分析预估传感器阵列的大小。再将传感器的选择性和差异性作为影响传感器阵列的两个重要因素,提出一种多目标优化的场景,利用信息熵的原理构造目标函数。然后引入遗传算法(genetic algorithm,GA)的交叉和变异操作,二者概率的变化采用一种自适应参数调整机制,对QPSO算法改进后寻求帕累托最优解集,找到对应具有高选择性和差异性的传感器组合子集。
1 相关工作
1.1 聚类分析
聚类分析是根据目标之间的相似性对其进行分类,属于无监督机器学习范围之内的方法[5]。对于给定的一组数据,运用聚类分析的方法将各个数据点划分为不同的组别,依据相似性理论比较某个空间中的距离来决定:数据点之间的距离越小,它们的性质就越相似。其中层次聚类分析运用离差平方和建立矩阵,其思想是如果某个样本分类正确,那么同类样本之间的离差平方和的值较小,而不同类样本之间的离差平方和的值较大。
利用层次聚类中的离差平方和方法初步分析并评估初始传感器阵列中所有传感器的近似群体,这为后续传感器阵列规模大小的选择提供参考依据。
1.2 多目标优化函数构造
大多数优化问题涉及多个目标,这些目标同样重要,而且可能存在相互冲突的关系。多目标优化通过在目标之间找到一组非支配解来处理问题,因为不受任何其他解决方案支配的解是帕累托(Pareto)最优解[6]。解决多目标优化问题一般包括两个步骤[7]:1)利用相关搜索算法寻找由不同目标解组成的Pareto最优解集;2)采用更高层次的信息准则对这些解进行评价和选择。
传感器阵列优化通常选择具有高灵敏度的传感器,因为可以提供关于每种气体所包含的最多的相关信息。但是传感器相互之间往往存在交叉敏感特性,含有冗余信息。此外,传感器灵敏度的差异性越高,其模式区分越明显。所以同时将传感器灵敏度的差异性作为影响阵列优化的因素之一。
对于区分N类气体的分类任务,假定初始阵列中传感器个数为M,优化后的传感器个数为K(K≤M),将所有的传感器灵敏度Sij形成一个初始矩阵。构造两个目标函数,目标函数1是由灵敏度矩阵中列的信息熵组成,对于传感器j,其选择性越高,灵敏度矩阵第j列的熵值就越小;目标函数2是由灵敏度矩阵中行的信息熵组成,对于气体i,其差异性越大,灵敏度矩阵第i列的熵值就越小。
以传感器选择性构造目标函数1:
1)计算第j列中元素的总和,并对Sij归一化处理
(1)
式中i和j分别为气体类别和传感器,j的值在优化过程中动态确定。
2)计算每个选定传感器j的信息熵
(2)
3)获取N类气体分析物获得的最大信息熵
Hmax=logN
(3)
4)构造K个基于信息熵的传感器选择性的目标函数1
(4)
与上同理,构造N个基于信息熵的传感器差异性的目标函数2
(5)
以上两个目标函数的值均在[0,1]范围内,最小化这两个目标函数将分别获得最大的选择性和多样性。即在多目标优化中使用目标函数,所得的传感器阵列可以提供最相关的信息。
1.3 QPSO算法
QPSO算法[8]是一种量子模型的概率化PSO算法。其原理是将粒子寻优空间看成量子力学中的势阱,将粒子的寻优过程看作势场中粒子向势能最低点移动的过程。QPSO算法的公式为
Xid(t+1)=pbest_id+α·|mbest_id-Xid|·ln(1/u)
=φ(t)·Pbest_id+(1-φ(t))·pgd+
α·|mbest_id-Xid|·ln(1/u)
(6)
式中pbest_id为每个粒子的局部吸引子,mbest_id为Pbest_id的平均值,Pbest_id为当前迭代中的第i个粒子的最优位置,u为(0,1)之间的随机量,α为收缩—膨胀系数,T为总迭代次数,t为当前迭代次数。
2 基于遗传量子行为粒子群优化算法
GA[9]是一种通过模拟自然进化过程搜索最优解的方法。在GA中,个体不仅可以共享有用的片段,还可以共享无用的片段。PSO算法并没有GA中交叉、变异的操作过程从而获得更好的新个体,更多的是体现在追踪单个粒子和共享群体最优信息来实现向最优空间搜索的形式,但容易陷入局部最优。在PSO算法中加入GA中的交叉和变异步骤,可以跳过这个局部最优解,寻求全局最优解。
粒子采用交叉和变异操作过程中的概率值采用动态调整机制进行更新,即
(7)
(8)
式中 参数Pc1和Pm1为交叉概率的最大值和变异概率的最大值。fmax和favg为最大适应度值和平均适应度值。f′和f为局部最佳适应度值和当前最佳适应度值。
在多目标优化传感器的前提下,一种基于遗传量子行为粒子群优化(GA-QPSO)算法用于搜索可行解空间的最优解,算法的全流程步骤如下:
输入:初始化粒子群种群,最大迭代次数等参数;
输出:非支配Pareto解集;
过程:
1)随机初始化粒子种群、粒子维度、遗传算子中的交叉概率Pc,变异概率Pm,迭代次数T;
2)用起始位置对粒子进行初始化;
3)计算每个粒子的适应度值,将适应度值与其经历过的最好位置pbest进行比较,如果优于pbest,则将其作为当前的最好位置pbest。对于每个群体,将其适应度值与群体所经历过的最好位置gbest进行比较,如果优于gbest,则将其作为群体最优位置;
4)对全局进行初步搜索,式(6)更新粒子位置;
5)计算当前种群平均适应度值,对适应度值大于平均适应度的粒子予以选择保留,对于小于平均适应度的粒子根据式(7)和式(8)进行交叉、变异操作;
6)重新评估新生成的粒子,再次计算其适应度值并更新pbest和gbest;
7)若迭代次数大于等于T,转到步骤(8),否则转到步骤(3),直至满足终止条件为止;
8)把群体最优位置转换为对应的Pareto最优子集。
3 实验验证与分析
3.1 数据集介绍
本文中的数据集是来自加州大学圣地亚哥分校实验室的Huerta R等人在家庭环境的条件下采集而来,该传感器阵列一共包含8个MOX金属气体传感器。传感器阵列长期放置于实验人员的家中,数据集包含3种共100个不同条件的时间序列:葡萄酒、香蕉和背景活动。其中,包括葡萄酒的36种响应记录,香蕉的33种响应记录,背景活动的31种响应记录。
3.2 实验设置
本文的实验环境为MATLAB R2016a。在提出的GA-QPSO算法中,初始粒子种群设置为20,最大迭代次数为1 000,粒子维度为30,在搜索空间中随机初始化粒子位置。Pc1的初始值为0.9,Pc2为0.6,Pm1为0.1,Pm1为0.001。对样本进行分类使用支持向量机(support vector machine,SVM),核函数选用基于径向基函数(radial basis function,RBF)。
3.3 实验分析
由于传感器阵列中某些响应之间存在相关性,这些传感器提供的信息之间可能存在冗余。首先通过聚类分析中的离差平方和方法评估传感器大致可分为几类,即潜在的传感器最优组合的数量。使用SPSS Statistics 20软件对该过程进行分析,所得的结果用树状图表示,如图1所示。数据集中涉及到的8只传感器之间的相似度均在90 %以上,说明某些传感器响应之间的确存在共线性。8只传感器大致分为4组:A组(传感器S1和S3),B组(传感器S2),C组(传感器S4,S7,S8),D组(传感器S5,S6)。因此,最优传感器阵列可能需要4个左右的传感器数量以区分目标气体。
图1 数据集通过聚类分析得到的树状图
表1列出了GA-QPSO算法运行后的结果,包括:种群大小、Pareto解集的数量、运行10次时间的平均值。结果表明Pareto解集大多数集中在传感器阵列大小为4个左右,有效验证了聚类分析的结果。
表1 GA-QPSO算法运行实验结果
图2为在构造传感器选择性相关的目标函数1和差异性相关的目标函数2的基础上,传感器阵列大小为2,3,4,5,6时的Pareto解集分布。可以看出,潜在传感器的数量在很大程度上决定了解决方案空间的大小,因此极大地影响了优化问题的复杂性。Pareto优化解的个数随着阵列大小先增加后减小。由此得出传感器的Pareto解集主要取决于其解的分布,与阵列大小无关。
图2 优化后不同阵列大小下Pareto优化解的个数
最后,为了验证所提出的GA-QPSO算法用于传感器阵列多目标优化。在单目标优化和多目标优化两种场景下,将PSO算法、带权重的粒子群优化(SPSO)算法、QPSO算法作为对比算法,随机选取各自优化后的10组Pareto解集。其中,单目标优化采用传感器选择性特性构造的目标函数1,然后使用SVM对目标气体分析物进行分类,观察分类结果。各算法的分类精度如表2所示。
表2 不同算法下单目标和多目标优化后的结果
可以看出在单目标优化场景下,GA-QPSO算法的平均分类精度最高,达到了79.1 %。同样在多目标优化场景下,GA-QPSO算法在全部的对比算法中平均精度最优,达到了88.3 %,同时不论何种算法,多目标优化场景下算法取得的分类精度明显优于同类算法单目标优化场景下的分类精度。此外,这些算法的分类精度均高于初始阵列传感器组合的分类精度。为了更直观地反映优化后分类精度的变化,画出几种算法分类精度的对比,如图3所示。
图3 不同算法下单目标和多目标优化后结果对比
4 结 论
传统的传感器阵列优化采用单目标优化具有局限性,本文提出了GA-QPSO算法的传感器阵列多目标优化研究方法。将传感器的选择性和差异性同时作为优化的两个准则构造目标函数,然后将量子力学的思想引入到粒子群算法中,并通过加入GA中的交叉和变异操作,寻求全局最优解。本文算法有效地搜索到可行解空间中的Pareto解集,找到了最优的传感器阵列集合。实验结果验证了GA-QPSO算法用于传感器阵列多目标优化的有效性,最终用较少数量的传感器构建了高质量的阵列。