Could you help me please I have two questions about neural networks for solar irradiance forecasting. I used MLP model (Fitting) with one hidden layer, 7 inputs and 1 output (solar irradiation).My questions are the following : – It's necessary to use these following commands to normalize my inputs data ?? (I use a sigmoid function as activation function in hidden layer, and linear function in the ouput layer)
net.inputs{1}.processFcns = {'removeconstantrows','mapminmax'};net.outputs{2}.processFcns = {'removeconstantrows','mapminmax'};
Or I can just use the simple mathematical formula : In=(Inn-Imin)/(Imax-Imin)
while In: normalized input ; Inn: No normalized input ???
– Second question is about dividing data for training, this is my code about dividing :
inputs = A'; % used for training
targets = B'; % used for training inputsTesting=C'; % used for test unseen by neural network
targetsTesting=D'; %used for test unseen by neural network
% Setup Division of Data for Training, Validation, Testing
net.divideFcn = 'dividerand'; % Divide data randomly
net.divideMode = 'sample'; % Divide up every sample
net.divideParam.trainRatio = 75/100;net.divideParam.valRatio = 15/100;net.divideParam.testRatio = 10/100;% this is my problem !!!!!
|*% Create a Fitting Network*|
net=fitnet(Nubmer of nodes in haidden layer);
% tarining
net.trainFcn = 'trainlm'; % Levenberg-Marquardt
[net,tr] = train(net,inputs,targets); outputs = net(inputsTesting); % inputs Testing :unseen by neural network
perf = mse(net,targetsTesting,outputs); % targets Testing: unseen by network
My question is what does mean this command below ???I think this command is unnecessary because i used data testing unseen by network?? !!! So what i can do about this mistak ?? !!!!
net.divideParam.testRatio = 10/100;
Neural network use 10% of data alerady seen for testing ??
please Help
best regards
Best Answer