https://medium.com/@monocosmo77/dealing-with-saddle-point-problems-part3-machine-learning-126a01d04029