https://medium.com/@monocosmo77/how-to-use-the-quasi-newton-method-part1-machine-learning-optimization-e81d234a85a1