陳駿 傅成華 郭輝
摘要摘要:在工程應(yīng)用中經(jīng)常遇到一些復(fù)雜的非線性系統(tǒng),這些系統(tǒng)狀態(tài)方程復(fù)雜,難以用數(shù)學(xué)方法精確建模。BP神經(jīng)網(wǎng)絡(luò)可以描述這些非線性系統(tǒng)的輸入輸出映射關(guān)系,但其自身也存在較明顯的缺陷。應(yīng)用遺傳算法和粒子群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,可彌補(bǔ)BP神經(jīng)網(wǎng)絡(luò)尋優(yōu)時(shí)的缺陷。通過實(shí)例比較分析,兩種優(yōu)化算法有效提高了擬合精度。
關(guān)鍵詞關(guān)鍵詞:BP神經(jīng)網(wǎng)絡(luò);遺傳算法;粒子群優(yōu)化算法;函數(shù)逼近
DOIDOI:10.11907/rjdk.1431078
中圖分類號(hào):TP312
文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2015)004007003
0引言
很多過程很難直觀地給出數(shù)學(xué)模型,影響了對(duì)其進(jìn)一步的認(rèn)識(shí)和操作。人工神經(jīng)網(wǎng)絡(luò)具有很強(qiáng)的映射能力,可以自適應(yīng)地對(duì)輸入數(shù)據(jù)產(chǎn)生聚類,通過訓(xùn)練和學(xué)習(xí)可以對(duì)輸入空間產(chǎn)生非線性映射[12]。應(yīng)用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)未知函數(shù)的逼近,可以建立系統(tǒng)模型。函數(shù)的擬合方法很多,應(yīng)用神經(jīng)網(wǎng)絡(luò)進(jìn)行函數(shù)逼近的意義不僅僅在純數(shù)學(xué)領(lǐng)域,在工程和物理學(xué)領(lǐng)域也非常有用,如實(shí)驗(yàn)數(shù)據(jù)擬合、圖像處理、信號(hào)預(yù)測(cè)等。
1遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型
1.1遺傳算法原理
1975年,Holland教授[3]首次提出了一種借鑒生物界自然遺傳和自然選擇的隨機(jī)化搜索算法——遺傳算法。該算法是一種利用自然選擇和進(jìn)化思想在高維空間中尋優(yōu)的方法,它不一定能尋得最優(yōu)點(diǎn),但是可以找到更優(yōu)點(diǎn)。選擇、交叉、變異是其具有強(qiáng)大信息處理能力的3個(gè)基本算子。
(1)選擇算子。選擇算子又稱為繁殖算子,它從種群中選擇出適應(yīng)度高的個(gè)體,適應(yīng)度越高被選擇的可能性就越大。選擇是遺傳算法中最主要的算子,也是影響遺傳算法性能最主要的因素。
(2)交叉算子。交叉算子用于模擬生物進(jìn)化過程中的繁殖交配現(xiàn)象。交叉算子通過模擬生物進(jìn)化過程,交叉組合兩個(gè)染色體來產(chǎn)生新的染色體。交叉的主要目的在于使后代具有雙親染色體的優(yōu)點(diǎn)。
(3)變異算子。生物在自然環(huán)境中會(huì)因?yàn)楦鞣N偶然因素而引起基因突變,遺傳算法中的變異算子就是對(duì)這種現(xiàn)象的模擬,它的主要目的在于增強(qiáng)遺傳算法搜索最優(yōu)解的能力。
1.2遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)由3部分組成,分別是:①確定BP網(wǎng)絡(luò)結(jié)構(gòu);②遺傳算法優(yōu)化;③BP網(wǎng)絡(luò)對(duì)數(shù)據(jù)預(yù)測(cè)。通過擬合函數(shù)的輸入輸出參數(shù)來確定BP網(wǎng)絡(luò)結(jié)構(gòu),遺傳算法通過選擇、交叉和變異對(duì)個(gè)體進(jìn)行篩選,從而找到最優(yōu)適應(yīng)度對(duì)應(yīng)的個(gè)體。個(gè)體中包含了BP網(wǎng)絡(luò)的初始權(quán)值和閾值。遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)實(shí)際上是對(duì)BP神經(jīng)網(wǎng)絡(luò)權(quán)值的優(yōu)化。
1.3案例分析
擬合函數(shù):
1.4建立模型
擬合函數(shù)有兩個(gè)輸入?yún)?shù),一個(gè)輸出參數(shù),所以BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)為2—5—1。即輸入層有2個(gè)節(jié)點(diǎn),隱含層有5個(gè)節(jié)點(diǎn),輸出層有1個(gè)節(jié)點(diǎn)。從非線性函數(shù)隨機(jī)得到1 000組輸入輸出數(shù)據(jù),從中隨機(jī)選擇用于網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)900組,用于測(cè)試網(wǎng)絡(luò)擬合性能的數(shù)據(jù)100組。遺傳算法參數(shù)設(shè)置為:種群規(guī)模為10,進(jìn)化次數(shù)為50次,交叉概率為0.4,變異概率為0.2。
2粒子群優(yōu)化BP神經(jīng)網(wǎng)絡(luò)模型
2.1粒子群算法原理
粒子群算法又稱為粒子群優(yōu)化算法或微粒群算法, 1995年由美國(guó)心理學(xué)家Eberhart和電氣工程師Kennedy[45]提出。粒子群優(yōu)化算法是基于群體智能理論的優(yōu)化算法[6]。粒子群算法源于對(duì)鳥類捕食行為的模仿,從人工生命和演化計(jì)算理論中受到啟發(fā),用于求解最優(yōu)化問題。 粒子群算法在可解空間初始化一群粒子,可以用適應(yīng)度、位置、速度這3項(xiàng)指標(biāo)來確定該粒子的特征,每個(gè)粒子都是問題的潛在最優(yōu)解。粒子如鳥類覓食一樣在解空間運(yùn)動(dòng),粒子更新一次便計(jì)算一次適應(yīng)度值,通過對(duì)新粒子的個(gè)體極值與群體極值適應(yīng)度值的不斷比較,不斷更新個(gè)體極值和群體極值的位置。
2.2粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)由3部分組成[7]:①確定BP網(wǎng)絡(luò)結(jié)構(gòu);②粒子群算法優(yōu)化;③BP網(wǎng)絡(luò)預(yù)測(cè)。BP網(wǎng)絡(luò)結(jié)構(gòu)由給定擬合函數(shù)的輸入輸出參數(shù)確定。粒子群算法中的每個(gè)粒子代表了BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,粒子不斷尋優(yōu)就能找到BP網(wǎng)絡(luò)的最佳權(quán)值和閾值。
4結(jié)語(yǔ)
遺傳算法和粒子群優(yōu)化算法有很多共同之處:①都屬
于仿生算法,遺傳算法主要借用生物進(jìn)化過程中的“適者生存”規(guī)律;粒子群優(yōu)化算法主要模擬鳥類覓食行為;②都屬于全局優(yōu)化方法,兩種算法在解空間都隨機(jī)產(chǎn)生初始種群,并且在全局的解空間進(jìn)行搜索;③都屬于隨機(jī)搜索方法,遺傳算法的遺傳操作均屬隨機(jī)操作,而粒子群優(yōu)化算法中的認(rèn)知項(xiàng)和社會(huì)項(xiàng)都加有隨機(jī)數(shù)。
由圖6可以看出實(shí)驗(yàn)結(jié)果:粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)誤差更小, PSOBP網(wǎng)絡(luò)的函數(shù)擬合效果要優(yōu)于GABP網(wǎng)絡(luò)的函數(shù)擬合效果。這是因?yàn)椋孩龠z傳算法中種群的改變會(huì)破壞算法以前的知識(shí),但對(duì)于粒子群算法,好的解知識(shí)會(huì)保留,因?yàn)樵撍惴ㄓ杏洃洠虎诹W尤簝?yōu)化算法相對(duì)于遺傳算法沒有交叉和變異操作,粒子只通過內(nèi)部速度進(jìn)行更新,參數(shù)更少,實(shí)現(xiàn)容易。
粒子算法作為一種新興、智能且更為高效的搜索方法,它具有調(diào)教參數(shù)少、容易實(shí)現(xiàn)的特點(diǎn),得到越來越廣泛的關(guān)注和應(yīng)用。但是,它也存在一些不足,例如對(duì)于一些復(fù)雜離散的優(yōu)化問題容易陷入局部最優(yōu)點(diǎn)。作為一種新的智能優(yōu)化算法,粒子群優(yōu)化算法相比遺傳算法在收斂性方面的研究還比較薄弱。因此,未來需要在收斂性方面對(duì)粒子群算法進(jìn)行更深入的理論研究。
參考文獻(xiàn)參考文獻(xiàn):
[1]付濤,王大鎮(zhèn),弓清忠,等. 改進(jìn)神經(jīng)網(wǎng)絡(luò)自適應(yīng)滑模控制的機(jī)器人軌跡跟蹤控制[J]. 大連理工大學(xué)學(xué)報(bào),2014(5):523530.
[2]鐘穎,汪秉文. 基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)時(shí)間序列預(yù)測(cè)模型[J]. 系統(tǒng)工程與電子技術(shù),2002(4):911.
[3]徐富強(qiáng),錢云,劉相國(guó).GABP神經(jīng)網(wǎng)絡(luò)的非線性擬合[J].微計(jì)算機(jī)信息,2012,28(7):148148.
[4]喬冰琴,常曉明. 改進(jìn)粒子群算法在BP神經(jīng)網(wǎng)絡(luò)擬合非線性函數(shù)方面的應(yīng)用[J].太原理工大學(xué)學(xué)報(bào),2012(5):558563.
[5]張郭軍,韓琳,徐坤. 混沌免疫粒子群優(yōu)化算法在BP網(wǎng)絡(luò)訓(xùn)練中的應(yīng)用[J]. 西安工程科技學(xué)院學(xué)報(bào),2007(4):484488.
[6]林曉梅,呂珊珊,朱丹,等. 基于神經(jīng)網(wǎng)絡(luò)──粒子群優(yōu)化算法的醫(yī)學(xué)圖像分割新方法[J]. 長(zhǎng)春工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2008(2):158161.
[7]李松,劉力軍,翟曼. 改進(jìn)粒子群算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流預(yù)測(cè)[J]. 系統(tǒng)工程理論與實(shí)踐,2012(9):20452049.
責(zé)任編輯(責(zé)任編輯:杜能鋼)