随着时间的推移反向传播

时间:2011-05-13 17:16:43

标签: java .net python f# neural-network

有没有人知道一个库有一个随时间推移的反向传播的工作实现? 任何Java / Python / C#/ VB.NET / F#(最好是最后一个)都可以!

8 个答案:

答案 0 :(得分:11)

假设您已经在使用某些BP库,那么使用BP作为该过程中的一个步骤,应该(TM)实施BPTT非常简单。

BPTT的维基百科条目[1]包括相关的伪代码。

我自己的起点,大约18年前,是“卡车支持者 - 上层:神经网络中的自学习的例子”[2]。

[1] http://en.wikipedia.org/wiki/Backpropagation_through_time

[2] http://www-isl.stanford.edu/~widrow/papers/c1989thetruck.pdf

答案 1 :(得分:4)

我只在有限的时间内使用NeuronDotNet。它允许您创建前馈BackPropagation NN。我特别喜欢他们使用直观命名的类。祝你好运!

这是一个.net库。

答案 2 :(得分:3)

我来自Java背景,但Encog也有.net实现(对NNets来说是一个非常好的框架,有很好的时间序列支持)

无法帮助使用F#框架,但您编写的域名是什么?如果它是财务我会重申“看看Encog”

答案 3 :(得分:2)

也许pybrain会这样做?其BackpropTrainer类的文档字符串表明它会随着时间的推移进行反向传播:

class BackpropTrainer(Trainer):
    """Trainer that trains the parameters of a module according to a
    supervised dataset (potentially sequential) by backpropagating the errors
    (through time)."""

答案 4 :(得分:1)

this one怎么样?只是谷歌搜索帮助......

答案 5 :(得分:0)

我对Weka有很好的体验 - 在我看来,这是最好的,几乎肯定是最全面的通用机器学习库之一。

你当然可以用Weka做BPTT - 你可能会找到一个现成的分类器来完成你需要的但是即使不是你可以按照非常好的wikipedia article on BPTT

答案 6 :(得分:0)

我很久以前在Java中制作了反向传播算法。我将它上传到GitHub,也许你会发现它很有用:https://github.com/bernii/NeuralNetwokPerceptronKohonen

如果它有用,请现在让我:)

答案 7 :(得分:0)

您可以使用TensorFlowdynamic_rnn()功能(API doc)。 TensorFlow的tutorial on Recurrent Neural Networks会有所帮助。

此外,这个伟大的blog post提供了使用TensorFlow预测序列的很好的介绍。这是另一个blog post some code来预测时间序列。