bp神經(jīng)網(wǎng)絡(luò)的改進(jìn)_第1頁
bp神經(jīng)網(wǎng)絡(luò)的改進(jìn)_第2頁
bp神經(jīng)網(wǎng)絡(luò)的改進(jìn)_第3頁
bp神經(jīng)網(wǎng)絡(luò)的改進(jìn)_第4頁
bp神經(jīng)網(wǎng)絡(luò)的改進(jìn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

bp神經(jīng)網(wǎng)絡(luò)的改進(jìn)

近年來,人工神經(jīng)網(wǎng)絡(luò)是人工智能的一個(gè)分支,近年來的廣泛應(yīng)用再次顯示出其活躍的生命力。實(shí)踐證明,人工神經(jīng)網(wǎng)絡(luò)除了應(yīng)用在語言識別、自動(dòng)控制等領(lǐng)域外,還可以應(yīng)用于預(yù)測、評價(jià)等其它方面,其準(zhǔn)確性明顯優(yōu)于回歸模型。ANN是由大量簡單的處理單元——神經(jīng)元相互連接而成的自適應(yīng)非線性動(dòng)態(tài)系統(tǒng)。每個(gè)神經(jīng)元的結(jié)構(gòu)和功能都十分簡單,其工作則是集體進(jìn)行的,其信息傳播、存貯與腦相似。它沒有運(yùn)算器、存貯器、控制器,而只有相同的處理單元的組合。它的信息存貯在處理單元之間的連接鍵上,是一種模仿人腦神經(jīng)細(xì)胞的結(jié)構(gòu)和功能的物理可實(shí)現(xiàn)系統(tǒng)。它具有自組織、自適應(yīng)和自學(xué)習(xí)能力,具有非線性、非局域性、非定常性和非凸性等特點(diǎn)。近年來,人工神經(jīng)網(wǎng)絡(luò)理論在許多領(lǐng)域都取得了令人滿意的成果。BP(Back-Propagation)神經(jīng)網(wǎng)絡(luò)是人工神經(jīng)網(wǎng)絡(luò)中最具代表性和廣泛應(yīng)用的一種,其結(jié)構(gòu)簡單,可操作性強(qiáng),能模擬任意的非線性輸入輸出關(guān)系。實(shí)踐表明,它也存在很多缺點(diǎn),如學(xué)習(xí)收斂速度慢,通常需要經(jīng)過幾千次迭代甚至更多,容易陷入局部極小點(diǎn)而無法得到全局最優(yōu)解。本文針對BP神經(jīng)網(wǎng)絡(luò)某些不足,提出了幾點(diǎn)改進(jìn)措施。1bp神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)及其建模步驟1.1控制深度和廣度的互聯(lián)互通BP神經(jīng)網(wǎng)絡(luò),即多層前饋式誤差反傳播神經(jīng)網(wǎng)絡(luò),通常由輸入層、輸出層和若干隱含層構(gòu)成,每層由若干個(gè)結(jié)點(diǎn)組成,每一個(gè)結(jié)點(diǎn)表示一個(gè)神經(jīng)元,上層結(jié)點(diǎn)與下層結(jié)點(diǎn)之間通過權(quán)聯(lián)接,同一層結(jié)點(diǎn)之間沒有聯(lián)系。如圖1所示。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程分為信息的正向傳播過程和誤差的反向傳播過程兩個(gè)階段。外部輸入的信號經(jīng)輸入層、隱含層的神經(jīng)元逐層處理向前傳播到輸出層給出結(jié)果。如果在輸出層得不到期望輸出,則轉(zhuǎn)入逆向傳播過程,將實(shí)際值與網(wǎng)絡(luò)輸出之間誤差沿原來聯(lián)結(jié)的通路返回,通過修改各層神經(jīng)元的聯(lián)系權(quán)值,使誤差減少,然后再轉(zhuǎn)入正向傳播過程,反復(fù)迭代,直到誤差小于給定的值為止。1.2bp算法的基本原理(1)設(shè)圖1中輸入層、隱含層、輸出層節(jié)點(diǎn)數(shù)分別為m、l、n。設(shè)輸入學(xué)習(xí)樣本為q組:X1,X2,…,Xp,…,Xq(Xp=(xp1p1,…,xpi,…,xpm)),其對應(yīng)希望輸出值為T1,T2,…,Tp,…,Tq(Tp=(tp1,…,tpk,…,tpn)),通過網(wǎng)絡(luò)對應(yīng)輸出端的實(shí)際輸出值為(Y1,…,Yp,…,Yq(Yp=(yp1,…,ypk,…,ypn))。置所有可調(diào)參數(shù)(權(quán)和閾值)為某種形式的較小數(shù)值。(2)正向計(jì)算:將第p(p=1,2,…q)個(gè)樣本順序輸入到圖1的網(wǎng)絡(luò)中,按下式分別計(jì)算隱含層、輸出層各神經(jīng)元的激活值和輸出值:隱含層各神經(jīng)元的激活值Spj=m∑i=1w1ijxpi-θ1jj=1,2,?l;i=1,2,?m;p=1,2,?q(1)式中,w1ij為輸入層至隱含層連接權(quán);θ1j為隱含層節(jié)點(diǎn)的閾值。激活函數(shù)常采用S型的sigmoid()函數(shù)f(u)=11+e-u將激活值代入激活函數(shù)可得隱含層第j節(jié)點(diǎn)的輸出值hpj=f(Spj)=f(m∑i=1w1ijxpi-θ1j)j=1,2,?l;i=1,2,?m;p=1,2,?q(2)同理,可求得輸出層第k節(jié)點(diǎn)的激活值Spk和輸出值ypkSpk=l∑j=1w2jkhpj-θ2kk=1,2,?n;j=1,2,?l;p=1,2,?q(3)y=f(Spk)=f(l∑j=1w2jkhpj-θ2k)k=1,2,?n;j=1,2,?l;p=1,2,?q(4)式中,w2jk為隱含層至輸出層連接權(quán);θ2k為輸出層節(jié)點(diǎn)的閾值。(3)計(jì)算總誤差E=q∑p=1n∑k=112(tpk-ypk)2,若E≤ε(允許誤差),則停止迭代;否則執(zhí)行第(4)步。(4)反向計(jì)算:當(dāng)輸出層的實(shí)際輸出值與希望輸出值不一樣時(shí)就要對網(wǎng)絡(luò)進(jìn)行校正。校正是從后向前進(jìn)行的。BP算法采用的是δ學(xué)習(xí)規(guī)則,即利用誤差的負(fù)梯度來調(diào)整連接權(quán),使其輸出誤差單調(diào)減少。①計(jì)算各層誤差,對已知樣本的輸出目標(biāo)可得輸出層校正誤差為δpk=(tpk-ypk)ypk(1-ypk)k=1,2,?n;p=1,2,?q(5)隱含層校正誤差為δpj=n∑j=1δpkw2jkhpj(1-hpj)k=1,2,?n;j=1,2,?l;p=1,2,?q(6)②按下式修改各層的權(quán)值和閥值:輸出層至隱含層連接權(quán)和輸出層閾值校正量分別為Δw2jk=η?δpk?hpj(7)Δθ1k=η?δpkk=1,2,?n;j=1,2,?l;p=1,2,?q(8)隱含層至輸入層連接權(quán)和隱含層閾值校正量為Δw1ij=η?δpj?xpi(9)Δθ1j=η?δpjj=1,2,?l;i=1,2,?mp=1,2,?q(10)式中,η為學(xué)習(xí)步長(學(xué)習(xí)率),0<η<1。(5)按新的權(quán)重新計(jì)算Spj、hpj、Spk、ypk和E,直到E≤ε(允許誤差),否則重復(fù)步驟(2)-(4)。2對bp神經(jīng)網(wǎng)絡(luò)的改進(jìn)由于BP神經(jīng)網(wǎng)絡(luò)具有逼近任意連續(xù)函數(shù)和非線性映射的能力,因此在人工神經(jīng)網(wǎng)絡(luò)研究領(lǐng)域中得到了廣泛的應(yīng)用。其結(jié)構(gòu)簡單,可操作性強(qiáng),能模擬任意的非線性輸入輸出關(guān)系。但它也存在學(xué)習(xí)收斂速度慢、容易陷入局部極小點(diǎn)而無法得到全局最優(yōu)解等缺點(diǎn)。針對這些缺點(diǎn),目前已有不少人對此提出了改進(jìn)方案。如文獻(xiàn)提出在修改權(quán)值中加入“動(dòng)量項(xiàng)”;文獻(xiàn)、采用共軛梯度法;文獻(xiàn)引入同倫方法;文獻(xiàn)采用Cauchy誤差估計(jì)器代替?zhèn)鹘y(tǒng)的LMS誤差估計(jì)器;文獻(xiàn)將輸入輸出數(shù)據(jù)初始化到(0.1,0.9)的區(qū)間內(nèi)。這些方案對BP神經(jīng)網(wǎng)絡(luò)起到一定的改進(jìn)作用,但仍然存在著不足。本文在前人研究工作的基礎(chǔ)上,提出了幾點(diǎn)改進(jìn)措施。2.1教師值的線性規(guī)范化大多數(shù)BP神經(jīng)網(wǎng)絡(luò)模型以S形函數(shù)作為轉(zhuǎn)換函數(shù),該函數(shù)的值域?yàn)?因此在網(wǎng)絡(luò)訓(xùn)練時(shí)要將原始數(shù)據(jù)規(guī)范到區(qū)間,通常采用標(biāo)準(zhǔn)的歸一方法來實(shí)現(xiàn)。但是規(guī)范后的每個(gè)輸出的教師值序列中至少有一個(gè)值為0,一個(gè)值為1,恰好是S形函數(shù)的極小值和極大值,要求聯(lián)接權(quán)足夠大才能使網(wǎng)絡(luò)的輸出值與其匹配,從而需要相當(dāng)多的訓(xùn)練次數(shù)來不斷修正權(quán)值,導(dǎo)致訓(xùn)練速度緩慢。為避免這種現(xiàn)象,一些文獻(xiàn)建議將教師值進(jìn)行線性規(guī)范化至某一區(qū)間內(nèi),,如文獻(xiàn)提出按式y(tǒng)′=yymax+ymin(11)進(jìn)行處理。這樣做的確可以加快網(wǎng)絡(luò)學(xué)習(xí)速度。但是,在進(jìn)行預(yù)報(bào)時(shí),由于預(yù)報(bào)值y′≤1,即yymax+ymin≤1(12)反規(guī)格化后得y≤ymax+ymin由上式可知,預(yù)報(bào)值被人為限定在某一數(shù)值范圍內(nèi),這無疑會(huì)大大限制BP模型預(yù)測能力的發(fā)揮。本文建議將生成數(shù)據(jù)規(guī)范到[0.2,0.8]區(qū)間,由ln0.2=-1.609,ln0.8=-0.223,0≤(x-xmin)/(xmax-xmin)≤1可知,0.2≤1e[0.223+(1.609-0.223)*(x-xmin)/(xmax-xmin)]≤0.8,從而可用非線性函數(shù)x′=1-1e[0.223+(1.609-0.223)*(x-xmin)/(xmax-xmin)](13)來預(yù)處理數(shù)據(jù)。這樣輸入輸出數(shù)據(jù)將全部在[0.2,0.8]之間,可以大大加快網(wǎng)絡(luò)學(xué)習(xí)速度,而數(shù)據(jù)間的聯(lián)系并不減少。2.2初始權(quán)值和閾值收斂速度慢、迭代時(shí)間長是BP神經(jīng)網(wǎng)絡(luò)模型的主要問題之一。通過大量應(yīng)用實(shí)踐發(fā)現(xiàn),BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值、閾值雖然在理論上可以隨意選取,但其選取方法卻對BP算法的收斂速度有很大影響。一些文獻(xiàn)也提出了相應(yīng)的初始權(quán)值、閾值選取方法,、,他們在各自的研究領(lǐng)域內(nèi)取得了一定的成效。本文在此基礎(chǔ)上提出記憶式初始權(quán)值、閾值方法。w01(?)=Rnd(?),θ01(?)=Rnd(?)w0i(?)=w0i-1(?),θ0i(?)=θ0i-1(?)(i=2,3,?)(14)式中:w0i,θ0i為第i次網(wǎng)絡(luò)運(yùn)行時(shí)的初始權(quán)值、閾值;w0i-1,θ0i-1為第i-1次網(wǎng)絡(luò)運(yùn)行結(jié)束時(shí)權(quán)值、閾值。2.3自動(dòng)優(yōu)選模型影響B(tài)P模型建模效果的參數(shù)較多,如隱含層的單元數(shù)、學(xué)習(xí)率η、慣性沖量μ等。這些參數(shù)的選取并無確定公式可循,且隨著所研究問題的不同參數(shù)值也變動(dòng)較大,因而研究人員常常需要經(jīng)過繁雜的手工調(diào)試及大量的對比分析后才能得出一組最理想的參數(shù)值。本文采用參數(shù)的循環(huán)嵌套方法,同時(shí)以確定性系數(shù)D最大作為優(yōu)選的評價(jià)標(biāo)準(zhǔn),從而實(shí)現(xiàn)參數(shù)的自動(dòng)優(yōu)選。D=1-Ν∑j=1(yj-∧yj)2Ν∑j=1(yj-ˉy)2(15)式中,yj(j=1,2,…N)為原始擬合輸出值;∧yj(j=1,2,?Ν)為反規(guī)范化后的擬合輸出值;ˉy表示輸出層各單元的多個(gè)建模樣本均值;D表示確定性系數(shù)。采用參數(shù)自動(dòng)優(yōu)選方法,可以避免手工參數(shù)調(diào)試的盲目性,由計(jì)算機(jī)取代研究人員的繁重調(diào)試工作,而直接獲取最終的分析結(jié)果。3使用示例A市1988年到1995年的生活需水量資料如表1所示,對1996、1997年的生活需水量進(jìn)行預(yù)測。(1)輸入層實(shí)證對于本例需水量預(yù)測問題,構(gòu)造BP模型網(wǎng)絡(luò)為輸入層結(jié)點(diǎn)數(shù)取影響因子數(shù),即采用上一年的累計(jì)生活需水量、歷時(shí)(年)作為輸入層的兩個(gè)單元,即m=2;輸出層結(jié)點(diǎn)數(shù)為1個(gè),即n=1。(2)單元組合優(yōu)化為避免參數(shù)手工調(diào)試的繁瑣,采用3.3提出的參數(shù)自動(dòng)優(yōu)選方法,主要對隱層單元數(shù)、學(xué)習(xí)率η、慣性沖量μ進(jìn)行組合優(yōu)選。目前對隱層單元數(shù)取值范圍的研究較多,但并沒有定論。本例采用1到3倍輸入層單元數(shù)即1到9作為隱層單元數(shù)的取值區(qū)間,而學(xué)習(xí)率η、慣性沖量μ均取在(0,1)區(qū)間上。另外,訓(xùn)練精度ε的取值可參考文獻(xiàn)。在這里,選取ε=0.0007。(3)非線性數(shù)據(jù)的非線性調(diào)理原始數(shù)據(jù)如表2所示。采用式(13)作為原始數(shù)據(jù)的規(guī)格化函數(shù),得規(guī)格化后的原始數(shù)據(jù)如表3所示。(4)bp網(wǎng)絡(luò)算法程序采用本文提出的記憶式初始權(quán)值、閾值方法,并與(0,1)隨機(jī)初始權(quán)值、閾值方法進(jìn)行對比。根據(jù)BP模型建模步驟,編制了BP網(wǎng)絡(luò)算法程序。對A市1988年至1995年的生活需水量建立了BP網(wǎng)絡(luò)模型,并對其1996年、1997年的生活需水量進(jìn)行預(yù)測,各計(jì)算成果如表4~表6所示。4bp模型改進(jìn)措施由于人工神經(jīng)網(wǎng)絡(luò)在模型理論上的重大突破,其在各個(gè)領(lǐng)域的應(yīng)用日益廣泛。BP模型是人工神經(jīng)網(wǎng)絡(luò)模型中的一種,它能夠?qū)π畔⑦M(jìn)行大規(guī)模并行處理,具有很好的魯棒性和容錯(cuò)性,可以模擬任意的非線性輸入輸出關(guān)系

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論