本發(fā)明屬于一種電子鼻的氣體檢測領(lǐng)域。
背景技術(shù):
中國專利文獻CN102866179 A于2013年1月9日公開了基于人工智能學(xué)習(xí)機的電子鼻中非目標干擾氣味的在線識別和抑制方法,其識別方法的步驟包括目標氣體和典型非目標干擾氣味數(shù)據(jù)樣本的采集、傳感器陣列信號預(yù)處理、目標氣體和非目標干擾氣味樣本的特征提取、人工智能學(xué)習(xí)機的訓(xùn)練學(xué)習(xí)和智能學(xué)習(xí)機對非目標干擾氣味的實時在線識別。它利用人工智能模式識別出了目標氣體和非目標干擾氣味,賦予了檢測信號的類別標志。
由于上述方法采用二類分類器:目標氣體視為一類,非目標氣體視為一類,兩類對象的標志分別設(shè)為0和1,其中“0”代表非目標干擾氣體類,“1”代表目標氣體類。首先獲取目標氣體數(shù)據(jù)集和非目標氣體數(shù)據(jù)集,然后訓(xùn)練一個二類分類器,并進行分類,從而可以判別出干擾氣體樣本。但是這種方法存在一個問題:雖然六種目標氣體(即甲醛、苯、甲苯、一氧化碳、二氧化氮和氨氣)已確定,但非目標干擾氣體種類和數(shù)量繁多,在實際生活中,有無數(shù)種干擾氣味的存在。然而,由于實驗條件和現(xiàn)實原因,無法獲得非目標干擾氣體足夠的樣本進行訓(xùn)練,使用上述方法就不能識別。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)存在的問題,本發(fā)明所要解決的技術(shù)問題就是提供一種帶自表達的電子鼻非目標干擾氣體識別方法,該方法只需要待檢測的目標氣體的數(shù)據(jù),以及很少部分非目標干擾氣體數(shù)據(jù),分兩步進行訓(xùn)練,就能夠識別出其他非目標干擾氣體。
本發(fā)明所要解決的技術(shù)問題是通過這樣的技術(shù)方案實現(xiàn)的,它包括有
步驟1、取電子鼻檢測的多類目標氣體數(shù)據(jù)和少量非目標干擾氣體數(shù)據(jù),并將目標氣體數(shù)據(jù)分為目標氣體訓(xùn)練集X和目標氣體誤差閾值訓(xùn)練集X1兩部分,非目標干擾氣體數(shù)據(jù)為干擾氣體誤差閾值訓(xùn)練集Y。其中目標氣體訓(xùn)練集X用于第一階段訓(xùn)練,即找到自表達矩陣α,而目標氣體誤差閾值訓(xùn)練集X1和干擾氣體誤差閾值訓(xùn)練集Y用于第二階段訓(xùn)練,即找到區(qū)別目標氣體與干擾氣體的誤差閾值T,該誤差是利用第一階段訓(xùn)練出的自表達矩陣α進行計算獲得;
步驟2、已知目標氣體訓(xùn)練集X,由以下式子求解表達系數(shù)矩陣α=[α1,α2,…,αN];
式(1)中αi為自表達向量,表示樣本xi被X中所有樣本表達的程度,i=1,2,…,N,N為目標氣體訓(xùn)練集X的樣本總數(shù);λ是正則項系數(shù);
步驟3、使用目標氣體誤差閾值訓(xùn)練集X1和干擾氣體誤差閾值訓(xùn)練集Y,對應(yīng)(7)式分別計算出兩個訓(xùn)練集的平均誤差集e1和e2;
計算e1時,y表示目標氣體誤差閾值訓(xùn)練集X1的單個樣本;計算e2時,y表示干擾氣體訓(xùn)練集Y的單個樣本;
步驟4、根據(jù)E=[e1,e2]確定區(qū)分目標氣體與非目標干擾氣體閾值T的搜索范圍[Emin,Emax],針對每個T值得到目標氣體誤差閾值訓(xùn)練集X1的準確度P1和非目標干擾氣體誤差閾值訓(xùn)練集Y的檢測準確度P2;
步驟5、P=P1+P2,P值最大對應(yīng)的T值為所找的理想閾值。
由于采用了上述技術(shù)方案,本發(fā)明的技術(shù)效果是:它避免了大量采集非目標干擾氣體數(shù)據(jù)的實驗過程,以及復(fù)雜的訓(xùn)練程序,能夠簡便地識別出非目標干擾氣體。
附圖說明
本發(fā)明的附圖說明如下:
圖1為p=2時目標-干擾氣體識別率隨閾值T的變化曲線圖;
圖2為p=1時目標-干擾氣體識別率隨閾值T的變化曲線圖;
圖3為p=2時傳感器對干擾數(shù)據(jù)集1的測試響應(yīng)曲線;
圖4為p=2時傳感器對干擾數(shù)據(jù)集2的測試響應(yīng)曲線;
圖5為p=1時傳感器對干擾數(shù)據(jù)集1的測試響應(yīng)曲線;
圖6為p=1時傳感器對干擾數(shù)據(jù)集2的測試響應(yīng)曲線。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步說明:
本發(fā)明的構(gòu)思是:假設(shè)某些非目標氣體的數(shù)據(jù)是沒有的,因為在現(xiàn)實生活中,非目標干擾氣體有無數(shù)種,而要采集無數(shù)種非目標氣體的數(shù)據(jù)集顯然是不可能的。因此,本發(fā)明所面臨的問題是,只有目標氣體數(shù)據(jù)和目標氣體之外的少量預(yù)選的非目標氣體數(shù)據(jù)情況下,如何實現(xiàn)對任何非目標氣體的識別。因此本發(fā)明構(gòu)建了自表達模型,也就是為目標氣體數(shù)據(jù)建立一個自身模型,當某個樣本違背了該模型時,就認為是可能屬于非目標氣體樣本,這種“違背”是通過誤差閾值進行量化和評判的。
本專利申請所使用的符號說明:目標氣體α訓(xùn)練集其中D是每個樣本的維數(shù),N為目標氣體α訓(xùn)練集X的樣本總數(shù),是自表達系數(shù)矩陣;i=1,2,…,N,表示X中任一樣本,表示xi由X中所有樣本表達的系數(shù)向量,X1表示目標氣體誤差閾值訓(xùn)練集,Y表示非目標氣體誤差閾值訓(xùn)練集,表示未知氣體(目標或干擾)的一個樣本。T為區(qū)分目標氣體和非目標氣體的閾值,λ為正則化系數(shù),||||F是F范數(shù),||||1是l1范數(shù),||||2是l2范數(shù),(·)T表示轉(zhuǎn)置運算,(·)-1表示求逆運算。全文采用大寫的粗黑體表示矩陣,小寫的粗黑體表示向量,變量用斜體字表示。
本發(fā)明包括步驟1:獲取電子鼻各類目標氣體數(shù)據(jù)和少量非目標干擾氣體數(shù)據(jù),并將目標氣體數(shù)據(jù)分為目標氣體訓(xùn)練集X和目標氣體誤差閾值訓(xùn)練集X1兩部分,非目標干擾氣體數(shù)據(jù)為干擾氣體誤差閾值訓(xùn)練集Y。其中目標氣體訓(xùn)練集X用于找到自表達矩陣α,目標氣體訓(xùn)練集X1和干擾氣體誤差閾值訓(xùn)練集Y用于找到區(qū)別目標氣體和干擾氣體的誤差閾值T。
步驟2,利用目標氣體訓(xùn)練集X計算線性表示系數(shù)α,對任一樣本xi,構(gòu)建一個線性表達式;
由于非目標氣體未知且種類繁多且數(shù)量龐大,我們無法具體地獲得所有非目標干擾氣體的傳感器響應(yīng),但考慮到已知的六種目標氣體,能夠利用目標氣體的先驗信息。因此對目標氣體任一樣本xi,都能由目標氣體訓(xùn)練集X的N個樣本來線性表示,即:
xi=α1x1+α2x2+α3x3+···+αNxN (1)
式(1)中,x1,x2,x3,…,xN為目標氣體訓(xùn)練集X的樣本,N為目標氣體訓(xùn)練集X的樣本總數(shù),α1、α2、α3、αN為表達式系數(shù)。
式(1)也可表達為:
xi=Xαi
上式中,X為目標氣體α訓(xùn)練集,為系數(shù)向量;i=1,2,…,N;
即每一個目標氣體樣本都可以表示成為電子鼻所測六種目標氣體集合的線性組合。如果未知氣體為非目標干擾氣體,傳感器對它的響應(yīng)趨勢將不同于已知的六種目標氣體樣本中任何一種,那么它就無法用已知目標氣體的組合式子所線性表達,或者說表達誤差相當大。
步驟3,根據(jù)目標氣體每一個樣本xi與步驟2所構(gòu)建的(1)式之間的誤差最小,求解表達式系數(shù)αi;
目標氣體每一個樣本分別與所有的N個樣本按(1)式表達后,確定目標氣體樣本與(1)式之間的誤差最小化,為保證系統(tǒng)的魯棒性,加上了正則項,得到如下式子:
p表示lp范數(shù),p的取值可為1,也可為2;λ為正則化系數(shù);表示目標氣體訓(xùn)練集中第i個樣本由目標氣體中所有N個樣本的表達系數(shù)向量,為目標氣體α訓(xùn)練集,則剛好與目標氣體的任一樣本長度一致。
利用矩陣表達形式,式(2)可轉(zhuǎn)化如下形式:
1.若p=2,式(2)可表示為式(3)所示
對α進行求導(dǎo)可以得到:
-XT(X-Xα)+λα=0 (4)
即可求得
α=(XTX+λI)-1XTX (5)
2.若p=1,即α采用l1范數(shù),得到目標函數(shù)如下
(6)式通常被稱為LASSO問題(least absolute shrinkage and selection operator),它的優(yōu)良性質(zhì)是能夠產(chǎn)生稀疏解,使得α中的無關(guān)項變?yōu)?,其求解的步驟為:
步驟1):初始化i=1,j=1,其中i,j均為1~N的數(shù)值,表示第i個樣本的第j個系數(shù)項;
步驟2):初始化
步驟3):更新其中
其中λ是正則項系數(shù);
步驟4):j=j(luò)+1;
步驟5):若j≤N,重復(fù)步驟2)、步驟3)和步驟4);否則,執(zhí)行步驟6);
步驟6):αi=[αi,1,αi,2,...,αi,N]T
步驟7):i=i+1。
步驟8):若i≤N,重復(fù)步驟2)至步驟7);否則,執(zhí)行步驟9);
步驟9):α=[α1,α2,...,αN]
步驟4,若y表示目標氣體誤差閾值訓(xùn)練集X1和非目標干擾氣體誤差閾值訓(xùn)練集Y中的任一樣本,那么按(7)式對應(yīng)計算兩個誤差閾值訓(xùn)練集中每一個樣本y的平均誤差集e1和e2;
如果y屬于目標氣體,則它一定能夠用目標氣體α訓(xùn)練集X的N個樣本所表示,則平均誤差e很小;相反,如果y屬于非目標干擾氣體,則平均誤差e很大。
步驟5,確定區(qū)分目標氣體與非目標干擾氣體的閾值T;
利用步驟4所得的目標氣體閾值訓(xùn)練集X1和非目標干擾氣體閾值訓(xùn)練集Y的平均誤差集E=[e1,e2],確定T的取值范圍[Emin,Emax];按以下步驟選定閾值T:
步驟(1):初始化T=Emin,設(shè)定變化增量delta;
步驟(2):根據(jù)T的值,利用步驟4所得的平均誤差集E,判斷并確定目標氣體閾值訓(xùn)練集X1的準確度P1和非目標干擾氣體閾值訓(xùn)練集Y的檢測準確度P2;
步驟(3):令T=T+delta,若T<Emax,返回步驟(2);否則,執(zhí)行步驟(4);
步驟(4):依據(jù)P1和P2,由P=P1+P2的值最大原則,選定最佳的T值。
實施例
本實施例將電子鼻系統(tǒng)檢測的六種氣體,即甲醛、苯、甲苯、一氧化碳、氨氣和二氧化氮作為目標氣體,通過實驗共獲得188個甲醛樣本、72個苯樣本、66個甲苯樣本、58個一氧化碳樣本、60個氨氣樣本和38個二氧化氮樣本,共482個目標數(shù)據(jù)樣本(482分成了3份:X,X1和X2),另外,選取48個酒精樣本為干擾訓(xùn)練樣本集。
采用的數(shù)據(jù)說明:
用于求解自表達系數(shù)α的目標氣體訓(xùn)練集
X:從目標數(shù)據(jù)樣本中隨機選擇162個樣本
用于搜索誤差閾值T的目標氣體和非目標氣體訓(xùn)練集
X1:從余下的目標數(shù)據(jù)樣本中隨機選擇213個樣本
Y:從酒精樣本中隨機選擇24個樣本
用于測試本發(fā)明中獲得的α和T的測試集
X2:目標數(shù)據(jù)樣本剩余的107個樣本
Y1:酒精樣本剩余的24個樣本
實時測試數(shù)據(jù)
(1)干擾數(shù)據(jù)集1
該數(shù)據(jù)集是將電子鼻系統(tǒng)置于僅有非目標干擾氣體的環(huán)境下的恒溫恒濕箱內(nèi)采集的。每個傳感器的采樣點數(shù)為2400。在樣本的實驗采集過程中,分四個階段分別往箱內(nèi)注入香水和花露水兩種非目標干擾氣體,前兩個階段為香水,后兩個階段為花露水:被香水干擾的傳感器響應(yīng)信號區(qū)域大致為95~308采樣點和709~958采樣點;被花露水干擾的傳感器響應(yīng)信號區(qū)域大致為1429~1765采樣點和2056~2265采樣點;在每次注入干擾采集完后會采用氣泵對恒溫恒濕箱進行抽氣清洗以凈化箱內(nèi)環(huán)境。
(2)干擾數(shù)據(jù)集2
為了檢驗該模型在目標和非目標氣體同時存在時的識別有效性,本實驗選擇室內(nèi)常出現(xiàn)的甲醛目標氣體作為參考氣體。實驗過程分為以下三個階段:
階段1:將電子鼻系統(tǒng)置入恒溫恒濕箱內(nèi),注入甲醛,等待達到穩(wěn)定狀態(tài);開始注入酒精,等待穩(wěn)定后,用泵抽氣,十分鐘后,停止抽氣;
階段2:注入甲醛,等待達到穩(wěn)定狀態(tài);開始注入花露水干擾氣味,等待穩(wěn)定后,用泵抽氣,十分鐘后,停止抽氣;
階段3:注入甲醛,等待達到穩(wěn)定狀態(tài);開始注入香水與橙子混合氣味,等待穩(wěn)定后,用泵抽氣,采集數(shù)據(jù)完畢后,停止抽氣。
該實驗方法的目的是為了研究在目標氣體環(huán)境下注入干擾氣味和在干擾環(huán)境下注入目標氣體時,干擾抑制模型的應(yīng)用效果。按照上述實驗過程,獲得該數(shù)據(jù)集其長度為2400,傳感器對甲醛的3個響應(yīng)窗口區(qū)域為102~250采樣點,719~880采樣點和1380~1580采樣點;傳感器被酒精干擾的一個窗口區(qū)域為260~410采樣點;傳感器被花露水干擾的一個窗口區(qū)域為881~1064采樣點;傳感器被香水和橙子的混合干擾的一個窗口區(qū)域為1599~1899采樣點。
1、選定表達矩陣α和閾值T
利用目標氣體α訓(xùn)練集X求解出α,然后利用目標氣體誤差閾值訓(xùn)練集X1和非目標氣體誤差閾值訓(xùn)練集Y,由本發(fā)明誤差閾值T的確定步驟找到一個最佳的T值。
當p=1時(即l1范數(shù)約束),目標-干擾氣體識別率隨閾值T的變化曲線圖如圖1所示,從圖中可以看出,隨著閾值T值的增加,目標氣體識別率逐漸增加,干擾氣體識別率逐漸降低。本實驗通過計算目標識別率和干擾識別率和最大原則來選取閾值T,得到T=0.2457。
當p=2時(即l2范數(shù)約束),目標-干擾氣體識別率隨閾值T的變化曲線圖如圖2所示,從圖中可以看出,隨著閾值T值的增加,目標氣體識別率逐漸增加,干擾氣體識別率逐漸降低。本實驗通過計算目標識別率和干擾識別率和最大原則來選取閾值T,得到T=0.1256。
2、非目標氣體識別測試
采用測試集的樣本,使用本方法發(fā)明對107個目標氣體樣本和24個非目標氣體樣本進行識別。
從表格可以看出,本方法發(fā)明對非目標干擾氣體的識別準確率為100%
3、傳感器測試響應(yīng)曲線
(1)當p=2時,對干擾數(shù)據(jù)集1和干擾數(shù)據(jù)集2的識別情況如圖3和圖4所示;
(2)當p=1時,對干擾數(shù)據(jù)集1和干擾數(shù)據(jù)集2的識別情況如圖5和圖6所示;
圖3~圖6中,傳感器響應(yīng)突然升起的橫線部分為干擾,虛線標出的矩形窗為本方法發(fā)明識別出來的干擾區(qū),測試響應(yīng)曲線可以看到矩形窗剛好為干擾區(qū)域。另外,測試響應(yīng)曲線使我們能夠區(qū)分哪些部分屬于干擾區(qū)、哪些部分屬于目標氣體區(qū)。
上述目標氣體選定為6種,根據(jù)本領(lǐng)域技術(shù)人員的常識,目標氣體的不僅限于6種,可以少于6種,也可以多于6種。目標氣體根據(jù)使用場合選用。