Hallo ich habe diesen Code irgendwo mit wenig Infos gefunden. Es wird angenommen, dass es sich um einen Backpropagation neuronalen Netzwerkcode handelt. aber es scheint etwas von Gewicht und Voreingenommenheit zu fehlen. ist der Code korrekt? ist es Test-While-Train Backpropagation neuronales Netzwerk? dankeFrage zu neural network matlab code
% --- Executes on button press in pushbutton6.
%~~~~~~~~~~~[L1 L2 1];first hidden layer,second & output layer~~~~~
layer = [11 15 1];
myepochs = 30;
attemption = 1; %i;
mytfn = {'tansig' 'tansig' 'purelin'};
%~~~~~~load data~~~~~~~~~~~~~~~~~~~~~~~
m = xlsread('D:\MATLAB\datatrain.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 'net7' net;
% --- Executes on button press in pushbutton4.
%~~~~~~load data~~~~~~~~~~~~~~~~~~~~~~~
mt = xlsread('D:\MATLAB\datatest.csv');
%~~~~~~convert the data in Matrix form~~~~
[row1,col1] = size(mt);
Pt= mt(1:row1,1:10)';
Tt = mt(1:row1, col1)';
load 'net7' -mat;
Yt= sim(net,Pt);
%~~~~~~~final result of the neural network~~~~~~~~
[r,c]=size(Yt);
result=Yt(c);
if result>0.7
error=1-result;
set(handles.edit39,'String','yes')
set(handles.edit40,'String',num2str(error))
set(handles.edit41,'String','Completed')
data1=[num2str(result) ];
fid = fopen('D:\MATLAB\record.csv','a+');
fprintf(fid,[data1,'\n']);
fclose(fid);
else
set(handles.edit39,'String','no')
set(handles.edit40,'String',num2str(result))
set(handles.edit41,'String','Completed')
data1=[num2str(result) ];
fid = fopen('D:\MATLAB\record.csv','a+');
fprintf(fid,[data1,'\n']);
fclose(fid);
end
Ich verstehe über Training dann Testen. Ich mache Bilderkennungssystem mit GUI. sagen wir, ich habe bereits 300 Bildparameter für Trainingsspeicher in traindata.csv. dann möchte ich 100 Bild testen. Was ich getan habe ist, ich lade 1 Bild dann führe diesen Code und wiederhole es, bis 100 Bild getestet wird. kann ich das machen? ist es richtig? Ich habe einen Zweifel daran, weil es wie neuronales Test-während-Training aussieht. ist es möglich? – user562873
Ich bin mir nicht sicher, richtig verstanden zu haben. Nun, wenn Sie etwas wie traindata.csv haben, können Sie ähnlich eine Datei wie testdata.csv haben, oder? Dann können Sie die Funktion sim verwenden, um Ihr geschultes Netzwerk auf neue Testdaten zu testen ... –
ich verwende gui, um dieses Erkennungssystem zu implementieren. Nachdem alle Zugdaten in der Datenzugangsdatei gespeichert sind, verwende ich diesen Code, um ein Bild zu testen. Wenn ich ein Bild teste, lautet die Antwort ja. aber wenn ich das gleiche Bild noch einmal teste, ist die Antwort nein. Warum ändert es sich, wenn das gleiche Bild erneut getestet wird? – user562873