https://medium.com/@monocosmo77/uses-of-stochastic-optimization-part1-advanced-machine-learning-aff277949490