https://medium.com/@monocosmo77/working-with-kullback-leibler-divergence-part5-machine-learning-8c19766314ed