西安科技大學(xué)神經(jīng)網(wǎng)絡(luò)作業(yè)5_第1頁
西安科技大學(xué)神經(jīng)網(wǎng)絡(luò)作業(yè)5_第2頁
西安科技大學(xué)神經(jīng)網(wǎng)絡(luò)作業(yè)5_第3頁
西安科技大學(xué)神經(jīng)網(wǎng)絡(luò)作業(yè)5_第4頁
西安科技大學(xué)神經(jīng)網(wǎng)絡(luò)作業(yè)5_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于MATLAB的改進(jìn)BP神經(jīng)網(wǎng)絡(luò)的仿真1.引言神經(jīng)網(wǎng)絡(luò)(Neural Networks,簡稱NN)是由大量的、簡單的處理單元(簡稱為神經(jīng)元)廣泛的相互連接而成的復(fù)雜網(wǎng)絡(luò)系統(tǒng),它反映了人腦功能的許多基本特性,是一個高度復(fù)雜的非線性動力學(xué)系統(tǒng)。神經(jīng)網(wǎng)絡(luò)具有大規(guī)模并行、分布式存儲和處理、自組織、自適應(yīng)和自學(xué)習(xí)能力,特別適合處理需要同時考慮許多因素和條件的、不精確和模糊的信息處理問題。神經(jīng)網(wǎng)絡(luò)的發(fā)展與神經(jīng)科學(xué)、數(shù)理科學(xué)、認(rèn)知科學(xué)、計算機科學(xué)、人工智能、信息科學(xué)、控制論、機器人學(xué)、微電子學(xué)、心理學(xué)、光計算、分子生物學(xué)等有關(guān),是一門新興的邊緣交叉學(xué)科。1986年Rumelhart和McCelland等人

2、提出并行分布處理(PDP)的理論,同時提出了多層網(wǎng)絡(luò)的誤差反向傳播學(xué)習(xí)算法,簡稱BP算法。這種算法根據(jù)學(xué)習(xí)的誤差大小,把學(xué)習(xí)的結(jié)果反饋到中間層次的隱單元,改變它的權(quán)系數(shù)矩陣,從而達(dá)到預(yù)期的學(xué)習(xí)目的,解決了多層網(wǎng)絡(luò)的學(xué)習(xí)問題。BP算法從實踐上證明神經(jīng)網(wǎng)絡(luò)的運算能力很強,可以完成許多學(xué)習(xí)任務(wù),解決許多具體問題。BP網(wǎng)絡(luò)是迄今為止最常用、最普通的網(wǎng)絡(luò)。2.論述BP算法的基本思想是,學(xué)習(xí)過程由信號的正向傳播與誤差的反向傳播兩個過程組成。正向傳播時,輸入樣本從輸入層傳入,經(jīng)各隱層逐層處理后,傳向輸出層。若輸出層的實際輸出與期望的輸出(教師信號)不符,則轉(zhuǎn)入誤差的反向傳播階段。誤差反傳是將輸出誤差以某種形

3、式通過隱層向輸入層逐層反傳,并將誤差分?jǐn)偨o各層的所有單元,從而獲得各層單元的誤差信號,此誤差信號即作為修正各單元權(quán)值的依據(jù)。這種信號正向傳播與誤差反向傳播的各層權(quán)值調(diào)整過程,是周而復(fù)始地進(jìn)行的。權(quán)值不斷調(diào)整的過程,也就是網(wǎng)絡(luò)的學(xué)習(xí)訓(xùn)練過程。此過程一直進(jìn)行到網(wǎng)絡(luò)輸出的誤差減少到可接受的程度,或進(jìn)行到預(yù)先設(shè)定的學(xué)習(xí)次數(shù)為止。隨著人工神經(jīng)網(wǎng)絡(luò)的發(fā)展,BP算法的用途日益廣泛,應(yīng)用領(lǐng)域也在不斷擴展,已在人工智能、自動控制、計算機科學(xué)、信息處理、機器人、模式識別等各個領(lǐng)域中有著成功的案例。在眾多神經(jīng)網(wǎng)絡(luò)中,又以BP(Back Propagation)網(wǎng)絡(luò)的應(yīng)用最為廣泛,它所采用的BP算法已成為目前應(yīng)用最為

4、廣泛的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法,絕大部分的神經(jīng)網(wǎng)絡(luò)模型都是采用BP算法或它的變化形式。這樣的算法具有很好的非線性映射能力、泛化能力、容錯能力,已在各個領(lǐng)域中取得了廣泛的應(yīng)用。但是人們在使用過程中卻發(fā)現(xiàn),這種算法存在這樣或那樣的局限,比如收斂速度慢、容易陷入局部最小值以及忘記舊樣本的趨勢,這些局域性嚴(yán)重影響了BP算法的應(yīng)用。本文主要針對BP算法的缺點,采用以下幾種改進(jìn)算法來對其進(jìn)行改善:1.附加動量法;2.自適應(yīng)調(diào)整參數(shù)法;3.彈性算法;4.BFGS擬牛頓法;5.Levenberg-Marquardt的改進(jìn)算法。3.實例驗證考慮以下Hermit多項式的逼近問題:,其中。訓(xùn)練樣本產(chǎn)生方式如下:樣本數(shù)N=1

5、00,其中樣本輸入服從區(qū)間-4,4內(nèi)的均勻分布,樣本輸出為,為添加的噪聲,服從均值為0,方差為0.1的正態(tài)分布。采用MATLAB軟件進(jìn)行編程仿真,分別運用附加動量法、自適應(yīng)調(diào)整參數(shù)法、彈性算法、BFGS擬牛頓法、Levenberg-Marquardt法,對其訓(xùn)練結(jié)果進(jìn)行考察如下。本仿真訓(xùn)練次數(shù)為20000,訓(xùn)練結(jié)果的間隔次數(shù)為50,訓(xùn)練目標(biāo)誤差為0.05,訓(xùn)練允許時間為50秒,學(xué)習(xí)率為0.003。1. 基本BP算法,工具函數(shù)為traingd()。圖1 基本BP算法仿真曲線此時,訓(xùn)練時間為12s,訓(xùn)練次數(shù)為2092次。2. 附加動量法,工具函數(shù)為traingdm(),仿真曲線如圖2所示。圖2 附

6、加動量法仿真曲線此時,訓(xùn)練時間為11s,訓(xùn)練次數(shù)為2082次。3. 自適應(yīng)調(diào)整參數(shù)法,工具函數(shù)為traingda(),仿真曲線如圖3所示。圖3 自適應(yīng)調(diào)整參數(shù)法仿真曲線此時,訓(xùn)練時間為0s,訓(xùn)練次數(shù)為102次。4. 彈性算法,工具函數(shù)為trainrp(),仿真曲線如圖4所示。圖4 彈性算法仿真曲線此時,訓(xùn)練時間為0s,訓(xùn)練次數(shù)為12次。5. BFGS擬牛頓法,工具函數(shù)為trainbfg(),仿真曲線如圖5所示。圖5 BFGS擬牛頓法仿真曲線此時,訓(xùn)練時間為0s,訓(xùn)練次數(shù)為5次。6. Levenberg-Marquardt法,工具函數(shù)為trainlm仿真曲線如圖5所示。圖5 Levenberg-

7、Marquardt法仿真曲線此時,訓(xùn)練時間為0s,訓(xùn)練次數(shù)為1次。4.結(jié)論將以上各種BP算法的結(jié)果統(tǒng)計如1所示。表1 各種BP算法的結(jié)果統(tǒng)計學(xué)習(xí)算法訓(xùn)練時間(單位:秒)訓(xùn)練次數(shù)(精度要求0.05)基本BP算法(traingd)122092附加動量法(traingdm)112082自適應(yīng)調(diào)整參數(shù)法(traingda)0102彈性算法(trainrp)012BFGS擬牛頓法(trainbfg)05Levenberg-Marquardt法(trainlm)01由表可知,改進(jìn)的BP算法都優(yōu)于基本BP算法,而優(yōu)劣順序為Levenberg-Marquardt法、BFGS擬牛頓法、彈性算法、自適應(yīng)調(diào)整參數(shù)法

8、、附加動量法、基本BP算法,在實際的問題中,應(yīng)根據(jù)具體要求選擇適當(dāng)?shù)乃惴ā?.程序clcclear%此函數(shù)的曲線圖,教師信號%P=8*(rand(1,100)-0.5);N=20;for i=1:N train_P(i)=P(i); train_P(i+60)=P(i+60);%取樣本中60個數(shù)作為訓(xùn)練集 test_P(i)=P(i+60);%取樣本中20個數(shù)作為測試集 valid_P(i)=P(i+80);%剩下的20個數(shù)作為驗證集endp0=sort(train_P);T0=1.1*(1-p0+2.*p0.2).*exp(-p0.2)./2); p1=sort(test_P);T1=1.1

9、*(1-p1+2.*p1.2).*exp(-p1.2)./2); p2=sort(valid_P);T2=1.1*(1-p2+2.*p2.2).*exp(-p2.2)./2); %歸一化%Pn0,minp0,maxp0,Tn0,mint0,maxt0=premnmx(p0,T0);Pn1,minp1,maxp1,Tn1,mint1,maxt1=premnmx(p1,T1);Pn2,minp2,maxp2,Tn2,mint2,maxt2=premnmx(p2,T2); %網(wǎng)絡(luò)的建立,目的實現(xiàn)非線性逼近% net = newff(-1,1, 10,1, 'logsig' 'purelin', 'Traingd');%10個中間隱層的BP訓(xùn)練 %神經(jīng)網(wǎng)絡(luò)工具箱參數(shù)設(shè)置%net.trainParam.epochs = 20000;net.trainParam.goal = 0.05;net.trainParam.show=50;net.trainParam.time=50;net.trainParam.lr=0.003; %開始訓(xùn)練%net = train(net,Pn0,Tn0);%畫圖%曲線擬合圖%y1 = sim(net,Pn0);

溫馨提示

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

評論

0/150

提交評論