xen*_*nes 5 machine-learning deep-learning lstm keras
我已经建立了一个LSTM In Keras,其目标是从高维,时间索引输入预测时间序列的未来值.
但是,有一个独特的要求:对于未来的某些时间点,我们肯定地知道输入系列的某些值是什么.例如:
model = SomeLSTM()
trained_model = model.train(train_data)
known_data = [(24, {feature: 2, val: 7.0}), (25, {feature: 2, val: 8.0})]
predictions = trained_model(look_ahead=48, known_data=known_data)
Run Code Online (Sandbox Code Playgroud)
这将训练模型可达时间t
(培训结束),并预测着48
从时间的时间段t
,但用known_data
的价值feature
在时间2 24
和25
.
我究竟能在某个时候将其明确地注入LSTM吗?
供参考,这是模型:
model = Sequential()
model.add(LSTM(hidden, input_shape=(look_back, num_features)))
model.add(Dropout(dropout))
model.add(Dense(look_ahead))
model.add(Activation('linear'))
Run Code Online (Sandbox Code Playgroud)
这可能是我对LSTM的不直观掌握的结果,我很感激任何澄清.我已经深入研究了Keras源代码,我的第一个猜测就是将它直接注入到LSTM state
变量中,但我不确定如何在时间上做到这一点t
(或者即使这是正确的.)
我认为一个干净的方法是引入2*look_ahead
新功能,其中每个0 <= i < look_ahead
2*i
-th 功能是一个指示符 -th 时间步的值是否i
已知,并且(2*i+1)
-th 是值本身(如果不知道则为 0)。因此,您可以使用这些特征生成训练数据,以使您的模型考虑这些已知值。
归档时间: |
|
查看次数: |
313 次 |
最近记录: |