MATLAB: Normalization for a neural network

neural networknormalizationzscore

Hello everyone, i am currently trying to predict new settings for a machine based on already known settings. The Question is basically: "Which settings do I need to use if the material put into the machine has the proberties X,Y and Z. For this task I decided to use a neural network. Now I have a problem with normalizing my data an hope somebody can help me out.
I have 14 samples each for the 4 Inputs and the 1 Target. Unfortunatly my prediction for new data is bad. In addition the MSE and regression are not great as well.
I made a observation that makes me believe the problem could be in the normalization of my data. My Input Data is organized like this:
Variable1>> 500 510 490 Variable2>> 0.1 0.12 0.20 etc.
I first used mapstd to normalize the data. The results were not much better than without using normalisation (I am using the nntool, so there is normalization build in anyway). The next thing I tried was to use zscore. Suddenly the results of the neural network was much better. I suppose normalizing the columns does "even out" my sample data?
My problem is now: How can i normalize the new data before i use it as a Input to the neural network, and how can the de-normalize the Prediction of the network? As zscore normalises the columns, the mean and std are now of the size 1×14. Is there a way to normalize my new Data the same way like the Input und my prediction like my Output?
I have tried to denormalize my sollution like this:
Y = meanOutput + stdOutput * X
The problem is that the dimensions of X and stdOutput und meanOutput do not fit.
Does anyone know how to solve this?

Best Answer

MAPSTD and ZSCORE perform the same zero-mean/unit-variance transformation.
If you can figure out why you are not getting the same answer then you should have the general solution to your problem.
Hope this helps
Greg