王 潔,陶 洋,梁志芳
(重慶郵電大學 通信與信息工程學院,重慶 400065)
電子鼻是一種仿生嗅覺系統(tǒng),由氣體傳感器陣列和模式識別算法組成,主要用于氣體識別[1],在環(huán)境監(jiān)測[2]、食品檢測[3]和醫(yī)療診斷[4]等多個領域均有所應用。電子鼻系統(tǒng)通過其內(nèi)部的氣體傳感器陣列對氣體信息進行采集,將氣體信號轉(zhuǎn)變?yōu)殡娦盘?,再通過模式識別算法的處理輸出對應氣體的濃度檢測結果。
針對電子鼻模式識別系統(tǒng),目前提出了多種網(wǎng)絡模型,其中極限學習機是由黃廣斌提出的一種典型單隱層前饋神經(jīng)網(wǎng)絡(Single-hidden Layer Feedforward Networks,SLFN)[5],與其他神經(jīng)網(wǎng)絡(BP 神經(jīng)網(wǎng)絡[6]、支持向量機[7](Support Vector Machine,SVM))相比,其結構簡單,不需要反復迭代,學習速度快,泛化性能好,具有良好的函數(shù)逼近能力,因此被廣泛應用于解決各種分類和回歸的問題。但由于ELM 輸入層與隱含層的權值以及隱含層的閾值是隨機給定的,這將會降低網(wǎng)絡模型對濃度的檢測精度。
針對目前電子鼻在檢測氣體濃度精度不高的問題,本文利用粒子群算法的局部搜索能力和人工蜂群算法的全局搜索能力,將兩個算法進行嵌入融合,并與極限學習機相結合,最終達到提高電子鼻氣體濃度檢測精度的目的。
本文結合粒子群算法[8](Particle Swarm Optimization,PSO)模型簡單、局部搜索能力強和人工蜂群算法[9](Artificial Bee Colony Algorithm,ABC)種群豐富、全局搜索能力強的優(yōu)點,提出一種PSOABC-ELM 算法。其具體思想是,以PSO 算法為主框架,結合ABC 算法中改進的跟隨蜂和改進的偵察蜂階段來提高粒子群算法的全局搜索能力。在該混合算法中,生成一個初始解,并計算每個個體的pbest。還增加了3個控制參數(shù)(pbestMeasure、Limit1 和Limit2),以確定執(zhí)行算法的哪個階段。pbestMeasure用于通過記錄pbest 在迭代期間是否更新來管理種群中的個體,通過比較pbestMeasure的值與Limit1 和Limit2 的大小,來判斷計算粒子新位置所采用的算法模型。重復迭代,通過不斷更新粒子的位置,直至達到最小誤差或者最大迭代次數(shù)終止,得到算法的最優(yōu)解,將最優(yōu)解作為ELM 神經(jīng)網(wǎng)絡的輸入層與隱含層的權值和隱含層的閾值,降低隨機給定權值閾值帶來的誤差。流程圖如圖1 所示,算法具體步驟如下:
圖1 PSOABC-ELM 算法流程圖
(1)確定神經(jīng)網(wǎng)絡拓撲結構。得到具有n 個輸入層節(jié)點、l 個激活函數(shù)為g(·)的隱含層節(jié)點、m 個輸出層節(jié)點的ELM;形成N 個任意不同的維度為D 的訓練樣本集,隨機產(chǎn)生輸入層與隱含層的權值和隱含層的閾值。
(2)參數(shù)初始化。對粒子群算法和人工蜂群算法中所有參數(shù)初始化,同時計算控制參數(shù)Limit1 和Limit2,其中l(wèi)1=0.01,l2=0.05;并將控制參數(shù)pbestMeasure初始化為0。
(3)選擇適應度函數(shù)。本文選用均方誤差作為最佳適應度函數(shù),適應度值越小,個體越優(yōu)秀。
(4)將處理后的數(shù)據(jù)輸入模型,根據(jù)pbestMeasure判斷當前個體執(zhí)行哪個階段。
①當pbestMeasure(i)≤Limit1,用傳統(tǒng)的PSO 算法得到最優(yōu)個體對應的粒子位置,算法的核心是對粒子的速度x和位置v 進行更新,其更新公式如下:
其中,ω 稱為慣性因子,其值為非負,其值較大時,全局尋優(yōu)能力強,局部尋優(yōu)能力弱;較小時,全局尋優(yōu)能力弱,局部尋優(yōu)能力強[10];ωmax和ωmin分別為慣性權重的最大值和最小值,通過將ω 調(diào)整為一個合適的值,使得算法的全局尋優(yōu)能力和局部尋優(yōu)能力達到一個平衡;c1為每個粒子的個體學習因子,c2為每個粒子的社會學習因子,通常取c1=c2=2;r1和r2是[0,1]內(nèi)均勻分布的隨機數(shù),可增加搜索隨機性;Pid表示第i 個變量的個體極值的第d 維,Pgd表示全局最優(yōu)解的第d 維。通常將位置和速度限制在[-xmax,xmax]、[-vmax,vmax]。
②如果Limit1 式中,fitness(xi)為第i 個跟隨蜂的適應度值,pi為第i 個跟隨蜂被選擇的概率,SN 為蜜源數(shù)。一旦跟隨蜂被選擇,用式(6)計算通過貪婪算法選擇第i 個跟隨蜂原位置和新位置最優(yōu)值,得到新的粒子位置; ③如果pbestMeasure(i)≥Limit2,從{1,2,…,N}中隨機選擇兩個正整數(shù)k1≠k2≠i,用式(7)計算通過貪婪算法選擇最優(yōu)值得到新的粒子位置: 得到新的粒子位置后,更新粒子個體極值pbest 和全體極值gbest,如果更新了pbest 的值,則pbestMeasure的值設置為0,否則pbestMeasure將增加1。 對算法進行重復迭代,通過不斷更新粒子的位置,直至達到最小誤差或者最大迭代次數(shù)終止,得到算法的最優(yōu)解,將最優(yōu)解作為ELM 的最優(yōu)輸入權值和隱含層閾值。 (5)用訓練的模型對測試集進行檢測,并將檢測結果與真實值進行比較,得到兩個值之間的誤差,通過對比誤差得到結論。 該研究使用的數(shù)據(jù)來自加州大學歐文分校(University of California Irvine,UCI)機器學習數(shù)據(jù)庫,數(shù)據(jù)集為不同濃度下氣體傳感器陣列數(shù)據(jù)集。該數(shù)據(jù)集收集了分別來自16 個化學傳感器的6 種不同氣體不同濃度的測量數(shù)據(jù),這些數(shù)據(jù)提供了有關傳感器在每次測量中暴露的濃度水平信息,可用于分析傳感器回歸問題[11-12]。 為充分驗證本文提出的算法的有效性,本文選擇BP 神經(jīng)網(wǎng)絡[13]、SVM神經(jīng)網(wǎng)絡[14]、ELM神經(jīng)網(wǎng)絡[15]、PSO-ELM[16]神經(jīng)網(wǎng)絡作為對比算法。實驗基于這4 種對比算法以及本文提出的PSOABC-ELM 算法對傳感器收集到的污染物氣體進行濃度檢測,為得到更好的網(wǎng)絡檢測性能,首先對高維的原始數(shù)據(jù)進行歸一化處理,再利用主成分分析法(Principal Component Analysis,PCA)對數(shù)據(jù)進行降維,通過大量實驗驗證,最終確定提取6 個主成分數(shù)據(jù)作為電子鼻模型的輸入數(shù)據(jù)。各模型參數(shù)設置如表1 所示。 表1 各模型參數(shù)設置 對各算法進行多次實驗取平均值,各算法的檢測效果可以由統(tǒng)計平均絕對誤差(MAE)、均方根誤差(RMSE)、相關系數(shù)(R)衡量,結果見表2,檢測結果分別如如2~圖7所示,其中圖橫坐標為樣本編號,縱坐標為樣本對應的氣體濃度值,單位為ppmv。 圖7 甲苯預測值與真實值結果對比 實驗設置下各算法對不同氣體的濃度檢測效果如表2所示。通過表2可知,BP、SVM、ELM、PSO-ELM、PSOABC-ELM 算法對6 種污染物濃度檢測結果與監(jiān)測值的R 平均值分別為0.853 9、0.987 8、0.901 3、0.994 2、0.998 4,其中PSOABC-ELM 算法對6 項污染物的R 值均達到了0.99 以上。 表2 實驗設置下各算法對不同氣體的濃度檢測效果比較 圖3 乙烯預測值與真實值結果對比 圖4 氨預測值與真實值結果對比 圖5 乙醛預測值與真實值結果對比 圖6 丙酮預測值與真實值結果對比 對比5 種算法對6 種氣體的MAE 和RMSE,每種氣體中PSOABC-ELM 的MAE 和RMSE 均為最低值,這意味著PSOABC-ELM 檢測值與真實的濃度值最接近,擁有最佳檢測效果。PSOABC-ELM 對6 種氣體的MAE 除了氨的MAE 大于2 外,其余氣體的MAE 均小于2。 為方便跟蹤每類氣體濃度的檢測值與真實值之間的差異,圖2~圖7 分別給出了這6 種氣體通過這5 種算法獲得的氣體濃度檢測值與真實濃度值的跟蹤曲線。由圖可知,5 種算法對6 種氣體的濃度檢測值均可以較好地反映出污染物濃度變化的趨勢,其中PSOABC-ELM對于6 種氣體檢測結果均與監(jiān)測值基本擬合。 圖2 乙醇預測值與真實值結果對比 綜上可知,PSOABC-ELM 算法檢測精度高,性能穩(wěn)定可靠,應用PSOABC-ELM 算法的電子鼻系統(tǒng)可以成功地對空氣污染物濃度進行檢測。 本文針對電子鼻應用于氣體污染物濃度檢測時難以達到理想精度的問題,提出了一種PSOABC-ELM 算法,對電子鼻模式識別模塊進行改進,并將其與BP、SVM、ELM 和PSO-ELM 算法進行比較。仿真結果表明,本文提出的算法有效提高了電子鼻對氣體濃度檢測的精度和可靠性。但其在氣體濃度短時間內(nèi)變化范圍較大時誤差會變大,今后的工作將針對本文提出的算法進行改進,提高在短時間內(nèi)對變化范圍較大的氣體濃度檢測精度,擴展應用范圍。2 實驗仿真及結果分析
2.1 實驗數(shù)據(jù)集介紹
2.2 實驗設置與仿真
2.3 實驗結果分析
3 結論