A Neural Autoregressive Approach to Collaborative Filtering