PSOBP神經(jīng)網(wǎng)絡(luò)研究論文

時間:2022-03-12 09:49:00

導語:PSOBP神經(jīng)網(wǎng)絡(luò)研究論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

PSOBP神經(jīng)網(wǎng)絡(luò)研究論文

摘要基于粒子群優(yōu)化的算法具有全局隨機搜索最優(yōu)解的特點。本文嘗試把PSO算法和神經(jīng)網(wǎng)絡(luò)權(quán)值訓練的常用算法BP算法結(jié)合起來進行數(shù)據(jù)的訓練,實現(xiàn)對一組數(shù)據(jù)的訓練,并對結(jié)果與BP算法的訓練結(jié)果進行了對比,得到了較好的效果。

關(guān)鍵詞神經(jīng)網(wǎng)絡(luò);反向傳播算法;PSO算法;適應度函數(shù)

人工神經(jīng)網(wǎng)絡(luò)是由人工神經(jīng)元互連而成的網(wǎng)絡(luò),它從微觀結(jié)構(gòu)和功能上實現(xiàn)對人腦的抽象和簡化,具有許多優(yōu)點。對神經(jīng)網(wǎng)絡(luò)的權(quán)值系數(shù)的確定,傳統(tǒng)上采用反向傳播算法(BP算法)。BP網(wǎng)絡(luò)是一種多層前向反饋神經(jīng)網(wǎng)絡(luò),BP算法是由兩部分組成:信息的正向傳遞與誤差的反向傳播。在反向傳播算法中,對權(quán)值的訓練采用的是爬山法(即:δ算法)。這種方法在諸多領(lǐng)域取得了巨大的成功,但是它有可能陷入局部最小值,不能保證收斂到全局極小點。另外,反向傳播算法訓練次數(shù)多,收斂速度慢,使學習結(jié)果不能令人滿意。

粒子群優(yōu)化算法(ParticleSwarmOptimizer,PSO)是一種進化計算技術(shù)(evolutionarycomputation)。源于對鳥群捕食的行為研究,PSO中,每個優(yōu)化問題的解都是搜索空間中的一只鳥,我們稱之為粒子。所有的粒子都有一個由被優(yōu)化的函數(shù)決定的適應值(fitnessvalue),每個粒子還有一個速度決定他們飛翔的方向和距離。然后粒子們就追隨當前的最優(yōu)粒子在解空間中搜索。如果用粒子群算法對神經(jīng)網(wǎng)絡(luò)的權(quán)值進行訓練,會得到較快的收斂速度,而且可以避免局部最值得出現(xiàn)。研究表明PSO是一種很有潛力的神經(jīng)網(wǎng)絡(luò)算法。

本文提出了一種基于PSO算法的BP網(wǎng)絡(luò)學習算法,并通過MATLAB7.0實現(xiàn)對一組簡單的向量進行訓練對PSO—BP算法和BP算法進行了對比,試驗結(jié)果說明PSO—BP算法適合訓練BP網(wǎng)絡(luò),并且也有希望應用于其他種類的前向網(wǎng)絡(luò)的訓練。

1PSO算法

PSO中,每個優(yōu)化問題的解都是搜索空間中的一只鳥。我們稱之為“粒子”。所有的例子都有一個由被優(yōu)化的函數(shù)決定的適應值(fitnessvalue),每個粒子還有一個速度決定它們飛翔的方向和距離。然后粒子們就追隨當前的最優(yōu)粒子在解空間中搜索。

D維搜索空間中,有m個粒子,其中第i個粒子的位置是,m,其速度為。將帶入目標函數(shù)可計算出適應值。記第i個粒子搜索到的最優(yōu)位置為,整個粒子群搜索到的最優(yōu)位置為。離子狀態(tài)更新操作為:

其中,i=1,2…,m,d=1,2…,D;是非負常數(shù),稱為慣性因子。也可以隨著迭代線性減?。粚W習因子,是非負常數(shù);r1,r2是介于[0,1]之間的隨機數(shù);是常數(shù)。

迭代中止條件一般選為最大迭代次數(shù)和粒子群迄今為止搜索到的最有位置滿足適應閾值。

2基于PSO的BP網(wǎng)絡(luò)學習算法

BP網(wǎng)絡(luò)是一種多層結(jié)構(gòu)的前向網(wǎng)絡(luò),其隱層神經(jīng)元的激活函數(shù)為S型函數(shù),而輸出神經(jīng)元的激活函數(shù)可以是S型函數(shù),也可以實線性函數(shù),典型的S型函數(shù)為:

(3)

其中:s為神經(jīng)元的加權(quán)輸入函數(shù)。

用PSO算法訓練BP網(wǎng)絡(luò)時,定義粒子群的位置向量的元素是BP網(wǎng)絡(luò)的全體連接權(quán)和閾值。首先初始化位置向量,然后用PSO算法搜索最優(yōu)位置,使如下均方誤差指標(適應值)達到最小

(4)

其中,N是訓練集的樣本數(shù);是第i個樣本的第j個網(wǎng)絡(luò)輸出節(jié)點的理想輸出值;是第i個樣本的第j個網(wǎng)絡(luò)輸出節(jié)點的實際輸出值;C是網(wǎng)絡(luò)輸出神經(jīng)遠的個數(shù)。

基于PSO算法的BP網(wǎng)絡(luò)學習算法流程如下:

1)選定粒子數(shù)m;適應值閾值ε;最大允許迭代步數(shù);、和;初始化X和V為(0,1)間的隨機數(shù)。

8)endfor

9)fori=1:1:m

10)按式(1)計算;按式(2)計算;

11)endfor

12)endwhile

13)以所得權(quán)值閾值為初始值用BP算法對網(wǎng)絡(luò)進行訓練

上述流程中,1)到12)用標準PSO算法對權(quán)值和閾值進行訓練,13)對PSO輸出的權(quán)值和閾值作為初始值用BP算法訓練網(wǎng)絡(luò)(MATLAB中有集成的訓練函數(shù))。另外,,其中是第I個粒子的位置;V=,其中是第I個粒子的速度;是m個粒子迄今搜索到的最優(yōu)適應值,其對應的粒子位置矩陣是p=;是粒子群迄今搜索到的最優(yōu)適應值,對應的最優(yōu)粒子位置是,粒子數(shù)m選定為30個。

3結(jié)果分析

本實例中隨機選取機輸入和輸出矩陣,如:p=[00000;10001;01001;00100;00010];t=[0000;1000;0100;0010;0001]。由于P是五行的矩陣,所以網(wǎng)絡(luò)輸入層的神經(jīng)元個數(shù)為:5個,T為五行矩陣,故輸出層神經(jīng)元個數(shù)為:5個,隱含層神經(jīng)元個數(shù)為:6個。

首先觀察一下PSO算法中的適應值(fitness)的變化過程,圖1中,實線表示適應值的平均值,虛線表示是最優(yōu)適應值。從圖中可以看出適應值迅速的選擇過程。

圖2為用PSO—BP算法和BP算法在訓練誤差精度為0.002的情況下的誤差演化曲線:(a)為PSO—BP算法訓練誤差演化曲線,所用時間是20.422000s。(b)為常用BP算法訓練誤差演化曲線,對權(quán)值的訓練采用的是梯度下降法,所用時間是27.172000s。從圖中可以看到:PSO—BP算法的迭代次數(shù)遠遠小于BP算法,并且訓練時間也縮短了。

(a)

(b)

圖2

為了充分說明實驗結(jié)果,筆者做了多次反復實驗,實驗結(jié)果如下表:在訓練誤差精度為0.002的情況下,十次試驗中PSO—BP算法的平均迭代次數(shù)遠小于BP算法,收斂時間較接近。

算法

次數(shù)BP算法PSO—BP算法

迭代次數(shù)收斂時間迭代次數(shù)收斂時間

1158735.79700071719.547000

2105123.17200079433.390000

391718.28100068327.813000

480916.28200087933.265000

5132333.125000109730.218000

6214643.76600093126.046000

7116123.64100056817.391000

853014.68700073625.782000

9141526.75000086927.625000

10122724.17200095329.422000

平均值1216.625.967300822.727.04990

4結(jié)論

本次試驗中對BP算法和PSO—BP算法進行了對比試驗,試驗結(jié)果證明:PSO—BP算法優(yōu)于BP算法。具體表現(xiàn)在:學習算法的收斂速度有所提高;BP算法中的局部極小問題常令學習結(jié)果不滿意,PSO的全局優(yōu)化能力使問題得到解決。

參考文獻

[1]MartinT.Hagan,HowardB.Demuth,MarkH.Beale,著,戴葵,等譯.《神經(jīng)網(wǎng)絡(luò)設(shè)計》.機械工業(yè)出版社,2002年9月

[2]徐麗娜編著.《神經(jīng)網(wǎng)絡(luò)控制》.電子工業(yè)出版社,2003年2月

[3]高雋編著.《人工神經(jīng)網(wǎng)絡(luò)原理及仿真實例》.機械工業(yè)出版社,2003年8月

[4]ZbigniewMichalewicz,DavidB.Fogel著,曹宏慶,李艷,董紅斌,吳志健,譯.《如何求解問題——現(xiàn)代啟發(fā)式方法》.中國水利水電出版社,2003年2月

[5]陽明盛,熊西文,林建華,編著.《MATLAB基礎(chǔ)及數(shù)學軟件》.大連理工大學出版社,2003年8月

[6]TomM.Mitchell,著,曾華軍,張銀奎等譯.《機器學習》.機械工業(yè)出版社,2003年1月