我正在使用lstm keras对时间序列数据进行预测。火车不包含任何负数。
问题是,当训练误差降低到一定水平时,输出的预测有时是负的,这在我的应用中没有意义。
以下是我的RNN:
model.add(LSTM(100,return_sequences=True,stateful=False,activation='relu', input_shape=(1, look_back)))
model.add(Dropout(0.1))
model.add(Flatten())
model.add(Dense(50, activation='relu'))
model.add(Dense(1, activation='linear', W_constraint=nonneg()))
model.compile(loss='mean_absolute_error', optimizer= 'adam')
model.fit(trainX, trainY, epochs=100, validation_split = 0.20, batch_size=1, verbose=0)
这主要发生在列车数据有很多零时。我怎么能阻止这个。