Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Math Media Movies Programming Software IT Technology

Interest Still High In the Netflix Algorithm Competition 77

circletimessquare brings us an update to the status of the million-dollar Netflix competition to develop a better algorithm for movie recommendations. We've discussed aspects of the competition since it started two years ago, but the New York Times has a lengthy overview of where it stands now. "The Netflix competition is still going strong, with a vibrant, competitive roster of some 30,000 programmers around the globe hard at work trying to win the prize. The Times provides a look at some of the more obsessive searchers, such as Len Bertoni, a semi-retired computer scientist near Pittsburgh who logs 20 hours a week on the problem, oftentimes with the help of his children. There's also Martin Chabbert in Montreal: 'After the kids are asleep and I've packed the lunches for school, I come down at 9 in the evening and work until 11 or 12.' The article gets into the history of the search algorithm Netflix currently uses, and explores the hot commodity called 'singular value decomposition' that serves as the basis for most of the algorithms in competition."
This discussion has been archived. No new comments can be posted.

Interest Still High In the Netflix Algorithm Competition

Comments Filter:
  • Netflix (Score:5, Interesting)

    by boyter ( 964910 ) on Saturday November 22, 2008 @06:16AM (#25856515) Homepage

    It's actually not that hard to build an algorithm which works well. Following a demonstration at TechEd I built my own implementation using Python in about 2 hours (using a vector space algorithm) or so with reasonable results. The problem is that it is very difficult to win the prize.

    The best thing about it is that you get a lot of data to play with. If you are interested in parallel algorithms and large data sets give it a go. Its surprisingly interesting and sucks you in. In fact I might go play with it now.

  • by gardyloo ( 512791 ) on Saturday November 22, 2008 @06:21AM (#25856543)

    Each new algorithm takes on average three or four hours to churn through the data on the family's "quad core" Gateway computer.

    Anyone who puts "quad core" in quotes like that is either clueless, or---when talking about Gateways---astoundingly ironic. It's kudos either way!

    • Pragmatic Theory -- two French-Canadian guys in Montreal

      Residents of the province of Quebec in Canada are ineligible to participate.

      looks like these guys are SOL :(

  • by cjfs ( 1253208 ) on Saturday November 22, 2008 @06:27AM (#25856567) Homepage Journal

    When Bertoni runs his algorithms on regular hits like Lethal Weapon or Miss Congeniality and tries to predict how any given Netflix user will rate them, he's usually within eight-tenths of a star

    Makes me wonder how accurate my own ratings would be. The difference between clicking 3 or 4 stars is often very minor and arbitrary. At the end of a movie I might rate it something totally different than 20min later. Sounds like they're doing pretty good so far.

    There's a sort of unsettling, alien quality to their computers' results ... But many categorizations are now so obscure that they cannot see the reasoning behind them. Possibly the algorithms are finding connections so deep and subconscious that customers themselves wouldn't even recognize them.

    Realizing the program you wrote out-performs you and you can't explain why is a rather odd feeling.

  • by rolfwind ( 528248 ) on Saturday November 22, 2008 @06:34AM (#25856589)

    got from this, even when it has to pay out the prize it will be very cheap against any going rate.

    • Re: (Score:2, Insightful)

      by Alterion ( 925335 )
      exactly this is spec work, plain and simple, anyone entering this kind of competition is selling themselves short
      • by Animaether ( 411575 ) on Saturday November 22, 2008 @07:50AM (#25856831) Journal

        Why is it considered selling yourself short if you do work for free for a commercial entity... but not when you contribute to, say, FireFox, ThunderBird, Apache, the Linux kernel, and so forth and so on?

        In both cases you are typically doing work for absolutely zilch as far as cash or prizes go. You may get a fuzzy warm feeling on the inside, you may simply enjoy doing the work (similar to the fuzzy warm feeling), maybe you enjoy the popularity it gives you. On rare occasions, maybe the work you do there lands you a job further down the line but that's not really something you can bank on. In both cases, you are also doing work somebody else -could- have been doing, for actual pay. I won't get into an argument of whether doing work for free means you're 'stealing jobs' - fact simply is that Netflix -is- getting a lot of work done practically for free that they would otherwise have had to hire somebody for; you would have to agree as otherwise "selling themselves short" would not apply.

        So yes, you're doing work that should be landing you some cold hard cash when you...
        - devise a matching algorithm for Netflix
        - create a video for Radiohead
        - submit photos to a Canon photo competition that they are then free to use in any and all marketing material aka ads regardless of whether your photo actually won that competition.

        But isn't that pretty much the status quo that many here -want- to go to? Those making their money with proprietary programming, creating arts, etc. are dinosaurs in dying business models, no?

        (only semi-flamebait)

        • by Kryptikmo ( 1256514 ) on Saturday November 22, 2008 @08:10AM (#25856885)

          It's not selling yourself short to work on FOSS for a very simple reason. Work on FF, or Thunderbird, or open-sourcing a script that I wrote to convert music is free at the point of delivery. That is, anyone can use it without paying. Freely given, and freely distributed.

          However, in this case the user of the algorithm is paying Netflix. Netflix takes the work that I have done, and closes it off from other people. My work goes not to benefit the community, but merely to benefit one company - a company that has paid me (cheaply) for my work. Since companies by definition only care about the bottom line, their intent is not to benefit the community, but to benefit themselves. You are effectively working for them for cheap, selling yourself short.

          If netflix were to give away the algo for use by anyone else too, then it would be very generous and then you may be able to make a comparison with FOSS. I( have no idea if they will do that or not. However, if I were a shareholder, I would not want them to give away a potentially killer feature for which they paid $1m.

          Saying that, if you enjoy playing with this, go ahead! Just be honest with yourself about. If you still want to do it, wallow in it. But it's an extremely pernicious thing to do to link this with working on something that is done to benefit everyone. It simply is not the same thing.

          • by Spy Hunter ( 317220 ) on Saturday November 22, 2008 @08:56AM (#25857009) Journal

            Actually Netflix closes nothing off. In fact, in order to receive the prize, the winner must publish their algorithm to the public. The winner could easily open-source the entire thing, or OTOH they're also free to patent it out the wazoo and start pimping it out. The only condition Netflix imposes is that Netflix gets a non-exclusive license to use the algorithm in exchange for the prize money, which is eminently reasonable.

            • Re: (Score:2, Interesting)

              by Kryptikmo ( 1256514 )

              That's remarkably reasonable. If I was LOVEFiLM or Amazon I'd be cackling with glee. I'm not though, so I'll just be depressed that one could hope to patent an algorithm. Not hardware that carries out an algorithm, but just an algorithm.

              Although if I were a netflix shareholder I'd be pissed off that the company were giving away my funded research for free, when they could probably get it closed off and reap the rewards. Mind you, the amount of publicity that they have received - I know about Netflix now and

          • Re: (Score:2, Informative)

            Saying that, if you enjoy playing with this, go ahead! Just be honest with yourself about. If you still want to do it, wallow in it. But it's an extremely pernicious thing to do to link this with working on something that is done to benefit everyone. It simply is not the same thing.

            Exactly. Working on FOSS is a magnanimous thing to do. You are giving freely to the entire world -- anyone who needs done what your particular code does. It's volunteerism.

            When you participate in the Netflix competition, you might not be getting paid, but the work you're doing benefits only Netflix and you -- if you win the $1 million prize, that is. There are side benefits even if you don't win the million dollar prize -- you increase your own abilities in the areas of programming, mathematics, critical

          • by Cylix ( 55374 )

            I don't know which company you work for, but despite how much I might save or earn for my company I never receive a million dollars compensation.

            Any openings in your uncle penny bags org?

            • by maxume ( 22995 )

              Congratulations on winning the Netflix prize.

              Or are you talking about a hypothetical million dollars? At least your company pays you for the work you do incrementally, rather than for the best answer.

          • Re: (Score:1, Insightful)

            by msromike ( 926441 ) *

            Oops. One small problem that invalidates most of what you said.

            First, a company is not a "self." Second, a company is run to profit the people that put capital at risk (i.e. the owners of the company.) Those are the "selves" that are being rewarded. Why shouldn't people that put capital at risk be rewarded for their effort? Third, the company is providing a benefit to everyone. They are providing a good product at a fair price. If they weren't, then it wouldn't be a successful company.

            I still contend

        • Why is it considered selling yourself short if you do work for free for a commercial entity... but not when you contribute to, say, FireFox, ThunderBird, Apache, the Linux kernel, and so forth and so on?

          Duh, because they also open source their (paid for) improvements? Its quid pro quo.

      • Yeah, there's also this line in the article:

        They also knew that, as Reed Hastings, the chief executive of Netflix, told me recently, getting to 10 percent would certainly be worth well in excess of $1 million to the company.

        If somebody were really smart, they'd develop the algorithm, skip the contest, and sell it to Netflix for quite a bit more than $1 million.

    • Re: (Score:2, Insightful)

      by ai3 ( 916858 )

      That's what I was thinking. This shows how a company with good management can really save money. Instead of the standard outsourcing-to-cheap-country thing, you get 30,000 people, many of them very bright and motivated, working on your problem for free, and you only have to pay when they are successful per your definition. What a bargain!

    • by myxiplx ( 906307 )

      Not only that, but they're getting free advertising off the back of it too. Slashdot have run the story at least twice, and I'll bet the other tech magazines covered it a few times too.

      Right now Netflix execs are laughing all the way to the bank, and their competitors are kicking themselves that they never thought of this.

      Somebody thoroughly deserves their bonus for thinking of this one.

  • How about they stop with the silly DRM and/or geoip limitations, and let everyone use the service who wants the service. That way they might get more balanced recommendations from more than just a small part of the world's population.

    • Licensing issues. I'm sure Netflix would LOVE to do that, but good luck talking the studios into letting them go international with streaming service. Plus, its pretty expensive to go from servicing the US, to the US and Europe.
  • My wife and I don't share much in common in movies. She likes academy award winners, I like "ridiculous stupid movies that I'm to old to be watching". Since we share a netflix account, our incompatable likes and dislikes mess up the predictions.

    • Re: (Score:2, Informative)

      by boyter ( 964910 )
      It doesn't make a difference. If you are using the same account for scoring then you are using the same account for the recommendations. So if the algorithm suggests something your wife will like but you don't it is still successful because for the account in general it gave a good match. Besides, you can actually look into the data more deeply and find accounts like this (not too difficult) and vary your scoring weights to improve accuracy for other people.
    • On the other hand, assuming that the algorithm works properly, eventually it may start to hit on movies that you BOTH like.
    • Re: (Score:3, Funny)

      It doesn't matter. The algorithms are focused on what the 'account' will like. They will find that your account likes both Oscar winners and Mel Brooks films.

  • by mlwmohawk ( 801821 ) on Saturday November 22, 2008 @08:52AM (#25856997)

    The problem with the Netflix prize, and I myself am working on it :-) is that it is pretty darn near impossible to do better than what they have.

    It is based on user ratings and how close you can come to actual user ratings. For instance, their record set has a frozen point in time, you job is to create a system that will accurately predict what another person will rate a movie in the future.

    It doesn't take much psychology to understand that these are very subjective values. If you watch a movie on a "good" date, you'll rate it higher than if you watch the same movie with a "bad" date. Then there's the level of drunkenness under which you watch the movie. The day you had at work. How much money you lost in the stock market, etc.

    In aggregate, you can come close, but the percentage of variability in the data suggests that Netflix chose their numbers well enough to never have to pay the prize.

    Also, the "data" is nothing more than movie titles and obfuscated user ratings. Any sort of contextual or meta data about the movies you have to go find yourself.

    It is a fun project on which to work, but I'm dubious of the end prize. I'll keep working on it because its fun, but I have my doubts as to the winability of the contest based on the criteria for success.

    • by Cylix ( 55374 ) on Saturday November 22, 2008 @09:09AM (#25857053) Homepage Journal

      If I recall correctly, the last person I remember winning a milestone used an additional data source for rating. (which is fine by their rules)

      It's probably going to take an additional data source to improve ratings.

      Hey if you do it at least you get a mil ;) It sounds like a worthy hobby in my book.

      • Re: (Score:3, Insightful)

        You recall incorrectly. None of the top teams currently use external data sources (some have tried, but it doesn't help that much once you get up towards the top 10). The last team that (probably, not official yet) won a milestone used the combined predictions of the first and second place teams, interpolated to improve the final score, but nothing external. Same thing in the previous year, the winning team used only computations on the data given.

        IAITTT ;)

        • Comment removed based on user account deletion
          • Re: (Score:3, Informative)

            I have not looked into it but can you be certain that the top teams are not using additional metadata on the movies?

            Pretty sure. IAITTT = I Am In The Top Ten ;)

            The winning progress prize entry from 2007 had to publish the full details of their algorithm, and they don't use anything. I don't use anything. PragmaticTheory [blogspot.com] even wrote a blog post about how they don't use anything. Others have said the same thing. It's impossible to say that no one will ever come up with a useful way to use metadata, but so f

            • Comment removed based on user account deletion
              • But isn't farfetched what you're looking for?

                Well, no, "accurate" is what you're looking for ;)

                But part of what I was getting at is that it doesn't matter how farfetched it is, SVD has no preconceptions (or at least, only the minimum needed for accuracy), it just finds the correlations themselves. If a correlation isn't detectable in the data, then it doesn't matter how plausible or farfetched something is, it won't be useful. If it is detectable in the data, then again, farfetched or not doesn't matter.

  • by Anonymous Coward


    function get_rating( int movie_flags )
    {
            int rating;

            rating = 0;

            if ((movie_flags & MADE_BY_RIAA_MEMBERS) == 0)
            { /* todo */
            }

            return rating;
    }

  • by Coolhand2120 ( 1001761 ) on Saturday November 22, 2008 @09:42AM (#25857219)
    I've used netflix on video over the internet for a year or two now. The way to solve the problem is to break the star ratings up into a few different categories. You can always leave an "overall" rating for the lazy people, but if someone really wants netflix to "get to know them" they need to be more specific about what they like in the movie.

    Right now neflix tries to infer what it was in the movie you liked by looking at other movies. Why not just ask what they liked about the movie.

    For instance, I'm very concerned about the production quality in a movie. The movie may have the best plot ever and great actors but it was shot on a home VHS camera. I would give the movie a 1 star because the production quality was so bad, on the other hand someone who likes plots may have rated it a 5 star. Now netflix will never know if I rated it 1 star because I don't like the genre or don't like the acting or the cinematography. It just sees I rated the whole movie as a 1 and any movies that have similar elements then lose their importance on my personal ratings. If I could tell netflix: don't show me movies shot on a VHS camera (e.g.: production 1 star) then I could tell netflix I love the genre, love the plot hate the production.

    A good example is Blood Ryane - this movie absolutely sucks (insert government sponsored movies jab here), but I like the genre - now if I give this one star, as it deserves, netflix will think I really don't like the... whatever, it's most likely going to be wrong about it because it's pure conjecture.

    I'm not a big movie nerd so I wouldn't be the best person to come up with the rating categories, but I'll give it a shot since this will never occur:

    1. Production Quality
    2. Plot
    3. Directing
    4. Acting
    5. Genre

    Of course this will never happen because netflix will not change their system to conform to my random idea on slashdot. And by this sentence I've just about exhausted all my interest in the subject.

    One last comment: Why are all the online netflix movies so craptastic? Really, if it wasn't made 15 years ago, and it's in the "watch instantly" section, then it must really suck. They had a movie on there called "merc force" .... OMG! The special FX were done with PBRUSH, and they used the microphone that was built into the directors handy cam the whole time. Yes, it was that crappy, I actually had to show this movie to other people so they would believe me. I'm not a producer or anything, but I could shit on a paper plate and kick it against a clean white wall, and that would make a better movie. Merc force.... I will never forget you.
    • I agree that there's a big factor in ratings beyond genre, plot, and actors. Some of the quirky movies they mentioned like Napoleon Dynamite, Life Aquatic, and Lost in Translation have a certain something that makes them good movies (to me) beyond those factors.

      Maybe you could link some movies by who mixed the audio or designed the costumes. Maybe you should give more weight to where a director is in their career than to who the director is. Or maybe it's something else that defines the spirit of a movie

    • by mveloso ( 325617 )

      You mean rating a movie on the different metadata dimensions. That's tough, because that information may not exist. It's a data problem, not a math problem. That's probably why ebay asks all those extra questions now when you buy something.

      If the Napoleon Dynamite movies are such outliers (like Buckaroo Banzai), they should just special-case them and move on. With a data set this big, there's no point in having a catch-all algorithm, especially if the outliers are such a big problem. Instead, the code shoul

      • by Anonymous Coward

        The outliers are a major problem, but you can't just ignore them and move on. Collectively they add up to most of the error.

        The training data set includes 116,362 user ratings of Napoleon dynamite; the distribution is:

        • 1: 13,365 = 11.5%
        • 2: 15,790 = 13.6%
        • 3: 27,216 = 23.4%
        • 4: 31,115 = 26.7%
        • 5: 28,876 = 24.8%

        The weighted average of these ratings is 3.4, and the math works out that when you only guess one value, the RMSE minimizes at the average. So in this case, a guess of 3.4 on all of those ratings gives you

  • I'm sure they'd be interested in this - after all, a similar problem exists for YouTube/GVideo rankings, (which are not great, based on my experience). Of course, if they have/ever do crack it, they'd hardly hand it over to Netflix.

    Maybe it's the 'Napoleon Dynamite' factor mentioned in the article - perhaps humans are too strange to be completely understood after all. Good news if you've been wearing a tinfoil hat ever since seeing 2001 or Terminator...

    • ``perhaps humans are too strange to be completely understood after all.''

      I'm sure of that, but the beauty is that you don't necessarily need to understand everything to come up with a working algorithm.

For God's sake, stop researching for a while and begin to think!

Working...