資源描述:
《BP神經(jīng)網(wǎng)絡(luò)代碼解析.doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、問題重述:現(xiàn)有10個(gè)氣象觀測(cè)點(diǎn),經(jīng)分析發(fā)現(xiàn)有些觀測(cè)點(diǎn)的降雨量數(shù)據(jù)和其他的觀測(cè)點(diǎn)數(shù)據(jù)具有緊密聯(lián)系,故這些觀測(cè)點(diǎn)可取消。經(jīng)SPSS統(tǒng)計(jì)分析可得出,第3,6,7觀測(cè)點(diǎn)的數(shù)據(jù)可由其他七個(gè)觀測(cè)點(diǎn)推出。現(xiàn)通過七個(gè)觀測(cè)點(diǎn)的30年降雨量數(shù)據(jù),和實(shí)際3,6,7的30年數(shù)據(jù),建立神經(jīng)網(wǎng)絡(luò)模型。然后再利用輸入值和網(wǎng)絡(luò)給出預(yù)測(cè)值。代碼解析:clearclcA=[6004886166886486487285926885206646166087525606246489127684569127281000656624768824688744624;464384520440336
2、184624440464384408512424504552384432496416320552440352368480304552584416520;448416488352496512432624472456392280328488360488400392408432504272496448304448472584472424;648432544880552880576728424640544720536472832472736440720616600848776720496560472432504672;2324484964324483125
3、04472440416576256296584456544624248472272576616496320368176360376320544;488512432552456664640464336592688576552704656480344536432648744720664608504680512568576336;544448592440544440424440368432496528336480464672504416408560512440432392560480576440368584];B3=[584520616520496312
4、728528624376424552464584632496496592496472616480448480600384672680480680];B6=[176432504376448384480624544432552272344648464552752256188320544576568440352232424416432536];B7=[328536536456552344568568600504576360312680536576720304624312688680544408456288408392328632];B=[B3;B6;B7
5、];%bp神經(jīng)模擬[pn,minp,maxp,tn,mint,maxt]=premnmx(A,B);%對(duì)于輸入矩陣A和輸出矩陣B進(jìn)行歸一化處理??大致意思是將A和B歸一到-1和1之間,分別放入矩陣pn和tn中,具體用法待查dx=[-1,1;-1,1;-1,1;-1,1;-1,1;-1,1;-1,1];%歸一化處理后最小值為-1,最大值為1指的是輸入向量的R成分R*Q1matrixofQ1sampleR-elementinputvectors??因?yàn)檩斎氲腁有七行,所以這里有七行-1,1net=newff(dx,[7,10,3],{'tansig',
6、'tansig','purelin'},'traingd');%建立模型,并采用基本梯度下降法訓(xùn)練.訓(xùn)練網(wǎng)絡(luò)結(jié)構(gòu)的建立,如下圖。第二個(gè)參數(shù)表示隱含層的每層的節(jié)點(diǎn)個(gè)數(shù)(Sizeofithlayer,forN-1layers)??輸出矩陣的大小由B決定所以不用指定。注意第三個(gè)參數(shù){'tansig','tansig','purelin'}是三個(gè)隱含層傳遞函數(shù)的類型,分別為兩個(gè)S型正切和一個(gè)線性,第四個(gè)參數(shù)是反饋的函數(shù)類型,此處為“梯度下降法的BP算法訓(xùn)練函數(shù)”。另外performancefunction默認(rèn)是“均方誤差MSE:meansquarederr
7、or”,本參數(shù)沒有給出。net.trainParam.show=100;%100輪回顯示一次結(jié)果net.trainParam.Lr=0.05;%學(xué)習(xí)速度為0.05net.trainParam.epochs=;%最大訓(xùn)練輪回為次net.trainParam.goal=1e-4;%均方誤差為0.0001net=train(net,pn,tn);%開始訓(xùn)練,其中pn,tn分別為輸入輸出樣本%訓(xùn)練時(shí)應(yīng)該用歸一化之后的數(shù)據(jù)an=sim(net,pn);%用訓(xùn)練好的模型進(jìn)行仿真sim是仿真命令,具體用法待查a=postmnmx(an,mint,maxt);%訓(xùn)
8、練結(jié)束后還應(yīng)對(duì)網(wǎng)絡(luò)的輸出an=sim(net,pn)作如下處理這個(gè)地方寫的有點(diǎn)亂。an指的不是輸入,而是指利用了歸一化后的