Do I need to normalise input and target data when training an ANN using fitnet?

5 Ansichten (letzte 30 Tage)
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.

Antworten (1)

Manish
Manish am 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:
  • https://www.mathworks.com/help/deeplearning/ref/mapminmax.html
  1 Kommentar
Muhammad Usman Saeed
Muhammad Usman Saeed am 9 Jun. 2025
Thank you so much for your response!
Could you please let me know should I denormalise the predections or it is also denormalised automatially?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Transaction Cost Analysis finden Sie in Help Center und File Exchange

Produkte


Version

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by