5

I'm trying to understand (and visualize) what an epoch exactly is with regards to training an ANN.

We have a training set of ~7000 products which have 10 characteristics (the inputs). These products have to be categorized into 7 classes based on those 10 inputs.

Our ANN has 10 inputs which go into an input layer of 10 neurons. Those in turn go into a hidden layer with 8 neurons. The output layer has 7 neurons.

How can I visualize/understand an epoch in this case?

sidenote: I'm writing this in MATLAB (and I know about the ANN toolbox)

Ortixx
  • 833
  • 3
  • 10
  • 23
  • I think it's just an iteration of the back-propagation algorithm. The algorithm iteratively alters the network weights. I think an epoch is just the weights at any given iteration *during* the training process. This answer puts it quite well: http://www.mathworks.com/matlabcentral/answers/62668-what-is-epoch-in-neural-network - each epoch is when each training set record (all inputs) have been used once to update the weights – Dan Sep 17 '14 at 09:51

1 Answers1

5

In MATLAB an epoch can be thought of as a completed iteration of the training procedure of your artificial neural network. That is, once all the vectors in your training set have been used by your training algorithm one epoch has passed. Thus, the "real-time duration" of an epoch is dependent on the training method used (batch vs sequential, for example).

Quoting from a freely-accessible version of the MATLAB ANN toolbox glossary:

epoch - Presentation of the set of training (input and/or target) vectors to a network and the calculation of new weights and biases. Note that training vectors can be presented one at a time or all together in a batch.

Matlab allows you to set a maximum number of epochs after which to terminate the training procedure. This is used to stop the training in case the solution of the training algorithm does not converge, to prevent infinitely running the training.

JoErNanO
  • 2,458
  • 1
  • 25
  • 27