董鎮林,伍世虔+,葉 健,銀開州
(1.武漢科技大學 信息科學與工程學院,湖北 武漢 430081;2.武漢科技大學 機器人與智能系統研究院,湖北 武漢 430081;3.北京奧信化工科技發展有限責任公司 項目部,北京 100040)
RBF神經網絡[1-8]研究的關鍵在于如何確定網絡結構[9],即如何確定最小隱節點個數。許多學者為此進行研究:①聚類算法。Jia等提出一種基于改進的Canopy-K均值算法的RBF神經網絡[10],Liu等提出了一種基于K近鄰優化聚類算法的RBF神經網絡[11]。該類算法通過確定初始聚類中心,降低聚類的隨機性,繼而優化神經網絡結構。但是不能動態地增減隱節點,從而影響網絡結構的精簡性。②結構動態優化算法。Li等提出一種基于誤差校正-敏感度分析的RBF神經網絡[12],Meng等將快速密度聚類算法用于RBF神經網絡[13]。該類算法通過自組織聚類確定神經網絡結構,具有較好的效果,但是僅考慮隱節點對網絡輸出的貢獻率,未考慮隱節點之間的相似程度。
基于以上問題,本文提出基于自組織聚類和JS散度的RBF神經網絡(self-organizing clustering and Jensen-Shannon divergence RBF,SCJS-RBF)。利用自組織聚類思想,解決聚類算法初始聚類中心的問題;采用戴維森堡丁(Davies-Bouldin index,DBI)指數提高K-means聚類精度;結合敏感度指數(sensitivity index,SI)和詹森-香農散度(Jensen-Shannon divergence),解決隱節點相似和冗余的問題。最后實驗結果表明,SCJS-RBF的網絡結構更精簡、預測效果更好、運行時間更短。
RBF神經網絡為一個典型的三層前饋型神經網絡。網絡結構表示為“n-m-p”,其中n為輸入層神經元個數;m為隱層神經元個數;p為輸出層神經元個數。神經網絡結構如圖1所示。

圖1 RBF神經網絡結構
X∈RNum×n為網絡輸入矩陣,Y∈RNum×p為網絡輸出矩陣,Num為樣本點個數。隱層的徑向基函數選用標準高斯核函數,如下式所示
(1)
式中:φi(x) 為第i個徑向基函數,ci為第i個徑向基函數的中心,δi為第i個徑向基函數的擴展寬度。
本文采用聚類算法確定隱節點中心及其擴展寬度,將得到的聚類中心作為隱節點中心,擴展寬度計算方法如下所示
(2)
式中:dimax為第i個隱節點與其它隱節點的最大歐式距離,N為隱節點個數。采用最小二乘方法求解線性方程組得到隱層和輸出層之間的網絡權值矩陣。
基于聚類的RBF神經網絡存在以下缺陷:需要預設聚類中心個數并隨機初始化位置;迭代停止條件僅考慮類內的相似性;確定的聚類中心作為隱節點可能存在冗余或相似情況。因此,本文提出一種基于自組織聚類和JS散度的RBF神經網絡,解決以上問題。
為解決傳統的K-means聚類算法需要人為給定聚類中心個數和隨機初始化聚類中心的不確定性問題,提出一種基于距離的初始聚類,基于自組織聚類思想,計算樣本點與聚類中心之間的歐式距離并與閾值距離進行比較,判斷是否增加聚類中心個數。
定義樣本數據集的閾值距離如下式所示
(3)
式中:xi為第i個樣本點,xj為第j個樣本點,Dismean為所有樣本點間的平均距離,Dis(xi,xj) 為樣本點xi和xj之間的歐式距離,λ1為調節系數。
初始時刻,聚類中心點個數為0,依次讀取樣本數據集,讀取第一個輸入樣本時,將其作為第一個聚類中心。
讀取第k個樣本點xk時,假設已經存在j個聚類中心,計算該樣本與每個聚類中心的歐式距離,比較出最小值Dis(xk,cl) 并得到第l個聚類中心。下面分兩種情況討論:
(1)類內點增加。當Dis(xk,cl)≤V時,認為第l個聚類中心與樣本點xk的距離足夠近,則把該樣本點歸為第l類;
(2)聚類點增加。當Dis(xk,cl)>V時,認為第l個聚類中心與樣本點xk的距離足夠遠,則把該樣本點新增為第j+1個聚類中心。
當數據讀取完畢后,即完成了基于距離的自組織初始聚類,得到確定的初始聚類中心個數和位置,并將其作為K-means算法的輸入,從而避免因K-means算法對初值敏感而造成的聚類效果不夠準確。
傳統的K-means聚類算法按照最小距離原則劃分樣本數據集,迭代停止條件為聚類中心不再發生變化,僅考慮了類內的樣本點的稠密程度,并沒有考慮類與類之間的相異性。基于此,提出采用DBI指數作為K-means聚類算法的準則函數。
DBI指數[14],又稱為分類適確性指標,為常用的聚類算法評價指標之一。相關定義和概念如下:
(1)類間距離
類間距離Dis(ci,cj) 表示第i個聚類中心ci與第j個聚類中心cj之間的歐式距離,如下式所示
(4)
(2)類內標準誤差
類內標準誤差Si表示為第i個類Ci中每一個樣本數據點u與該類的聚類中心ci之間的歐式距離標準誤差和,如下式所示
(5)
式中:Ni表示為第i個聚類中心Ci包含的樣本數據個數。
(3)DBI指數
DBI指數的值由聚類中心與聚類中心之間和類內點之間的歐式距離關系決定,如下式所示
(6)
理想的聚類效果應為不同類之間的相似程度盡可能小,并且類內的相似程度盡可能大。DBI指數既衡量類與類之間的相異性,即類與類之間的空間分布盡可能相互遠離,也就是Dis(ci,cj) 越大越好,還考慮了類內的相似性,即類內點之間的空間分布情況盡可能稠密,也就是Si+Sj越小效果越好。因此,DBI指數的值越小,說明聚類結果越接近于樣本數據真實分布,表示聚類效果越好。
敏感度指數是衡量一個模型輸出對輸入依賴性的重要指標。有很多方法來定義敏感度,但是共同點均為模型的輸入參數對輸出變量的貢獻程度。本文將確定的聚類中心作為隱節點,為刪減可能存在的冗余隱節點,得到更為緊湊的神經網絡結構,在不影響網絡整體性能的前提下,采用敏感度分析衡量RBF神經網絡每個隱節點對網絡輸出的貢獻率,刪減對網絡輸出貢獻率較低的隱節點。
第i個隱節點的敏感度計算公式如下所示
(7)
式中:Std(wiφi(x)) 為第i個隱節點到網絡輸出的標準差,wi為第i個隱節點與輸出層隱節點間的權值。SIi越小,則說明其對網絡輸出的貢獻率越低,可刪除該隱節點。為了便于選取刪減隱節點的閾值,將敏感度進行如下歸一化
(8)
其次,計算所有貢獻率的平均值如下式所示
(9)
當所有隱節點的敏感度中的最小值NSImin<λ2NSImean時,認為第i個隱節點對網絡輸出的貢獻率過低,將該隱節點刪除。其中,λ2為調節系數。
在刪除隱節點后,網絡中可能仍存在相似度較高的隱節點,在不影響網絡整體性能的前提下,本文提出一種基于JS散度的隱節點合并方法,進一步精簡網絡結構。在信息論中,JS散度常用于衡量兩個概率分布之間的相似程度[15]。給定一個連續概率分布P,信息熵表示為
(10)
式中:p(x) 為分布P的概率密度函數。KL散度(Kullback-Leibler divergence),又稱相對熵,用于衡量兩個概率分布之間的相似程度,當兩個概率分布相等時,KL散度為0,當兩個概率分布差別較大時,KL散度值也越大。計算公式表示為

(11)
式中:H(P,Q) 表示分布P和Q之間的交叉熵,可知DKL(P‖Q)≠DKL(Q‖P), 即KL散度具有不對稱性。為解決這個問題,在KL散度的基礎上引入JS散度,計算公式表示為

(12)
JS散度為KL散度的一種變體,能很好解決KL散度的不對稱性問題,思想在于構造p(x) 和q(x) 的平均概率分布。JS散度具有對稱性,即DJS(P‖Q)=DJS(Q‖P), 取值范圍[0,1],當兩個概率分布完全相反時為1,完全相同時為0。當兩個概率分布的相似程度越高,其JS散度值也越小。將此思想引入RBF神經網絡,分析兩隱節點間的相似程度,相似程度足夠大,則可合并隱節點。計算兩個隱節點間的JS散度關鍵在于計算概率密度函數。考慮到徑向基函數和正態分布的概率密度函數的相似性,將徑向基函數φi(x) 歸一化,如下式所示
(13)
式中:fi(x) 即為正態分布的N概率密度函數,其中變量x的維度為n,期望值為ci,標準差為δi。由式(11)~式(13)可得,兩兩隱節點間對應的JS散度計算如下

(14)
其次,計算所有JS散度的平均值如下式所示
(15)
當兩隱節點間的JS散度中最小值DJS(fi‖fj)min<λ3JSmean時,認為第i和第j個隱節點的相似程度足夠大,可以合并為一個新的隱節點,中心位置調整為兩個隱節點位置的均值。其中,λ3為調節系數。
本算法中首先提出基于距離的初始聚類以得到確定的聚類中心個數和位置,作為K-means聚類算法的初始值;然后提出采用聚類算法評價指標DBI指數作為K-means聚類的準則函數,并將聚類中作為網絡隱節點;接著采用基于敏感度分析的隱節點刪除方法,刪除對網絡輸出貢獻率過低的隱節點,更新網絡參數;最后提出基于JS散度的隱節點合并方法,合并相似度較高的隱節點,更新網絡參數。算法的詳細步驟如下:
步驟1 網絡初始化,此時聚類個數為0,輸入樣本點依次傳入網絡;
步驟2 當第一個樣本點進入網絡后,增加一個聚類中心,并將第一個樣本點歸為該類;
步驟3 當第k個樣本點進入網絡后,假設存在j個聚類中心,計算其與每個聚類中心的距離,比較出最小值Dis(xk,cl), 即找出第l類;
步驟4 當Dis(xk,cl)≤λ1時,即滿足類內點增加原則,則將第k個輸入樣本數據歸入類l,否則,轉向步驟5;
步驟5 當Dis(xk,cl)>λ1時,即滿足聚類點增加原則,則增加到j+1個聚類中心,將第k個輸入樣本數據歸入類j+1;
步驟6 重復步驟3~步驟5,直到輸入樣本點讀取完畢,至此輸入數據完成劃分,得到N個初始聚類中心個數和位置;
步驟7 完成K-means聚類的迭代過程,準則函數為DBI指數;
步驟8 完成網絡參數學習,得到隱節點擴展寬度和隱層與輸出層之間的網絡權值矩陣;
步驟9 計算每個隱節點的敏感度值與敏感度均值,如果敏感度最小值NSImin<λ2NSImean,認為對應隱節點的貢獻率過低,刪除該隱節點,并重復步驟7~步驟8,更新網絡參數,否則轉到步驟10;
步驟10 計算兩兩隱節點間的JS散度與JS散度均值,如果JS散度最小值DJS(fi‖fj)min<λ3JSmean, 認為第i和第j個隱節點的相似程度足夠大,可以合并為一個新的隱節點,并重復步驟7和步驟8,更新網絡參數,否則訓練結束。
為檢驗SCJS-RBF的非線性映射能力和在實際應用中的有效性,本文選取典型的非線性sinE函數、非線性動態系統辨識和實例進行仿真實驗,與其它算法進行實驗結果對比,并給出結論。實驗環境為Intel(R) Core(TM) i7-6700HQ CPU @ 2.60 GHz,內存8 G,操作系統為Windows10 X64專業版,仿真工具為MATLAB R2020b。
非線性函數sinE的數學表達式如下式所示
y=0.8e-0.2xsin(10x)
(16)


圖2 非線性sinE函數初始聚類中心變化曲線

圖3 非線性sinE函數逼近效果
由圖2可知,經基于距離的初始聚類后,獲得的初始聚類中心個數為12。經基于敏感度分析的隱節點刪除方法后隱節點為11個,經基于JS散度的隱節點合并方法后為隱節點為9個。由圖3可知,經過SCJS-RBF訓練,測試輸出與期望曲線基本吻合,可以很好的逼近非線性sinE函數。
此外,為了顯示SCJS-RBF的優良逼近能力,將該網絡與淺層BP神經網絡和FDC-RBF[13]進行實驗結果對比,見表1。當BP神經網絡設定結構同為1-9-1時,其運行時間和測試MSE均高于SCJS-RBF;在逼近非線性sinE函數時,SCJS-RBF需要的隱節點個數、測試MSE以及網絡運行時間均低于FDC-RBF,結構更精簡,逼近能力更強,運行時間更短。

表1 非線性sinE函數逼近實驗結果對比
非線性動態系統辨識表達式如下式所示
(17)
式中:u(t)=sin(2π/25),t∈[1,400],y(0)=0,y(1)=0。 函數表達關系為:f(t+1)=f(y(t),y(t-1),u(t)), 輸入為三維:y(t),y(t-1),u(t), 輸出為一維:f(t+1)。 選取100組訓練樣本數據,其中t∈[1,100], 100組測試樣本數據,其中t∈[300,400]。 調節系數λ1=0.25,λ2=0.1,λ3=0.2。初始聚類中心個數的變化如圖4所示。SCJS-RBF的系統辨識效果如圖5所示。

圖4 非線性動態系統初始聚類中心變化曲線

圖5 非線性動態系統辨識效果
由圖4可知,經基于距離的初始聚類后,獲得的初始聚類中心個數為14。經基于敏感度分析的隱節點刪除方法后隱節點為12個,經基于JS散度的隱節點合并方法后為隱節點為9個。由圖5可知,經過SCJS-RBF訓練后,可以很好的對非線性動態系統進行辨識。
此外,為了顯示SCJS-RBF的優良辨識能力,將該網絡與淺層BP神經網絡和FDC-RBF[13]進行實驗結果對比,見表2。當BP神經網絡設定結構同為3-9-1時,其運行時間和測試MSE均高于SCJS-RBF;與FDC-RBF比較,隱節點個數更少,測試MSE更小,網絡結構更為精簡且辨識效果更好。可見,SCJS-RBF進行非線性動態系統辨識時,可以得到更為緊湊的結構,辨識效果更好,運行時間更短。

表2 非線性動態系統辨識實驗結果對比
在露天礦山爆破作業中,礦石爆破后的塊度尺寸為衡量爆破質量的首要指標。一般情況下,用平均塊度的尺寸來衡量爆破效果。偏大,會增加礦石二次爆破成本和運輸成本;偏小,會增加鉆爆成本。塊度的大小主要受巖石性質和爆破設計參數的影響。目前用戶主要通過經驗公式來設計爆破參數以達到期望的塊度尺寸,以滿足生產要求。然而經驗公式的適用范圍有限,無法滿足露天礦山爆破的高效和經濟生產的要求。神經網絡無需確定的函數關系,以數據為驅動建立輸入和輸出之間的非線性映射關系,更加適合用于塊度尺寸預測。
為進一步驗證本算法在實際應用中的有效性,現把某露天礦山的225組平均塊度數據作為樣本數據,隨機取200組作為訓練樣本數據,25組作為測試樣本數據,部分測試樣本數據見表3。輸入為巖石系數、單位炸藥消耗量和單孔裝藥量,輸出為平均塊度。調節系數為λ1=0.4,λ2=0.1,λ3=0.05。初始聚類中心個數變化如圖6所示,初始聚類中心個數為28。經基于敏感度分析的隱節點刪除方法后隱節點為26個,經基于JS散度的隱節點合并方法后隱節點為19個。

表3 部分測試樣本數據

圖6 初始聚類中心個數變化曲線
測試結果對比如圖7所示,相較RBF預測曲線,本算法預測曲線更加吻合實際曲線,即測試誤差更小,預測效果更好。實驗結果對比見表4,可知,在隱節點個數相同的情況下,SCJS-RBF的運行時間和測試MSE優于RBF。本算法可以較好地指導該礦山的爆破作業,提高生產效率,控制生產成本。

表4 實驗結果對比

圖7 測試結果
針對RBF神經網絡結構的確定問題,提出了一種基于自組織聚類和JS散度的RBF神經網絡。提出基于距離的初始聚類解決傳統聚類算法的隨機化初始聚類中心問題;采用DBI指數解決K-means算法聚類精度的問題;采用敏感度分析刪減隱節點,解決隱節點冗余的問題;提出基于JS散度的隱節點合并方法,解決隱節點相似的問題,得到更加精簡的網絡結構。最后通過仿真實驗驗證了SCJS-RBF的有效性。