Recommendation Engines using Machine Learning, and JRuby 2.88 http://spkr8.com/t/8842

Description:

Ever wonder how netflix can predict what rating you would give to a movie? How do recommendation engines get built?

Well, it's possible with JRuby and it's fairly straight forward. Many engines are built purely on support vector machine regressions which map arrays of data onto a classifier, like a star.

In this talk I'll explain how support vector machines are built, and how do make a simple movie prediction model all in JRuby.

Comments on this Talk

Avatar-missing-icon-10 luminousbit, 05 Nov 06:43 PM

Sorry Matt,

The content of the talk was good. It had great potential and I think it was probably great for the target audience: outside of their comfort zone enough to be new and intriguing without being totally crazy.

But unfortunately, Matt spent more time laughing at the math. There were eight pauses in a five minute span where he promised the code was coming soon and to not be scared of the math. If he wasn't comfortable "dumbing down" the math so that the audience could understand it, then he shouldn't have presented it at all. It just turned the entire talk into a long, grueling grind. His lack of confidence in presenting the material was obvious and painful. I think everyone would prefer he spend more time presenting the content and less time apologizing for the difficulty.

Stream.11067 Marty Haught, 05 Nov 09:25 PM

Matt, I think the talk had good potential and while there were issues, I think many of them only need small tweaks.

First, don't belittle yourself or apologize for your material while on stage. If you think the material isn't appropriate or needs to be presented differently go ahead and tweak it. Even if some of the audience won't be closely following, please pretend that it doesn't matter. This is akin to when playing music on stage, you don't react visibily to any mistakes made. You keep playing like nothing happened. Very often the audience will not notice but they certainly will if you make a face or say something.

Second, practice your talk. This is vital for timing, for getting a flow and figuring out if a slide or two will be difficult to talk about. It's also great to give the talk to a local users group or at least another techie and ask for feedback.

Third, I think for a topic like this you need to give us a reason we should care about this topic. Start with a concrete example that we can understand (like the netflix recommendations) right off the bat. Then refer to that as you go through all the pieces of this using the data. It would have helped me immensely understand the boundaries/lines in the data using something concrete. You did this with your later slides in the code but it would have helped much more if you had started off with it instead of using it at the end.

Avdi-headshot-rep3-2010-square-tight Avdi Grimm, 10 Nov 10:20 PM

I made a note to come back and give feedback, since you asked so nicely after the talk :-)

Here's my suggestion: choose one of the following options:

a) "This math is really cool, and I am going to explain the math to you in a way that you can understand even in in the space of half an hour. You will have learned something new and nifty about how machine learning works".

b) "The math does not matter for this talk, and I'm not even going to show it to you. Here's an interesting application problem, and here's how we solve it using jRuby and existing libraries".

Either of those approaches could work and make for a terrific talk. The middle ground, however, of "here is some math, but I don't have time to explain it", wasn't as effective.

I hope that's useful feedback!

Have an account? Sign in or register.

Leave a Comment

26 Ratings: 2.88

Delivery: 2.42

Content: 3.33

Last Five Ratings