❶ MATLAB中BP神經網路多輸入單輸出程序
把輸入轉置一下 應該就可以了,這樣就有10列,對應10個輸出,每列的三行就對應3維
❷ 如何使用matlab編寫多輸入單輸出BP神經網路
在你的代碼基礎上說了。
clc;clear;
close all;
p=load('originaldata.txt');%你問題最後說的數據文件名跟這個不同。
p1=p';
t=[1];% 這個輸出(Targets)應該和輸入數據對應,輸入數據有10個,輸出應該也是10個
所以改為 t是一個1x10的行向量,每個元素對應10個輸入數據的輸出。不知道你的訓練數據的輸出是不是都是1?我試了試假設你的數據的輸出都是1,所以t=ones(1,10),可以運行。
❸ BP神經網路matlab編程問題,給出11個輸入數據和2個輸出數據,進行訓練的程序。要求能運行並出相應的結果
給你一個我的程序,如果自己做不了可以聯系我:1526208341
動量梯度下降演算法訓練 BP 網路
訓練樣本定義如下:
輸入矢量為
p =[-1 -2 3 1
-1 1 5 -3]
目標矢量為 t = [-1 -1 1 1]
close all
clear
echo on
clc
% NEWFF——生成一個新的前向神經網路
% TRAIN——對 BP 神經網路進行訓練
% SIM——對 BP 神經網路進行模擬
pause
% 敲任意鍵開始
clc
% 定義訓練樣本
% P 為輸入矢量
P=[-1, -2, 3, 1; -1, 1, 5, -3];
% T 為目標矢量
T=[-1, -1, 1, 1];
pause;
clc
% 創建一個新的前向神經網路
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')
% 當前輸入層權值和閾值
inputWeights=net.IW{1,1}
inputbias=net.b{1}
% 當前網路層權值和閾值
layerWeights=net.LW{2,1}
layerbias=net.b{2}
pause
clc
% 設置訓練參數
net.trainParam.show = 50;
net.trainParam.lr = 0.05;
net.trainParam.mc = 0.9;
net.trainParam.epochs = 1000;
net.trainParam.goal = 1e-3;
pause
clc
% 調用 TRAINGDM 演算法訓練 BP 網路
[net,tr]=train(net,P,T);
pause
clc
% 對 BP 網路進行模擬
A = sim(net,P)
% 計算模擬誤差
E = T - A
MSE=mse(E)
pause
clc
echo off
❹ 如何用matlab編寫多輸入單輸出BP神經網路
net=newff(input,output,3,{'tansig','purelin'},'trainlm');
其中input為nXm矩陣,只要行數大於一就是多輸入
output為1XK矩陣,1行K列。
❺ 2輸入2輸出,bp神經網路MATLAB代碼,怎麼編寫
k=0:1:6000;
w=0.03*k*pi/180;
x=0.4+0.2*cos(w);
z=0.2+0.2*sin(w);
y1=-atan(x/z)+acos(sqrt(1-(x.^2+z.^2-0.07).^2/(0.36*x.^2+0.36*z.^2)));
y2=asin((0.25-x.^2-z.^2)/0.24)-pi;
[input,minI,maxI,output,minO,maxO]=premnmx([x,z]',[y1,y2]');%進行歸一化處理
net=newff(minmax(input),[2,10,2],{'tansig','tansig','purelin'},'traingd');
net.trainParam.show=100;
net.trainParam.Lr=0.05;
net.trainParam.epochs=6000;
net.trainParam.goal=1e-4;
net=train(net,input,output);
output=sim(net,input);
postmnmx(output,minO,maxO);
plot(k,y1,k,y2);
%說明:x和z為輸入,y1和y2為輸出,對輸入進行了歸一化處理,並將兩個輸出構成一個矩陣output,相當於輸入變成了input,輸出變成了output,
❻ 運用matlab解決bp神經網路多個輸入一個輸出的問題
用最簡單的bp網路就行,輸入節點數等於變數數,輸出節點數為1.在matlab里,就用newff函數建立網路即可。
newff函數的格式為:net=newff(PR,[S1 S2 ...SN],{TF1 TF2...TFN},BTF,BLF,PF),函數newff建立一個可訓練的前饋網路。輸入參數說明:
PR:Rx2的矩陣以定義R個輸入向量的最小值和最大值;
Si:第i層神經元個數;
TFi:第i層的傳遞函數,默認函數為tansig函數;
BTF:訓練函數,默認函數為trainlm函數;
BLF:權值/閥值學習函數,默認函數為learngdm函數;
PF:性能函數,默認函數為mse函數。
❼ BP神經網路怎麼設置輸入層節點數
matlab的? 輸入層由你輸入的特徵決定的,送入特徵matlab就自動確定輸入層節點數了
❽ 求多輸入多輸出BP神經網路相關知識和程序,加分!!!
神經網路的相關知識相當復雜,如果想深入學習BP建議買相關的書來看,在這里不可能說的非常全面。
如果用MATLAB解決BP則直接調用工具箱就行了,程序是net=newff(A,[b,c],{'D','E'},'F')
A是輸入元素最大最小值矩陣,是一個r*2矩陣,r是輸入元素個數,矩陣每行第一列是最小值,第二列是最大值;
b是隱含層神經元個數,c是輸出層神經元個數
D是隱含層輸出函數,E是輸出層輸出函數
F是神經網路訓練方式