彭 程,劉永濤,尤文強,馬紅梅
(1.華北科技學院電子信息工程學院,河北 三河 065201;2.應急管理部煤炭安全監(jiān)測監(jiān)控技術(shù)安全生產(chǎn)重點實驗室,河北 三河 065201)
礦井突水是煤礦生產(chǎn)安全的主要威脅之一,一旦發(fā)生突水事故,快速準確判斷水源對及時處置事故、減小損失有重要意義。利用礦井突水的化學成分識別水源是其中一類重要方法。針對突水化學數(shù)據(jù),學者們采用了數(shù)量化理論[1]、聚類分析[2]、多組逐步Bayes判別[3]、熵權(quán)模糊綜合評價[4]、動態(tài)自適應模板[5]、可拓識別[6]等方法,建立了突水水源識別模型。
神經(jīng)網(wǎng)絡(luò)因其具有學習能力也被用于礦井突水水源識別,當前應用較多的神經(jīng)網(wǎng)絡(luò)模型有:BP神經(jīng)網(wǎng)絡(luò)[7]、Elman神經(jīng)網(wǎng)絡(luò)[8]和RBF神經(jīng)網(wǎng)絡(luò)[9]等。上述文獻使用神經(jīng)網(wǎng)絡(luò)分類器均取得了較好的識別效果,但是也存在兩個缺點:一是神經(jīng)網(wǎng)絡(luò)訓練算法較為復雜且收斂性缺乏理論保證,訓練時有可能陷入局部極小點;二是在構(gòu)造神經(jīng)網(wǎng)絡(luò)進行突水水源識別時,使用了多種類型的水化學數(shù)據(jù),造成網(wǎng)絡(luò)結(jié)構(gòu)復雜,也增大了水化學數(shù)據(jù)測量的工作量。感知器是一種線性神經(jīng)網(wǎng)絡(luò)分類器,具有訓練簡單可靠的優(yōu)點。能否構(gòu)造盡可能簡單的感知器模型識別礦井突水水源,是本文研究的問題。
感知器結(jié)構(gòu)見圖1,其輸入輸出關(guān)系可以表示為式(1)。
y=f(wx-θ)
(1)
式中:x=[x1,x2,…,xm]T∈Rm、y=[y1,y2,…,yn]T∈Rn分別為感知器的輸入向量和輸出向量;w=[w1,w2,…,wm]∈Rn×m為權(quán)值矩陣;w的第k(k=1,2,…,m)列wk=[w1k,w2k,…,wnk]T∈Rn;θ=[θ1,θ2,…,θn]T∈Rn為閾值向量;激活函數(shù)f(·)定義為式(2)。
(2)
式中,z∈R。
圖1 感知器結(jié)構(gòu)圖Fig.1 Architecture of perceptron
式(1)中激活函數(shù)f(·)的運算應理解成對列向量wx-θ的每個分量分別按式(2)進行計算。如果在感知器模型中將與閾值向量θ對應的“-1”作為輸入向量的一部分,則感知器模型也可以表示為式(3)。
(3)
式中,W=[wθ]∈Rn×(m+1)為增廣后的權(quán)值矩陣。由式(3)和圖1可知,感知器模型不含有隱含層,結(jié)構(gòu)上比BP、RBF、Elman等多層神經(jīng)網(wǎng)絡(luò)簡單。
感知器的訓練(也稱為學習)即為利用若干組訓練用輸入向量x1、x2、…、xD及其對應的期望輸出向量t1,t2、…、tD確定權(quán)值矩陣W的過程,可以按照式(4)定義的方式依次利用每一組輸入、輸出向量更新權(quán)值矩陣,見式(4)。
(4)
式中:Wold和Wnew分別為更新前后的權(quán)值矩陣;η>0為學習率;感知器輸出誤差向量見式(5)。
(5)
每組訓練用輸入、輸出向量均使用過一次之后,稱為訓練完成了一代,此時得到的感知器通常無法達到使用的要求,訓練需要重復若干代。在訓練過程的第g代,利用在權(quán)值矩陣更新過程中求得的誤差向量ei,計算第g代的總誤差見式(6)。
(6)
若Eg=0,說明在訓練過程的第g代,權(quán)值矩陣W沒有更新,并且對于所有訓練用輸入向量而言,感知器輸出向量與期望輸出向量均一致,即此時感知器正確地對訓練樣本進行了分類。故對于可以用感知器進行分類的問題,可以用Eg=0作為訓練結(jié)束的判斷條件。
對于不能用感知器分類的問題,總誤差Eg永遠不會等于0,為了防止此種情況導致的訓練不收斂,感知器學習算法中需要設(shè)置一個參數(shù):最大訓練代數(shù)G,作為訓練結(jié)束的條件,G應取一充分大的自然數(shù)。
本文實現(xiàn)的感知器在訓練開始之前進行了歸一化處理,設(shè)原始的輸入向量為u1、u2、…、uD,則訓練用輸入可以由
(7)
得到,其中
(8)
容易知道,歸一化操作后訓練用輸入向量x1、x2、…、xD的各分量均位于區(qū)間[0,1]之內(nèi)。
綜上所述,使用感知器進行突水水源識別的算法流程如下所述。
步驟1:按照式(7)對原始輸入向量u1、u2、…、uD進行歸一化處理,得到訓練用輸入向量x1、x2、…、xD;確定x1、x2、…、xD各自對應的期望輸出向量t1、t2、…、tD;由輸入向量和期望輸出向量的維數(shù)確定感知器權(quán)值矩陣W的維數(shù)。
步驟2:設(shè)置訓練參數(shù),包括學習率η和最大訓練代數(shù)G。
步驟3:隨機生成初始權(quán)值矩陣W;由式(5)計算初始權(quán)值下各輸入向量對應的輸出誤差向量,由式(6)計算初始權(quán)值下的總誤差E0;令當前訓練代數(shù)g=0。
步驟4:若Eg=0,訓練成功,結(jié)束訓練過程,轉(zhuǎn)到步驟8。
步驟5:令g=g+1;若g>G,訓練失敗,退出程序;否則,令訓練數(shù)據(jù)組數(shù)i=1。
步驟6:以xi為輸入向量、ti為期望輸出向量,按照式(5)計算輸出誤差向量ei,按照式(4)更新權(quán)值矩陣W。
步驟7:令i=i+1;若i>D,由式(6)計算第g代的總誤差Eg,返回步驟4;否則返回步驟6。
表1 測試樣本Table 1 Testing samples
為了能夠簡化感知器模型的結(jié)構(gòu),在不損失訓練和識別精度的情況下,應盡可能減少感知器輸入的維數(shù)。能夠獲取的離子濃度信息共有六種,若使用其中的m(1≤m≤6)種離子的濃度作為感知器輸入,則可以構(gòu)造一個具有(m+1)個輸入的感知器進行水源識別,前m個輸入分別對應于一種離子的濃度(需按照式(7)進行歸一化處理),最后1個輸入為與閾值向量θ對應的-1。容易知道,感知器模型的輸入組合共有26-1=63種,本文采用枚舉法對這63種情況下的感知器逐一進行訓練。水樣共有4類,將其表示為四個列向量:[1 0 0 0]T(類型Ⅰ)、[0 1 0 0]T(類型Ⅱ)、[0 0 1 0]T(類型Ⅲ)和[0 0 0 1]T(類型Ⅳ),作為感知器的期望輸出向量。
式(6)定義的總誤差Eg隨訓練代數(shù)g的變化過程見圖2。由圖2可知,感知器訓練過程中,總誤差Eg并不總是隨著訓練代數(shù)g逐漸下降,而是具有波動性,但是經(jīng)過一定代數(shù)的訓練之后總誤差Eg能夠收斂到0。
利用式(7)的方式處理表1中4組測試數(shù)據(jù),將結(jié)果輸入訓練得到的感知器,得到的識別結(jié)果見表2,可知感知器正確識別了測試水樣的類型。根據(jù)感知器訓練和識別的結(jié)果可以知道焦作礦區(qū)突水水源識別問題是線性可分的。
圖2 感知器總誤差收斂曲線Fig.2 Convergence curve of total error of perceptron
表2 感知器識別結(jié)果Table 2 Recognition results of perceptron
編號期望輸出感知器輸出實際類型識別類型1[1 0 0 0]T[1 0 0 0]TⅠⅠ2[0 1 0 0]T[0 1 0 0]TⅡⅡ3[0 0 1 0]T[0 0 1 0]TⅢⅢ4[0 0 0 1]T[0 0 0 1]TⅣⅣ
由于初始權(quán)值矩陣是隨機生成的,同時學習率η也是根據(jù)經(jīng)驗選取的,需要考察使用不同的初始權(quán)值矩陣和學習率是否都能得到正確的識別結(jié)果。為此,設(shè)最大訓練代數(shù)G=2 000,隨機生成1 000組不同的初始權(quán)值矩陣,在不同的學習率之下分別進行感知器訓練和測試樣本識別,得到的結(jié)果見表3。從表3中結(jié)果可以知道,對于不同的學習率和初始權(quán)值矩陣,2 000代之內(nèi)感知器訓練均能收斂,并且得到的感知器均能正確判斷測試水樣的類型。這與感知器理論中的經(jīng)典結(jié)論[15]:線性可分問題總能在有限次訓練之后收斂到一個穩(wěn)定的權(quán)值矩陣,該權(quán)值矩陣確定的感知器能夠?qū)崿F(xiàn)正確的分類,是吻合的;但是從計算效率的角度考慮,學習率η取值過大或者過小,都會增大訓練代數(shù),增加計算量,故對焦作礦區(qū)突水水源識別問題而言,建議學習率η在區(qū)間[0.050,0.200]內(nèi)選取。
表3 不同學習率之下訓練和識別的統(tǒng)計結(jié)果Table 3 Statistical results of training and recognitionunder different learning rates
構(gòu)建了感知器模型進行焦作礦區(qū)礦井突水水源識別,應用結(jié)果表明,該水源識別問題是線性可分的,訓練后的感知器能夠正確判斷突水水源;并且識別突水水源時不需要使用Na+和K+離子的濃度信息,這樣處理在簡化感知器模型結(jié)構(gòu)的同時,有助于減小離子濃度檢測的工作量,加快水源識別的速度。
與BP神經(jīng)網(wǎng)絡(luò)等更復雜的神經(jīng)網(wǎng)絡(luò)相比,感知器在結(jié)構(gòu)上更簡單,訓練算法更容易實現(xiàn),對于線性可分問題而言訓練過程的收斂性有保證。為此在進行突水水源識別時,建議首先嘗試使用感知器,并且在不損失識別能力的情況下應盡可能減少使用的水化學信息的種類;在感知器無法進行正確識別的情況下,再考慮使用更復雜的神經(jīng)網(wǎng)絡(luò)。