如图所示黄色是原始波形,蓝色是拟合出的曲线,该模型不管在训练集还是测试集上拟合程度都不高,只能拟合出大概趋势,无法拟合的更好,
数据集大小:
训练集:(85000, 50, 5) (85000,)
测试集(9000, 50, 5) (9000,)
最终loss: 0.0021 - val_loss: 0.0013,基本上无法再下降了
怎样才能提高精度使拟合度更高呢,想让拟合出来的结果和曲线本身尽可能接近
inputs1 = Input(shape=(train_x.shape[1], train_x.shape[2]))
lstm1,state_h,state_c = LSTM(64,return_sequences=True,return_state=True)(inputs1)
lstm2 = LSTM(64)(lstm1)
lstm2 = Dense(16)(lstm2)
lstm2 = Dropout(0.5)(lstm2)
lstm4 = Dense(1)(lstm2)
model = Model(input = inputs1,outputs = [lstm4])
model.summary()
model.compile(loss='mse',
optimizer='adam',)
history = model.fit(train_x, train_y, epochs=600, batch_size=256, validation_data=(test_x,test_y),verbose=2, shuffle=False) # validation_data=(test_x,test_y)