https://medium.com/@monocosmo77/how-non-convex-optimization-works-part4-machine-learning-8a8c6acce07a