資源簡介
利用BP神經網絡逼近非線性函數(不使用網絡工具箱),可自行修改節點數,學習率等參數。
代碼片段和文件信息
%使用BP神經網絡來對函數:y=nonlinear_func(x1x2)進行逼近
clc;?%清屏??
close?all;?%關閉已打開的所有視圖窗口
clear?all;?%清除工作空間中的所有變量
%首先,在[01]中隨機生成1000個BP神經網絡的訓練樣本
%并將樣本的數據保存在名為trdata的矩陣中
%此時trdata為1000*3的矩陣,且第12兩列存放x1,x2的值,第3列存放與之對應函數的值
trdata_nums?=?1000;
trdata?=?[];
for?i?=?1:1:trdata_nums
????x1?=?1.1*rand();????%在[01.1]中隨機產生一個數作為x1的值
????x2?=?1.1*rand();????%在[01.1]中隨機產生一個數作為x2的值
????y?=?nonlinear_func(x1x2);??%計算對應x1,x2的函數值
????trdata?=?[trdata;x1x2y];
end
%BP神經網絡的輸入節點有2個,輸出節點有1個,隱含節點的個數設置為hidden_nums個
%利用rands()函數,產生輸入層到隱含層(w1)和隱含層到輸出層(w2)的初始權值
%并用zeros()函數,將初始權值的變換量設為0
input_nums?=?2;
hidden_nums?=?19;
output_nums?=?1;
w1?=?rands(input_numshidden_nums);
w2?=?rands(hidden_numsoutput_nums);
dw1?=?zeros(input_numshidden_nums);
dw2?=?zeros(hidden_numsoutput_nums);
hidden?=?r
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????3253??2019-01-21?11:19??BFBP\BFBP.m
?????文件??????????93??2019-01-21?11:17??BFBP\nonlinear_func.m
?????目錄???????????0??2019-01-21?11:38??BFBP\
- 上一篇:DBSCAN算法
- 下一篇:微信商城小程序完整源碼-綠色基調.rar
評論
共有 條評論