https://medium.com/@monocosmo77/merging-mutual-information-theory-into-machine-learning-research-part2-bebee78c3e39