Onto The Next One

Posted by Jarrod Valentine on July 26, 2017

The idea for the next project I'll be working on is another recommender (it turns out recommendations are very important for online movies). For this recommender, we want to take a user's viewing history and make recommendations of curated movie lists (Spotlight lists on Fandor) based on what the user has watched.

Recommender Research

I spent about 5 days reading a lot of different blog posts, book excerpts, data science forums, and all the notes and resources I had from Galvanize to get an idea for this next recommendation project. I looked into a lot of the different kind of recommenders out there (content vs. collaborative filtering, matrix factorization techniques, implicit vs. explicit data, neural networks, etc. etc. etc.) and I found a lot of cool stuff.

This Spotify neural net recommender seemed like an interesting way to make recommendations by analyzing 30 second chunks of music and analyzing the properties of the audio itself. This was a cool approach, but didn't seem like a good fit for video. I really liked this paper on collaborative filtering for implicit data and was surprised I hadn't seen it before- the approach is so useful- especially because my data is implicit user feedback.

Matrix factorization techniques still seem to be the go-to choice for most people building recommenders. Neural networks seem to need a lot of data to make recommendations and research papers don't seem to indicate an advantage in their implementation. This paper on restricted Boltzmann machines for collaborative filtering was super interesting and seems to indicate where recommenders could go in the future. Plus Boltzmann machines are wicked cool (woo physics!).