https://machinelearningmastery.com/types-of-learning-in-machine-learning/
https://medium.com/@sasi24/cosine-similarity-vs-euclidean-distance-e5d9a9375fc8