如何用MATLAB的神经网络工具箱实现三层BP网络 如何在matlab中建立多层bp神经网络

\u5982\u4f55\u7528MATLAB\u7684\u795e\u7ecf\u7f51\u7edc\u5de5\u5177\u7bb1\u5b9e\u73b0\u4e09\u5c42BP\u7f51\u7edc

\u8fd9\u662f\u4e00\u4e2a\u6765\u81eannetinfo\u7684\u4f8b\u5b50,\u5728matlab2012b\u8fd0\u884c\u540e\u7684\u786e\u53ef\u4ee5,\u56e0\u4e3a\u767e\u5ea6\u77e5\u9053\u7684\u6587\u672c\u5bbd\u5ea6\u4e0d\u591f,\u6ce8\u91ca\u6324\u5230\u7b2c\u4e8c\u884c\u4e86,\u6709\u4e9b\u4e71,\u697c\u4e3b\u6ce8\u610f\u533a\u5206\u54ea\u4e9b\u662f\u4ee3\u7801\u54ea\u4e9b\u662f\u6ce8\u91ca,
x1 =
[-3,-2.7,-2.4,-2.1,-1.8,-1.5,-1.2,-0.9,-0.6,-0.3,0,0.3,0.6,0.9,1.2,1.5,1.8]; %x1\uff1ax1 = -3:0.3:2;
x2 =
[-2,-1.8,-1.6,-1.4,-1.2,-1,-0.8,-0.6,-0.4,-0.2,-2.2204,0.2,0.4,0.6,0.8,1,1.2];%x2\uff1ax2 = -2:0.2:1.2;
y = [0.6589,0.2206,-0.1635,-0.4712,-0.6858,-0.7975,-0.8040,...

-0.7113,-0.5326,-0.2875
,0,0.3035,0.5966,0.8553,1.0600,1.1975,1.2618]; %y\uff1a
y = sin(x1)+0.2*x2.*x2;
inputData = [x1;x2]; %\u5c06x1,x2\u4f5c\u4e3a\u8f93\u5165\u6570\u636e

outputData = y; %\u5c06y\u4f5c\u4e3a\u8f93\u51fa\u6570\u636e


%\u4f7f\u7528\u7528\u8f93\u5165\u8f93\u51fa\u6570\u636e\uff08inputData\u3001outputData\uff09\u5efa\u7acb\u7f51\u7edc\uff0c


%\u9690\u8282\u70b9\u4e2a\u6570\u8bbe\u4e3a3.\u5176\u4e2d\u9690\u5c42\u3001\u8f93\u51fa\u5c42\u7684\u4f20\u9012\u51fd\u6570\u5206\u522b\u4e3atansig\u548cpurelin\uff0c\u4f7f\u7528trainlm\u65b9\u6cd5\u8bad\u7ec3\u3002
net = newff(inputData,outputData,3,{'tansig','purelin'},'trainlm');

%\u8bbe\u7f6e\u4e00\u4e9b\u5e38\u7528\u53c2\u6570
net.trainparam.goal = 0.0001;
%\u8bad\u7ec3\u76ee\u6807\uff1a\u5747\u65b9\u8bef\u5dee\u4f4e\u4e8e0.0001
net.trainparam.show = 400; %\u6bcf\u8bad\u7ec3400\u6b21\u5c55\u793a\u4e00\u6b21\u7ed3\u679c
net.trainparam.epochs = 15000;
%\u6700\u5927\u8bad\u7ec3\u6b21\u6570\uff1a15000.
[net,tr] = train(net,inputData,outputData);%\u8c03\u7528matlab\u795e\u7ecf\u7f51\u7edc\u5de5\u5177\u7bb1\u81ea\u5e26\u7684train\u51fd\u6570\u8bad\u7ec3\u7f51\u7edc
simout = sim(net,inputData);
%\u8c03\u7528matlab\u795e\u7ecf\u7f51\u7edc\u5de5\u5177\u7bb1\u81ea\u5e26\u7684sim\u51fd\u6570\u5f97\u5230\u7f51\u7edc\u7684\u9884\u6d4b\u503c
figure; %\u65b0\u5efa\u753b\u56fe\u7a97\u53e3\u7a97\u53e3
t=1:length(simout);
plot(t,y,t,simout,'r')%\u753b\u56fe\uff0c\u5bf9\u6bd4\u539f\u6765\u7684y\u548c\u7f51\u7edc\u9884\u6d4b\u7684y

\u5f53\u4f60\u7528newff\u7684\u65f6\u5019\uff0c\u91cc\u9762\u6709\u4e00\u4e2a\u53c2\u6570\u53ef\u4ee5\u63a7\u5236\u5c42\u6570\uff0c\u6bd4\u5982\u8bf4\uff1a

P = [0 1 2 3 4 5 6 7 8 9 10];
T = [0 1 2 3 4 3 2 1 2 3 4];
net = newff(P,T,5); %\u8fd9\u6837\u8868\u793a\u67091\u4e2a\u9690\u85cf\u5c42\uff0c\u91cc\u9762\u90a3\u4e2a5\u8868\u793a\u795e\u7ecf\u5143\u7684\u4e2a\u6570
net = newff(P,T,[5,10]); %\u8fd9\u6837\u8868\u793a\u67092\u4e2a\u9690\u85cf\u5c42
net = newff(P,T,[5 10 8]); %\u8fd9\u6837\u8868\u793a\u67093\u4e2a\u9690\u85cf\u5c42,\u4ee5\u6b64\u7c7b\u63a8\uff0c\u660e\u767d\u5427\uff1f

使用神经网络工具箱可以非常简便地实现网络建立和训练,实例代码如下:

%% BP算法
function Out=bpnet(p,t,p_test)
%p,t为样本需要提前组织好
global S1
net=newff(minmax(p),[S1,8],{'tansig','purelin'},'trainlm');    %trainlm训练函数最有效
%net=newff(P,T,31,{'tansig','purelin'},'trainlm');%新版用法
net.trainParam.epochs=1000;
net.trainParam.goal=0.00001;
net.trainParam.lr=0.01;
net.trainParam.showWindow = false;      %阻止训练窗口的弹出
net.trainParam.showCommandLine = false; %阻止训练窗口的弹出
net=train(net,p,t);
Out=sim(net,p_test);
end

上面的代码不完整,完整的带训练样本数据的程序见附件。



  • Matlab绁炵粡缃戠粶宸ュ叿绠濡備綍搴旂敤浜庡悇涓撲笟棰嗗煙?
    绛旓細鏈功涓撲负Matlab 7.2绁炵粡缃戠粶宸ュ叿绠眝5.2缂栧啓锛屼互M-book鏁版嵁鍥惧舰鏂囧瓧鐜涓鸿儗鏅紝閲囩敤鍥炬枃骞惰寕鐨勬柟寮忥紝閫愭浠嬬粛浜嗙缁忕綉缁滃伐鍏风鐨勫師鐞嗗拰瀹為檯搴旂敤銆傚唴瀹瑰垎涓11绔狅紝棣栧厛娣卞叆鍓栨瀽鍚勭被绁炵粡缃戠粶鐨勭粨鏋勬ā鍨嬨佽璁℃柟娉曞拰璁粌杩囩▼锛岄氳繃澶ч噺瀹炰緥杩涜鐢熷姩灞曠ず銆傛帴鐫锛屼功涓缁嗚瑙d簡绁炵粡缃戠粶鐨勫浘褰㈢敤鎴风晫闈紝浠ュ強濡備綍...
  • matlab bp绁炵粡缃戠粶宸ュ叿绠鎬庝箞鐢
    绛旓細P_test = ;%杈撳叆 T_test ;N = size(P_test,2);BP绁炵粡缃戠粶鍒涘缓銆佽缁冨強浠跨湡娴嬭瘯 鍒涘缓缃戠粶 net = newff(P_train,T_train,9);璁剧疆璁粌鍙傛暟 net.trainParam.epochs = 1000;net.trainParam.goal = 1e-3;net.trainParam.lr = 0.01;璁粌缃戠粶 net = train(net,P_train,T_train);浠跨湡娴嬭瘯銆...
  • 濡備綍瀛︿範MATLABBP绁炵粡缃戠粶?
    绛旓細4.瀹炶返缂栫▼锛氭渶濂界殑瀛︿範鏂规硶鏄氳繃瀹炶返缂栫▼鏉ユ帉鎻P绁炵粡缃戠粶銆傛偍鍙互浣跨敤MATLAB鑷甫鐨勭缁忕綉缁滃伐鍏风鎴栬呰嚜宸辩紪鍐欎唬鐮佹潵瀹炵幇BP绁炵粡缃戠粶銆傚湪瀹炶返涓紝鎮ㄥ彲浠ュ皾璇曚笉鍚岀殑缃戠粶缁撴瀯鍜屽弬鏁拌缃紝浠ユ壘鍒版渶浣崇殑妯″瀷銆5.鍙傚姞鍩硅璇剧▼锛氬鏋滄偍鎯虫洿娣卞叆鍦板涔燘P绁炵粡缃戠粶锛屽彲浠ュ弬鍔犵浉鍏崇殑鍩硅璇剧▼鎴栫爺璁ㄤ細銆傝繖浜涜绋嬮氬父鐢...
  • 濡備綍鐢∕ATLAB鐨勭缁忕綉缁宸ュ叿绠卞疄鐜颁笁灞侭P缃戠粶
    绛旓細浣跨敤绁炵粡缃戠粶宸ュ叿绠卞彲浠ラ潪甯哥畝渚垮湴瀹炵幇缃戠粶寤虹珛鍜岃缁冿紝瀹炰緥浠g爜濡備笅锛欱P绠楁硶function Out=bpnet(p,t,p_test)%p,t涓烘牱鏈渶瑕佹彁鍓嶇粍缁囧ソglobal S1net=newff(minmax(p),[S1,8],{'tansig','purelin'},'trainlm'); %trainlm璁粌鍑芥暟鏈鏈夋晥%net=newff(P,T,31,{'tansig','purelin'},'trainlm')...
  • matlab宸ュ叿绠卞疄鐜癇P绁炵粡缃戠粶,鎴戞兂鍦ㄤ竴瀹氭牱鏈潯浠朵笅,涓閮ㄥ垎鏍锋湰璁粌缃戠粶...
    绛旓細浣犻渶瑕佺殑鍔熻兘姣旇緝绠鍗曪紝鍙互鑰冭檻鐩存帴浣跨敤MATLAB鎻愪緵鐨勭缁忕綉缁鍥惧舰鐢ㄦ埛鐣岄潰锛圢eural Network Graphic User Interface锛夌殑鍔熻兘銆傚湪Matlab鍛戒护绐楀彛鏁瞡ntool鍛戒护璋冨嚭鏉ワ紝鎵撳紑Network/Data绠$悊鍣ㄧ獥鍙o紝鍐嶇偣鍑籒ew锛屾寜姝ラ鎿嶄綔鍗冲彲銆傚湪閲岄潰鍙互璁剧疆鍝簺鏄缁冩暟鎹牱鏈紝鍝簺鏄獙璇佺綉缁滄硾鍖栬兘鍔涚殑鏍锋湰銆
  • 鐢∕ATLAB寤虹珛bp绁炵粡缃戠粶妯″瀷,姹傞珮鎵,鍦ㄧ嚎绛
    绛旓細绗1姝ャ傞殢鏈虹敓鎴200涓噰鏍风偣鐢ㄤ簬璁粌 x=unifrnd(-5,5,1,200);y=unifrnd(-5,5,1,200);z=sin(x+y);绗2姝ャ傚缓绔绁炵粡缃戠粶妯″瀷銆傚叾涓弬鏁颁竴鏄緭鍏ユ暟鎹殑鑼冨洿锛屽弬鏁颁簩鏄悇灞傜缁忓厓鏁伴噺锛屽弬鏁颁笁鏄悇灞備紶閫掑嚱鏁扮被鍨嬨侼=newff([-5 5;-5 5],[5,5,1],{'tansig','tansig','purelin'});绗...
  • (鎬)濡備綍鐢∕ATLAB寤虹珛ANN(浜哄伐绁炵粡缃戠粶妯″瀷)?
    绛旓細寤虹珛涓涓绁炵粡缃戠粶锛岃缁冭緭鍏ュ拰杈撳嚭鏁版嵁閮芥湁浜嗭紝璁剧疆闅愯棌灞傜殑涓暟銆俷et.trainParam.epochs=Epochs;net.trainParam.goal=1e-4;net.trainParam.min_grad=1e-4;net.trainParam.show=200;net.trainParam.time=inf;璁剧疆涓浜涜缁冩椂鐨勫弬鏁帮紝绗竴涓槸姣忔璁粌鐨勬渶澶ц凯浠f鏁帮紱net=train(net,P,T);寮濮嬬綉缁滆缁...
  • matlab 鏈夋病鏈夋ā绯绁炵粡缃戠粶宸ュ叿绠
    绛旓細1锛 GUI宸ュ叿 Anfisedit 鎵撳紑ANFIS缂栬緫鍣℅UI銆丗uzzy 璋冪敤鍩烘湰FIS缂栬緫鍣ㄣ丮fedit 闅跺睘搴﹀嚱鏁扮紪杈戝櫒銆丷uleedit 瑙勫垯缂栬緫鍣ㄥ拰璇硶瑙f瀽鍣ㄣ丷uleview 瑙勫垯瑙傚療鍣ㄥ拰妯$硦鎺ㄧ悊鏂规鍥俱丼urfview杈撳嚭鏇查潰瑙傚療鍣 2锛 闅跺睘搴﹀嚱鏁 dsigmf 涓や釜sigmoid鍨嬮毝灞炲害鍑芥暟涔嬪樊缁勬垚鐨勯毝灞炲害鍑芥暟銆乬auss2mf 寤虹珛涓よ竟鍨嬮珮鏂毝灞炲害...
  • 浜哄伐绁炵粡缃戠粶鍗曡緭鍏ュ崟杈撳嚭绯荤粺鎬庝箞瀹炵幇(matlab)
    绛旓細MATLAB鍐欑殑锛氾紙杈撳叆杈撳嚭闅愬眰鑺傜偣鏁伴兘鍙互鏀圭殑锛塩lear all inputnums=3;%杈撳叆灞傝妭鐐 outputnums=1;%杈撳嚭灞傝妭鐐 hidenums=7;%闅愬眰鑺傜偣 maxcount=50000;%鏈澶ц凯浠f鏁 samplenum=19;%涓涓鏁板櫒锛屾棤鎰忎箟 precision=0.00001;%棰勮绮惧害 yyy=1.3;%yyy鏄府鍔缃戠粶鍔犻熻蛋鍑哄钩鍧﹀尯 alpha=0.02;%瀛︿範鐜...
  • 鐢∕atlab缂栫▼BP绁炵粡缃戠粶杩涜棰勬祴
    绛旓細BP缃戠粶鑳藉涔犲拰瀛樿串澶ч噺鐨勮緭鍏-杈撳嚭妯″紡鏄犲皠鍏崇郴锛岃屾棤闇浜嬪墠鎻ず鎻忚堪杩欑鏄犲皠鍏崇郴鐨勬暟瀛︽柟绋嬨傚畠鐨勫涔犺鍒欐槸浣跨敤鏈閫熶笅闄嶆硶锛岄氳繃鍙嶅悜浼犳挱鏉ヤ笉鏂皟鏁寸綉缁滅殑鏉冨煎拰闃堝硷紝浣跨綉缁滅殑璇樊骞虫柟鍜屾渶灏忋侭P绁炵粡缃戠粶妯″瀷鎷撴墤缁撴瀯鍖呮嫭杈撳叆灞傦紙input锛夈侀殣灞(hidden layer)鍜岃緭鍑哄眰(output layer)銆
  • 扩展阅读:pinn神经网络搭建matlab ... matlab工具箱在哪打开 ... matlab神经网络训练图 ... matlab中bp神经网络 ... matlab怎么调出工具箱 ... matlab怎么搭建神经网络 ... 人工神经网络matlab代码 ... matlab神经网络模型 ... matlab中bp神经网络工具箱 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网