#matlab #neural-network
#matlab #нейронная сеть
Вопрос:
У меня есть этот код о нейронных сетях. Как я могу изменить этот код, чтобы он мог показывать графики обучения и тестирования?
%~~~~~~~~~~~[L1 L2 1];first hidden layer,second amp; output layer~~~~~
layer = [11 15 1];
myepochs = 30;
attemption = 1; %i;
mytfn = {'tansig' 'tansig' 'purelin'};
%~~~~~~load data~~~~~~~~~~~~~~~~~~~~~~~
m = xlsread('C:Documents and SettingswinxpMy DocumentsMATLABMATLAB_DATAdatatrain.csv');
%~~~~~~convert the data in Matrix form~~~~
[row,col] = size(m);
P = m(1:row,1:10)';
T1 = m(1:row, col)'; % target data for training...last column
net = newff([minmax(P)],layer,mytfn,'trainlm'); %nnet
net.trainParam.epochs = myepochs; % how many time newff will repeat the training
net.trainParam.showWindow = true;
net.trainParam.showCommandLine = true;
net = train(net,P,T1); % start training newff with input P and target T1
Y = sim(net,P); % training
save 'net114' net;
Кроме того, правильный ли этот код? Я хочу вычислить площадь и периметр изображения. Но вычисленные значения показывают, что периметр больше площади, что не имеет смысла, верно? Или, может быть, этому есть объяснение?
BW =~c;
area= bwarea(BW);
area
imshow(BW);
bw2=~c;
pm=bwperim(bw2);
perimeter=bwarea(pm);
Ответ №1:
Возможно, вы захотите попробовать что-то вроде net.trainParam.show = 30
, чтобы показывать прогресс обучения каждые 30 эпох.