https://medium.com/@monocosmo77/working-with-kullback-leibler-divergence-part3-machine-learning-505fb087ea03