I made a stack of bidirectional LSTM layers following by Dense layers (with swish activation functions) in order to predict a continuous value between 0 and 2. I compiled the model with mean_squared_error loss function and Adam optimizer. I have a batch size of 32.

The issue I encounter is that the extremities are under predicted by the network. i.e The prediction doesn't go upper ~1.85 and lower ~ 0.15. I would like to affine the prediction in the extremities. See image below (the point at 2:2 is not part of the LSTM prediction):

enter image description here

I tried to min-max scaled the labels from 0 to 1 instead of 0-2 and I tried other activation functions (sigmoid, linenar) but it doesn't change much the prediction. May be there is a specific loss function or optimizer to use in this case?

Thanks for helping me!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.