title: Meaning of an Epoch in Neural Networks Training
body: <p>while I'm reading in how to build ANN in <a href="http://pybrain.org/docs/tutorial/fnn.html">pybrain</a>, they say: </p>
  
  <blockquote>
    <p>Train the network for some epochs. Usually you would set something
    like 5 here,</p>
  
  <pre><code>trainer.trainEpochs( 1 )
  </code></pre>
  </blockquote>
  
  <p>I looked for what is that mean , then I conclude that we use an epoch of data to update weights, If I choose to train the data with 5 epochs as pybrain advice, the dataset will be divided into 5 subsets, and the wights will update 5 times as maximum.</p>
  
  <p>I'm familiar with online training where the wights are updated after each sample data or feature vector, My question is how to be sure that 5 epochs will be enough to build a model and setting the weights probably?  what is the advantage of this way on online training? Also the term "epoch" is used on online training, does it mean one feature vector? </p>