我正在尝试使用2种不同的模型预测货币价值。多并行模型(模型B)为我提供了95%以上的准确性。同时双向LSTM模型(模型A)给我0%。但是,正如您在图表(https://drive.google.com/file/d/151UUTdT8l1xQHf7QrbKjblaQOHYqpkbI/view?usp=sharing上看到的那样,如果我们遵循真实值,则这两个模型都非常准确。如果您没有在图表上看到,请相信我,尽管多重并行LSTM使用四个值作为输入,但预测实际值的值几乎相同。
模型B(多平行)看起来像这样:
model = Sequential()
model.add(LSTM(100, activation='relu', return_sequences=True, input_shape=(n_steps, n_features)))
model.add(LSTM(100, activation='relu'))
model.add(Dense(n_features))
模型A(双向)如下所示:
model = Sequential()
model.add(Bidirectional(LSTM(100, activation='relu'), input_shape=(n_steps, n_features)))
model.add(Dense(1))
后面的代码对于两个型号都是相同的:
cp = [ModelCheckpoint(filepath=path+"/epochBi.h5", monitor='acc', verbose=1, save_best_only=True)]
model.compile(optimizer='adam', loss='mse', metrics=['accuracy'])
history_callback = model.fit(X, y, epochs=200, verbose=1, callbacks=cp)
model.load_weights(path+"/epoch.h5")
score = model.evaluate(X, y, verbose=1)
双向LSTM模型的准确性:https://drive.google.com/file/d/1YgX-8RwEqDucUxOv68a9EdTCQZat8p0w/view?usp=sharing
MultipleParallel模型的准确性:https://drive.google.com/file/d/13ZdLjET0ofwrER4X6KkOqcadcZ5rmNmo/view?usp=sharing