版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
前饋神經(jīng)網(wǎng)絡(luò)續(xù)第1頁/共68頁按表中數(shù)據(jù)開始進(jìn)行學(xué)習(xí):第2頁/共68頁第3頁/共68頁由于則W1i=w1i(0)=[0.20.30.40.5]T第4頁/共68頁第5頁/共68頁對(duì)y6d6進(jìn)行精度判斷,未達(dá)精度要求繼續(xù)誤差反傳訓(xùn)練。按表中數(shù)據(jù)依次訓(xùn)練學(xué)習(xí),學(xué)習(xí)次數(shù)足夠高時(shí),可能達(dá)到學(xué)習(xí)目的,實(shí)現(xiàn)權(quán)值成熟,實(shí)現(xiàn)X到Y(jié)的映射精度。2000次學(xué)習(xí)訓(xùn)練18000此學(xué)習(xí)訓(xùn)練一般網(wǎng)絡(luò)學(xué)習(xí)訓(xùn)練次數(shù)很高,采用手工計(jì)算是不可能的,需要用計(jì)算機(jī)程序求解。第6頁/共68頁3.4.3BP算法的程序?qū)崿F(xiàn)前面推導(dǎo)的BP網(wǎng)絡(luò)算法是BP算法基礎(chǔ),稱標(biāo)準(zhǔn)BP算法。目前神經(jīng)網(wǎng)絡(luò)的實(shí)現(xiàn)仍以軟件編程為主?,F(xiàn)仍以前述三層BP網(wǎng)絡(luò)為例,說明標(biāo)準(zhǔn)BP算法的編程步驟:輸入向量X:X=[x1x2….xi….xn]T輸出層輸出向量O
:隱層權(quán)值矩陣V:
隱層第j個(gè)神經(jīng)元的權(quán)列向量——;輸出層間權(quán)值矩陣W:
輸出層第k個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)列向量
——
;網(wǎng)絡(luò)期望輸出向量:d=第7頁/共68頁標(biāo)準(zhǔn)BP算法的程序?qū)崿F(xiàn)網(wǎng)絡(luò)正向傳播階段誤差反向傳播階段(以本節(jié)三層BP網(wǎng)絡(luò)為例)第8頁/共68頁目前實(shí)際應(yīng)用中有兩種權(quán)值調(diào)整方法。上述標(biāo)準(zhǔn)BP算法中,每輸入一個(gè)樣本,都要回傳誤差并調(diào)整權(quán)值,亦稱單樣本訓(xùn)練,只針對(duì)每個(gè)樣本產(chǎn)生的誤差進(jìn)行調(diào)整,難免顧此失彼,實(shí)踐表明,使整個(gè)訓(xùn)練次數(shù)增加,導(dǎo)致收斂速度過慢。另一種方法是在所有樣本輸入后,計(jì)算網(wǎng)絡(luò)的總誤差E總:E總=
然后根據(jù)總誤差E總計(jì)算各層的誤差信號(hào)并調(diào)整權(quán)值,這種累積誤差的批處理方式稱為批(Batch)訓(xùn)練或周期(epoch)訓(xùn)練。批訓(xùn)練遵循了以減小全局誤差為目標(biāo)的原則,因而可以保證誤差向減小方向變化。在樣本數(shù)較多時(shí),批訓(xùn)練比單樣本訓(xùn)練時(shí)的收斂速度快。檢查訓(xùn)練精度可用E=
E總,也可用ERME:EP—不同樣本的訓(xùn)練誤差(共有P對(duì)樣本)第9頁/共68頁批訓(xùn)練BP算法流程第10頁/共68頁
程序可用一般高級(jí)語言編寫,如C等,但考慮方便,最好采用MATLAB語言,特別是MATLAB環(huán)境中開發(fā)了工具箱(Toolboxes),其中神經(jīng)網(wǎng)絡(luò)開發(fā)工具(NeuralNetwork)提供很豐富的手段來完成BP等ANN設(shè)計(jì)與分析.
NeuralNetwork中提供了網(wǎng)絡(luò)初始化函數(shù)用語構(gòu)建基本網(wǎng)絡(luò),可自動(dòng)生成權(quán)值,提供各種轉(zhuǎn)移函數(shù),提供各種訓(xùn)練或?qū)W習(xí)方法與手段,并實(shí)現(xiàn)仿真運(yùn)算,監(jiān)視網(wǎng)絡(luò)訓(xùn)練誤差等.BP網(wǎng)絡(luò)的訓(xùn)練,可概括歸納為輸入已知數(shù)據(jù),權(quán)值初始化,訓(xùn)練網(wǎng)絡(luò)三大步
.
用神經(jīng)網(wǎng)絡(luò)工具箱訓(xùn)練BP網(wǎng)絡(luò),權(quán)值初始化和訓(xùn)練網(wǎng)絡(luò)都可調(diào)用BP網(wǎng)絡(luò)的相應(yīng)工具函數(shù)。調(diào)用時(shí),用戶只需要將這些工具函數(shù)視為黑箱,知道輸入什么得到什么即可,不必考慮工具函數(shù)內(nèi)部究竟如何。第11頁/共68頁函數(shù)功能newff創(chuàng)建一前饋BP網(wǎng)絡(luò)(網(wǎng)絡(luò)初始化函數(shù))Initff前饋網(wǎng)絡(luò)初始化(不超3層初始化函數(shù))purelin線性傳遞(轉(zhuǎn)移)函數(shù)tansig正切S型傳遞函數(shù)(雙極性S函數(shù))logsig對(duì)數(shù)正切S型傳遞函數(shù)(單極性S函數(shù))deltalinpurelin神經(jīng)元的δ函數(shù)deltatantansig神經(jīng)元的δ函數(shù)deltaloglogsig神經(jīng)元的δ函數(shù)BP網(wǎng)絡(luò)的一些重要函數(shù)和功能(與版本有關(guān))第12頁/共68頁函數(shù)功能trainbpBP算法訓(xùn)練函數(shù)(標(biāo)準(zhǔn))trainbpx快速BP算法訓(xùn)練函數(shù)trainlmLevenberg-Marquardt訓(xùn)練函數(shù)traingd梯度下降訓(xùn)練函數(shù)traingdm梯度下降、動(dòng)量訓(xùn)練函數(shù)traingda梯度下降、自適應(yīng)學(xué)習(xí)率訓(xùn)練函數(shù)traingdx梯度下降、動(dòng)量和自適應(yīng)學(xué)習(xí)訓(xùn)練函數(shù)simuff前饋網(wǎng)絡(luò)仿真函數(shù)(網(wǎng)絡(luò)計(jì)算和測試網(wǎng)絡(luò))errsurf計(jì)算誤差曲面函數(shù)plotes繪制誤差曲面函數(shù)ploterr繪制網(wǎng)絡(luò)誤差相對(duì)訓(xùn)練步曲線第13頁/共68頁基本神經(jīng)元模型
傳遞函數(shù)(轉(zhuǎn)移函數(shù))線性傳遞函數(shù)purelin(s)
即y=s;對(duì)數(shù)S型傳遞函數(shù)logsig(s)即y=1/(1+e-s);雙曲正切S型傳遞函數(shù)tansig(s)即=tansigs)即y=(1-e-s)/(1+e-s)曲線。第14頁/共68頁初始化函數(shù)initff
,可獲得至多三層的前饋網(wǎng)絡(luò)各層的初始權(quán)值和閾值。
函數(shù)的形式參數(shù)中,X為輸入矢量;n1、n2,n3分別為第1,2,3層的神經(jīng)元數(shù)目;f1、f2、f3分別為第1,2,3層神經(jīng)元的傳遞函數(shù);W1、W2、W3分別為第1,2,3層的權(quán)值矩陣;b1,b2,b3分別為第1,2,3層的神經(jīng)元偏置(閾值)。在輸入矢量X的數(shù)據(jù)時(shí),應(yīng)該包含所有輸入值中的最大和最小值,這樣才能保證經(jīng)過initff處理后得到最佳的初始值。第15頁/共68頁例如:有一雙層網(wǎng)絡(luò),有兩個(gè)輸入,定義了其最大和最小值,
X=[0,10;-5,5]。第1層(即隱層)神經(jīng)元數(shù)和傳遞函數(shù)分別是n1=4,f1=tansig,第2層(即輸出層)的n2=3,f2=purelin,調(diào)用格式:[W1,b1,W2,b2]=initff([0,10;-5,5],4,'tansig',3,'purelin')第16頁/共68頁訓(xùn)練函數(shù)
神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程包括信號(hào)正向傳播和誤差反向傳播。正向傳播時(shí),根據(jù)輸人的矢量獲得輸出矢量;誤差反向傳遞時(shí),根據(jù)誤差信號(hào)修改權(quán)值及閾值。這種過程不斷迭代,最后當(dāng)信號(hào)誤差達(dá)到允許的范圍時(shí),訓(xùn)練結(jié)束。這時(shí)獲得一個(gè)反映網(wǎng)絡(luò)輸入輸出關(guān)系的各層權(quán)值和閾值。這部分工作由訓(xùn)練函數(shù)來完成。(1)利用BP算法的練函數(shù)trainbp調(diào)用格式:函數(shù)的形式參數(shù)中,te為實(shí)際訓(xùn)練次數(shù),tr為訓(xùn)練誤差平方和的行矢量,tp為訓(xùn)練參數(shù),其作用是調(diào)整訓(xùn)練過程的幾個(gè)控制參數(shù),tp=[tp(1),tp(2),tp(3),tp(4)],其中:第17頁/共68頁
tp(1)—學(xué)習(xí)過程顯示的間隔次數(shù),缺省值為25;tp(2)—最大訓(xùn)練次數(shù),缺省值為1000;tp(3)—目標(biāo)誤差,缺省值為0.02;tp(4)—學(xué)習(xí)速率,缺省值為0.01
當(dāng)tp不賦值時(shí),就用缺省值。
一旦訓(xùn)練達(dá)到最大的訓(xùn)練次數(shù),或誤差平方和降到期望誤差之下時(shí),網(wǎng)絡(luò)都會(huì)停止訓(xùn)練。學(xué)習(xí)速率影響權(quán)值與閾值更新的比例,較小的值使學(xué)習(xí)速度減慢,但可有效避免振蕩。(2)利用快速BP算法的訓(xùn)練函數(shù)trainbpx
采用標(biāo)準(zhǔn)BP的缺點(diǎn)是收斂太慢,因此實(shí)際中出現(xiàn)了很多的改進(jìn)算法。trainbpx采用動(dòng)量法和學(xué)習(xí)率自適應(yīng)調(diào)整兩種策略,從而提高了學(xué)習(xí)速度,并增加了算法的可靠性。所謂動(dòng)量法就是將上一次權(quán)值調(diào)整量的一部分,疊加到按本次誤差計(jì)算所得的權(quán)值調(diào)整量上,作為本次權(quán)值實(shí)際調(diào)整量,這樣做能防止陷人局部極小。而學(xué)習(xí)率自適應(yīng)調(diào)整就是根據(jù)情況來調(diào)整學(xué)習(xí)率的大小,而不是自始至終采用一個(gè)相同的學(xué)習(xí)率。一般地,在學(xué)習(xí)收斂情況下,增大學(xué)習(xí)率;當(dāng)全局誤差不能下降時(shí),減小學(xué)習(xí)率,這樣可防止振蕩。第18頁/共68頁trainbpx的調(diào)用格式與trainbp完全相同,這里不再重復(fù)。只是訓(xùn)練參數(shù)tp和輸入形式參數(shù)tr有不同的內(nèi)容。tp=[tp(1),tp(2),tp(3),tp(4),tp(5),tp(6),tp(7),tp(8)].具體如下:tp(1)—tp(4)與trainbp中定義的tp(1)-tp(4)相同;tp(5)—學(xué)習(xí)率增加比率,缺省為1.05;tp(6)—學(xué)習(xí)率減少比率,缺省為0.7;tp(7)—?jiǎng)恿肯禂?shù),缺省為0.9;tp(8)—最大誤差比率,缺省為1.04.tr為矩陣,第一行代表最終訓(xùn)練誤差,第二行為相應(yīng)的自適應(yīng)學(xué)習(xí)率。
此外,利用Levenberg-Marquardt算法的訓(xùn)練函數(shù)trainlm也是改進(jìn)標(biāo)準(zhǔn)BP算法的另一個(gè)措施是采用有效的優(yōu)化方法。trainlm使用了L-M算法,使網(wǎng)絡(luò)學(xué)習(xí)速度比trainbp快得多,但需要更多的內(nèi)存。
trainlm的調(diào)用格式與trainbp或trainbpx相同,但其中的訓(xùn)練參數(shù)有不同的內(nèi)容。第19頁/共68頁仿真函數(shù)仿真函數(shù)就是進(jìn)行正向傳播。訓(xùn)練函數(shù)包括信號(hào)正向傳播和誤差反向傳播,因而訓(xùn)練函數(shù)中要調(diào)用仿真函數(shù)進(jìn)行信號(hào)正向傳播計(jì)算。此外,神經(jīng)網(wǎng)絡(luò)訓(xùn)練完畢后,要考察其泛化能力,即對(duì)非訓(xùn)練樣本仍能給出正確輸入輸出關(guān)系的能力,也要調(diào)用仿真函數(shù)計(jì)算測試樣本的輸出值。第20頁/共68頁BP網(wǎng)絡(luò)非線性映射程序設(shè)計(jì)例題XY123456P(輸入信號(hào))T(教師信號(hào))…P(輸入信號(hào))T(教師信號(hào))0.00000.5000…3.00000.0000……………1.00001.0000…4.00000.5000單隱層1-4-1BP網(wǎng)絡(luò)按圖中曲線確定學(xué)習(xí)數(shù)據(jù)如下表(每0.05取一學(xué)習(xí)數(shù)據(jù),共80個(gè))第21頁/共68頁程序1p=0:0.1:4;t=[0.5:0.05:1,0.95:-0.05:0.5,0.45:-0.05:0,0.05:0.05:0.5];pauseplot(p,t)[r,q]=size(p);%由輸入向量p提取矩陣行r與列q[s2,q]=size(t);%由目標(biāo)向量t提取矩陣行s2與列qs1=4;%設(shè)定隱節(jié)點(diǎn)[w1,b1]=rands(s1,r);%第一層權(quán)/閾值初始化[w2,b2]=rands(s2,s1);%第二層權(quán)/閾值初始化a2=purelin(w2*tansig(w1*p,b1),b2)disp_fqre=10;max_epoch=18000;err_goal=0.01;lr=0.01;tp=[disp_fqre,max_epoch,err_goal,lr];%定義訓(xùn)練參數(shù)tp[w1,b1,w2,b2,epochs,errors]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp)w1w2pauseploterr(errors)設(shè)置數(shù)據(jù)顯示刷新頻率,學(xué)習(xí)10次刷新一次圖象;設(shè)置訓(xùn)練次數(shù)18000;設(shè)置訓(xùn)練誤差值0.01;設(shè)置學(xué)習(xí)率0.01。第22頁/共68頁2000次循環(huán)訓(xùn)練結(jié)果第23頁/共68頁w1=1.09120.6403-1.46170.8554w2=-1.0060-0.1283-1.2641-0.6204第24頁/共68頁18000次循環(huán)訓(xùn)練結(jié)果
(并沒有達(dá)到訓(xùn)練精度)第25頁/共68頁w1=-0.69170.7077-1.05850.7450w2=-0.49490.49750.91290.7644第26頁/共68頁增加隱層節(jié)點(diǎn)到8,即S1=8第27頁/共68頁w1=0.4630-0.4875-0.98670.1622-0.0391-0.50431.13800.1147w2=0.3094-0.3706-1.01220.0502-0.0059-0.4131-0.95190.0377第28頁/共68頁改變學(xué)習(xí)訓(xùn)練方法,采用TRAINLM訓(xùn)練61次循環(huán)訓(xùn)練第29頁/共68頁w1=-3.9821-1.24210.4084-3.2086w2=0.9451-1.4889-3.0491-1.3744雖然效果改善較大但仍然未實(shí)現(xiàn)訓(xùn)練精度要求.第30頁/共68頁P(yáng)=0:0.05:4;%設(shè)置輸入樣本T=[0.5:0.025:10.975:-0.025:00.025:0.025:0.5];%期望輸出值%目標(biāo)擬合曲線plot(P,T)pause%生成1-4-1BP網(wǎng)絡(luò)net=newff(minmax(P),[41],{'logsig''purelin'},'trainlm');%設(shè)置第一第二層權(quán)值net.IW{1}=[0.2;0.3;0.4;0.5];net.LW{2}=[0.50.20.10.4];%設(shè)置第一層第二層閾值均為零net.b{1}=net.b{1}*0;net.b{2}=net.b{2}*0;%網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)置net.trainparam.goal=0.0001;%設(shè)置訓(xùn)練誤差值net.trainparam.show=50;%設(shè)置數(shù)據(jù)顯示刷新頻率,學(xué)習(xí)50次刷新一次圖象net.trainparam.epochs=1000;%設(shè)置訓(xùn)練次數(shù)[net,tr]=train(net,P,T);%進(jìn)行網(wǎng)絡(luò)訓(xùn)練Y=sim(net,P);%進(jìn)行仿真運(yùn)算pauseplot(P,T,P,Y,'r')net.IW{1}%輸出第一層權(quán)值net.LW{2}%輸出第二層權(quán)值程序2第31頁/共68頁第32頁/共68頁579次學(xué)習(xí)訓(xùn)練結(jié)果第33頁/共68頁第34頁/共68頁TRAINLM,Epoch250/1000,MSE0.0004573/0.0001,Gradient0.0153443/1e-010TRAINLM,Epoch300/1000,MSE0.000432378/0.0001,Gradient0.118783/1e-010TRAINLM,Epoch350/1000,MSE0.000323387/0.0001,Gradient0.0136006/1e-010TRAINLM,Epoch400/1000,MSE0.000291696/0.0001,Gradient0.00381789/1e-010TRAINLM,Epoch450/1000,MSE0.000268621/0.0001,Gradient0.0024979/1e-010TRAINLM,Epoch500/1000,MSE0.000268481/0.0001,Gradient1.94005e-006/1e-010TRAINLM,Epoch550/1000,MSE0.000268481/0.0001,Gradient8.18043e-009/1e-010TRAINLM,Epoch579/1000,MSE0.000268481/0.0001,Gradient2.45883e-010/1e-010TRAINLM,MaximumMUreached,performancegoalwasnotmet.W1=-0.7044-5.5470-13.14583.9445W2=3.3308-0.6611-0.27531.2390程序2也沒有實(shí)現(xiàn)訓(xùn)練精度!第35頁/共68頁
程序1每執(zhí)行一次會(huì)得到不同的訓(xùn)練結(jié)果,而程序2每次運(yùn)行的結(jié)果總是相同的,都學(xué)習(xí)579次,權(quán)值解也不變.為什么?
因?yàn)?程序1的權(quán)值是每次隨機(jī)生成,訓(xùn)練權(quán)值的起點(diǎn)不同,所得結(jié)果會(huì)不同.而程序2的初始權(quán)值是固定的,也就是說,從誤差曲面的起點(diǎn)是固定的,訓(xùn)練方法一定的情況下,所的的解當(dāng)然是不變的.
上述兩程序,已經(jīng)采用了不同的學(xué)習(xí)訓(xùn)練方法,但仍求不出理想效果,可以肯定的原因是:?1.再增加隱節(jié)點(diǎn)試試。2.雖然本問題看似簡單,可就曲線來看,是個(gè)不連續(xù)函數(shù),BP的單隱層映射能力是不夠的,所以應(yīng)考慮采用雙隱層試一試.第36頁/共68頁改程序2中單隱層節(jié)點(diǎn)數(shù)到10,運(yùn)行分析結(jié)果145次運(yùn)行滿足誤差要求第37頁/共68頁第38頁/共68頁TRAINLM,Epoch0/1000,MSE0.254221/0.0001,Gradient6.15588/1e-010TRAINLM,Epoch50/1000,MSE0.000189143/0.0001,Gradient0.00351132/1e-010TRAINLM,Epoch100/1000,MSE0.000123291/0.0001,Gradient0.000869917/1e-010TRAINLM,Epoch145/1000,MSE9.98042e-005/0.0001,Gradient0.000957324/1e-010TRAINLM,Performancegoalmet.第39頁/共68頁ans=-15.4332-2.35714.0804-4.1669-10.3551-8.1582-7.7554-3.5392-2.82950.7247ans=Columns1through5-5.95544.1692-7.1438-2.18813.7977Columns6through108.6896-4.24051.7616-12.50820.4546第40頁/共68頁采用雙隱層BP應(yīng)該效果好,1-4-4-1結(jié)構(gòu)P=0:0.05:4;%設(shè)置輸入樣本和期望輸出值T=[0.5:0.025:10.975:-0.025:00.025:0.025:0.5];plot(P,T)%目標(biāo)擬合曲線pause%生成1-4-4-1BP網(wǎng)絡(luò)net=newff(minmax(P),[441],{'logsig''logsig''purelin'},'trainlm');%net.IW{1}=[0.2;0.3;0.4;0.5];%設(shè)置第一、二、三層權(quán)值%net.LW{2}=[0.50.20.10.4;0.10.20.30.4;0.50.40.30.2;0.10.20.40.3];%net.LW{3,2}=[0.10.20.30.4];%net.b{1}=net.b{1}*0;%設(shè)置第一、二、三層閾值均為零%net.b{2}=net.b{2}*0;%net.b{3}=net.b{3}*0;%網(wǎng)絡(luò)訓(xùn)練參數(shù)設(shè)置net.trainparam.goal=0.0001;%設(shè)置訓(xùn)練誤差值net.trainparam.show=30;%設(shè)置數(shù)據(jù)顯示刷新頻率,學(xué)習(xí)30次刷新一次圖象net.trainparam.epochs=4000;%設(shè)置訓(xùn)練訓(xùn)練次數(shù)[net,tr]=train(net,P,T);%進(jìn)行網(wǎng)絡(luò)訓(xùn)練Y=sim(net,P);%進(jìn)行仿真運(yùn)算pauseplot(P,T,P,Y,'r')net.IW{1}%輸出第一層權(quán)值net.LW{2}%輸出第二層權(quán)值net.LW{3,2}%輸出第二層權(quán)值程序3第41頁/共68頁190循環(huán)結(jié)果第42頁/共68頁第43頁/共68頁TRAINLM,Epoch0/4000,MSE0.225544/0.0001,Gradient52.0527/1e-010TRAINLM,Epoch10/4000,MSE0.0111467/0.0001,Gradient0.131007/1e-010TRAINLM,Epoch20/4000,MSE0.00845958/0.0001,Gradient0.183184/1e-010TRAINLM,Epoch30/4000,MSE0.00460921/0.0001,Gradient5.3198/1e-010TRAINLM,Epoch40/4000,MSE0.000853839/0.0001,Gradient0.0328775/1e-010TRAINLM,Epoch50/4000,MSE0.000668871/0.0001,Gradient0.0122143/1e-010TRAINLM,Epoch60/4000,MSE0.000427319/0.0001,Gradient0.240024/1e-010TRAINLM,Epoch70/4000,MSE0.00022008/0.0001,Gradient0.108732/1e-010TRAINLM,Epoch80/4000,MSE0.000206397/0.0001,Gradient0.0509166/1e-010TRAINLM,Epoch90/4000,MSE0.000197642/0.0001,Gradient0.00333432/1e-010TRAINLM,Epoch100/4000,MSE0.000190452/0.0001,Gradient0.0187971/1e-010TRAINLM,Epoch110/4000,MSE0.000184317/0.0001,Gradient0.0170996/1e-010TRAINLM,Epoch120/4000,MSE0.000179232/0.0001,Gradient0.0118068/1e-010TRAINLM,Epoch130/4000,MSE0.000174964/0.0001,Gradient0.00824219/1e-010TRAINLM,Epoch140/4000,MSE0.000171184/0.0001,Gradient0.00620115/1e-010TRAINLM,Epoch150/4000,MSE0.000167631/0.0001,Gradient0.00521633/1e-010TRAINLM,Epoch160/4000,MSE0.00016412/0.0001,Gradient0.00461571/1e-010TRAINLM,Epoch170/4000,MSE0.00016035/0.0001,Gradient0.00357395/1e-010TRAINLM,Epoch180/4000,MSE0.000156047/0.0001,Gradient0.173464/1e-010TRAINLM,Epoch190/4000,MSE9.98687e-005/0.0001,Gradient0.0727145/1e-010TRAINLM,Performancegoalmet.第44頁/共68頁ans=-5.5897-3.58822.28512.0996ans=5.41580.6982-3.04543.0238-0.1431-0.7769-0.4346-0.27380.56650.6746-0.6566-1.24674.4087-5.7523-2.59841.4784ans=-3.7496-0.30031.9785-5.0395這是程序中固定初始權(quán)結(jié)果,如果隨機(jī)生成初始權(quán)值,進(jìn)行訓(xùn)練,可取得更好的精度,和很少的學(xué)習(xí)次數(shù)。
如,9個(gè)循環(huán)次就獲得求解。第45頁/共68頁上述就曲線尖角處感到逼近不理想,可進(jìn)一步提高精度設(shè)置,如誤差從0.0001改為0.000001,求解此程序,結(jié)果為:TRAINLM,Epoch620/4000,MSE1.08536e-006/1e-006,Gradient0.0179782/1e-010TRAINLM,Epoch626/4000,MSE9.99596e-007/1e-006,Gradient0.015447/1e-010TRAINLM,Performancegoalmet.第46頁/共68頁626次循環(huán)訓(xùn)練結(jié)果第47頁/共68頁ans=5.2726-11.09750.6000-16.8229ans=3.130011.17848.0327-0.07360.6472-1.19787.41368.1394-2.56958.3119-13.7473-0.0318-5.6989-0.3330-3.73927.5741ans=-2.05804.39492.0489-4.6011第48頁/共68頁TRAINLM,Maximumepochreached,
performancegoalwasnotmet.同樣提高精度0.000001,在單隱層10節(jié)點(diǎn)下,進(jìn)行了5000次循環(huán)也沒有達(dá)到精度。而且在500次左右以后已不能有所改善。這也說明,對(duì)不連續(xù)函數(shù),在不連續(xù)點(diǎn)附近,單隱層BP是難于勝任的。第49頁/共68頁
例設(shè)計(jì)一BP網(wǎng)絡(luò),使之完成下面圖形的非線性映射。第50頁/共68頁采集訓(xùn)練樣本集,每X=0.1為數(shù)據(jù)采集點(diǎn)(20訓(xùn)練樣本對(duì)):即,輸入矢量X=-l:0.1:1;目標(biāo)矢量T=[-.9602-0.5770.07290.37710.64050.66000.4609-0.2013-0.4344-0.5-0.39300.16470.09880.30720.39600.34490.1816-0.0312-0.2183-0.3201]。
第51頁/共68頁echoonclcpause%按任意鍵看輸入數(shù)據(jù)clc%輸入訓(xùn)練數(shù)據(jù)X=-1:0.1:1;T=[-0.9602-0.5770-0.07290.37710.64050.66000.46090.1336-0.2013-0.4344-0.5000-0.3930-0.16470.09880.30720.39600.34990.1816-0.0312-0.2189-0.3201];pauseclc%繪X-T圖plot(X,T,'+');title('Trainingvectors');xlabel('InputvectorX');ylabel('TargetvectorT');pause%看初始化及訓(xùn)練網(wǎng)絡(luò)clc%初始化網(wǎng)絡(luò)n1=5;[W1,b1,W2,b2]=initff(X,n1,'tansig',T,'purelin');采用1-5-1BP網(wǎng)絡(luò)第52頁/共68頁%訓(xùn)練網(wǎng)絡(luò)fpd=100;%學(xué)習(xí)過程顯示頻率mne=20000;%最大訓(xùn)練步數(shù)sse=0.001;%誤差平方和指標(biāo)lr=0.01;%學(xué)習(xí)率tp=[fpd,mne,sse,lr];[W1,b1,W2,b2,te,tr]=trainbp(W1,b1,'tansig',W2,b2,'purelin',X,T,tp);%te-實(shí)際訓(xùn)練步數(shù)pause%看誤差相對(duì)訓(xùn)練步數(shù)曲線clc%看誤差和相對(duì)訓(xùn)練步數(shù)曲線圖ploterr(tr,sse);pause%按任意鍵看函數(shù)逼近c(diǎn)lc%函數(shù)逼近x=0.5;%訓(xùn)練樣本的一個(gè)輸入t=0.3960;%訓(xùn)練樣本的對(duì)應(yīng)目標(biāo)y=simuff(x,W1,b1,'tansig',W2,b2,'purelin');err=y-t%檢查網(wǎng)絡(luò)對(duì)訓(xùn)練樣本的逼近誤差echooff第53頁/共68頁TRAINBP:10/20000epochs,SSE=2.5635.e
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度牛奶質(zhì)量安全追溯體系建設(shè)合同4篇
- 2025年度農(nóng)產(chǎn)品質(zhì)量追溯體系建設(shè)合同3篇
- 2025版新能源項(xiàng)目民工權(quán)益保障合同4篇
- 港口小學(xué)2025版炊事員勞動(dòng)合同續(xù)簽及更新協(xié)議3篇
- 2025年度農(nóng)用車租賃與農(nóng)業(yè)技術(shù)研發(fā)合作合同4篇
- 2025年度智能門窗安裝與售后服務(wù)合同4篇
- 2025年度擴(kuò)大勞務(wù)合同范本:核能產(chǎn)業(yè)勞務(wù)輸出協(xié)議3篇
- 2025年度心理咨詢與治療個(gè)人勞務(wù)合同書2篇
- 南昌市二零二五年度租賃合同范本:公寓租賃規(guī)范版2篇
- 2025版企業(yè)年會(huì)場地租賃合同范本8篇
- 《企業(yè)人力資源管理師考試用書考試通過必備一級(jí)》
- 2023年高考英語考前必練-非謂語動(dòng)詞(含近三年真題及解析)
- 風(fēng)電工程需要編寫的專項(xiàng)施工方案及危大工程目錄
- 商業(yè)計(jì)劃書(BP)財(cái)務(wù)計(jì)劃風(fēng)險(xiǎn)控制資本退出與附錄的撰寫秘籍
- 全國職工拔河比賽執(zhí)行方案
- 冶金廠、軋鋼廠工藝流程圖
- 七年級(jí)下冊《Reading 1 A brave young man》優(yōu)質(zhì)課教案牛津譯林版-七年級(jí)英語教案
- 中國人婚戀狀況調(diào)查報(bào)告公布
- 《木蘭詩》第1第2課時(shí)示范公開課教學(xué)PPT課件【統(tǒng)編人教版七年級(jí)語文下冊】
- GB/T 11144-2007潤滑液極壓性能測定法梯姆肯法
- 國家開發(fā)銀行
評(píng)論
0/150
提交評(píng)論