I'm using TensorFlow to label time series using an LSTM, such that the labels to attribute to each timestep in the data are floats comprehended between -1 and +1.
I'm struggling to find an adequate cost function for the problem. I have tried the following cost functions:
Mean squared error (https://www.tensorflow.org/api_docs/python/tf/losses/mean_squared_error) - from this I obtain predicted labels which have magnitudes similar to the expected ones. Although, the morphology (i.e. shape) of the predicted labels curve is much different than that of the expected labels curve.
Cosine distance (https://www.tensorflow.org/api_docs/python/tf/losses/cosine_distance) - The results are the opposite of those obtained with the MSE cost function, in the sense that the shape of the predicted labels curve is very similar to the expected, but the magnitude is very different.
Is there a better cost function I can use in order to obtain not only magnitude, but also shape similarity for the predicted labels?