https://medium.com/@monocosmo77/understanding-invariant-risk-minimization-part4-machine-learning-11b15895eae6