I am trying to learning the LSTM method by training the model on a custom dataset. This dataset has 6000 vectors of size 7. The 85% of the 6000 vectors are used for the training and the rest for the validation. In each vector the first value is the input (input_dim=1) and the rest 6 values are the output (output_dim=6).
The structure of my network looks like this:
model = Sequential()
model.add(LSTM(10, input_shape=(1, look_back),return_sequences=True))
model.add(TimeDistributed(Dense(6,activation='linear')))
model.compile(loss='mean_squared_error', optimizer='adam')
history= model.fit(trainX, trainY, validation_data=(testX,testY), epochs=200, batch_size=10, verbose=2)
model.summary()
As you can see below in plots showing the validation result and training process, respectively, the training has "succeeded". Although I can not manage to train the model to perfectly predict the validation output. Am I missing here something or could you give me some tips to improve the accuracy?