Neural Network: Custom Loss Function: Minimize Range/Amplitude

8 ビュー (過去 30 日間)
ThomasP
ThomasP 2022 年 2 月 17 日
回答済み: Abolfazl Chaman Motlagh 2022 年 2 月 17 日
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 日
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 件)

Community Treasure Hunt

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

Start Hunting!

Translated by