Neural Network: Custom Loss Function: Minimize Range/Amplitude

Hello,
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

 채택된 답변

Abolfazl Chaman Motlagh
Abolfazl Chaman Motlagh 2022년 2월 17일

1 개 추천

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:

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by