What is a batch in machine learning?
The accepted answer is correct, but it may also be helpful to think of a batch from a classification standpoint. 

Suppose you have a binary classification problem that you are trying to solve using a multilayer perceptron, with 1000 examples of each class. 

When training the model, you don't want to have to wait until the model has seen all of the data before a weight update is performed. That's computationally inefficient. Instead, you take, for example, 100 random examples of each class and call it a 'batch'. You train the model on that batch, perform a weight update, and move to the next batch, until you have seen all of the examples in the training set. One pass through the training set in this manner is called an 'epoch'.