- https://www.mathworks.com/help/deeplearning/ref/mapminmax.html
Do I need to normalise input and target data when training an ANN using fitnet?
5 views (last 30 days)
Show older comments
I am training an artificial neural network using MATLAB's `fitnet` function with 5 input variables (e.g., compression ratio, HES, SOI, injection duration, RPM) and 10 outputs (e.g., BTE, NOx, BSFC, Torque, CO, etc.).
I understand that `fitnet` automatically normalises input data using `mapminmax`. However, I am not sure whether I also need to manually normalise the **target (output)** data before training.
Do I need to normalise the **outputs** manually, especially when they vary widely in scale (e.g., NOx in ppm, BTE in %, BSFC in kg/kWh)?
Also, what is the correct way to **denormalise predictions** after training?
Any clarification would be appreciated.
0 Comments
Answers (1)
Manish
on 7 Jun 2025
Hi,
The 'mapminmax' function scales inputs and targets to fall within the range [–1, 1].
The following code demonstrates how to use it:
[pn,ps] = mapminmax(p);
[tn,ts] = mapminmax(t);
net = train(net,pn,tn);
No manual effort is required for normalization.
If needed, you can reverse the normalization using the 'reverse' option with 'mapminmax'.
Refer to the documentation link for better understanding:
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!