PyBrain – 基于输入历史进行计算

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

输入历史,X和Y用于计算未来的Z值

我已经做了一些编码,但无法添加这个功能,有什么想法可以进行这样的更改吗?

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())

这段代码仅根据当前输入计算输出,我希望它能记住前三个输入值,并与当前输入一起预测下一个输出。


回答:

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

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的教程,可以看看这两篇优秀的博客文章:

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注