https://medium.com/@monocosmo77/applications-of-singular-value-decomposition-part1-machine-learning-69c671abeac3