我想知道如果我做错了什么,或者结果真的很差。让我们假设最简单的例子NN中所示的文件:pybrain效果不佳
>>>net = buildNetwork(2, 3, 1, bias=True)
>>> ds = SupervisedDataSet(2, 1)
>>> ds.addSample((0, 0), (0,))
>>> ds.addSample((0, 1), (1,))
>>> ds.addSample((1, 0), (1,))
>>> ds.addSample((1, 1), (0,))
>>> trainer = BackpropTrainer(net, ds)
>>> trainer.trainUntilConvergence()
>>> print net.activate((0,0))
>>> print net.activate((0, 1))
>>> print net.activate((1, 0))
>>> print net.activate((1, 1))
如
>>> print net.activate((1,0))
[ 0.37855891]
>>> print net.activate((1,1))
[ 0.6592548]
预期为0。我知道我可以明显地轮,但我还是会期待网络成为该地段更精确一个简单的例子。它可以被称为“工作”在这里,但我怀疑我失去了一些重要的原因,这是非常不可用...
事情是,如果你设置verbose=True
给你的教练,你可以看到很小的错误(如总误差: 0.0532936260399)
我假设网络的错误是5%,那么在激活函数后它怎么会这么差呢?
我明显使用pybrain很多更复杂的事情,但我有同样的问题。尽管网络上说错误大概是0.09左右,但我的测试样本大概有50%是错误的。
任何帮助吗?
[神经网络训练与PyBrain的可能重复不收敛](http://stackoverflow.com/questions/12050460/neural-network-training-with-pybrain-wont-converge) – PhoneixS