沈 斌, 靳春博, 劉新蕾
(黑龍江科技大學 安全工程學院, 哈爾濱 150022)
氣敏感應器具有制造成本低、靈敏度高、穩(wěn)定性好等優(yōu)勢,可用于無線傳感網(wǎng)和電子鼻系統(tǒng)等領(lǐng)域[1]。由于氣敏傳感器本身的交叉敏感性和氣體漂移現(xiàn)象的產(chǎn)生,以及受到工作環(huán)境中的外界因素影響,導致在各種氣體環(huán)境中工作的單個傳感器往往難以實現(xiàn)對目標氣體的精確測量[2],因而數(shù)據(jù)傳輸時如何對監(jiān)測數(shù)據(jù)實現(xiàn)精準的分析分類是當下的難題。
提升傳感器數(shù)據(jù)分類精度主要有兩種途徑:一是提高傳感器本身的性能,以減小因傳感器本身問題對檢測數(shù)據(jù)偏于理想情況的偏差;二是優(yōu)化模式識別算法,以提升數(shù)據(jù)分類算法的分類能力[3]。陳寅生等[4]在提高識別二元結(jié)構(gòu)有機物質(zhì)成分準確性的實踐中,發(fā)現(xiàn)了KPCA和MRVM可以組合鑒別,實驗結(jié)果提高了識別精確度,但需要選擇適合模型的核函數(shù)及設(shè)定參數(shù)ξ,使訓練效率降低。秦軻等[5]利用主成分分析對BP神經(jīng)網(wǎng)絡(luò)進行優(yōu)化,雖減少了主成分分析算法的信息冗余度,但BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)依舊復雜。筆者采用兼顧隨機和復雜度低的隨機森林模型,減少算法運行的時間成本,同時又保持了較高的識別準確度,且訓練過程中無需人工調(diào)節(jié)參數(shù)。
隨機森林算法實質(zhì)是由若干個決策樹所構(gòu)成的模型,而隨機森林算法則是取模型內(nèi)的各個決策樹對決定結(jié)論加以票選,最高得票的為分類的基礎(chǔ)結(jié)論[6]。由于隨機森林模型以決策樹特征為基礎(chǔ),所以對決策樹數(shù)學原理也加以描述,而決策樹計算則按照選擇最優(yōu)預測特征屬性的不同,主要包括ID3決策樹算法、C4.5決策樹算法和CART決策樹算法。
選擇數(shù)據(jù)樣本信息的數(shù)據(jù)增益劃分最優(yōu)屬性的類別為ID3決策樹算法。信息熵是反映統(tǒng)計樣本集合純度的指數(shù),而信息增益ED出自信息熵,表達式為
(1)
式中:D——數(shù)據(jù)樣本集;
Pk——第k類樣本所占總樣本的百分比。
由式(1)可知,ED的比值越小說明了數(shù)據(jù)樣本集D的純度就越高。用某一特征或?qū)傩缘腶劃分集合D時會產(chǎn)生V個分支節(jié)點,記作第V個分支節(jié)點為Dv,得到屬性a劃分數(shù)據(jù)樣本集合的信息增益為
(2)
ID3決策樹算法的缺點是處理連續(xù)性變量屬性的能力較差,存在利用偏向于分類較多的屬性進行分類的情況[7]。
確定了樣本中信息增益率的最優(yōu)屬性的類別為C4.5決策樹算法,利用信息增益率的分析可以減少對ID3決策樹算法的不良影響。表達式為
(3)
(4)
CART決策樹算法是利用數(shù)據(jù)集合的基尼指數(shù)劃分最優(yōu)屬性的,屬性a的基尼指數(shù)為
(5)
基尼值Gi(D)用來表示數(shù)據(jù)樣本集合D的純度,即在數(shù)據(jù)樣本集合中用隨機抽取的方式類別不相同的發(fā)生概率,概率越小表示數(shù)據(jù)樣本集合的純度越高,基尼值的表達式為
(6)
隨機森林首先使用自助采樣法隨機有放回的方法選擇樣本,每顆決策樹將選擇大約為總樣品集合63.2%的數(shù)量作為初始訓練集,剩余36.8%的數(shù)據(jù)用作測試集也可用于隨機森林模型的改進優(yōu)化。其次則是特征屬性選擇時的隨機抽樣,是為了在生成決策樹時隨機選取樣本特征屬性,然后將決策樹進行組合構(gòu)成隨機森林模型[8]。隨機森林模型的運算過程就是采用自助采樣法對訓練集進行訓練,再通過訓練結(jié)果產(chǎn)生若干個決策樹,利用產(chǎn)生的決策樹對樣本決策分類最后取投票最多的為隨機森林模型的分類結(jié)果。
隨機森林模型分類時會產(chǎn)生預測的數(shù)據(jù)集,該數(shù)據(jù)集與實際測試集存在偏差,預測正例與真實正例相同的稱之為真正例,不相同的則稱之為假正例,同樣,預測反例與真實反例相同的稱之為真反例,不相同的則稱之為假反例。統(tǒng)計以上幾種分類結(jié)果的情況可以得到二元混淆矩陣[9],見表1。
表1 分類結(jié)果混淆矩陣
由學習器預測的結(jié)果得到衡量算法模型優(yōu)劣的評價指標:準確率A、查全率Se、查準率P、特異度Sp和F1值的表達式為
(7)
(8)
(9)
(10)
(11)
統(tǒng)計準確率為所分類樣本分類正確的數(shù)量與樣本總樹的百分比,而查準率則表示將模型準確的度量,查全率即代表模型分析的真正例數(shù),特異度即代表模型分析的真負例數(shù),F(xiàn)1值為調(diào)和平均,是機器學習算法中比較常見的一個評價方法。
隨機森林模型本質(zhì)是將多個決策樹結(jié)合起來,每個樹都是獨立的且分布形式相同,而每個樹的分類錯誤程度與各個樹的相關(guān)性有關(guān)。在特征選取中,隨機的對每個節(jié)點進行分割,并對不同情形下的錯誤進行比較。所探測到的內(nèi)在估計誤差、分類能力和關(guān)聯(lián)度確定了所選取的特性數(shù)量。盡管每個樹的劃分工作能力相對較低,但經(jīng)過隨機地生成了大規(guī)模的決策樹以后,能夠根據(jù)各樣本的劃分結(jié)論加以計算,并從中選出最有可能性的類型[10]。隨機森林的具體實現(xiàn)過程分為5個步驟。
步驟1給定的訓練集合S,檢測集合T,以及特征維度F。確定系數(shù):決策樹的數(shù)量t,每棵樹的大小d,每節(jié)點所用到的特征量f,以及終止條件,節(jié)點s,節(jié)點上最少的信息增益m對于第i棵樹,i=1∶t。
步驟2在S中有放回的抽取尺寸與S相同的訓練集S(i),可以當作根節(jié)點的練習樣本,從根節(jié)點中進行練習。
步驟3假設(shè)在當前節(jié)點上滿足了終止要求,那么設(shè)定當前節(jié)點作葉子節(jié)點,該樹葉節(jié)點的估計輸出就是當前節(jié)點樣本集中數(shù)量最多的那一個c(j),概率p為c(j)占當前樣本集的百分比;假設(shè)當前節(jié)點不能滿足終止要求,可在所有F維特征中隨機選擇f維特征(f?F)。使用這f維特征,可以找出分類效率較好的一維特性k及閾值th,當前節(jié)點上所有樣品第k維特性低于th的樣品被分配到左節(jié)點,而剩下的則被分配到右節(jié)點。繼續(xù)訓練其他節(jié)點。
步驟4復制步驟2、3直到每個結(jié)點都被訓練完了,或是被記錄為葉子節(jié)點。
步驟5重復步驟2~4直至所有決策樹都被訓練過。
文中所采用的實驗系統(tǒng)見圖1。其中,包括催化燃燒型氣體傳感器、數(shù)據(jù)采集系統(tǒng)、氣源和計算機。
圖1 實驗系統(tǒng)示意Fig. 1 Schematic of experimental system
選取二氧化碳傳感器分別檢測0.3%、0.5%、2%、10%和40%體積分數(shù)的二氧化碳進行系統(tǒng)檢測實驗,經(jīng)過實驗得到傳感器的檢測數(shù)據(jù)如圖2所示。
圖2 檢測信號及特征選取Fig. 2 Detection signal and feature selection
由系統(tǒng)輸出信號可以觀察出,不同時刻系統(tǒng)對不同體積分數(shù)二氧化碳的響應信號是不同的,從圖2可以看出,在等待10 s后傳感器開始響應二氧化碳氣體,檢測的輸出電壓逐漸提升,0.3%、0.5%、2%、10%和40%體積分數(shù)的響應輸出電壓在25 s處逐步趨于穩(wěn)定在0.6、1、2.4、16和32 mV處,在98 s處阻斷二氧化碳氣體通入傳感器時響應輸出電壓迅速回復到初始狀態(tài)。從系統(tǒng)檢測信號分析,系統(tǒng)對不同濃度氣體的響應信號具有差異,因此,可以根據(jù)檢測信號的特征信息實現(xiàn)檢測氣體濃度的區(qū)分。文中選取傳感器響應曲線的輸出電壓值及其對應的響應時間點構(gòu)成特征值向量用于后續(xù)的算法識別。
決策樹棵樹一定程度上影響隨機森林模型分類的準確性,因而確保準確度的同時需要盡量減少決策樹的棵樹,以提高模型的運行效率。設(shè)置的決策樹棵樹m在0~1 000棵范圍內(nèi)并以50棵遞增,以不同棵樹的決策樹訓練并取得精確度的均值,得到?jīng)Q策樹的棵樹和模型準確率間的關(guān)聯(lián),見圖3。由圖3可以看出,在訓練決策樹的每棵樹總量較少時,精確度就比較少,而伴隨訓練決策樹的增加,隨機森林模型的精確度也在上升。而產(chǎn)生這個趨勢的主要因素,是由于訓練樣本和節(jié)點變量都是隨機選擇的結(jié)果,當訓練決策樹總量較少時,會由于隨機性而造成RF模式的精確度較低;當決策樹的總量在逐步增加時,這種隨機性就在不斷減少,因為所有變數(shù)都可以更全面地對分類結(jié)果產(chǎn)生影響,從而訓練模型的準確度也就在逐步提高;當訓練決策樹增長到一定規(guī)模時,隨機數(shù)列對訓練RF建模準確度所產(chǎn)生的影響就已經(jīng)很小,所以即使是在不斷提高訓練決策樹的規(guī)模,準確度也就沒有增加。當模型內(nèi)決策樹棵數(shù)超過150棵時,建模精確度就不再提高,因此選取總決策樹150棵為最優(yōu)數(shù)量。
圖3 RF模型準確率與決策樹棵樹關(guān)系Fig. 3 RF model accuracy and decision tree
利用Matlab平臺,建立了含有150棵決策樹的隨機森林算法模型,待模型構(gòu)建完畢后選擇實驗系統(tǒng)響應5組不同體積分數(shù)的輸出信號與特征向量數(shù)據(jù)各120個,共600組實驗數(shù)據(jù)。并將實驗數(shù)據(jù)以7∶3比例隨機地分為訓練集與實驗集[11],數(shù)據(jù)劃分的情況見表2。其中,η為訓練集和測試集占總數(shù)據(jù)的比例。
表2 數(shù)據(jù)樣本劃分詳情
將處理好的數(shù)據(jù)導入到隨機森林模型中進行訓練,多次實驗并統(tǒng)計分類結(jié)果取得模型的各個評價指標的平均值如圖4所示。其中,百分比為w。
圖4 RF模型性能指標Fig. 4 RF model performance index
從圖4可以看出,RF模型對三種不同濃度氣體分類準確率的均值分別為0.92、0.96、0.95、0.96和0.94也就是說,在理想條件下,隨機森林模型對于不同氣體的平均分類精度可以達到0.946,大大超過常規(guī)方法的精度;同時,該模型查準率的均值為0.920,查全率的均值為0.864,特異度的均值為0.824,F(xiàn)1的均值為0.891,表明了該模型在氣體分類中的應用是可行的。利用機器學習技術(shù)對氣體進行分類,可以顯著減少人工費用,縮短分類時間,提高不同濃度氣體的分類效率是未來氣體傳感器數(shù)據(jù)分類方法的趨勢。
利用Matlab數(shù)學軟件構(gòu)建了隨機森分類林算法模型,對實驗所得CO2氣體傳感器數(shù)據(jù)進行分類實驗。
(1)在傳統(tǒng)傳感器數(shù)據(jù)分類方法的基礎(chǔ)上,提出了隨機森林機器學習算法,將輸出電壓和對應時間以向量的方式進行結(jié)合,作為檢測數(shù)據(jù)的特征向量,驗證了隨機森林算法的有效性。分析了決策樹顆樹對模型性能的影響,設(shè)置決策樹的數(shù)量為150棵時模型分類正確率最高達到86.21%,使模型達到最佳分類性能。
(2)將數(shù)據(jù)導入到模型中訓練,最終模型分類準確度為94.6%,實驗結(jié)果證實,所提出的隨機森林分類模型能夠更高效地實現(xiàn)對傳感器數(shù)據(jù)的分類。