フィルターのクリア

Neural Network error please help me "Inputs and targets have different numbers"

1 回表示 (過去 30 日間)
user0002919
user0002919 2019 年 3 月 12 日
編集済み: Adam Danz 2020 年 1 月 22 日
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)

採用された回答

Adam Danz
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
Desmond Molloy 2020 年 1 月 22 日
This approach works with neither the transpose function, nor the T' notation.
Adam Danz
Adam Danz 2020 年 1 月 22 日
編集済み: Adam Danz 2020 年 1 月 22 日
Transposing the 2nd input variable does work if it is a column vector with n elements where n is the number of columns of the first input as was the case for the OP's data. But there are other errors with the inputs that transpose would not fix.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeDeep Learning Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by