包沁昕 宋 威
(江南大學物聯網工程學院 江蘇 無錫 214122)
?
基于群體劃分優化的GAP-RBF神經網絡學習算法
包沁昕 宋 威
(江南大學物聯網工程學院 江蘇 無錫 214122)
針對傳統GAP-RBF算法學習精度不夠高的問題,提出一種基于群體劃分優化的GAP-RBF網絡學習方法。首先,為了克服傳統GAP-RBF中存在的大型矩陣的計算問題,用DEKF(Decoupled EKF)方法調整網絡參數;其次,為了獲得學習精度更高的網絡模型,算法利用基于PSO和GA的群體劃分優化方法來訓練隱含層和輸出層的連接權值以及偏移項。實驗結果表明,與RAN、RANEKF、MRAN和GAP-RBF算法相比,提出的算法可獲得更精簡的網絡結構,同時提高了學習精度。
徑向基函數神經網絡 增長剪枝徑向基函數算法 粒子群優化算法 遺傳算法
近年來,隨著人工智能、機器學習、數據挖掘等方面的發展,神經網絡的研究受到了學者們的廣泛關注。在眾多的神經網絡模型中,徑向基函數RBF神經網絡能夠解決復雜非線性問題,在模式識別、回歸分析和動態建模等領域得到了廣泛的應用[1-4],并且具有推廣能力好,學習方法速度快,精度高,網絡拓撲結構簡單等特點。
針對RBF網絡結構設計的問題,近年來相繼提出了一些動態的構造方法。1991年,Platt提出了一個動態的資源分配網絡RAN[5],它可以根據輸入數據的新穎性動態地增加隱層神經元,在沒有新的神經元增加時,使用LMS(Least Mean Squares)方法調整網絡參數,但是網絡存在收斂速度過慢的問題。文獻[6]中給出的RANEKF算法利用擴展卡爾曼濾波器EKF(Extended Kalman Filter)代替原LMS方法更新網絡參數,算法的收斂速度和訓練精度得到了提高,但也加大了網絡結構的復雜度和計算負擔,并且不能夠刪除冗余的神經元。針對這一問題,Lu等人提出了一種最小資源分配網絡MRAN(Minimal RAN)算法[7],它引入輸出誤差的RMS值和滑動窗口作為判斷增長和刪除隱層神經元的條件。雖然MRAN算法得到了精簡的網絡,但需要太多的調整參數,參數值的選擇是非常困難的。文獻[8]提出的GAP-RBF(Growing and Pruning RBF networks)算法采用隱層神經元重要性的概念作為增長和刪除神經元的判斷準則,減少了可調參數的個數,并且僅調整距離當前輸入樣本最近的隱層神經元的相關參數,大大降低了網絡計算的復雜性。但是對于一些實際問題,相比MRAN算法,GAP-RBF的學習精度不是很高。
本文在GAP-RBF網絡的基礎上,提出了基于PSO[9]和GA[10]的群體劃分優化的GAP-RBF算法(OGAP-RBF)。通過優化網絡隱含層和輸出層之間的連接權值以及偏移項來提高網絡的學習精度。不同于原始EKF算法,本文采用DEKF(Decoupled EKF)[11]方法調整網絡參數以降低網絡計算復雜度和訓練時間。通過3個Benchmark問題,對本文提出的算法進行計算機仿真并與其他算法做比較,結果表明此算法是一種穩定并且有效的學習方法。
1.1 PSO算法
PSO粒子群優化算法是由Kennedy 博士于1995 年提出的一種新的基于群體智能的優化算法[9]。它源于對鳥類捕食行為的模仿,在基本PSO算法中,搜索空間中的每一個粒子都是優化問題的可選解[12]。
假設在一個n維的搜索空間,種群包括m個粒子P=(p1,p2,…,pm),其中第i個粒子的位置為pi=(pi1,pi2,…,pin),它的速度為vi=(vi1,vi2,…,vin)。粒子i目前最好的位置稱為個體最優解Bi=(bi1,bi2,…,bin),整個群體中最好個體的位置稱為全局最優解Bg=(bg1,bg2,…,bgn)。在每次迭代中,每一個粒子搜索合適的解,以獲得更好的適應值,根據以下公式來調整自己的速度和位置:
vid(t + 1)= ωvid(t)+ c1r1(bid(t)-pid(t)) + c2r2(bgd(t)-pid(t))
(1)
pid(t + 1)= pid(t)+ vid(t + 1)
(2)
其中,d=1,2,…,n,i=1,2,…,m,m為群體大小,pid(t)和vid(t)分別是時刻t時粒子i的位置和速度,pid(t + 1)和vid(t + 1)是下一時刻的更新。c1和c2稱為學習因子,通常取常數。r1和r2是取自(0,1)之間的相互獨立的隨機數,ω稱為慣性因子,可以隨著迭代次數線性地減小。
由于對一些具有潛在最優解的問題PSO算法表現不佳,所以它的全局搜索能力可以進一步提高[13]。由于遺傳算法獲得局部極小值的概率很小,因此,PSO算法可以與GA算法相結合,得到全局最優解[14]。
1.2 GA算法
遺傳算法是一類基于自然選擇和遺傳理論的有效優化方法,由美國Holland教授提出的[10],它應用在RBF網絡中具有全局的搜索和優化能力[15]。它可以解決非線性問題,通過對全局空間的搜索,根據遺傳算法的選擇,交叉和變異操作,以獲得所需的解。
GA算法基于一個有染色體組成的群體,每個染色體都對應于問題空間的一個解,問題的求解表示為染色體優勝劣汰的過程。群體中的染色體并行的進行進化,在每一階段,隨機的選擇染色體來產生下一代的個體。GA算法是一種有效的方法,因為它的理論是計算編碼,而不是參數,每個染色體的適應度直接關系到目標函數。正是由于它相對的簡單性和魯棒性而變得越來越流行[16]。
算法開始時隨機地生成初始群體,每個染色體由適應度函數來評價,之后每代群體根據適應值來復制或者淘汰。GA算法每次迭代主要包括以下步驟:
第一步選擇操作 選擇操作也被稱為復制操作,是以一定的概率從父群體中選取下代個體,根據個體的適應度函數值決定他的優劣性。在本文中,使用最流行的轉輪法進行選擇操作,個體的適應度值越大,它被選取的概率越高。為了提高選擇的質量和效率,最好的個體可以直接復制到下一代群體中。
第二步交叉操作 從群體中隨機選擇2條染色體,并在這2個父代染色體中隨機選擇一個位置,采用兩點交叉的方法對兩個染色體進行交叉,產生兩個新的染色體。
第三步變異操作 每個染色體按照變異概率隨機選擇幾個點,取隨機值替換原有值,產生新的染色體,因此變異操作是一個隨機搜索的過程。
由于GA算法收斂速度相對較慢,與PSO算法結合可以提高其搜索效率[17]。
本文提出的群體劃分優化GAP-RBF算法(OGAP-RBF)主要過程包括:先用基于DEKF的GAP-RBF方法構建網絡結構,獲得網絡的初始權值。在此基礎上,利用基于PSO和GA的群體劃分方法進一步優化GAP-RBF網絡的權值和偏移項,最終得到最優的網絡結構。
2.1 基于DEKF的GAP-RBF算法
對于一個GAP-RBF網絡,具有K個隱層神經元,給定輸入向量x∈Rl,則網絡輸出為:
(3)
其中φk(x)是第k個隱層神經元的響應:
(4)
其中,αk是連接隱含層與輸出層的權值,μk是第k個隱層神經元的中心,σk為對應高斯函數的寬度。GAP-RBF的學習過程包括對隱層神經元的增加和刪除以及參數的調整。在開始學習之前,網絡沒有隱層神經元,當輸入樣本(xn,yn)到達網絡時,判斷是否滿足增加隱層神經元的條件,增加準則如下:
(5)
其中,en=yn-f(xn)為期望輸出和網絡輸出之間的誤差,μnr是距離輸入樣本xn最近的隱層神經元的中心,emin為網絡輸出的期望誤差。εn為輸入空間的分辨率,開始時εn=εmax, εn隨著樣本的輸入按指數衰減:εn={εmaxγn,εmin},εmax和 εmax分別為輸入數據之間的最大和最小距離,γ為衰減常數:0<γ<1。Esig(k)是第k個隱層神經元的重要性,神經元重要性的定義為在目前到達網絡的所有樣本中對網絡輸出的平均貢獻度,根據文獻[8]的推導,它可以近似地表示為如下公式:
(6)
其中S(X)是整個輸入空間的大小,l是輸入空間的維度。當一個輸入樣本滿足式(5)的條件時,增加一個新的隱層神經元,其相關參數為:
(7)
其中κ為重疊因子,用來確定隱層神經元的相應寬度。
當輸入樣本不滿足增加準則時,本文使用DEKF方法調整距離當前樣本最近的神經元的相關參數,相比原算法中的EKF方法,大大地降低了計算時間和計算復雜度[18]。在t時刻參數的調整過程如下:
K(t)=P(t)B(t)[R(t)+BT(t)P(t)B(t)]-1
(8)
w(t+1)=w(t)+K(t)e(t)
(9)
P(t+1)=[I-K(t)BT(t)]P(t)+Q(t)I
(10)
式中,R(t)為測量噪聲方差,B(t)是與輸出有關的參數的偏導數,P(t)是誤差協方差矩陣,K(t)是卡爾曼增益向量,w(t)是參數矩陣,e(t)是輸出誤差,Q(t)是為了避免局部最小值收斂的人造過程噪聲。
DEKF方法的關鍵在于它忽略互相排斥的神經元組的相關性,即忽略誤差協方差矩陣P中的交互相關的元素。當DEKF方法中一個神經元的參數調整時,P中這個神經元與其他神經元交互相關的元素假設為0。此外,對于一個單獨的神經元,其中心、寬度和權值也假定不相關的。
在參數調整之后,為了保證網絡的精簡需要刪除重要性較低的隱層神經元。檢查距離當前輸入樣本最近的神經元,如果滿足刪除準則:
(11)
即第nr個神經元對網絡的輸出貢獻小于期望的精度,則刪除這個神經元。
2.2 群體劃分優化方法
群體劃分優化方法是本文提出的一種融合了PSO算法和GA算法的新的優化方法。為了使PSO的局部搜索和GA的全局搜索同時進行,將群體進行劃分。根據群體的適應度值將群體進行排序,劃分為相等的兩部分,PSO算法作用于適應度值較好的一部分,GA算法作用于適應度值較差的一部分,實現兩種算法的并行搜索。
在RBF網絡中,連接隱含層和輸出層的權值和偏移項對網絡至關重要,不合適的值直接影響網絡的有效性和精確度。原始GAP-RBF算法中網絡沒有設置偏移項,本文在群體劃分優化時加入對偏移項的優化以獲得更合適的網絡。由于GAP-RBF網絡對樣本只學習一次,之后用群體劃分方法進行優化可以使樣本得到充分地訓練,提高網絡的學習精度。改進的優化GAP-RBF算法(OGAP-RBF)包括兩個學習階段:在順序學習階段當所有新樣本輸入網絡后,網絡獲得一個初始的結構;然后在優化階段基于學習過的歷史樣本使用群體劃分方法對網絡的權值和偏移項進行優化以獲得最優的網絡模型。
本文提出的群體劃分優化方法結合了PSO算法和GA算法,群體由PSO中的粒子和GA中的染色體組成。群體中的每個個體表示一組權值和偏移項的可選值。經過原始GAP-RBF網絡的學習,獲得權值的初始值,再通過群體劃分優化的迭代計算逐步獲得最優解。
在群體劃分優化初始化群體時,其中一個個體由順序學習階段GAP-RBF獲得的權值和隨機偏移項構成,其他個體在一定的范圍內隨機產生。本文定義網絡實際輸出和期望輸出之間的均方誤差函數作為適應度函數,搜索最合適的權值和偏移項以獲得最小的均方誤差。適應度函數定義如下:
(12)
其中,ei是第i個樣本實際輸出與預期輸出之間的誤差。
群體包含m個個體,將群體劃分為大小相等的兩部分, 如圖1所示。pm代表第m個個體,所有個體按照適應度排序如下:
fit(p1)≤fit(p2)≤…≤fit(pm/2)≤fit(pm/2+1)≤…≤fit(pm)
(13)

圖1 群體劃分優化方法的群體排序
PSO算法擁有較好的局部尋優特性以及較快的收斂速度,排序前半部分的個體在整個群體中獲得了較好的適應度值,所以局部最優算法PSO作用于這一部分;相反,后半部分的個體適用度較差,只有較小的可能達到好的適應度值,所以為了獲得更好的解,使用全局最優算法GA作用于這一部分。
群體劃分優化過程如下:
步驟1算法開始時,迭代計數器記為0。初始化群體。
步驟2根據適應度值將群體進行排序。
步驟3目前為止本次迭代和上次迭代中適應度最小的個體作為最優解。
步驟4使用PSO算法作用于圖1前半部分的群體,迭代規定的次數。
步驟5使用GA算法作用于圖1后半部分的群體,迭代規定的次數。
步驟6迭代計數器加1,如果沒有達到終止條件,返回步驟2;否則,算法結束。目前為止具有最好適應度值的個體為所求最優解。
在GAP-RBF算法的基礎上,結合本文提出的群體劃分優化方法,完整的OGAP-RBF網絡學習算法流程見算法1。
算法1基于群體劃分優化的GAP-RBF算法
給定網絡輸入矩陣xn∈Xl和輸出矩陣yn∈Y。
1) 計算網絡輸出f(xn)。
2) 計算增加準則中的相關量εn,en。
3) 應用增加準則判斷是否增加隱層神經元:如果增加,設置相應參數αK+1,μK+1,σK+1;否則,用DEKF方法調整距離當前輸入最近神經元的參數αnr,μnr,σnr。
4) 檢查隱層神經元的刪除準則是否滿足,如果滿足,刪除神經元。
5) 重復步驟1到步驟4直到所有新樣本順序地進入網絡。
6) 使用已獲得的網絡權值以及隨機值初始化群體。
7) 根據歷史樣本得到網絡輸出,根據適應度公式計算個體的適應度值,再對群體進行排序。
8) PSO算法和GA算法分別作用于群體的兩部分,得到當前的最優解。
9) 重復步驟7和步驟8直到達到終止條件,獲得最優的網絡結構。
本文采用MATLAB 7.7開發環境,在配置為Intel(R),Core(TM)i3-3240,CPU 3.40 GHz的Windows 7操作系統上運行。對函數逼近方面的3個Benchmark問題進行實驗,將本文提出的算法與其他經典順序學習算法RAN、RANEKF、MRAN和GAP-RBF在性能上做了比較。這三個問題分別為:(1)波士頓房價預測問題;(2)鮑魚年齡預測問題;(3)汽車燃油消耗量預測問題。這些數據來自于UCI標準數據庫,并具有高維、非均勻分布的特點。通過在三個數據集上的對比實驗分析,驗證了本文所提算法的有效性和可操作性。
本文用均方根誤差RMSE來衡量算法的學習精度,其定義形式為:
(14)
其中n是所求均方根誤差的元素個數。訓練后的網絡結構復雜度通過算法訓練網絡結束后所確定的隱層神經元個數來衡量,算法的計算速度通過算法學習過程所需要的CPU時間來衡量。
為了實現一個緊湊的RBF網絡,各種順序學習算法都需要一些固定的參數,例如MRAN算法中神經元的增長、剪枝閾值和滑動窗口大小等,但是并沒有標準如何正確選擇這些參數的值,并且這些值嚴格依賴于實際的應用。然而,GAP-RBF唯一需要確定的參數只有S(X),其余參數在大多數情況下是固定的。本文中所需參數的值以及訓練測試樣本個數都參考文獻[8]進行選擇。所有算法在三個問題中的通用參數設置如下: εmax=1.15,εmin=0.04,κ=0.10,γ=0.999,emin=0.0001。
對于每個Benchmark問題,為了使輸入數據更好地適應于神經網絡的學習,防止系統訓練過程震蕩,輸入值和輸出值進行歸一化。在數據集中隨機選取訓練集和測試集,每個算法運行50次,并分別計算CPU時間,訓練誤差,測試誤差以及隱層神經元個數的均值和標準偏差進行比較分析。在實驗環境和設置參數都相同的條件下,算法RAN、RANEKF、MRAN和GAP-RBF的結果來自文獻[8]。實驗數據集匯總信息如表1所示。

表1 實驗數據集
3.1 波士頓房價預測問題

圖2給出了各種算法在順序學習過程中的均方根誤差變化曲線,以及OGAP-RBF的順序學習確定網絡結構階段與其他算法的比較結果。可以看出OGAP-RBF算法在GAP-DEKF構建網絡結構的順序學習階段,當所有新樣本學習過后,可以達到與MRAN和GAP-RBF相當的訓練誤差。為了進一步提高OGAP-RBF網絡的精確度,在本算法中加入了群體劃分優化過程,如圖3所示,在GAP-DEKF的基礎上,將網絡的訓練誤差降低了13%左右。圖4給出各算法在訓練過程中隱層神經元的更新過程,可以看出,OGAP-RBF可以生成相對較少的隱層神經元。這些圖示為在波士頓數據集上的一次典型實驗的結果圖,在其他數據集上的實驗同樣有類似的結果。
實驗結果如表2所示,將OGAP-RBF與RAN、RANEKF、MRAN和GAP-RBF在算法執行時間、訓練誤差、測試誤差和隱含層神經元個數四個方面進行了比較。可以看出OGAP-RBF與GAP-RBF相比,在相差不多的運算時間和網絡結構的前提下,具有更好的訓練誤差和測試誤差。另外三個算法中RANEKF算法雖然訓練誤差相對較低,但是這些算法所需時間和隱層神經元個數都比較多。所以可以看出在本數據集上,改進算法在學習精度、網絡復雜度和計算速度三個方面表現都較好。

圖2 誤差曲線

圖3 在波士頓數據集上的OGAP-RBF優化過程曲線

圖4 不同算法隱層神經元的更新曲線

表2 各算法在實際問題Boston Housing應用中的性能比較
3.2 汽車燃油消耗量預測問題
汽車的燃耗問題是用來預測不同類型汽車燃油消耗量的數據庫。實驗中有398個樣本數據,這些樣本的輸入數據包括車輛的7個屬性,樣本的輸出為汽車的燃油消耗量。

從表3可以看出,OGAP-RBF與GAP-RBF相比,雖然運算時間略有增加,但是在隱層神經元數量相差不多的情況下,訓練誤差和測試誤差明顯降低,并且測試誤差相對比較穩定。與RAN、RANEKF和MRAN相比,在運算時間基本相當的情況下,OGAP-RBF達到了最低的測試誤差和最少的隱層神經元。所以可以看出在本數據集上,改進算法的學習精度和網絡結構都具有一定的優越性。

表3 各算法在實際問題Auto-Mpg應用中的性能比較
3.3 鮑魚年齡預測問題
鮑魚數據集共有4177個樣本數據,是關于鮑魚年齡預測的數據庫。該例中每個數據樣本包括9個屬性,分別屬于不同的年齡階段。

從表4可以看出, OGAP-RBF相比其他算法,運算時間明顯降低,這是由于對于數據量較大的數據集,DEKF方法大大降低了計算的復雜度,同時也彌補了群體劃分優化帶來的額外運算時間。相比GAP-RBF算法,訓練誤差、測試誤差和隱層神經元個數都有一定程度的降低。在所有算法中RANEKF、MRAN和OGAP-RBF都達到了相對較低的測試誤差,但是OGAP-RBF算法的運算時間和網絡結構都遠遠優于另外兩個算法。所以可以看出在本數據集上,改進算法在各方面都具有一定的優越性。

表4 各算法在實際問題Abalone應用中的性能比較
本文提出的基于群體劃分優化的GAP-RBF神經網絡學習方法,在原有的GAP-RBF做了兩點改進:使用DEKF方法來降低網絡的計算復雜度和運算時間;利用群體劃分方法對網絡權值和偏移項進行優化進一步提高網絡的學習精度。通過在3個Benchmark問題上與其他學習算法進行比較分析可知,對于不均勻分布的實驗數據,OGAP-RBF仍能夠獲得較好的學習精度,并且在數據量較大的情況下,運算時間和網絡結構都遠遠優于其他算法。可見,改進后的算法提高了網絡的泛化能力和處理問題的能力,并建立了性能良好的神經網絡模型。
[2] Qiao J F, Han H G. Identification and modeling of nonlinear dynamical systems using a novel self-organizing RBF-based approach[J].Automatica, 2012,48(8):1729-1734.
[3] Chen H, Gong Y, Hong X. Online modeling with tunable RBF network[J].Cybernetics,IEEE Transactions on, 2013,43(3):935-947.
[4] Han H G, Qiao J F, Chen Q L. Model predictive control of dissolved oxygen concentration based on a self-organizing RBF neural network[J].Control Engineering Practice, 2012, 20(4):465-476.
[5] Platt J. A resource-allocating network for function interpolation[J].Neural computation, 1991, 3(2):213-225.
[6] Kadirkamanathan V, Niranjan M. A function estimation approach to sequential learning with neural networks[J].Neural Computation, 1993, 5(6):954-975.
[7] Yingwei L, Sundararajan N, Saratchandran P. A sequential learning scheme for function approximation using minimal radial basis function neural networks[J].Neural computation,1997,9(2):461-478.
[8] Huang G B, Saratchandran P, Sundararajan N. An efficient sequential learning algorithm for growing and pruning RBF (GAP-RBF) networks[J].Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions on, 2004,34(6):2284-2292.
[9] Kennedy J, Eberhart R. Particle swarm optimization[C]//Proc IEEE International Conf on Neural Networks. Piscataway: IEEE, 1995:1942-1948.
[10] Holland J H. Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence[M].MIT Press, 1992.
[11] Puskorius G V, Feldkamp L. Neurocontrol of nonlinear dynamical systems with Kalman filter trained recurrent networks[J].Neural Networks, IEEE Transactions on,1994,5(2):279-297.
[12] Chen Z, Qian P. Application of PSO-RBF neural network in network intrusion detection[C]//Intelligent Information Technology Application, 2009. IITA 2009. Third International Symposium on. IEEE,2009,1:362-364.
[13] Hendtlass T. Restarting Particle Swarm Optimisation for deceptive problems[C]//Evolutionary Computation (CEC), 2012 IEEE Congress on. IEEE, 2012:1-9.
[14] Yourdkhani S. Portfolio Management by using Value at Risk (VaR)(A Comparison between Particle Swarm Optimization and Genetic Algorithms)[J].Life Science Journal, 2014,11(S1):15-26.
[15] Pan Y, Xue W, Zhang Q, et al. A forecasting model of RBF neural network based on genetic algorithms optimization[C]//Natural Computation (ICNC), 2011 Seventh International Conference on. IEEE, 2011,1:48-51.
[16] 嚴宗光, 鄧宇豪. 遺傳算法的自適應機制[J].科技資訊,2014(28):192-193.
[17] Yu-liang Q, Hao Z, Daogang P, et al. Fault diagnosis for generator unit based on RBF neural network optimized by GA-PSO[C]//Natural Computation (ICNC), 2012 Eighth International Conference on. IEEE, 2012:233-236.
[18] Zhang R, Huang G B, Sundararajan N, et al. Improved GAP-RBF network for classification problems[J].Neurocomputing, 2007,70(16):3011-3018.
GAP-RBF NEURAL NETWORK LEARNING ALGORITHM BASED ON POPULATION PARTITIONING OPTIMISATION
Bao Qinxin Song Wei
(School of IoT Engineering, Jiangnan University, Wuxi 214122,Jiangsu,China)
Aiming at the problem of traditional GAP-RBF algorithm that its learning accuracy is not high enough, we present in the paper a new GAP-RBF network learning algorithm which is based on population partitioning optimisation. First, for overcoming the large matrix computation problem in traditional GAP-RBF, the proposed algorithm adjusts network parameters with DEKF method; secondly, in order to obtain the network model with higher learning accuracy, the algorithm uses the PSO and GA-based population partitioning optimisation to train the connection weight values of hidden layers and output layers and the bias items. Experimental results indicate that compared with the algorithms such as RAN, RANEKF, MRAN and GAP-RBF, the presented algorithm can obtain a more concise network structure and improves the learning accuracy at the same time.
RBF neural network GAP-RBF algorithm PSO algorithm Genetic algorithm
2015-09-21。物聯網技術應用教育部工程研究中心,中央高校基本科研業務費專項資金項目(JUSRP51510)。包沁昕,碩士生,主研領域:神經網絡,機器學習。宋威,副教授。
TP183
A
10.3969/j.issn.1000-386x.2016.11.051