Better approaches to estimate similarities have also been proposed in Koren (2010).
modern methods based on matrix factorization have been shown to outperform nearest neighbor methods (Salakhutdinov and Mnih, 2008a,b;Bell et al., 2007).