5 ms·
Ask HN: Where can I learn how to build a recommender system?
I'm trying to build a recommender system for news articles. I've read about basic collaborative systems but I'm looking for something more.
Do you know of any good intros to building recommender systems?
Thanks HN!
- dserban 10y agoOne of the Spark-focused EdX courses[0] has a very good module on Alternating Least Squares, that will help you understand how to build recommender systems in a scalable way with Spark. [0] https://www.edx.org/course/big-data-analysis-spark-uc-berkeleyx-cs110x https://www.edx.org/course/big-data-analysis-spark-uc-berkel...
- xky 10y agoThis looks good but it's starting late 2016. Are there any old courses you could recommend?
- dserban 10y ago[1] http://bugra.github.io/work/notes/2014-04-19/alternating-least-squares-method-for-collaborative-filtering/ http://bugra.github.io/work/notes/2014-04-19/alternating-lea... This looks like a good introduction to ALS, albeit Python/Pandas centric.
- mystique 10y agoThere is a good course on coursera just for recommendation systems. Evaluation of different models is something many algorithm oriented posts don't talk about but is covered well in this course.
- xky 10y agoThis it? https://www.coursera.org/learn/recommender-systems https://www.coursera.org/learn/recommender-systems
- mystique 10y agoYes. I have used its material and found it helpful. Machine learning: recommender systems and dimensionality reduction also looks good but it starts in July. If you are already familiar with dimensionality reduction techniques the first one should be enough to get you going. There are other self paced courses on dimensionality reduction on coursera too.
- vr3690 10y agoThis is a good course for the fundamentals. Although IIRC the programming assignments aren't that great because it mostly involves plugging in their recommender system framework that was developed by one of the instructors
- karolisd 10y agoThe book Programming Collective Intelligence has a step-by-step example of how to build a recommendation system. Highly recommended.
- jfaucett 10y agoI can second this. It gives plenty of working examples and lays enough groundwork so you can dig deeper where you need to.
- tmaly 10y agoI have the book sitting on my desk, but I have not read it yet. Thanks for pointing this out, I have been wanting to do something with recommendations. Cheers
- vaibkv 10y agoWhy don't you try and read some research papers on this topic and then decide how you would want to build your algorithm? Some links - http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/35599.pdf http://static.googleusercontent.com/media/research.google.co... http://insight-centre.org/sites/default/files/publications/14.095_analysis-recommender-algorithms_15.pdf http://insight-centre.org/sites/default/files/publications/1... http://users.cis.fiu.edu/~taoli/pub/p125-li-sigir2011.pdf http://users.cis.fiu.edu/~taoli/pub/p125-li-sigir2011.pdf http://arxiv.org/pdf/1303.0665v2.pdf http://arxiv.org/pdf/1303.0665v2.pdf http://scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=1297&context=etd_projects http://scholarworks.sjsu.edu/cgi/viewcontent.cgi?article=129... https://www.ntnu.no/wiki/download/attachments/71733389/WEBIST_2014_Ozgobek%20Final.pdf?version=1&modificationDate=1400066559000&api=v2 https://www.ntnu.no/wiki/download/attachments/71733389/WEBIS... A chapter dedicated to the subject - http://infolab.stanford.edu/~ullman/mmds/ch9.pdf http://infolab.stanford.edu/~ullman/mmds/ch9.pdf
- psyklic 10y agoHere are a few more applied papers/articles: + Hulu: http://tech.hulu.com/blog/2011/09/19/recommendation-system/ http://tech.hulu.com/blog/2011/09/19/recommendation-system/ + Amazon: http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf http://www.cs.umd.edu/~samir/498/Amazon-Recommendations.pdf + Spotify: http://www.slideshare.net/erikbern/collaborative-filtering-at-spotify-16182818 http://www.slideshare.net/erikbern/collaborative-filtering-a...
- siquick 10y agoHeres an outstanding answer on Stack Overflow on how to implement Collaborative Filtering in MySQL edit: link included http://stackoverflow.com/questions/2440826/collaborative-filtering-in-mysql http://stackoverflow.com/questions/2440826/collaborative-fil...
- lazyant 10y agohttp://www.amazon.com/Programming-Collective-Intelligence-Building-Applications/dp/0596529325/ http://www.amazon.com/Programming-Collective-Intelligence-Bu... has a chapter on recommendation systems
- aaron695 10y agoWhat you are wanting to do is very hard. Netflix offered a million prize for a movies recommender and then proceed to not use the winning solution. Don't underestimate it. It's a large investment, don't think of it as a side part of a project. It's the project. I did the coursea course mentioned in the other comments and it was ok. If I was you I'd look at some sort of hack. Using mods or something. If it was possible with software on something common like news it'd be open sourced already.
- eshvk 10y agoThe Pareto principle applies to a lot of Machine Learning projects. You can get surprisingly far with very simple heuristics. OP can probably tune something that works well for him. Making it work at scale for a massively different demographic is harder. SOURCE: I work in Spotify doing music recs.
- vojta1 10y agoI found myself in a similar situation about year and a half ago wanting to learn recommender systems. What worked best for me was the already mentioned coursera recommender system course. Then if you can, go to RecSys conference (this year happening in fall in Boston). Then the absolute go to book for recommender systems is "Recommender systems handbook" - it has second edition that came out last year and this book covers everything from math, practical issues/architecture, to industry use cases etc. Good luck!
- xky 10y agoThanks for the encouragement :)
- rajacombinator 10y agoPretty trivial really. If you can't deduce the principles, building one from scratch may be inadvisable.
- xky 10y agoHN delivers. Thanks for the recommendations. I decided to start with Coursera to get a lay of the land then dig deeper from there.