https://medium.com/@monocosmo77/how-proximal-gradient-descent-works-part3-machine-learning-optimization-4e09171526cf