摘要:如何確定RBF神經網絡的隱單元RBF的中心ci直接影響到神經網絡的逼近能力。本文通過帶慣性權重的微粒群算法和學習訓練法相結合的方式來確定RBF神經網絡的隱單元RBF的中心ci。首先使用學習訓練的方法根據局部信息確定中心ci,然后充分發揮了微粒群算法全局尋優的特點,通過對數據庫的更新,使用帶慣性權重的微粒群算法對得到的中心ci進行最優化.同時使用MATLAB進行程序設計。最后將RBF神經網絡用于瓦斯突出預測中,得出了準確的預測結果。
關鍵詞:瓦斯突出;微粒群算法;RBF神經網絡;MATLAB
中國分類號: TP183;文獻標識碼: A
前言
瓦斯突出的產生機理和預測過程比較復雜, RBF神經網絡在瓦斯突出預測中起到了很重要的作用。煤礦瓦斯突出的影響指標很多,并且各個指標與瓦斯突出之間的關系為非線性的關系,因此要求RBF神經網絡具有很好的非線性逼近能力。
RBF神經網絡是以函數逼近理論為基礎構造的一類前向網絡,網絡結構自適應確定,輸入與初始值無關,結構簡單,訓練簡潔,能夠逼近任意非線性函數,而且在逼近能力、分類能力和學習速度方面均優于BP網絡。RBF神經網絡網絡的設計包括三部分:神經元功能函數的設計,神經元之間的連接形式的確定以及網絡訓練方式的確定。在這三部分中隱單元RBF的設計是比較重要的。RBF函數是一種局部分布的對中心點徑向對稱的非負非線性函數。但是在神經元功能函數的設計中,RBF功能函數的中心ci的確定有很大的難度。
通常使用隨機選取固定中心法,中心的自組織選擇法等,但是由于這些學習訓練方法的局限性,通過這些方法得到的神經網絡適用性和泛化能力比較差,不能滿足瓦斯突出預測的要求。本文利用微粒群算法來計算出通過學習訓練得到的RBF神經網絡的隱單元RBF的中心ci的適應度的方法來確定最后的隱單元RBF的中心ci,并且不斷的在以后的實踐應用中更新學習訓練所用的數據庫,系統根據數據庫的變化,可以優化原有的隱單元RBF的中心ci ,提高了神經網絡的逼近能力,有效的客服了RBF神經網絡局部最優的缺點。
1、微粒群算法
1.1基本微粒群算法
微粒群算法(particle swarm optimization,PSO)是1995年由美國社會心理學家J.Kennedy和電氣工程師R.Heppner共同提出的,其基本思想是受鳥類群體行為研究結果的啟發,并利用了生物學家F.Heppner的生物群體模型[2]。算法原理如下:
微粒群算法主要是使用微粒的適應度大小進行尋找全局最優和優化參數。他將種群中的每個個體看作是N維空間的一個沒有質量和體積的微粒,并且在搜索空間以一定的速度飛行,在飛行過程中不斷根據環境的改變來改變自身的速度和方向,直到找到適應度最好的位置。假設Xi=(xa1,xa2,xa3,……xan為微粒i的當前位置,Vi=(va1,va2,va3,…… van)代表微粒當前的飛行速度,Pi=(pa1,pa2,pa3,……pan)表示微粒經歷的適應度最好的位置,這是局部最優位置。
當f(xi(a+1))≥f(Pi(a)) 時Pi(a+1)= Pi(a)
當f(xi(a+1) <f(P(a)) 時Pi(a+1)= Xi(a+1) 所以全局最優位置P(a)=min{f(P0(a) ,P1(a)……Pn(a)}。同時可以得出進化方程為:vij (t+1)=vij (t)+c1v1j(t)[pij (t)-xij (t)]+c2r2j(t)[pgj (t)-xij (t)]
為了更好的確定和優化RBF的中心ci,計算每個數據庫得到的中心ci的均方誤差,計算出每個中心ci的適應度:
E(Xp)=[Yk,p(Xp)-tk,p]
有適應度來確定的適應度函數如下:
f(x)=
1.2帶慣性權重的微粒群算法
在全局搜索過程中,搜索能力和收斂速度是相對立的,如果搜索能力高了,收斂速度就會相對變慢,為了解決這一問題,在速度進化方程中引用了慣性權重,具體公式如下:
vij(t+1)=wvij(t)+c1v1j(t)[pij(t)-xij(t)]+c2r2j(t)[pgj(t)-xij(t)] 式中w稱為慣性權重。
在全局搜索利過程中,慣性權重w可以根據要求按照一定趨勢改變,這樣就既能保證搜索能力又能加快收斂速度。
2、RBF神經網絡
人工神經網絡是對人類大腦系統一階特性的一種描述,有類似人的神經元的處理單元通過各種連接方式連接起來構成,整個網絡同時具有一個或是多個的輸入和輸出,能夠對信息進行并行和分布處理。人工神經網絡主要包括三方面的內容:激活函數,神經元之間的連接形式,網絡的學習或者是訓練。
激活函數為徑向基函數(RBF)的神經網絡為RBF神經網絡,RBF神經網絡是一個單隱層的三層前饋網絡,分別為輸入層,隱含層,輸出層。隱含層的傳遞函數為radbas。徑向基網絡結構如圖1所示。實驗已經證明:徑向基網絡能夠以任意精度逼近任意連續函數。每個RBF的節點有一個“參考”輸入x*i,f是輸入與“參考”輸入的距離d(x*i,xi )的函數,函數中的距離有節點輸出y =f(d(x*i,xi ))來計算。
RBF神經網絡的學習主要有兩種:中心自組織選擇法和中心的監督選擇發。中心的自組織選擇法是一種無導師,也稱非監督學習,是對所有的輸入進行聚類,求得各隱單元RBF的中心ci。中心的監督選擇法是一種有導師的學習,也稱為監督學習算法。主要是通過一個有導師或是有監督的學習過程來確定隱單元RBF的中心ci。
3、RBF神經網絡隱單元RBF的中心ci 的確定和優化的過程
本文利用普通的學習訓練法和帶慣性權重的微粒群算法相結合的方法來進行RBF神經網絡隱單元RBF的中心ci的確定和優化。具體過程如圖1所示。
(1)用一定數量的與瓦斯突出有關信息組成一個數據庫,并且將這個數據庫分為若干個子數據庫.使用這些子數據庫分別對RBF神經網絡進行訓練,得到隱單元RBF的中心c1,c2,c3……。
(2)將上面得到的若干個隱單元RBF的中心作為一個個體(微粒),有這些個體組成一個種群,其中每個個體代表先前計算出的一個隱單元RBF的中心。初始化Gbest和Lbest。
(3)使用帶慣性權重的微粒群算法來確定最后的隱單元中心,通過計算每個微粒適應度來確定中心ci,然后通過適應度函數來優化中心ci,最后形成RBF神經網絡。
(4)把井下測得的數據作為輸入,來進行瓦斯突出預測,并且把井下的信息和預測結果,作為下次更新數據庫和優化隱單元中心的依據。
(5)每進行一次預測,數據庫的信息就根據實際情況和預測結果進行一次更新,根據更新的數據庫,對得到的隱單元中心進行優化,提高了系統的適應能力和自學習能力。
4、帶慣性權重的微粒群算法的Matlab程序設計和瓦斯突出預測
使用Matlab進行程序時所用到的函數如下:
PSO:主函數,用于調用微粒群算法。
DrawSwarm:繪圖函數,主要用來反映每個微粒的進化過程。
psoOption:參數顯示函數,主要用于顯示帶慣性權重的微粒群算法的參數設置情況。
使用多個函數形成函數模塊,實現對隱單元RBF的中心ci的確定和優化。帶慣性權重的微粒群算法進行確定和優化神經網絡隱單元RBF的中心ci的函數模塊為:[fxmin,xmin,Swarm,history]=pso(input,psoOptions);
選取一定量的信息形成數據庫,然后隨機的劃分為若干個子數據庫,通過學習訓練來產生一些中心c1,c2,c3……,然后再組成種群,利用函數模塊來確定和優化RBF的中心。具體實驗數據如下表1所示:
利用Matlab運行該函數模塊來確定和優化RBF神經網絡時,算法程序運行時出現的最優適應度值隨著迭代次數的變化如圖2所示。
當函數模塊算法程序運行時出現的適應度值滿足要求時,說明此時的ci的最優化完成,可以來確定RBF神經網絡。
把上面經過優化神經網絡來進行瓦斯突出預測,需要預測的樣本數據如下表2所示:
其中運行結果用1表示安全,-1表示突出。
運用MATLAB對樣本數據進行測試,測試代碼如下:
pl=[0.809.011.530.2 ];
p2=[0.153.51.27.3]:
y1=sim(net,p1) ;
y2=sim(net,p2) ;
最后預測結果是y1=-0.9908,y2=1.005;
可見該系統能夠準確的預測出瓦斯突出。
總結
使用RBF神經網絡來進行瓦斯突出預測比其他方式的預測具有很好的效果,但是由于煤礦的環境比較特殊,瓦斯突出產生的機理比較復雜,并且不同煤礦的影響瓦斯突出的因素也不相同,所以要求神經網絡具有很好的適應性和自學習能力。但是RBF神經網絡的隱單元RBF的中心ci的確定是基于數據空間局部的信息,很難都到全局最優,嚴重影響了RBF神經網絡的適應性和自學習能力。本文利用帶慣性權重的微粒群算法來確定和優化RBF神經網絡,慣性權重w能起到保證全局最優和局部搜索能力的平衡的作用,能夠在保證全局最優的前提下,提高搜索全局最優的速度,提高了預測的準確度。
參考文獻
[1] 龐敏,朱偉興. 基于RBF網絡的數據融合在廢氣數據處理中的應用.傳感器與微系統,[J].2007,26(4):87-89.。
[2]王雪.測試智能信息處理[M] .北京:清華大學出版社,2008.1.