国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析BP神經(jīng)網(wǎng)絡(luò)算法的改進(jìn)和優(yōu)化

2009-06-20 03:11儲琳琳郭純生
科技經(jīng)濟(jì)市場 2009年4期
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò)

儲琳琳 郭純生

摘要:本文簡要介紹了BP神經(jīng)網(wǎng)絡(luò)的缺點,著重強調(diào)了BP神經(jīng)網(wǎng)絡(luò)的算法改進(jìn),并且,利用Matlab仿真了各種改進(jìn)算法的學(xué)習(xí)速度,從結(jié)果看改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)能較好地解決針BP算法學(xué)習(xí)速度慢的缺點。

關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);BP算法;學(xué)習(xí)速度

中圖分類號:TN430文獻(xiàn)標(biāo)識碼:B

1BP算法的缺點

雖然神經(jīng)網(wǎng)絡(luò)模型已成功應(yīng)用于模式識別、函數(shù)逼近、時間序列預(yù)測等領(lǐng)域。并且BP網(wǎng)絡(luò)也是目前應(yīng)用最為

廣泛的一種神經(jīng)網(wǎng)絡(luò)模型,它具有思路清晰,結(jié)構(gòu)嚴(yán)謹(jǐn),可操作性強等優(yōu)點。但是由于BP學(xué)習(xí)算法僅改變網(wǎng)絡(luò)的連接值和閥值,不改變網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),因此BP網(wǎng)絡(luò)在處理具體問題時還存在如下問題[1]:

1.1網(wǎng)絡(luò)的麻痹現(xiàn)象。在網(wǎng)絡(luò)訓(xùn)練過程中,加權(quán)調(diào)得較大可能迫使所有的或大部分節(jié)點的加權(quán)和輸出較大,從而操作在S壓縮函數(shù)的飽和區(qū),此時函數(shù)在其導(dǎo)數(shù)非常小的區(qū)域,即函數(shù)的導(dǎo)數(shù)值很小或趨近0,由于在計算加權(quán)修正量的公式中,這使得調(diào)節(jié)幾乎停頓下來,通常為了避免這種現(xiàn)象,將訓(xùn)練速率減小,但又增加了訓(xùn)練時間。

1.2網(wǎng)絡(luò)學(xué)習(xí)收斂速度比較慢。由于BP算法的學(xué)習(xí)復(fù)雜性是樣本規(guī)模的指數(shù)函數(shù),如果網(wǎng)絡(luò)規(guī)模較大或?qū)W習(xí)樣本較多時,往往需要很長的學(xué)習(xí)時間,甚至學(xué)習(xí)無法完成,這個主要由于學(xué)習(xí)速率太小所造成的;可采用變化的學(xué)習(xí)速率或者自適應(yīng)的學(xué)習(xí)速率加以改進(jìn)。

1.3易陷入局部極小值。BP算法可以使網(wǎng)絡(luò)權(quán)值收斂到一個解,但它并不能保證所求解為誤差超平面的最小解,很可能是局部極小解;這是因為BP算法采用的是梯度下降法,訓(xùn)練是從某一起點沿誤差函數(shù)的斜面逐漸達(dá)到誤差的極小值,對于復(fù)雜的網(wǎng)絡(luò),其誤差函數(shù)為多維空間的曲面,就像一個碗,其碗底是最小值點,但是這個碗的表面凹凸不平的,因而在對其進(jìn)行訓(xùn)練的過程中,可能陷入某一小谷區(qū),而這一小谷區(qū)產(chǎn)生一個局部最小值,由此點向各個方向變化均使誤差增加,以至于使訓(xùn)練無法逃出這一局部最小值。

為了解決BP網(wǎng)絡(luò)訓(xùn)練的以上缺點,人們提出了多種有益的改進(jìn)。改進(jìn)方法主要有兩類:第一類是基于啟發(fā)式學(xué)習(xí)方法的改進(jìn)算法:如附加動量的BP算法、自適應(yīng)學(xué)習(xí)率BP算法、彈性BP算法等;第二類是基于數(shù)值優(yōu)化的改進(jìn)算法:如共扼梯度法、擬牛頓法和Levenberg-Marquardt(LM)法等。這些方法在不同程度上提高了學(xué)習(xí)速度,加

快了網(wǎng)絡(luò)的收斂,避免陷入局部極小值[2][3]。

2各種改進(jìn)算法的學(xué)習(xí)速度的比較

在Matlab6.5中,通過調(diào)用newff實現(xiàn)網(wǎng)絡(luò)的創(chuàng)建,然后調(diào)用函數(shù)train對所創(chuàng)建網(wǎng)絡(luò)newff進(jìn)行訓(xùn)練。設(shè)定系統(tǒng)總誤差為0.01,步長為0.02,網(wǎng)絡(luò)訓(xùn)練2000次,或直到滿足性能要求時停止訓(xùn)練,否則增加訓(xùn)練次數(shù)。表1給出幾種算法收斂速度的比較:表中的數(shù)據(jù)均為6次平均值。

從表1和表2可以看出:

2.1基于啟發(fā)式學(xué)習(xí)方法的改進(jìn)算法的收斂速度依次加快,其中彈性BP算法的收斂速度要比前兩種方法快得多。

2.2基于標(biāo)準(zhǔn)數(shù)值優(yōu)化方法的各種改進(jìn)算法均比基于啟發(fā)式學(xué)習(xí)方法的改進(jìn)算法在收斂速度上有很大的提高,其中Levenberg-Marquardt法的收斂速度最快。

下面是在相同條件下,標(biāo)準(zhǔn)BP算法,彈性BP算法和Levenberg-Marquardt法對本電路進(jìn)行網(wǎng)絡(luò)訓(xùn)練的學(xué)習(xí)誤差變化曲線。

3結(jié)論

由實驗結(jié)果可知:

在基于啟發(fā)式學(xué)習(xí)方法的改進(jìn)算法中,彈性BP算法的收斂速度快,算法并不復(fù)雜,也不需要消耗更多的內(nèi)存空間,在實際應(yīng)用中,是一種行之有效的算法。

在基于數(shù)值優(yōu)化方法的各種改進(jìn)算法中,Levenberg-Marquardt法和擬牛頓法因為要近似計算海森矩陣,需要較大的存儲量,通常收斂速度快。其中,Levenberg-Marquardt法結(jié)合了梯度下降法和牛頓法的優(yōu)點,性能更優(yōu),收斂速度最快,對于中等規(guī)模的BP神經(jīng)網(wǎng)絡(luò)具有最快的收斂速度,而且它很好地利用了MATLAB中對于矩陣的運算的優(yōu)勢,因此它的特點很適合在MATLAB中得到體現(xiàn);但是要存儲海森矩陣的值,所以該算法的最大缺點就是占用的內(nèi)存量太大。共軛梯度法所需存儲量較小,但收斂速度較前兩種方法慢。所以,考慮到網(wǎng)絡(luò)參數(shù)的數(shù)目(即網(wǎng)絡(luò)中所有的權(quán)值和偏差的總數(shù)目),在選擇算法對網(wǎng)絡(luò)進(jìn)行訓(xùn)練時,可遵循以下原則[4]:

3.1在對訓(xùn)練速度要求不太高,內(nèi)存存儲量有限時,可使用彈性BP算法。

3.2在對訓(xùn)練速對要求較高的情況下,網(wǎng)絡(luò)參數(shù)較少時,可以使用牛頓法或Levenberg-Marquardt法;在網(wǎng)絡(luò)參數(shù)較多時,需要考慮存儲量問題時,可以選擇共軛梯度法。

參考文獻(xiàn):

[1]史忠科.神經(jīng)網(wǎng)絡(luò)控制理論[M].西北工業(yè)大學(xué)出版社,1997(11).

[2]虞和濟(jì),陳長征等.基于神經(jīng)網(wǎng)絡(luò)的智能診斷[M].北京:冶金工業(yè)出版社,2000.

[3]朱大奇.電子設(shè)備故障診斷原理與實踐[M].北京:電子工業(yè)出版社,2004.

[4]王永驥,涂健.神經(jīng)元網(wǎng)絡(luò)控制[M]北京:機(jī)械工業(yè)出版社,1998.

猜你喜歡
神經(jīng)網(wǎng)絡(luò)
基于遞歸模糊神經(jīng)網(wǎng)絡(luò)的風(fēng)電平滑控制策略
BP神經(jīng)網(wǎng)絡(luò)在路標(biāo)識別上的應(yīng)用研究
神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
基于Alexnet神經(jīng)網(wǎng)絡(luò)的物體識別研究
基于BP神經(jīng)網(wǎng)絡(luò)的旋轉(zhuǎn)血泵生理控制
基于神經(jīng)網(wǎng)絡(luò)MRAS的速度辨識仿真研究
基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
基于支持向量機(jī)回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
基于神經(jīng)網(wǎng)絡(luò)分?jǐn)?shù)階控制的逆變電源
永新县| 会泽县| 东乌| 郯城县| 古丈县| 三明市| 喀什市| 老河口市| 东平县| 锦屏县| 芜湖县| 永寿县| 岢岚县| 武夷山市| 阳东县| 波密县| 中西区| 勃利县| 新余市| 马山县| 双桥区| 东明县| 开封市| 庐江县| 建昌县| 涞源县| 沧源| 红原县| 武穴市| 方正县| 眉山市| 南汇区| 贡嘎县| 白山市| 长武县| 福鼎市| 平罗县| 永登县| 天祝| 东乌| 天全县|