Grnn神經(jīng)網(wǎng)絡(luò)實現(xiàn)程序(基于Matlab)_第1頁
Grnn神經(jīng)網(wǎng)絡(luò)實現(xiàn)程序(基于Matlab)_第2頁
Grnn神經(jīng)網(wǎng)絡(luò)實現(xiàn)程序(基于Matlab)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)專心-專注-專業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專心-專注-專業(yè)% 注本程序代碼主體部分引自MATLAB神經(jīng)網(wǎng)絡(luò)30個案例分析% 為大家使用方便,本人在文件讀入和輸出部分做了修改,同時對關(guān)鍵語句進(jìn)行了注釋% 清空環(huán)境變量clc;clear allclose allnntwarn off;% 載入數(shù)據(jù)%建模數(shù)據(jù)_訓(xùn)練樣本load D:NNSin.txt load D:NNSout.txt%檢驗數(shù)據(jù)_測試樣本load D:NNStestin.txtload D:NNStestout.txt% 載入數(shù)據(jù)并將數(shù)據(jù)分成訓(xùn)練和預(yù)測兩類p_tra

2、in=in;t_train=out;p_test=testin;t_test=testout;% 交叉驗證desired_spread=;mse_max=10e20;desired_input=;desired_output=;result_perfp=;indices = crossvalind(Kfold,length(p_train),4);%交叉驗證函數(shù),這里的4表示4折,即將length(p_train)個樣本分成4組。h = waitbar(0,正在尋找最優(yōu)化參數(shù).) %進(jìn)度條,h為句柄k=1;for i = 1:4 %這里4是將元數(shù)據(jù)分為4份,其中3/4用來訓(xùn)練,1/4用來檢驗

3、perfp=; disp(以下為第,num2str(i),次交叉驗證結(jié)果) %disp:顯示函數(shù),num2srt:數(shù)字轉(zhuǎn)字符 test = (indices = i); train = test; %為test及train賦值,注意這里的test及train均為邏輯值 p_cv_train=p_train(train,:); %通過邏輯值實現(xiàn)數(shù)據(jù)調(diào)取,從建模數(shù)據(jù)中選取 t_cv_train=t_train(train,:); %通過邏輯值實現(xiàn)數(shù)據(jù)調(diào)取,從建模數(shù)據(jù)中選取 p_cv_test=p_train(test,:); %通過邏輯值實現(xiàn)數(shù)據(jù)調(diào)取,從建模數(shù)據(jù)中選取 t_cv_test=t_tr

4、ain(test,:); %通過邏輯值實現(xiàn)數(shù)據(jù)調(diào)取,從建模數(shù)據(jù)中選取 p_cv_train=p_cv_train; %轉(zhuǎn)置 t_cv_train=t_cv_train; %轉(zhuǎn)置 p_cv_test= p_cv_test; %轉(zhuǎn)置 t_cv_test= t_cv_test; %轉(zhuǎn)置 p_cv_train,minp,maxp,t_cv_train,mint,maxt=premnmx(p_cv_train,t_cv_train); %premnmx():將網(wǎng)絡(luò)的輸入數(shù)據(jù)或輸出數(shù)據(jù)進(jìn)行歸一化,歸一化后的數(shù)據(jù)將分布在-1,1區(qū)間內(nèi)。 p_cv_test=tramnmx(p_cv_test,minp,ma

5、xp); %tramnmx():使網(wǎng)絡(luò)所用的新數(shù)據(jù)和樣本數(shù)據(jù)接受相同的預(yù)處理。 for spread=0.1:0.1:2; net=newgrnn(p_cv_train,t_cv_train,spread); waitbar(k/80,h); disp(當(dāng)前spread值為, num2str(spread); test_Out=sim(net,p_cv_test); test_Out=postmnmx(test_Out,mint,maxt); %postmnmx()依照預(yù)處理的最大值最小值反向歸一化。 error=t_cv_test-test_Out; disp(當(dāng)前網(wǎng)絡(luò)的mse為,num2s

6、tr(mse(error) %mse()為均方函數(shù)。 perfp=perfp mse(error); if mse(error)mse_max mse_max=mse(error); desired_spread=spread; desired_input=p_cv_train; desired_output=t_cv_train; end k=k+1; end result_perfp(i,:)=perfp;end;close(h)disp(最佳spread值為,num2str(desired_spread)disp(此時最佳輸入值為)desired_input;disp(此時最佳輸出值為)

7、desired_output;% 采用最佳方法建立GRNN網(wǎng)絡(luò)net=newgrnn(desired_input,desired_output,desired_spread);p_test=p_test;p_test=tramnmx(p_test,minp,maxp); %依照預(yù)定最大值及最小值進(jìn)行歸一化。grnn_prediction_result=sim(net,p_test); %利用已經(jīng)建立的網(wǎng)絡(luò)模型進(jìn)行預(yù)測。grnn_prediction_result=postmnmx(grnn_prediction_result,mint,maxt); grnn_prediction_result

8、 = grnn_prediction_result; %轉(zhuǎn)置預(yù)測結(jié)果。grnn_error=t_test-grnn_prediction_result; %模擬與實測誤差。disp(GRNN神經(jīng)網(wǎng)絡(luò)三項流量預(yù)測的誤差為,num2str(mse(grnn_error)% 預(yù)測結(jié)果導(dǎo)出模塊save D:OUTgrnn_desired_input.txt desired_input -ascii; %導(dǎo)出優(yōu)化建模數(shù)據(jù)-輸入save D:OUTgrnn_desired_output.txt desired_output -ascii; %導(dǎo)出優(yōu)化建模數(shù)據(jù)-輸出save D:OUTgrnn_ p_test.txt p_test -ascii; %導(dǎo)出預(yù)測輸入數(shù)據(jù)% 可對比sa

溫馨提示

  • 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

提交評論