https://medium.com/@monocosmo77/working-with-hamiltonian-monte-carlo-part2-machine-learning-eaa602fa6ccc