摘 要:帶有局部搜索的量子粒子群算法是一種較為成功的改進型量子粒子群算法。將該算法用于RBF神經網絡的結構優化和參數優化,在確定網絡參數的同時也確定了網絡的結構。在函數逼近上的仿真實驗表明,這種優化是有效的。
關鍵詞:帶有局部搜索的量子粒子群算法;RBF神經網絡;結構優化;參數優化
中圖分類號:TP181文獻標識碼:A
文章編號:1004-373X(2010)04-157-03
RBF Neural Network Training Based on MQPSO-LQPSO
CAI Jiliang,YE Wei
(College of Science,Air Force Engineering University,Xi′ an,710051,China)
Abstract:Quantum-Behaved Particle Swarm Optimization with Generalized Local Search Operator(MQPSO -LQPSO) is a very successful algorithm of modified QPSO.This algorithm is used to find the best structure and parameters of RBF neural network.They are both determined when finishing training.Experiments on functional approach show this method is effective.
Keywords:MQPSO-LQPSO;RBF neural network;structure optimization;parameter optimization
0 引 言
徑向基函數神經網絡(Radial Basis Function Neural Network,RBFNN)是一種生物背景很強的前向神經網絡,具有逼近能力強、學習速度快、魯棒性強、泛化能力高等優點,在圖像處理、自動控制、預測、信號處理、模式識別等多個領得到了廣泛應用。
然而RBF神經網絡存在著結構難以選取、參數的問題,許多學者對其訓練方式進行了改進。與進化算法如遺傳算法GA[1]、蟻群算法ACO[2]、粒子群算法PSO[3]、量子粒子群算法QPSO[4]等相結合是一個重要的改進方向。然而GA、ACO算法較為復雜,PSO算法簡單但不能以概率1收斂到全局極小點,QPSO算能以概率1收斂到全局極小點,但搜索能力不夠好,這些使得網絡或陷入局部極小,或運算時間長,一定程度上影響了網絡的性能。本文用簡單且收斂性更好的QPSO改進型算法MQPSO-LQPSO來訓練網絡,將網絡的結構也作為編碼對象,在確定網絡參數的同時也確定了網絡的結構,提高了精度。
1 RBF神經網絡
徑向基函數神經網絡是J.Moody 和C.Darken于20世紀80年代受人腦感受野的局部調節及重疊性啟發而提出的,已經證明它能以任意精度逼近任意連續函數。徑向基函數神經網絡由輸入層、隱層和輸出層組成,其結構如圖1 所示。輸入層只傳遞輸入信號到隱層;隱層傳遞函數由輻射狀作用的非線性基函數組成,一般用Gauss徑向基函數;輸出為為線性傳遞函數。具有n個輸入,h個隱節點,m個輸出的徑向基函數網絡第i個模型輸出為:
yi=ti+∑hj=1wijexp(-‖x-Cj‖2/2σ2j)(1)
圖1 RBF神經網絡結構
2 QPSO算法[5,6]
在量子空間中,粒子的速度和位置不能同時確定,因此Sun等人用粒子運動的波函數來描述粒子的狀態,并求解薛定諤方程,得到粒子在空間某一位置的概率密度函數,進而得到位置的分布函數,應用Monte Carlo方法(詳見文獻[5,6],最后得到算法的進化方程:
Pij(t)=φij(t)Pbestij(t)+[1-φij(t)]Gbestij(t),
φij(t)~U(0,1)(2)
Mbestij(t)=1N∑nj=1pi(t)=[1N∑nj=1pi1(t),
1N∑nj=1pi2(t),…,1N∑nj=1piD(t)](3)
xij(t+1)=Pij(t)+αMbestij(t)-xij(t)ln1uij,
if rand()>0.5
Pij(t)-αMbestij(t)-xij(t)ln1uij,
otherwise uij(t)~U(0,1)(4)
式中:N為群體的規模;D為粒子的維數;P為局部吸引子;Pbest是第i個粒子的自身最優位置參數;Gbest是粒子群中所有粒子到目前為止最優位置參數;Mbest為平均最優位置,它是所有粒子自身最優位置的中心點;α為控制因子,用來控制粒子的收斂速度,是算法中惟一的控制參數。一般取1~0.5隨迭代次數線性遞減時,收斂效果最佳。
3 MQPSO-LQPSO的基本原理[7]
一個好的啟發式搜索算法不僅要具有在未知區間上良好的全局搜索能力和在已搜區間上精細的局部勘探能力,而且還要使二者達恰當的平衡。QPSO具有良好的全局收斂性,但同時還需要一種有效的局部搜索機制,以便更好地搜索全局最優解。可以利用QPSO具的全局收斂性,將其在一個較小的局部范圍內全局搜索,以達到增強局部搜索能力。基于這一思想,作者將較大規模的QPSO稱為MQPSO,做全局勘探,將較小規模的QPSO稱為LQPSO,做局部開發,繼續搜索當前MQPSO搜索到的以Gbest為中心的某一鄰域。LQPSO仍是一個完整的QPSO,只是其規模比MQPSO小,表現在搜索的范圍和粒子的個數和迭代次數上。MQPSO搜索的范圍是整個可行解的空間,而LQPSO的搜索范圍是當前最優解的鄰域,其鄰域表達式為:
N(Gbest,radius)=Gbest#8226;rand(1-radius,
1+radius)(5)
式中:radius<1為搜索半徑,是一常數。粒子的個數和迭代的次數分別約為MQPSO的1/10。
這種改進的算法在不增加計算次數的條件下,具有更好的搜索能力。
4 基于MQPSO-LQPSO的RBF神經網絡訓練方法
建立RBF網絡的關鍵在于確定RBF網絡隱層數據中心的個數h、數據中心的位置Cj、擴展常數σj,以及輸出權值wij。設網絡訓練集X={(Pk,yk)|k=1,2,…,N},其中,Pk為輸入,yk為目標輸出,則神經網絡的輸出均方誤差為:
mse=1m×n∑nk=1(yk^-yk)2(6)
式中:m為輸入樣本的維數;yk^為Pk對應的網絡輸出。由式(1)可知,它是關于h,Cj,σj和wij的函數,基于MQPSO-LQPSO的RBF神經網絡訓練就是讓其達到最小,因此可將它作為MQPSO-LQPSO的適應度函數,而將h,Cj,σj和wij作為參數。粒子采用實數編碼,由于h表示隱層神經元的個數,是正整數,可假設hmax為事先設定好的最大隱節點數。若hi>0(i 基于MQPSO-LQPSO的RBF神經網絡訓練方法具體描述為: (1) 歸一化處理樣本; (2) 隨機生成初始種群,采用上述編碼方式對各粒子的位置進行編碼,并確定Pbest和Gbest; (3) 重復下列步驟,直到滿足MQPSO最大迭代次數或達到函數全局極小值的終止條件: ① 把每一向量映射為網絡的一組神經網絡參數值,并組成網絡; ② 按照式(2)~(4)更新MQPSO中所有的粒子; ③ 輸入訓練樣本進行訓練,對每一個體進行評價,計算其適應值,并確定Pbest和Gbest; ④更新MQPSO粒子的Pbest和Gbest; ⑤按式(5)計算MQPSO的Gbest鄰域,并在Gbest的鄰域實行LQPSO操作; ⑥將LQPSO搜索到的Gbest賦給MQPSO的Gbest。 (4) 輸出最佳參數值作為優化結果,算法結束。 5 仿真實驗 Hermit多項式是一種常用的神經網絡逼近測試函數,為: f(x)=1.1(1-x+2x2)exp(-x2/2) 下面用MQPSO-LQPSO-RBF實現Hermit多項式逼近,并與文獻[4]相比較,以0.08為步長同樣在[-4,4]之間均勻采樣101個實數值作為網絡的訓練輸入樣本,其相對應的函數值作為訓練輸出樣本以此構成網絡的訓練樣本集。同時在[-4,4]之間隨機采樣100個實數值作為網絡的測試輸入樣本,其相對應的函數值作為測試輸出樣本,以此構成網絡的測試樣本集。實驗中RBF神經網絡隱含層預設為8,輸入和輸出層各取一個神經元,徑向基函數采用高斯函數。因此網絡中需要優化的參數為8個高斯函數的中心,8個高斯函數的擴展常數以及8個輸出層的連接權值和1個輸出偏移,共33個參數,即QPSO算法和IMQPSO-LQPSO算法中的粒子將在33維的空間中搜索,尋求滿足最小均方誤差要求的參數向量。 采用MQPSO-LQPSO算法中MQPSO的學習算法參數α作為迭代次數的函數從數從1~0.5線性減小,粒子數均為30。MQPSO-LQPSO中LQPSO的規模為5×6,參數α保持0.5 不變。總的最大計算適應度函數次數為12 000次,收斂最小誤差為1×10-6。經仿真知最佳隱層個數為6。仿真結果如圖2所示。比較結果如表1所示。 圖2 迭代次數為200時的仿真結果 表1 MQPSO-LQPSO-RBF和QPSO-RBF的逼近效果比較 MQPSO-LQPSO-RBFQPSO-RBF[4] 訓練集上的均方誤差8.2×10-55.17×10-4 測試集上的均方誤差9.7×10-55.10×10-4 從圖2中仿真結果可以看出,逼近圖形和原圖形幾乎重合;從表1中比較結果可以看出,改進算法有更小的均方誤差,可見改進算法能很精確地實現函數逼近。 6 結 語 本文用性能比QPSO算法強的MQPSO-LQPSO算法來訓練RBF網絡,用這種方法改進的RBF網絡不僅可以在確定網絡的結構的同時確定網絡的參數,還可以獲得更好的逼近效果,因而是有效的。但注意到若預設的隱層節點較多,會導致搜索維數增加,從而降低搜索效率,因此下一步的工作是改進網絡編碼方式,用較小的維數來表示較大規模的網絡,以增強算法的魯棒性。 參考文獻 [1]趙志剛,單曉紅.一種基于遺傳算法的RBF神經網絡優化方法[J].計算機工程,2007,33(6):221-222. [2]滿春濤,李曉霞,張禮勇.一種基于ACO的RBF神經網絡訓練方法[J].哈爾濱理工大學學報,2007,13(1):56-58. [3]梁桂蘭,徐衛亞,何育智,等.PSO-RBFNN模型及其在巖土工程非線性時間序列預測中的應用[J].巖土力學,2008,29(2):995-1 000. [4]陳偉,馮斌,孫俊.基于QPSO算法的RBF神經網絡參數優化仿真研究[J].計算機應用,2006,26(8):1 928-1 931. [5]Sun J,Feng B,Xu W B.Particle Swarm Optimization with Particles Having Quantum Behavior[A].Proceedings of 2004 Congress on Evolutionary Computation[C].2004:325-331. [6]Sun J.A Global Search Strategy of Quantum-behaved Particle Swarm Optimization[A].Proc.2004 Congress on Cybernetics and Intelligent Systems[C].2004. [7]Wang Jiahai,Zhou Yalan.Quantum-Behaved Particle Swarm Optimization with Generalized Local Search Operator for Global Optimization[A].ICIC 2007[C].Berlin Springer-Verlag,2007:851-860. [8]劉興華,劉憲英,胡澤.基于RBF神經網絡系統辨識研究[J].現代電子技術,2004,27(24):57-59. [9]耿曉軍,王剛.粒子群算法應用于機組組合問題的優化[J].現代電子技術,2007,30(16):111-113. [10]白旭英,楊有龍.解決全局優化問題的粒子群進化算法[J].現代電子技術,2008,31(10):120-122.