48 comments

[ 1.6 ms ] story [ 125 ms ] thread
I can't judge the coursera course, but for anyone who is interested in this field and wants a gentle introduction, I high recommend Programming Collective Intelligence (http://shop.oreilly.com/product/9780596529321.do). It covers many of the types of recommender systems that the coursera course is likely to cover, and comes with a lot of nice Python code examples.

It's highly useful knowledge too. I ran across so many startups that needed recommender systems that I launched a company called Algorithmic.ly (http://algorithmic.ly) to help companies without the expertise integrate recommendation systems and other types of algorithms into their projects.

PCI is a great book. One book I'll recommend after reading it is "Mining of Massive Datasets" (http://infolab.stanford.edu/~ullman/mmds.html) - Chapter 9 especially. It goes into more depth than what's covered in PCI and it's not too difficult to follow.

I'm working on a personal project in recommender systems so I look forward to enjoy this course.

Thanks for that link. Chapter 7 helped answer some of the questions I had after reading PCI.
I was about to buy PCI a few days ago, but was worried that the information may be out of date, considering it was published six years ago. Do you think most of the material is still pertinent?
I believe all of the material is still pertinent. It primarily uses the MovieLens data set and mostly builds off of textbook techniques and generic Python. It's not a book that will go out of data quickly.
Go for it. It's a great book and except for references to friendster as the big social network and facebook a newbie, nothing else seemed dated to me. Most of the APIs used in the book are still pretty much available except probably(??) delicious API.
I was a technical reviewer of that book (although no knowledge of PCI in practice), and I found it to be less moment-specific and more general grounding and strategy than I expected. It really is a good book.
Thanks for the recommendations, all. Just got my copy delivered yesterday and I'm looking forward to digging into it.
I'd be interested in knowing how much deep learning is changing the algorithms used in this field, given the performance of restricted boltzmann machines on the netflix data set http://www.cs.utoronto.ca/~hinton/absps/netflixICML.pdf.
I am surprised that there is no mention of this in the course syllabus -- in fact it looks like a lot of recent techniques that are missing. They don't even talking about LSA(/SVD)-based methods until the end of the course.
Dumb, general question: should it really be a surprise that an Introduction course doesn't use all the recent techniques?
I guess I often assume that topics classes like these assume some sort of background in machine learning. Perhaps that's not the case.
LSA and truncated SVDs on a user-item matrix date back to the 1980s, don't they?
You'd be surprised how overwhelmingly common and effective very simple methods like logistic regression and basic decision trees are for such systems.

Further, RBMs and other deep learning tools require a significantly more sophisticated mathematical background than algebra and a much broader understanding overall.

The netflix prize touched on one of many areas related to recommender systems.

As mentioned already, very simple methods can be really effective. Things such as the UI are also known to have a big impact on how 'useful' people find the recs.

Not much yet. It's not well enough understood yet.
coursera is killing me with courses I want to take.
I just wish you could take the classes at your own pace. I'm getting very little out of the "certifications" or whatever. And the TA's/Discussion forums tend towards pretty useless because of how disorganized they are.
Download the resources and you'll be able to take the class at your own pace. There are several tools for that purpose on github. e.g this one: https://github.com/dgorissen/coursera-dl

As a special gift, it's allow you to archive the courses for later review.

Another note: If you can't make that tool work (I know I couldn't), you can also use something like DownloadThemAll. It works great.
Mainly I just want the graders to stay up. I've taken 2 programming courses and having the auto-grader feedback really helps in figuring out how I'm doing assignments incorrectly.
I think the main reason why any reasonably complex grader is not allowed to run after the course has officially finalized is cost(s).

While for users it's free to take the course, the offering company probably has to pay fees to whatever IaaS they're using to run the grader(s). I would imagine to make it 'cost-effective' for their purposes, they'd be interested in as many people as possible benefiting from the grader's functionality if they're being charged by the hour for example or some other block-allocation unit.

I would suggest giving Udacity a try as well. Most of their courses do not have deadlines.

For example, here is a great course they offer on web development: https://www.udacity.com/course/cs253 , co-authored by one of the Hipmunk and Reddit creators.

I'll take "Features I'd be Willing to Pay For" for $100 please, Alex.
Agree 100%, it's maddening. A lot of the people that would get the most out of these courses don't have time to adhere to a strict schedule like they expect you too. I wonder if it has to do with colleges realizing just how disruptive it could be to there business model.
At some point they must cycle (with TAs?), right? How else to amortize fixed costs?
Couple months ago, I met Andrew Ng at a meet up and asked him why there's deadline for the courses (comparing to Udacity model). He said they did a study, courses with deadlines tends to have more students.

I found that it's very plausible. I still have couple of Udacity classes half finished, thinking I can always come back later, while working furiously on Coursera's deadlines...

I've done this with Coursera classes. I just sign up for them so that they're always saved in "My Courses" and go through the video lectures at my leisure. I miss the grading and a lot of the live discussion, but the notes and lectures are certainly valuable.
It's worth noting that some classes do actually disable access to the lectures and course site for students after a cut-off date. I can't speak for all of the classes from these schools, but all the classes I've taken from Princeton, Johns Hopkins and U-Penn through Coursera do that.

They do allow you to download the videos, so if you're planning on taking a class from one of those schools at your own pace, just be sure to download the lecture videos and slides before the end date.

The problem with that is not all of them actually stay open when they're completed. I've tried that too but have found a couple have actually closed when I was finally ready to take the lectures.
Being able to go at your own pace (and course content quality) is why I think Udacity is a better course provider than Coursera (even though Udacity is clearly loosing in market share).
I believe their Discrete optimization course is at least somewhat self-paced. [1] Also, not sure if all of the Stanford/edX courses are, but Medical Stats is, and it's been really helpful for keeping my attention.

[1] https://www.coursera.org/course/optimization [2] medstats.class.stanford.edu

Hmm, seems interesting = I'm currently doing the Machine Learning one also via Coursera, run by Andrew Ng, and it's good gentle introduction to the subject.

It's a shame we can't view the course content for this one earlier...haha.

I may be wrong, but I think it's the 1st time the course is being offered, I don't personally remember seeing it before in their course list.
Thanks coursera.

Thank you very much.

Looking forward for this course.

You save my some $$$ :) Will surely donate you.

I couldn't possibly recommend a site that requires javascript to display any content whatsoever.
Why not? JavaScript has become a part of the web, just as much as HTML and CSS. You might as well shun sites that use the <ul> tag, or CSS to style content.
JavaScript should certainly be used to enhance content and ad functionality. But the core content should always be available without JS, since not all consumers of that content will have JS enabled, or be able to interpret it.
<div style="text-align:center; margin-bottom:10px;">Please use a <a href="/browsers">modern browser </a> with JavaScript enabled to use Coursera.</div>

Good job there folks

At least they use noscript and give you a warning if you don’t have javascript enabled, there are so many sites that don’t check if javascript and cookies are enabled
Interesting anecdote: A graduate of my university works for Google who originally had a very complex "machine learning pipeline" for the product recommendations but he has since re-implemented the feature in, as he calls it, a "much simpler bloom filter algorithm".
So many great online courses, and so little time!