Neural Network: Custom Loss Function: Minimize Range/Amplitude

10 views (last 30 days)
I have a dataset of errors and an LSTM neural network which is predicting these errors.
Overall, the network is doing a decent job, if I substract the predicted error from actual error on my test-set, the error is reduced by about 80%.
However, my max(abs(error)) (error = target - prediction) stays about the same, because the network overcorrects sometimes too much, which is a highly undesirable property for my case.
To handle these overcorrections, I would like to change my loss function.
Is there a possibility to tell the network to not minimize MeanSquaredError (as the last regressionLayer does it), but to tell it to minimize max(abs(error)) ?, i.e. I would allow the mean-error to be higher if the overall corrected maximum error will be lower
Thank you for any help

Accepted Answer

Abolfazl Chaman Motlagh
Abolfazl Chaman Motlagh on 17 Feb 2022
From 2021a version, Matlab allows you to define and use customize data, layer, training loop, network and in as you need loss function. for more information follow below link:
for example for how to defien you own custom network or training, these are good examples:
but generally it made your work hard to follow all these from scratch.
so maybe just create a simple custom layer for your output and train your network. see this documentation:

More Answers (0)

Community Treasure Hunt

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

Start Hunting!