Neural Network mit mehreren Inputs - verschiedene Fragen
mmc3105
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 18.09.2014, 13:17
Titel: Neural Network mit mehreren Inputs - verschiedene Fragen
Hallo!
Ich möchte gerne ein Neural Network modellieren, welches letztendlich 6 Inputs haben soll. So wie ich es verstehe muss ich dazu die 6 Input-Vektoren zunächst zu einer Matrix zusammenfügen (ist das richtig?). Im Folgenden habe ich mal einen Code mit einfachen Inputvektoren abgebildet, so wie es mir von der Neural Network Toolbox ausgegeben wird. Dazu habe ich verschiedene Fragen:
1. Ist es richtig die Vektoren zu einer Matrix zusammenzufügen, damit das Neural Network verschiedene Inputs verarbeitet?
2. Wie kann ich die Funktion verändern, welche die Daten im Hidden Layer verarbeitet? Per Default wird soweit ich weiß, die sigmoidale Funktion genutzt...
3. Wie kann ich mein Ergebnis letztendlich so graphisch darstellen, dass ich den Original Output und den im Rahmen des Testintervalls durch das Neural Network erzeugten Output in einer Graphik miteinander vergleichen kann (also einfach die Originalfunktion + Prognose des Neural Networks)?
% Create input matrix and output vector
inputs=[a b c d e f]';
targets=o';
% Create a Fitting Network
hiddenLayerSize = 4;
net = fitnet(hiddenLayerSize);
% Choose Input and Output Pre/Post-Processing Functions % For a list of all processing functions type: help nnprocess
net.inputs{1}.processFcns = {'removeconstantrows','mapminmax'};
net.outputs{2}.processFcns = {'removeconstantrows','mapminmax'};
% Setup Division of Data for Training, Validation, Testing % For a list of all data division functions type: help nndivide
net.divideFcn = 'dividerand'; % Divide data randomly
net.divideMode = 'sample'; % Divide up every sample
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
% For help on training function 'trainlm' type: help trainlm % For a list of all training functions type: help nntrain
net.trainFcn = 'trainlm'; % Levenberg-Marquardt
% Choose a Performance Function % For a list of all performance functions type: help nnperformance
net.performFcn = 'mse'; % Mean squared error
% Choose Plot Functions % For a list of all plot functions type: help nnplot
net.plotFcns = {'plotperform','plottrainstate','ploterrhist', ...
'plotregression', 'plotfit'};
% Train the Network [net,tr] = train(net,inputs,targets);
% Test the Network
outputs = net(inputs);
errors = gsubtract(targets,outputs);
performance = perform(net,targets,outputs)
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.