Neural Network error please help me "Inputs and targets have different numbers"
2 次查看(过去 30 天)
显示 更早的评论
I'm new to Matlab. I've built the code below to classify animals with three inputs in each pattern on the neural network, I'm trying to plot the classification of two inputs after the training phase, but I'm getting an error and I don't know what to do:
net = newp([0 1; 0 1; 0 1],1);
P = [0 0 1; 1 0 1; 0 0 0; 1 1 0; 0 1 1; 1 0 0]'; %three inputs for each pattern
T = [0 1 0 1 0 1]'; %1 = animal is a mammal, 0 = animal is not mammal
net.trainParam.epochs = 2;
net = train(net,P,T);
plotpv(P,T);
plotpc(net.IW{2},net.b{1});
%Tests
NP = [1 1 1; 0 1 0]';
hold on;
plot(NP(1),NP(2)'*r');
Y = sim(net,NP)
0 个评论
采纳的回答
Adam Danz
2019-3-12
编辑:Adam Danz
2019-3-20
P is size [3 x 6] while T is size [6 x 1]. You need to have one T value for each column of P. To fix this, transpose T so its size becomes [1 x 6].
net = train(net,P,T); %your version
net = train(net,P,T'); %correct version
3 个评论
Desmond Molloy
2020-1-22
This approach works with neither the transpose function, nor the T' notation.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Sequence and Numeric Feature Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!