王明吉,梁 濤,李 棟,王 迪,王秋實
(1.東北石油大學(xué) 物理與電子工程學(xué)院,黑龍江 大慶 163318;2.東北石油大學(xué) 土木建筑工程學(xué)院,黑龍江 大慶 163318)
隨著我國交通大發(fā)展的持續(xù)深入推進,用戶對汽油的需求呈現(xiàn)爆炸式增長。然而,大量不法企業(yè)為追求最大限度利潤,擅自用化工原料和添加劑兌制、混配“調(diào)和汽油”,給消費安全帶來了極大的隱患。因此亟需研究對摻混成品油進行快速鑒別的方法。
由于紅外光譜分析技術(shù)具有檢測速度快、效率高、成本低等特點[1],已被廣泛應(yīng)用于成品油分析領(lǐng)域[2]。Veras等人利用主成分分析(principal component analysis,PCA)結(jié)合聚類分析的方法對108個柴油樣品的原產(chǎn)地進行分類[3];姜黎等人利用主成分分析結(jié)合馬氏距離的方法比較汽油的2個特征波段建模的分類效果[4];王麗等人利用主成分分析結(jié)合模糊聚類實現(xiàn)了對海洋溢油樣本的快速分類[5]。然而主成分分析屬于線性降維方法,其不能準(zhǔn)確提取光譜數(shù)據(jù)中的非線性特征,導(dǎo)致光譜數(shù)據(jù)在降維的過程中部分有用信息丟失及鑒別模型精準(zhǔn)度下降。鑒于此,本文采用非線性降維方法中的t分布鄰域嵌入(t-distributed stochastic neighbor embedding,t-SNE)算法[6]對光譜數(shù)據(jù)進行降維處理,同時結(jié)合深度置信網(wǎng)絡(luò)方法[7]建立汽油鑒別模型,并與極限學(xué)習(xí)機鑒別算法[8]進行識別精度對比分析,以解決摻混汽油紅外光譜鑒別技術(shù)中線性降維方法缺陷和高精度識別模型選擇問題。
本實驗所使用的92#、95#以及98#汽油樣品均購置于大慶中石化加油站,摻混汽油樣品由92#、95#、98#汽油按照1∶1∶1配制而成,每種樣品各50份用于紅外光譜測量實驗。其中,每種類型取其40份作為訓(xùn)練集,10份作為測試集。
通過實驗所采集到的光譜信息不僅包含樣本特征信息,還包含外界的干擾因素[9],這些干擾因素會對模型建立造成一定的影響。因此,有必要對原始光譜數(shù)據(jù)進行預(yù)處理[10]。分別采用多元散射校正(multiplication scattering correction,MSC)、標(biāo)準(zhǔn)正態(tài)變換(standard normal variate,SNV)以及一階導(dǎo)數(shù)對原始光譜數(shù)據(jù)進行預(yù)處理,從而選擇最適合本文的預(yù)處理方法。
紅外光譜數(shù)據(jù)通常維度很高,如若將全部光譜數(shù)據(jù)參與模型構(gòu)建,將會導(dǎo)致該模型識別效率下降,通常在建立模型之前需對光譜數(shù)據(jù)進行降維處理,本文采用t分布鄰域嵌入(t-distributed stochastic neighbor embedding,t-SNE)算法對光譜數(shù)據(jù)進行降維[5]。
t-SNE算法具體步驟如下:
a)用條件概率pj|i表示高維空間中鄰近數(shù)據(jù)點xi與xj的相似度,鄰近數(shù)據(jù)點之間的相似度越高,則條件概率pj|i值也就越大,且其服從高斯分布[11],條件概率pj|i計算公式為
式中 σi為高斯分布標(biāo)準(zhǔn)差。
將高維中鄰近數(shù)據(jù)點xi與xj在低維中的映射點記為yi與yj,并計算其相似的條件概率qj|i
b)pj|i與qj|i分別表示高維空間中數(shù)據(jù)點xi、xj與低維空間中數(shù)據(jù)點yi、yj之間的聯(lián)合概率,如(3)式和(4)式所示:
c)此時新的代價函數(shù)C可以表示為
式中:KL為K-L散度(Kullback-Leibler divergence);P與Q分別為高維空間和低維空間中度量點對分布概率分布。
d)在低維空間中,t-SNE算法將使用t分布(student t-distribution)代替高斯分布以表示兩個點之間的相似度。t分布在低維空間中使用更注重長尾分布,使同類的樣本點在低維空間中相隔距離較近,不同類型的樣本點相隔距離較遠(yuǎn)[12]。t-SNE梯度計算式可以表示為
1.3.1 數(shù)據(jù)集處理
數(shù)據(jù)集中標(biāo)記的鑒別汽油種類是離散型數(shù)據(jù),不能直接參與DBN模型計算,因此在構(gòu)建DBN模型之前需要利用One-Hot編碼進行轉(zhuǎn)換處理。One-Hot編碼使用0或1對多個分類或狀態(tài)進行編碼,將每個分類或狀態(tài)作為獨立屬性,任意時刻只有其中一個屬性有效,將對應(yīng)的有效屬性設(shè)置為1[13],4種類型的汽油對應(yīng)的編碼如表1所示。
表1 同類型汽油One-Hot編碼Table 1 One-Hot coding of different types of gasoline
1.3.2 深度置信網(wǎng)絡(luò)鑒別模型
深度置信網(wǎng)絡(luò)既可以用于非監(jiān)督學(xué)習(xí),也可以用于監(jiān)督學(xué)習(xí),其由多層受限玻爾茲曼機(restricted Boltzmann machines,RBM)組成,通過訓(xùn)練各個神經(jīng)元之間的權(quán)重和偏置,可使整個神經(jīng)網(wǎng)絡(luò)以最大概率生成訓(xùn)練數(shù)據(jù)[14]。DBN一般由3層或3層以上神經(jīng)元構(gòu)成,神經(jīng)元分為顯性神經(jīng)元和隱性神經(jīng)元。顯性神經(jīng)元接受輸入數(shù)據(jù),隱性神經(jīng)元提取數(shù)據(jù)的特征,其中每一個神經(jīng)元代表數(shù)據(jù)向量的一維。與傳統(tǒng)方法相比,DBN不僅有多隱層的深度結(jié)構(gòu),而且通過逐層訓(xùn)練學(xué)習(xí)以獲取特征,能夠刻畫出數(shù)據(jù)更豐富的內(nèi)在信息,使分類和預(yù)測更加容易[15]。
DBN模型如圖1所示,第一層為輸入數(shù)據(jù)的可見層,輸入不同類型汽油光譜特征向量,數(shù)據(jù)經(jīng)過2個隱層逐層訓(xùn)練后到達(dá)最后Softmax分類器,Softmax分類器輸出汽油種類。
圖1 汽油種類鑒別DBN模型Fig.1 DBN model for gasoline types identification
DBN模型中核心部分是RBM,RBM是一種層內(nèi)無連接、層間全連接的兩層神經(jīng)網(wǎng)絡(luò)[16],其結(jié)構(gòu)如圖2所示。
圖2 RBM結(jié)構(gòu)圖Fig.2 Structure diagram of RBM
圖2中,ai和bj分別為可見層神經(jīng)元和隱層神經(jīng)元的偏置值,wij為層間相連的神經(jīng)元的權(quán)值。
RBM中狀態(tài)(v,h)的能量函數(shù)如(7)式所示,其函數(shù)值越小,則表示此時的RBM處于理想狀態(tài),汽油類型鑒別的錯誤率也就越低。
此時,RBM的可見層與隱層對應(yīng)的神經(jīng)元激活概率可以表示為(8)式和(9)式:
式中,σ為sigmoid激活函數(shù),計算方法如(10)式所示:
為了提高DBN模型的訓(xùn)練速度,Hionton等人提出了通過對比散度算法(CD-K)來構(gòu)建可見層節(jié)點概率分布,其發(fā)現(xiàn)當(dāng)K=1時,即只進行一步Gibbs采用便獲得比較好的學(xué)習(xí)效果[17]。
汽油樣品紅外光譜圖如圖3所示,從中可以看出,不同型號汽油樣品的紅外光譜大致相同,很難用肉眼進行區(qū)分。但紅外光譜記錄物質(zhì)分子振動情況,而分子振動頻率取決于組成原子的質(zhì)量、化學(xué)鍵以及物質(zhì)內(nèi)部結(jié)構(gòu)基團,所以原子的種類和結(jié)構(gòu)基團的組合都可以在紅外光譜圖上表現(xiàn)出來,即不同物質(zhì)的吸收譜帶也不相同[18]。因此,借助化學(xué)計量學(xué)的方法可以對不同型號的汽油進行聚類分析。
圖3 部分樣品原始光譜圖Fig.3 Original spectrogram of partial samples
部分汽油樣品原始光譜數(shù)據(jù)經(jīng)預(yù)處理后的光譜圖如圖4所示。其中,導(dǎo)數(shù)處理雖然可以有效地消除基線和其他背景干擾,使某些未分辨開的重疊光譜分辨開,但是會引入噪聲,降低信噪比[19]。MSC主要是消除由于顆粒分布不均勻及顆粒大小不同產(chǎn)生的散射對光譜的影響,其認(rèn)為每條光譜與“理想光譜”都成線性關(guān)系,但在大多數(shù)情況下這種情形并不存在,而且光散射引起的背景非常復(fù)雜,僅靠校正集的平均光譜作為標(biāo)準(zhǔn)光譜是存在誤差的[20]。SNV主要用來消除固體顆粒大小、表面散射以及光程變化對光譜的影響,但是假設(shè)乘法效應(yīng)在整個光譜范圍內(nèi)是均勻的,并不一定能實現(xiàn)[21]。因此,本文所選擇的3種預(yù)處理方法都有各自優(yōu)劣之處,需要進一步分析來選擇最適合本文的預(yù)處理方法。
圖4 預(yù)處理后光譜圖Fig.4 Spectrogram after preprocessing
為確定最適合本文的預(yù)處理方法,將MSC、SNV和一階導(dǎo)數(shù)預(yù)處理后的光譜數(shù)據(jù)利用t-SNE算法進行數(shù)據(jù)降維并將前3個特征向量進行可視化處理,最終得出的結(jié)論為經(jīng)MSC預(yù)處理后的4種汽油光譜特征數(shù)據(jù)不僅各自聚集在一起,而且還互不相交,能夠很好地將這4種汽油區(qū)分開。因此選擇多元散射校正作為建模前的原始光譜數(shù)據(jù)預(yù)處理方法。
為驗證所選擇的t-SNE算法具有一定的優(yōu)越性,因此將PCA算法與t-SNE算法提取到的汽油光譜特征進行特征可視化圖以比較分類效果。
選擇累積貢獻率超過90%的前10個特征代表汽油光譜特征,即將汽油紅外光譜數(shù)據(jù)維度降至10維,將其前3個特征向量進行可視化,結(jié)果如圖5所示。
圖5 PCA特征可視化圖Fig.5 Diagram of PCA feature visualization
由圖5可以看出,經(jīng)PCA算法提取的汽油光譜特征數(shù)據(jù)分類效果比較差,這是因為汽油的紅外光譜中含有非線性特征信息,而PCA屬于線性降維方法,不能準(zhǔn)確提取紅外光譜數(shù)據(jù)中的非線性特征信息,從而導(dǎo)致光譜數(shù)據(jù)在降維的過程中部分有用信息丟失,造成模型鑒別精準(zhǔn)度下降。
DBN模型中的迭代次數(shù)和網(wǎng)絡(luò)深度會對模型預(yù)測精準(zhǔn)度產(chǎn)生較大的影響,以模型最終的預(yù)測精準(zhǔn)度為判斷標(biāo)準(zhǔn)來確定其參數(shù)。
DBN結(jié)構(gòu)主要分為輸入層、隱含層和輸出層,其網(wǎng)絡(luò)深度主要體現(xiàn)在隱含層數(shù)量上。又因為t-SNE將汽油樣品光譜數(shù)據(jù)降維至5維,因此將輸出層節(jié)點數(shù)設(shè)置為5,輸出層神經(jīng)元的個數(shù)需要根據(jù)成品油分類數(shù)量決定,需要將92#、95#、98#以及摻混成品油區(qū)分開,因此輸出層神經(jīng)元的節(jié)點數(shù)設(shè)置為4。為了確定最合適的模型迭代次數(shù),分別將迭代次數(shù)設(shè)置為50、60、70、80、90、100、110、120、130、140、150和160進行模型構(gòu)建,當(dāng)?shù)螖?shù)為100時,DBN網(wǎng)絡(luò)模型的識別準(zhǔn)確度最高,而其他迭代次數(shù)的識別準(zhǔn)確度都低于迭代次數(shù)為100時的識別準(zhǔn)確度,將DBN網(wǎng)絡(luò)模型的迭代次數(shù)設(shè)置為100。為了確定模型的最佳隱含層數(shù)量,分別建立1至4層隱含層的DBN網(wǎng)絡(luò)模型,以比較不同隱含層數(shù)對模型預(yù)測精準(zhǔn)度影響。當(dāng)隱含層數(shù)設(shè)置為1時,DBN網(wǎng)絡(luò)模型的識別準(zhǔn)確度僅為75%,當(dāng)隱含層數(shù)量增加到2時,DBN模型的識別準(zhǔn)確度相較一個隱含層時有較大的提升,識別準(zhǔn)確度已到達(dá)92.5%,然而繼續(xù)增加網(wǎng)絡(luò)模型的隱含層數(shù)時,其模型識別度開始降低。因此,所建立的DBN網(wǎng)絡(luò)模型的隱含層數(shù)量為2。因此,構(gòu)建一個結(jié)構(gòu)為5-10-20-4的DBN網(wǎng)絡(luò)模型對4種類型汽油樣本進行特征學(xué)習(xí)和分類。
為了進一步驗證分類算法有效性,分別利用深度置信網(wǎng)絡(luò)算法與極限學(xué)習(xí)機算法建立汽油鑒別模型并比較這兩種模型在測試集中的鑒別精準(zhǔn)度。ELM模型的識別精準(zhǔn)度為80%,而DBN模型的識別精準(zhǔn)度為92.5%。由此可見,DBN 模型分類效果更加良好。這是由于采用非線性算法t-SNE對光譜數(shù)據(jù)進行降維處理,降低了數(shù)據(jù)在降維過程中有用信息丟失的可能性,再者DBN模型擁有更深層次的網(wǎng)絡(luò)學(xué)習(xí)結(jié)構(gòu),訓(xùn)練網(wǎng)絡(luò)時采用反向傳播微調(diào)方法,使得訓(xùn)練后的網(wǎng)絡(luò)具有更好的識別能力,因而汽油種類鑒別精準(zhǔn)度更高。
本文提出了一種t-SNE和DBN二者相結(jié)合的汽油種類鑒別方法。在對汽油原始光譜數(shù)據(jù)進行多元散射校正預(yù)處理后,利用t-SNE算法對預(yù)處理后的光譜數(shù)據(jù)進行降維以提取光譜特征信息,最后將光譜特征信息作為DBN網(wǎng)絡(luò)的輸入并構(gòu)建汽油種類鑒別模型,通過在MATLAB上進行測試,最終的實驗結(jié)果表明優(yōu)選的方法具有更好的鑒別效果。