https://medium.com/@monocosmo77/how-stochastic-optimization-works-part1-machine-learning-faa20f3b9b7f