простая сеть прямой связи (newff) в MATLAB - PullRequest
0 голосов
/ 25 июня 2010

Я использовал ffnew функции много раз, но когда я пытаюсь создать простую сеть с прямой связью, в которой входной вектор равен P=[1;2;3;4], а желаемый результат равен T=[1 ;0;0;1].Так что у меня есть только один пример входного вектора

Код

net = newff(P,T,[4 1],{'tansig','tansig'});
net=train (net,P,T);

Когда я пишу последнюю строку, я получил:

??? Error using ==> plus
Matrix dimensions must agree.

Error in ==> calcperf2 at 163
        N{i,ts} = N{i,ts} + Z{k};

Error in ==> trainlm at 253
[perf,El,trainV.Y,Ac,N,Zb,Zi,Zl] = calcperf2(net,X,trainV.Pd,trainV.Tl,trainV.Ai,Q,TS);

Error in ==> network.train at 216
  [net,tr] = feval(net.trainFcn,net,tr,trainV,valV,testV);

Ответы [ 2 ]

1 голос
/ 16 августа 2011

Если вы создаете свой NN, используя MLP или RNN, вы можете изменить функцию

a2 = round(f2(LW2 * a1 + b2)) или a2 = round(purelin(LW2 * a1 + b2))

тогда выход NN (a2) будет двоичным

1 голос
/ 26 июня 2010

Возможно, простой пример поможет.Рассмотрим известную проблему XOR:

input = [0 0; 0 1; 1 0; 1 1]';               %'# each column is an input vector
ouputActual = [0 1 1 0];                     %#

net = newpr(input, ouputActual, 2);          %# 1 hidden layer with 2 neurons
net.divideFcn = '';                          %# use the entire input for training

net = init(net);                             %# init
[net,tr] = train(net, input, ouputActual);   %# train
outputPredicted = sim(net, input);           %# predict

[err,cm] = confusion(ouputActual,outputPredicted);

Обратите внимание, что я использовал NEWPR вместо NEWFF.Причина в том, что он использует логистическую функцию на выходе (NEWFF делает линейную), которая больше подходит для задач классификации.Если вы используете целевое кодирование 1-из-N, выходные данные будут в диапазоне [0,1] и могут быть интерпретированы как апостериорные вероятности для каждого класса (NEWFF не будет ограничен [0,1])

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...