Ask HN: Where can I learn how to build a recommender system?

48 points by xky ↗ HN
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!

23 comments

[ 2.1 ms ] story [ 64.0 ms ] thread
One 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-berkel...

There 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.
Yes. 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.

This 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
The book Programming Collective Intelligence has a step-by-step example of how to build a recommendation system. Highly recommended.
I can second this. It gives plenty of working examples and lays enough groundwork so you can dig deeper where you need to.
I 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

What 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.

The 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.

I 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!

Thanks for the encouragement :)
Pretty trivial really. If you can't deduce the principles, building one from scratch may be inadvisable.
HN delivers. Thanks for the recommendations. I decided to start with Coursera to get a lay of the land then dig deeper from there.