https://medium.com/@monocosmo77/how-semi-supervised-learning-works-part3-machine-learning-1b179acfeb26