Mismatching target dimension in Keras LSTM
With a single output unit model.add(Dense(**1**, activation='softmax')), Keras is expecting a binary outcome, and so the 'softmax' activation function and the 'categorical_crossentropy' loss are not appropriate. 

If your output is binary, use: model.add(Dense(1, activation='sigmoid')) and model.compile(loss='binary_crossentropy'.

If your outcome is not binary, then the number of output units needs to be adjusted to match the number of output categories.