敖培等
摘要:提高非線性系統的辨識精度,本文提出利用多種群遺傳算法對BP神經網絡權值進行優化,并將該算法用于非線性系統辨識中,取得了良好的效果。實驗證明,與單純采用BP神經網絡辨識方法相比,本文方法對非線性系統有更強的辨識能力。
關鍵詞:多種群遺傳算法 BP神經網絡 非線性系統辨識
中圖分類號:TM715 文獻標識碼:A 文章編號:1007-9416(2014)12-0088-01
1 引言
由于BP神經網絡能實現任意非線性映射,逼近任意函數的特點,可以把對象的動態特性和復雜的映射關系隱含在網絡中,使得它非常適合于非線性系統辨識。但是,其也有諸如收斂速度慢、容易出現局部最小,初始權值、閥值難以確定等缺點。為提高非線性系統的辨識精度,本文提出利用多種群遺傳算法對BP神經網絡權值進行優化,并將該算法用于非線性系統辨識中,取得了良好的效果。
2 BP神經網絡和GA算法存在的問題
BP網絡是一類多層的前饋神經網絡,由于它的結構簡單,可調整的參數多,訓練算法也多,而且可操作性好等特點得到了非常廣泛的應用。雖然BP神經網絡是人工神經網絡中應用最廣泛的算法,但是也存在著一些缺陷,如學習收斂速度太慢、不能保證收斂到全局最小點、網絡結構不易確定。另外,網絡結構、初始連接權值和閥值的選擇對網絡訓練的影響很大,但是又無法準確獲得。
GA算法是一種借鑒生物界自然選擇和進化機制發展起來的高度并行、隨機、自適應的全局優化概率搜索算法。傳統的遺傳算法存在兩個重大缺陷:一是,容易早熟,即收斂提前結束,陷入局部最優解;二是,進化后期搜索效率低,這使得最終得到的結果往往不是全局最優解。
為了克服以上算法缺點,本文首先采用一種多種群遺傳算法,通過多種群并行進化的思想,將遺傳算法在多個具有不同控制參數的子種群間并行進行,并通過移民算子在子種群間交換信息,通過人工選擇算子保存各種群每個進化代中的最優個體,可以避免過早收斂,同時并行運算可以提高算法的效率。然后采用多種群遺傳算法優化BP神經網絡。
3 基于多種群遺傳算法的BP神經網絡優化
本文采用一種多種群遺傳算法對BP網絡進行優化,主要步驟如下:
Step 1:確定BP網絡的拓撲結構,即根據輸入/輸出參數個數確定網絡的權值和閥值個數。
Step 2:對神經網絡權值和閥值編碼,得到初始種群。
Step 3:將解碼得到權值和閥值賦給新建的BP網絡。
Step 4:分別使用訓練樣本和測試樣本訓練和測試網絡。
Step 5:以精華種群中最優個體最少保持代數作為算法終止判據,計算每個種群中各個體的適應度函數值(測試誤差),判斷是否滿足算法終止條件。若滿足,則退出算法,并得到最優神經網絡權值和閥值;若不滿足,則轉至步驟(6)。
Step 6:基于傳統標準遺傳算法進化機制,各種群采用輪盤賭選擇、單點交叉和位點變異,產生新的種群。其中,每個種群均選擇不同的交叉概率Pc和變異概率Pm,使得多個種群協同進化,同時提高算法的全局搜索和局部搜索能力。
Step 7:采用移民算子將目標種群中的最差個體用源種群的最優個體代替,實現種群之間的信息交換。
Step 8:采用人工選擇算子選出每一代其他種群的最優個體放入精華種群加以保存,并轉至Step 3。
4 基于多種群遺傳神經網絡的非線性系統辨識
設非線性離散模型為y(k)=y(k-1)/(1+y2(k-1))+u(k-1);u(k)=0.2sin(2kπ/26)+0.3sin(kπ/15)+0.3sin(kπ/75)。式中輸入量為u(k-1)和y(k-1),輸出為y(k),神經網絡2-10-1型結構。采用本文第3節算法對該非線性系統進行辨識,并與單純采用BP神經網絡辨識的結果進行了比較,如圖1所示。多種群遺傳算法參數設置如下:種群大小為40,最大遺傳代數為50,代溝為0.95,交叉概率在[0.7,0.9]區間內隨機產生,變異概率在[0.001,0.05]區間內隨機產生,最優個體最少保持代數為10。采用BP神經網絡和采用本文算法進行辨識的誤差矩陣范數分別為3.1325和0.9246。從圖1和誤差矩陣范數可以看出,采用本文算法對系統進行辨識的效果要優于采用單純的BP網絡對系統進行辨識的效果。本文算法很好地逼近了非線性系統,同時也解決了BP網絡隱含層節點數不易確定的缺陷。
5 結語
針對BP神經網絡在非線性系統辨識中存在的問題,提出采用多種群遺傳算法對BP神經網絡的權值和閥值進行優化。實驗證明,與單純采用BP神經網絡辨識方法相比,本文方法對非線性系統有更強的辨識能力。
參考文獻
[1]王穎.神經網絡預測控制在中密度纖維板施膠系統中的仿真研究[D].哈爾濱:東北林業大學碩士學位論文,2013.
[2]方彥軍,易鳳飛,胡文凱等編著.基于遺傳算法的廣義預測PID控制及其在鍋爐主汽溫系統中的應用[J].武漢大學學報,2013,46(3):386-392.