What is Normalized Mean Square Error NMSE function?


I am working on some reservoir computing research where we only train the output layer of the network which is multivariable linear regression, most of the research papers evaluate the model with NMSE over MSE or RMSE. I am not able to realize the advantage of using NMSE and the exact definition of it. It would be of great help if anyone you could share your knowledge on NMSE loss function.


I’m not completely sure about why is NMSE used, i tried looking for some good resouce, and maybe you can take a read to this paper.
Let me know if it doesn’t helps.

Thank you @Ishvinder. I went through this paper but I could not under stand much.But, I was able to find the definition of it from the literature.

Now the query is that if I want to evaluate the model on NMSE, do i need to train the model with the same loss function rather than MSE which is generally used in case of regression. How do I implement a custom loss function in Pytorch so that in the fit method I can use this loss function.Could you help with link or repo with custom loss function implementation would be helpful. I am trying to find a solution in pytorch forum.

Hi @sairamvgraju,

There are two things in consideration for evaluation, one of them is loss function, and the second one is some performance metrics.

You can either use NMSE as a performance metrics to know how different combinations of your model are performing. Don’t use NMSE as a loss function in that case.

Or else, you can use NMSE as a loss during training. Please make sure you check upon the factors like will it even converge or not, etc.
You can implement it in pytorch with the available standard pytorch operations for tensors. You can refer this thread for some reference.

1 Like