如果我需要一个模型,它将根据当前输入和之前的输入计算输出,该怎么办:
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个输入值催眠,并使用当前输入来预测下一个输出。
答案 0 :(得分:0)
如果您只需要先前的输入,则只需将其添加为另一个功能即可。因此,如果您当前的特征向量是
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的教程,请查看这两篇优秀的博客文章: