孔宇航,陶 洋,梁志芳
(重慶郵電大學(xué)通信與信息工程學(xué)院,重慶 400065)
電子鼻系統(tǒng)又稱仿生嗅覺系統(tǒng),通過模仿生物嗅覺系統(tǒng)的工作原理從而檢測目標(biāo)氣體[1]。當(dāng)有氣體經(jīng)過電子鼻系統(tǒng)時(shí),其中傳感器陣列中的某些傳感器會產(chǎn)生物理變化,傳感器檢測到這種物理變化后將其轉(zhuǎn)換為電信號,從而產(chǎn)生特定的特征或者氣體印記。經(jīng)過一系列數(shù)據(jù)處理后,應(yīng)用現(xiàn)有的智能模式識別方法實(shí)現(xiàn)氣體的識別[2]。其中,對廣譜化合物產(chǎn)生響應(yīng)的傳感器陣列是關(guān)鍵組成部分,傳感器陣列的響應(yīng)直接決定了模式識別系統(tǒng)的輸入質(zhì)量。在檢測待測氣體前,由于不清楚哪些傳感器對識別結(jié)果影響較小,所以初始陣列中會盡可能選取不同特性的傳感器。這會造成某些傳感器的廣譜響應(yīng)特性產(chǎn)生冗余信息[3]。其次,傳感器數(shù)量過多將導(dǎo)致后續(xù)數(shù)據(jù)處理爆發(fā)“維數(shù)災(zāi)難”[4]。如何選取對最終識別氣體有最大幫助的傳感器組合,即經(jīng)過傳感器陣列優(yōu)化后,將有效地提高電子鼻系統(tǒng)檢測結(jié)果的識別精度,同時(shí)滿足電子鼻系統(tǒng)的微型化和智能化的需要。
近年來電子鼻陣列優(yōu)化的研究方法不斷涌現(xiàn)。針對醫(yī)療傷口檢測中等待時(shí)間長、操作過程繁瑣等問題,Yan Jia提出了一種結(jié)合支持向量機(jī)的粒子群優(yōu)化算法[5],該方法大大提高了傷口感染細(xì)菌的分類準(zhǔn)確度,最終實(shí)現(xiàn)傳感器陣列和分類器參數(shù)的同步優(yōu)化。Sun Hao通過搭建30個(gè)氣體傳感器構(gòu)造一個(gè)電子鼻系統(tǒng)同樣用于傷口細(xì)菌檢測中常見的金葡萄球菌、大腸桿菌和銅綠假單胞菌[6],采用wilks統(tǒng)計(jì)的方法,分別使用直接選擇法和逐步選擇的思想選擇或剔除無用傳感器,在保證識別精度同時(shí),有效地減小了傳感器陣列的規(guī)模。Chang Meizhuo等人利用15個(gè)氣體金屬氧化物傳感器檢測不同品種的茶香[7],使用基于聚類分析及區(qū)分性能值的氣敏傳感器陣列篩選方法,通過聚類分析驗(yàn)證各傳感器的獨(dú)立性,選取區(qū)分性能值較大對應(yīng)的傳感器,最終得到最優(yōu)的傳感器陣列保證了整個(gè)電子鼻系統(tǒng)的輸入質(zhì)量,有效地識別出6個(gè)不同品種的龍井茶。
本文首先通過聚類分析預(yù)估傳感器陣列的大小。再將傳感器靈敏度的特性即選擇性和多樣性作為傳感器信息度量的標(biāo)準(zhǔn),構(gòu)造兩個(gè)目標(biāo)函數(shù)。改組復(fù)合體演化算法用于構(gòu)建復(fù)合體并監(jiān)測種群維數(shù)的變化。量子行為粒子群優(yōu)化算法用于每個(gè)復(fù)合體在搜索空間中的演化。其中,采用自適應(yīng)的懲罰函數(shù)處理約束優(yōu)化問題將更易于求解。最后,通過支持向量機(jī)對優(yōu)化后的傳感器子集進(jìn)行分類和驗(yàn)證。
一般情況下,選擇靈敏度高的傳感器可以提供關(guān)于每種氣體所包含的最多的相關(guān)信息。但傳感器相互之間往往存在交叉敏感特性,即它們的敏感氣體之間不可避免地存在著交叉和重疊,很容易產(chǎn)生冗余信息。另外,對于每種氣體,其響應(yīng)模式由陣列內(nèi)所有傳感器的靈敏度決定,傳感器靈敏度的差異性越高,其模式區(qū)分越明顯。所以同時(shí)也將傳感器靈敏度的差異性作為影響陣列優(yōu)化的因素之一。
假如存在區(qū)分N類待測氣體的分類任務(wù),初始陣列中傳感器數(shù)量為M,優(yōu)化后的傳感器數(shù)量為K(K≤M ),把全部的傳感器靈敏度Sij構(gòu)成一個(gè)初始矩陣[8]。構(gòu)造兩個(gè)關(guān)于傳感器特性的目標(biāo)函數(shù)。目標(biāo)函數(shù)1是由靈敏度矩陣中列的信息熵組成,對于傳感器 j,其選擇性越高,靈敏度矩陣第j列的熵值就越小。目標(biāo)函數(shù) 2是由靈敏度矩陣中行的信息熵組成,對于氣體i,其差異性越大,靈敏度矩陣第i列的熵值就越小。
以傳感器選擇性構(gòu)造目標(biāo)函數(shù)1:
(1)計(jì)算第 j列中元素的總和,并對Sij歸一化處理:
其中i和 j分別表示氣體類別和傳感器,j的值在優(yōu)化過程中動態(tài)確定。
(2)計(jì)算每個(gè)選定傳感器j的信息熵:
(3)獲取N類氣體分析物獲得的最大信息熵:
(4)K個(gè)基于信息熵的傳感器選擇性的目標(biāo)函數(shù)1:
同理,N個(gè)基于信息熵的傳感器差異性的目標(biāo)函數(shù)2:
以上兩個(gè)目標(biāo)函數(shù)的值都在[0,1]范圍內(nèi),最小化這兩個(gè)目標(biāo)函數(shù)將分別獲得傳感器最大的選擇性和多樣性。在多目標(biāo)優(yōu)化過程中使用這兩個(gè)目標(biāo)函數(shù),所得的傳感器陣列將得到最相關(guān)的信息。
在求解多目標(biāo)優(yōu)化問題時(shí)通常涉及約束優(yōu)化的情況,所以如何平衡約束優(yōu)化和目標(biāo)函數(shù)是一個(gè)重要的難題[9]。在目標(biāo)函數(shù)中加入懲罰項(xiàng),該函數(shù)一般由懲罰參數(shù)乘以違反約束的度量組成,進(jìn)而使約束優(yōu)化問題轉(zhuǎn)化為無約束優(yōu)化問題[10]。
給定n維解X,其中 X = (x1, x2,… ,xm),將M個(gè)目標(biāo)的約束優(yōu)化問題定義為:
常見的懲罰函數(shù)模型是由目標(biāo)函數(shù)與懲罰項(xiàng)之和組成,二者共同構(gòu)成了適應(yīng)度函數(shù)。其中X到可行域距離稱為違反度,其違反度函數(shù)表示為:
其中F(X)是適應(yīng)度函數(shù),f(X)是目標(biāo)函數(shù),j是約束條件個(gè)數(shù), j = 1 ,2,… ,J 。kj是個(gè)體在約束 j上的懲罰系數(shù),vj(X )是個(gè)體在約束 j上的違反度。
對公式(7)中懲罰項(xiàng)的參數(shù)進(jìn)行改進(jìn),采用一種自適應(yīng)懲罰函數(shù),即在優(yōu)化過程中動態(tài)調(diào)整懲罰系數(shù):
其中 f( xi)代表當(dāng)前種群中目標(biāo)函數(shù)的平均值, vj(xi)表示當(dāng)前種群中 j個(gè)平均約束違反度的大小,N是種群大小。
結(jié)合構(gòu)造的目標(biāo)函數(shù)公式(4)和(5),則整個(gè)種群的適應(yīng)度函數(shù)為:
在計(jì)算出每個(gè)解的約束違反程度和適應(yīng)度值之后,根據(jù)約束支配規(guī)則,在任意兩個(gè)候選解之間選擇非支配解。
在高維空間中可能存在某些問題,例如“維數(shù)災(zāi)難”,這嚴(yán)重影響了高維空間算法的執(zhí)行效率。最早解決高維空間問題的單純形作為一種局部搜索算法[11],但是粒子可能會收斂到原始搜索空間的一個(gè)子空間,后續(xù)的演化將被限制在子空間內(nèi),并且?guī)缀鯚o法恢復(fù)到原參數(shù)空間中的完全搜索,這種現(xiàn)象稱為“種群退化”。有研究學(xué)者提出了主成分分析的改組復(fù)合體演化算法(Shuffled complex evolution with PCA with University of California, Irvine, SP-UCI)用于解決上述“種群退化”問題[12]。它的原理是如果算法通過數(shù)據(jù)集丟失了n個(gè)維度,則最后有n個(gè)主成分上的數(shù)據(jù)投影方差等于零。通過沿主成分以零方差添加新的數(shù)據(jù)點(diǎn)來幫助恢復(fù)丟失的維數(shù)。SP-UCI算法中的點(diǎn)在搜索空間中呈隨機(jī)分布,所有的點(diǎn)存儲在數(shù)組 D = { xi,fi, i = 1 ,2,… ,s},其中 fi是xi對應(yīng)的函數(shù)值。經(jīng)過初始化后,將種群數(shù)組D劃分m個(gè)復(fù)合體 A1, A2, …,Am,每個(gè)復(fù)合體包含p個(gè)點(diǎn)。復(fù)合體的具體表現(xiàn)形式為:
在每次迭代中,將復(fù)合體采用改組的方案,即把復(fù)合體之間以一種共享獲得信息的方式來構(gòu)造新的復(fù)合體。在每個(gè)階段中,存儲在數(shù)組中的復(fù)合體都要排序和替代。經(jīng)過改組和構(gòu)造的新復(fù)合體會不斷地再生,直至滿足最終的條件。
利用 SP-UCI策略有助于算法檢查和監(jiān)控維數(shù)的變化,避免“種群退化”,并確保在優(yōu)化過程的開始就訪問搜索空間中的所有區(qū)域。
量子行為粒子群優(yōu)化(Quantum behaved Particle Swarm Optimization,QPSO)是一種量子模型概率化粒子群優(yōu)化算法[13]。它的原理是將粒子的尋優(yōu)過程看作勢場中粒子向勢能最低點(diǎn)移動的過程。QPSO算法不僅提高了原始PSO算法的全局收斂能力,而且更易于算法的實(shí)現(xiàn)和參數(shù)的選擇。該算法的計(jì)算公式為:
其中α作為收縮-膨脹系數(shù)用來控制算法的收斂速度, α = 0 .5 + 0 .5(T - t )/T ,T是總迭代次數(shù),t是當(dāng)前迭代次數(shù)。
列文伯格-馬夸爾特算法(Levenberg-Marquardt,LM)是眾多最優(yōu)化算法中比較有效的一種方法[14]。它的原理是假設(shè)初始數(shù)據(jù)點(diǎn)附近存在可以信賴的最大位移s,以s為半徑所劃分的區(qū)域內(nèi),尋找目標(biāo)函數(shù)的一個(gè)近似最優(yōu)點(diǎn),從而求解得到發(fā)生的位移。計(jì)算目標(biāo)函數(shù)值后,假如其下降的范圍達(dá)到了一定條件,則繼續(xù)按照該規(guī)則迭代求解下去;如果沒有達(dá)到這一條件,則相應(yīng)的減小一定位移的范圍,然后重新計(jì)算求解。LM 優(yōu)化算法有助于SP-QPSO算法加快收斂速度,保證所有粒子向最優(yōu)解的方向移動。
基本的LM優(yōu)化算法的定義為:
為了提高算法在高維空間優(yōu)化問題的性能,提出了一種 SP-UCI算法和 QPSO算法混合的算法SP-QPSO,即基于改組復(fù)合體演化量子行為粒子群優(yōu)化算法(Shuffled complex evolution with PCA-Quantum behaved particle swarm optimization,SP-QPSO)的傳感器陣列多目標(biāo)優(yōu)化研究方法。使用 1.1章節(jié)中構(gòu)造的兩個(gè)關(guān)于傳感器特性的目標(biāo)函數(shù),以求函數(shù)最優(yōu)值為優(yōu)化目標(biāo)。下面詳細(xì)介紹提出的SP-QPSO算法,算法的全流程步驟如算法1所示。
算法1SP-QPSO算法的全流程步驟
基于改組復(fù)合體演化量子行為粒子群優(yōu)化算法
輸入:初始化種群大小,最大迭代次數(shù)等參數(shù);
輸出:非支配Pareto解集;
過程:
Step.1初始化m個(gè)復(fù)合體,每個(gè)復(fù)合體中包含p個(gè)點(diǎn),采樣大小為s=m*p,樣本的維數(shù)d,搜索空間為 X1, X2,… ,Xs。
Step.2在搜索空間中初始化種群的大小。計(jì)算每個(gè)點(diǎn)的函數(shù)值,根據(jù)函數(shù)值對這些點(diǎn)進(jìn)行排序,并存儲在數(shù)組 D = { Xi,fi, i = 1 ,2,… ,s}。
Step.3對高維空間中的特征進(jìn)行維數(shù)檢查。如果存在“種群退化”現(xiàn)象,檢查出丟失的維度并恢復(fù)。
Step.4將數(shù)組D劃分為m個(gè)復(fù)合體,Ak=
Step.5使用QPSO分別進(jìn)化每個(gè)復(fù)合體kA,每個(gè)復(fù)合體尋找其最優(yōu)函數(shù)值。
(1)初始化種群大小N和最大迭代次數(shù)T。
(2)在復(fù)合體 Ak中建立一個(gè)包含N個(gè)點(diǎn)的子集群計(jì)算其函數(shù)值,并將其存儲在,其中 Yik是粒子,vik表示函數(shù)值。
(3)通過比較搜索空間中所有局部最優(yōu)位置找到最優(yōu)值,并將其分配給全局最優(yōu)值。
(4)為下一次迭代計(jì)算種群的平均最優(yōu)位置mbest以及粒子向全局最優(yōu)值移動的位置。
(5)重復(fù)上述過程,直到滿足最大迭代次數(shù)或者停止標(biāo)準(zhǔn)為止。
Step.6多正態(tài)重采樣檢驗(yàn)陷入局部最小值的概率。
Step.7復(fù)合體重新改組,將 A1, A2,… ,Am替換成一個(gè)數(shù)組并對其進(jìn)行排序。
Step.8重復(fù)上述過程,直到滿足停止標(biāo)準(zhǔn)為止。
Step.9群體最優(yōu)位置轉(zhuǎn)化為對應(yīng)Pareto最優(yōu)子集。
本文中,數(shù)據(jù)集來自加州大學(xué)圣地亞哥分校實(shí)驗(yàn)室[15],由8個(gè)MOX金屬氣體傳感器組成的氣體傳感器陣列采集。傳感器的型號類型詳細(xì)信息如下:R1:TGS2611 R2:TGS2612 R3:TGS2610 R4:TGS2600 R5:TGS2602 R6:TGS2602 R7:TGS2620 R8:TGS2620。數(shù)據(jù)集由100個(gè)時(shí)間序列的片段組成,每個(gè)片段都是一次歸納或背景活動,總計(jì)919438點(diǎn)。該傳感器陣列長期放置于家庭中,數(shù)據(jù)集包含3種共100個(gè)不同條件的時(shí)間序列:葡萄酒、香蕉和背景活動。其中包括葡萄酒的36種響應(yīng)記錄,香蕉的 33種響應(yīng)記錄,背景活動的31種響應(yīng)記錄。
本文的實(shí)驗(yàn)環(huán)境為MATLAB R2016a。提出的SP-QPSO算法中,初始粒子種群設(shè)置為20,最大迭代次數(shù)為1000,粒子維度為30,在搜索空間中隨機(jī)初始化粒子位置。所選的分類器是基于徑向基函數(shù)的SVM,核參數(shù)和懲罰因子均采用默認(rèn)值。
傳感器陣列中某些響應(yīng)之間存在相關(guān)性,這些傳感器提供的信息之間可能存在冗余。首先通過聚類分析中的離差平方和方法分析該數(shù)據(jù)集的相關(guān)性,通過歐式距離評估傳感器大致可分為幾類,分析潛在的傳感器最優(yōu)組合的數(shù)量,從而為確定最終陣列中傳感器的數(shù)量提供參考依據(jù)。SPSS Statistics 20軟件對該過程進(jìn)行分析,所得的結(jié)果用樹狀圖表示,如圖1所示。
由圖1可知,該數(shù)據(jù)集涉及的這8個(gè)氣體傳感器大致分為4組:A組(傳感器S1和S3),B組(傳感器S2),C組(傳感器S4、S7、S8),D組(傳感器 S5、S6)。每組類別中傳感器的信息非常相似。這說明了某些傳感器的響應(yīng)之間的確存在共線性。因此,最優(yōu)傳感器陣列可能需要 4個(gè)左右的傳感器數(shù)量以區(qū)分目標(biāo)氣體。
圖1 數(shù)據(jù)集通過聚類分析得到的樹狀圖Fig.1 dendrogram obtained by cluster analysis of the data set
然后利用提出的 SP-QPSO算法通過數(shù)據(jù)集驗(yàn)證,運(yùn)行10次后的結(jié)果如表2所示。表中信息包括Pareto解集的數(shù)量、運(yùn)行10次時(shí)間的平均值、運(yùn)行成功次數(shù)。結(jié)果表明傳感器陣列大小為3、4、5、6時(shí),均存在Pareto最優(yōu)解集,其余情況下不存在 Pareto解集。當(dāng)傳感器陣列大小為 5時(shí),Pareto解集的數(shù)量有最多的13個(gè),此時(shí)的平均運(yùn)行時(shí)間最長。同時(shí)由于該算法存在不穩(wěn)定的因素,在約束優(yōu)化中加入懲罰函數(shù)后,實(shí)際僅出現(xiàn)了 2次運(yùn)行失敗的情況。并且Pareto解集大部分集中在傳感器陣列大小為4個(gè)左右,有效地驗(yàn)證了采用聚類分析對數(shù)據(jù)集的初步分析。
表2 SP-QPSO 算法運(yùn)行實(shí)驗(yàn)結(jié)果Tab.2 the running experiment results of SP-QPSO algorithm
利用傳感器靈敏度的選擇性和差異性這兩個(gè)特性,構(gòu)造了兩個(gè)目標(biāo)函數(shù),其傳感器陣列大小為3、4、5、6時(shí)的Pareto解集分布如圖2所示??梢钥吹綀D中Pareto集合中非支配解的數(shù)量并不總是隨著最佳陣列大小而增加。Pareto優(yōu)化解的個(gè)數(shù)隨著陣列大小先增加后減小,傳感器陣列大小為3時(shí)存在8個(gè)Pareto解集,傳感器陣列大小為4時(shí)存在9個(gè)Pareto解集。當(dāng)陣列中傳感器個(gè)數(shù)為5時(shí),存在13個(gè)最多的Pareto解集。而當(dāng)陣列中傳感器數(shù)目為6時(shí),僅存在2個(gè)Pareto解集。因此Pareto解集主要取決于解決方案的分布,而不是優(yōu)化陣列大小。
圖2 優(yōu)化后不同陣列大小下Pareto優(yōu)化解的個(gè)數(shù)Fig.2 the number of pareto optimization solutions under different array sizes after optimization
為了準(zhǔn)確地驗(yàn)證本章提出的基于 SP-QPSO算法用于電子鼻傳感器陣列多目標(biāo)優(yōu)化。在單目標(biāo)優(yōu)化和多目標(biāo)優(yōu)化兩種場景下,將粒子群優(yōu)化算法(PSO)、帶權(quán)重的粒子群優(yōu)化算法(SPSO)、量子行為粒子群優(yōu)化算法(QPSO)作為對比算法,隨機(jī)選取各自優(yōu)化后的10組Pareto解集,其中單目標(biāo)優(yōu)化僅使用傳感器選擇性的特性構(gòu)造的目標(biāo)函數(shù)1,然后采用支持向量機(jī)SVM對數(shù)據(jù)集中3類目標(biāo)氣體的響應(yīng)值進(jìn)行分類,觀察分類結(jié)果。各算法的分類精度如表3所示。
表3 不同算法場景下單目標(biāo)和多目標(biāo)優(yōu)化后的結(jié)果(%)Tab.3 results of single objective and multi-objective optimization in different algorithm scenarios (%)
可以看到在單目標(biāo)優(yōu)化場景下,SP-QPSO算法的平均分類精度最高,達(dá)到了 80.2%。該算法在10組的Pareto優(yōu)化解中,有6組取得了更好的分類精度。同樣在多目標(biāo)優(yōu)化場景下,SP-QPSO算法在全部的對比算法中平均精度最優(yōu),達(dá)到了90.1%,有 7組 Pareto解對應(yīng)的傳感器組合取得了更優(yōu)的分類精度。即該算法驗(yàn)證了在高維樣本空間中處理約束優(yōu)化問題的優(yōu)勢。為了更直觀地反映各算法在陣列優(yōu)化的分類能力,不同算法下在單目標(biāo)和多目標(biāo)場景優(yōu)化后的對比圖如圖3所示。此外,這些算法的分類精度均高于初始陣列傳感器組合的分類精度,充分證明了本次陣列優(yōu)化的有效性。而且不論何種算法,多目標(biāo)優(yōu)化場景下算法取得的分類精度明顯優(yōu)于同類算法單目標(biāo)優(yōu)化場景下的分類精度,即多目標(biāo)優(yōu)化保證了電子鼻傳感器陣列擁有更好的輸出質(zhì)量。
圖3 不同算法下單目標(biāo)和多目標(biāo)優(yōu)化后的對比圖Fig.3 comparison of single objective and multiobjective optimization with different algorithms
在高維空間中,傳感器陣列優(yōu)化過程在一定程度上為后續(xù)的數(shù)據(jù)處理帶來“維度災(zāi)難”,同時(shí)可能存在“種群退化”的現(xiàn)象。提出了一種基于改組復(fù)合體演化量子行為粒子群優(yōu)化算法(SPQPSO)的傳感器陣列多目標(biāo)優(yōu)化研究方法。該方法具有以下特點(diǎn):(1)SP-UCI算法用于構(gòu)建復(fù)合體并監(jiān)測種群維數(shù)的變化,QPSO算法用于每個(gè)復(fù)合體在搜索空間的演化。(2)引入自適應(yīng)懲罰函數(shù)計(jì)算搜索空間的違反度,以指導(dǎo)搜索空間可行區(qū)域的求解。實(shí)驗(yàn)仿真結(jié)果表明,SP-QPSO算法在多目標(biāo)優(yōu)化場景下算法具有更好的分類精度,這對傳感器陣列優(yōu)化過程中高維空間產(chǎn)生的數(shù)據(jù)處理后的效果更好。這充分驗(yàn)證了基于SP-QPSO算法地傳感器陣列多目標(biāo)優(yōu)化研究的有效性,最終用較少數(shù)量的傳感器構(gòu)建了高質(zhì)量的陣列。