PyBrain - 根据输入历史计算

时间:2016-01-26 12:26:31

标签: python machine-learning neural-network conv-neural-network

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

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个输入值催眠,并使用当前输入来预测下一个输出。

1 个答案:

答案 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的教程,请查看这两篇优秀的博客文章: