日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

BP 神经网络的非线性系统建模——非线性函数拟合

發布時間:2023/12/20 windows 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BP 神经网络的非线性系统建模——非线性函数拟合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

BP 神經網絡的非線性系統建模——非線性函數擬合

  • BP 神經網絡構建根據擬合非線性函數特點確定BP 神經網絡結構,由于本次非線性函數有兩個輸入參數,一個輸出參數,所以BP 神經網絡結構為2-5-1,即輸入層有2 個節點,隱含層有5 個節點,輸出層有1 個節點。BP 神經網絡訓練用非線性函數輸入輸出數據訓練神經網絡,使訓練后的網絡能夠預測非線性函數輸出。從非線性函數中隨機得到2000 組輸入輸出數據,從中隨機選擇1900 組作為訓練數據,用于網絡訓練,100 組作為測試數據,用于測試網絡的擬合性能。

  • BP 神經網絡主要用到newff、sim 和train3 個神經網絡函數,

  • newff: BP神經網絡參數設置函數

    函數功能:構建一個BP 神經網絡。 函數形式: net = newff (T ,S, TF ,BTF ,BLF,PF ,IPF ,OPF, DDF) P : 輸入數據矩陣。 T :輸出數據矩陣。 S:隱含層節點數. TF :節點傳遞函數,包括硬限幅傳遞函數hardlim 、對稱硬限幅傳遞函數hardlims 、線性傳遞函數pureI in 、正切S 型傳遞函數tansig 、對數S 型傳遞函數logsig. BTF : 訓練函數,包括梯度下降BP算法訓練函數traingd 、動量反傳的梯度下降BP算法訓練函數traingdm 、動態自適應學習率的梯度下降BP 算法訓練函數trai ngda、動量反傳和動態自適應學習率的梯度下降BP 算法訓練函數traingd x 、l,evenberg_ Marquardt 的BP 算法訓練函數trainlm 。 BLF : 網絡學習函數,包括BP 學習規則learngd 、帶動量項的BP 學習規則learngdm 。 PF :性能分析函數, 包括均值絕對誤差性能分析函數mae、均方差性能分析函數rose. IPF : 輸入處理函數。 OPF , 輸出處理函數。 DDF :驗證數據劃分函數. 一般在使用過程中設置前面6 個參數,后面4 個參數采用系統默認參數。

    train :BP神經網絡訓練函數

    函數功能:用訓練數據訓練BP 神經網絡. 函數形式: 〔net,tr ] = train(N ET,X,T,Pi,Ai) NET : 待訓練網絡. X :輸入數據矩陣。 T:輸出數據矩陣。 Pi : 初始化輸入層條件。 Ai :初始化輸出層條件。 net : 訓練好的網絡。 tr : 訓練過程記錄。 一般在使用過程中設置前面3 個參數,后面2 個參數采用系統默認參數。

    sim : BP神經網絡預測函數

    函數功能:用訓練好的BP 神經網絡預測函數輸出。 函數形式: y=sim(net, x) net :訓練好的網絡. X :輸入數據。 Y : 網絡預測數據。
  • 程序實現
  • %% 該代碼為基于BP神經網絡的預測算法 %% 清空環境變量 clc clear%% 訓練數據預測數據提取及歸一化 %下載輸入輸出數據 load data input output%從1到2000間隨機排序 k=rand(1,2000); [m,n]=sort(k);%找出訓練數據和預測數據 input_train=input(n(1:1900),:)'; output_train=output(n(1:1900)); input_test=input(n(1901:2000),:)'; output_test=output(n(1901:2000));%選連樣本輸入輸出數據歸一化 [inputn,inputps]=mapminmax(input_train); [outputn,outputps]=mapminmax(output_train);%% BP網絡訓練 % %初始化網絡結構 net=newff(inputn,outputn,5);net.trainParam.epochs=100; net.trainParam.lr=0.1; net.trainParam.goal=0.00004;%網絡訓練 net=train(net,inputn,outputn);%% BP網絡預測 %預測數據歸一化 inputn_test=mapminmax('apply',input_test,inputps);%網絡預測輸出 an=sim(net,inputn_test);%網絡輸出反歸一化 BPoutput=mapminmax('reverse',an,outputps);%% 結果分析figure(1) plot(BPoutput,':og') hold on plot(output_test,'-*'); legend('預測輸出','期望輸出') title('BP網絡預測輸出','fontsize',12) ylabel('函數輸出','fontsize',12) xlabel('樣本','fontsize',12) %預測誤差 error=BPoutput-output_test;figure(2) plot(error,'-*') title('BP網絡預測誤差','fontsize',12) ylabel('誤差','fontsize',12) xlabel('樣本','fontsize',12)figure(3) plot((output_test-BPoutput)./BPoutput,'-*'); title('神經網絡預測誤差百分比') errorsum=sum(abs(error));
  • 點擊(免費)代碼中需要的數據data
  • 運行結果
  • 總結

    以上是生活随笔為你收集整理的BP 神经网络的非线性系统建模——非线性函数拟合的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。