Нейронная сеть Matlab не учится - PullRequest
2 голосов
/ 03 мая 2011

Может кто-нибудь сказать мне, если мой код неверен при попытке обучить мою сеть для распознавания образов? Я отчаянно пытаюсь все испробовать, так как меняются Hn, эпохи, нормализуются мои данные и т. Д. Но сеть, похоже, не развивается.

Вот код

net = newff(p,t,15,{},'traingd');
net.divideParam.trainRatio = 70/100;  % Adjust as desired
net.divideParam.valRatio = 15/100;  % Adjust as desired
net.divideParam.testRatio = 15/100;  % Adjust as desired
net.trainParam.epochs = 10000;
net.trainParam.goal = 0.01;
net.trainParam.show = 25;
net.trainParam.time = inf;
net.trainParam.min_grad = 1e-10;
net.trainParam.max_fail = 10;
net.trainParam.sigma = 5.0e-5;
net.trainParam.lambda = 5.0e-7;
net.trainParam.mu_max = 1e-20;
net.trainParam.lr = 0.001; 

% Train and Apply Network
[net,tr] = train(net,p,t);
outputs = sim(net,p);

% Create P.

% Plot
plotperf(tr)
plotfit(net,p,t)
plotregression(t,outpts)

И я запускаю его именно так. p и t - мои входы и цели соответственно. Разве только я, что при попытке запустить набор инструментов (nprtool) не может представить цель, если она не происходит из демонстраций?

1 Ответ

2 голосов
/ 04 мая 2011

Когда вы запускаете GUI (nprtool), вы должны иметь возможность выбирать цели (и входные данные) из переменных в рабочей области:

nprtool

По поводу вашего первого вопроса:

  • Можете ли вы попробовать изучить синтетические данные (что, конечно, соответствует модели)?
  • Можете ли вы попробовать использовать опцию trainlm по умолчанию вместо traingd?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...