[摘 要] 前饋神經(jīng)網(wǎng)絡(luò)中的向后傳播算法(Backpropagation (BP) Algorithm)算法存在固有的缺陷,Levenberg-Marquardt神經(jīng)網(wǎng)絡(luò)算法可以有效地克服這一點(diǎn)BP算法的缺陷。本文給出了Levenberg-Marquardt算法。
[關(guān)鍵詞] 前饋神經(jīng)網(wǎng)絡(luò) Levenberg-Marquardt算法 BP算法
前饋神經(jīng)網(wǎng)絡(luò)BP學(xué)習(xí)算法在理論上具有逼近任意非線性連續(xù)映射的能力,在非線性系統(tǒng)的建模及控制領(lǐng)域里有著廣泛的應(yīng)用。然而BP 算法存在一些不足, 主要是收斂速度很慢; 往往收斂于局部極小點(diǎn); 數(shù)值穩(wěn)定性差, 學(xué)習(xí)率、動(dòng)量項(xiàng)系數(shù)和初始權(quán)值等參數(shù)難以調(diào)整,非線性神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法Levenberg-Marquardt可以有效地克服BP算法所存在的這些缺陷。
一、前饋神經(jīng)網(wǎng)絡(luò)
前饋神經(jīng)網(wǎng)絡(luò)由輸入層、隱層和輸出層組成。令u=[u1,u2,Λ,um]T,y=[y1,y2,Λ,yn]T絡(luò)的輸入、輸出向量, 令X=[x1,x2,Λ,xN]T為網(wǎng)絡(luò)的權(quán)及閾值的全體所組成的向量。給定P組輸入輸出訓(xùn)練樣本定義網(wǎng)絡(luò)的誤差指標(biāo)函數(shù)為:
(1)
(2)
然后就可以按照各種學(xué)習(xí)算法開始對X進(jìn)行訓(xùn)練, 得到最優(yōu)Xopt, 使得
二、Levenberg-Marquardt神經(jīng)網(wǎng)絡(luò)算法
1.給定初始點(diǎn)X(0), 精度,σ,k=0。
2.對i=1,2,…,M求fi(X(k)),得向量
對i=1,2,…,M求得Jacobi矩陣
3.解線性方程組求出搜索梯度方向h(k)。
4.直線搜索,其中λk滿足
5.若則得到解Xopt,轉(zhuǎn)向7(停止計(jì)算); 否則轉(zhuǎn)向6。
6.F(X(k+1))<F(X(k)),則令,k=k+1, 轉(zhuǎn)向2; 否則=*ξ,轉(zhuǎn)向3。
7.停止計(jì)算
在實(shí)際操作中,是一個(gè)試探性的參數(shù),對于給定的,如果求得的h(k)能使誤差函數(shù)Ep(X)降低,則被因子ξ除;若誤差函數(shù)Ep(X)增加,則乘以因子ξ。在仿真中,選取初始值=0.01,ξ=10。在采用Levenberg-Marquardt算法時(shí),為使收斂速度更快,需要增加學(xué)習(xí)率因子α,取α為0.4。Levenberg-Marquardt算法的計(jì)算復(fù)雜度為為網(wǎng)絡(luò)權(quán)值數(shù)目,如果網(wǎng)絡(luò)中權(quán)值的數(shù)目很大。則計(jì)算量和存儲量都非常大。因此,當(dāng)每次迭代效率顯著提高時(shí),其整體性能可以大為改善,特別是在精度要求高的時(shí)候。
三、結(jié)論
前饋神經(jīng)網(wǎng)絡(luò)中,BP 算法存在收斂速度很慢,收斂于局部極小點(diǎn)等缺陷,而Gauss-Newton的改進(jìn)算法Levenberg-Marquardt算法能有效克服BP 算法的缺陷。
參考文獻(xiàn):
[1]徐嗣鑫 戴友元:前向神經(jīng)網(wǎng)絡(luò)的一種快速學(xué)習(xí)算法及其應(yīng)用.控制與決策, 1993, 8(4): 284~ 288
[2]王耀南 童調(diào)生 蔡自興:基于神經(jīng)元網(wǎng)絡(luò)的智能PID控制及應(yīng)用。信息與控制, 1994, 23(3): 185~189
[3]張星昌:前饋神經(jīng)網(wǎng)絡(luò)的新學(xué)習(xí)算法研究及其應(yīng)用??刂婆c決策, 1997, 12(3), 213~ 216