https://medium.com/@monocosmo77/how-the-k-svd-algorithm-works-part3-machine-learning-linear-algebra-ed71ba4430f4