Neural network predicts too low values

Viewed 34

I have build a NN that in general predicts relatively good values, but they are always too low, as you can see in the diagram. Prediction

(The values on the diagram are inverse transformed, the network has outputs between -1 and 1).

I use a RRN to create the prediction. Here is the code I use to create the model:

model = Sequential()

# ADD LSTM LAYER
model.add(LSTM(units = network_units, return_sequences = True,
                    input_shape = (X_train_3d.shape[1],X_train_3d.shape[2],)))


# LOOP WHICH ADD LSTM LAYER
for _ in range(number_lstm_layers):
    model.add(LSTM(units = network_units, return_sequences = True))
    model.add(Dropout(0.15))

# LAST LSTM LAYER BUT WITH return_sequences = False 
model.add(LSTM(units = network_units, return_sequences = False))

# OUTPUT DENSE LAYER
model.add(Dense(1, activation=activations.tanh))
model.compile(loss='mse',optimizer='adam')

Do you have any optimization ideas to get the trained graph closer to the real values? I have tried different hyperparameters but I never come close enough to the real values.

0 Answers
Related