https://medium.com/@monocosmo77/new-developments-in-convex-optimization-part4-machine-learning-22e8e91a73