stochastic optimisation algorithms are the de facto standard for machine
learning with large amounts of data. Handling only a subset of available data
in each optimisation step dramatically reduces the per-iteration computational
costs, while still ensuring significant progress towards