PyBrain - 根据输入历史计算

PyBrain - Calculate based on input history

如果我需要一个模型以根据当前输入和之前的输入计算输出该怎么办:

History of inputs, X and Y are used to calculate the future Z value

我已经完成了一些编码,但是我无法添加这个,有什么想法可以做这样的改变吗??

net = buildNetwork(numberofinputs, number_of_nodes, numberofoutputs, bias=True)
trainer = BackpropTrainer(net, ds, learningrate=0.01,momentum=0.99)
print("Start training")
a = trainer.trainUntilConvergence(verbose=True,` dataset=ds,maxEpochs=10,continueEpochs=1000, validationProportion=0.99)
print("Finished training")
print(trainer.train())

此代码仅根据当前输入计算输出,我希望它能够处理最后 3 个输入值,并使用当前输入来预测下一个输出。

如果您只需要之前的输入,那么只需将其添加为另一个功能即可。所以如果你当前的特征向量是

x_t = (x1_t, x2_t, x3_t)

你的下一个特征向量是

x_{t+1} = (x1_{t+1}, x2_{t+1}, x3_{t+1})

那么你可以简单地使用

x_new = (x1_t, x2_t, x3_t, x1_{t+1}, x2_{t+1}, x3_{t+1})

作为输入特征向量。

循环神经网络

但是,如果你需要一个可变长度的时间序列作为输入向量,你可以使用递归神经网络。我不认为 PyBrain 可以做到这一点。我建议你看看Google Tensor Flow。有关 RNN 的教程,请查看这两篇优秀的博客文章: