title: Neural Network training with PyBrain won't converge
body: <p>I have the following code, from the PyBrain tutorial:</p>
  
  <pre><code>from pybrain.datasets import SupervisedDataSet
  from pybrain.supervised.trainers import BackpropTrainer
  from pybrain.tools.shortcuts import buildNetwork
  from pybrain.structure.modules import TanhLayer
  
  ds = SupervisedDataSet(2, 1)
  ds.addSample((0,0), (0,))
  ds.addSample((0,1), (1,))
  ds.addSample((1,0), (1,))
  ds.addSample((1,1), (0,))
  
  net     = buildNetwork(2, 3, 1, bias=True, hiddenclass=TanhLayer)
  trainer = BackpropTrainer(net, ds)
  
  for inp, tar in ds:
       print [net.activate(inp), tar]
  
  errors  = trainer.trainUntilConvergence()
  
  for inp, tar in ds:
       print [net.activate(inp), tar]
  </code></pre>
  
  <p>However the result is a neural network that is not trained well. When looking at the error output the network gets trained properly however it uses the 'continueEpochs' argument to train some more and the network is performing worse again. So the network is converging, but there is no way to get the best trained network. The documentation of PyBrain implies that the network is returned which is trained best, however it returns a Tuple of errors.</p>
  
  <p>Whens etting continueEpochs to 0 I get an error (ValueError: max() arg is an empty sequence) so continueEpochs must be larger than 0.</p>
  
  <p>Is PyBrain actually maintained because it seems there is a big difference in documentation and code. </p>