does a scaled multi output neural network result in a scaled RMSE?

Ive scaled my data to be in the range 0-1. ive used this scaled data to train a deep neural network,

model.fit(xscaled,yscaled, verbose=0,epochs=180, batch_size=70, validation_split=0.2)


ive then used the sklearn rmse function to calculate rmse.

print('rmse',sqrt(metrics.mean_squared_error(y_test,predictions)))


which has given me a value of 0.097. The data set im using has 22 input values, with 3 outputs. Im struggling to understand the single rmse value, considering i have 3 outputs. is the rmse scaled because i scaled the data? ie because the data is scaled from 0-1, and i have an rsme of 0.097, this results in an error of 9.7%? i understand that rsme measures depends on the range of data to how 'good' the model is, but considering i have a multi output model with different ranges for the 3 outputs im not sure how this works. thank you.

• How are you calculating the RMSE when the outputs themselves are vectors?
– Dave
Dec 20, 2023 at 19:48

Then, as you mentioned, RMSE is scale-dependent. When dealing with multi-output regression, RMSE is computed for each output and then averaged. It is clear that you have to normalize outputs if you want global RMSE to be equally representative of each target's RMSE. You could also use relative RMSE : $$$$RMSE\% = \frac{RMSE}{\bar{y}}$$$$