Stories
Slash Boxes
Comments
typodupeerror delete not in

Comments: 77 +-   Interest Still High In the Netflix Algorithm Competition on Saturday November 22 2008, @05:10AM

Posted by Soulskill on Saturday November 22 2008, @05:10AM
from the if-sandler-then-quit dept.
math
media
movies
programming
software
it
technology
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."
story

Related Stories

This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • Netflix (Score:5, Interesting)

    by boyter (964910) on Saturday November 22 2008, @05: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, @05: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!

      • She also refers to the teams participating in the challenge as "hackers". So "hackers" are building predictive models.

        Well, there she could be using the original meaning of hackers (which is not in quotes in the article). She does it without explaining some difference between a hacker and a cracker, or white-hats and black-hats, or whatever the nomenclature du jour is. That, I quite like.

  • by cjfs (1253208) on Saturday November 22 2008, @05: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.

    • Yes. I've been told that I would really like Garfield 2, and I don't know why. It's spooky, really, since all I've rated is obscure French films from the 50s and 60s.

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

      It really is, but it's very satisfying :-)

    • by jacquesm (154384) <j.ww@com> on Saturday November 22 2008, @07:02AM (#25856853) Homepage

      Second that. I once wrote a chess program just for kicks and it beat me on the second game and I was like 'wtf ?'

      6502 assembler long long long ago...

    • well, i think that's one of the interesting things about social sciences. it's very difficult--nigh impossible in some cases--to accurately predict the behavior of a single individual. however, it is possible to predict the collective behavior of a large group of people.

      this seems counter intuitive at first, but it's kinda like not being able to predict how a particular dice roll will land but still being able to predict the statistical average of 100 dice rolls.

      the capriciousness of individuals eventually

  • by rolfwind (528248) on Saturday November 22 2008, @05: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)

      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, @06: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, @07: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, @07: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)

              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

          • 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

          • 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?

        • 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:Crowdsourcing (Score:5, Insightful)

            by try_anything (880404) on Saturday November 22 2008, @02:59PM (#25859579)

            exploitation is exploitation, self imposed or not; as well, contests are, by their very nature, one-sided, there must be a loser, if there is to be a winner, therefore, competition is only valuable within the framework of co-operation, otherwise, yes, it is exploitative

            see? oh well probably not....

            I think you don't understand the concept of "fun." Read the article and the comments and tell me that the people "working" at this competition aren't getting paid handsomely. If money is the only compensation that means anything to you, you must be an economist. Congrats, you're doing your part to keep up economics' reputation as the "dismal science."

            If it's exploitative for a company to provide enjoyment and intellectual stimulation to a lot of people and benefit financially as a result, then I guess publishing companies don't deserve my support, either. And the movie studios... theater companies... restaurants... and of course any bands that get paid for gigs are just a bunch of ruthless exploiters.

            I guess the only commercial entertainment that's okay is what I can enjoy completely passively, without any mental effort at all. That way I'm not being exploited, right? Because work is an awful, awful thing ;-)

            Wake up; it's not the nineteenth century or even the twentieth century. Everyone has a natural appetite for work, and unlike our unfortunate ancestors, ours is not overwhelmed and sickened by the work required for mere survival. You're addressing a relatively privileged group of people; we earn enough to support ourselves on less work than we have an appetite for. As a result, we don't have to regard all work as a curse imposed on us by necessity. Work freely done and enjoyed is a blessing.

            If you insist that our entire appetite for work be channeled through grim-faced contract negotiations, then that blessing is ruined. What's the point of ruining our fun? So you can save us from the misery suffered by our great-grandparents?

            Obviously none of what I said applies to call center employees, game company employees, and technical support employees. They should pay careful attention to what you say ;-)

              • Re: (Score:3, Insightful)

                it is exploitative for any enterprise to pay less than fair compensation in any exchange

                I only demand to be compensated for some pain or loss on my part. I don't need to be compensated for pleasure. Should I be jealous of the benefit another party gets when I engage in a mutually beneficial exchange? If I give a gift to someone, should they be angry if I enjoy giving it more than they enjoy receiving it?

                Ah, but you said "enterprise." I do believe that companies are inherently more prone to evil than the people they comprise, and they need careful watching and manipulation (by consumers and

    • Re: (Score:2, Insightful)

      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!

    • 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.
  • by mlwmohawk (801821) on Saturday November 22 2008, @07: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, @08: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.

      • 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 ;)

        • I have not looked into it but can you be certain that the top teams are not using additional metadata on the movies? my guess is that the winning team will come up with some really ingenious method for tagging films with useful predictive info.

          It may wind up being something not intuitive (like release month/year, production company, gap score of economic state during release year vs current, or something like that).
          • 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

            • But isn't farfetched what you're looking for? When prepping the data for analysis it would probably be helpful to know if the moon phase impacts ratings. If it were found that a correlation existed between moon phases and how certain users rate then that would help prep the data before SVD is run. Perhaps rating would be adjusted so that everyone has a "moon adjustment".

              I'd be trying to control for every large externality possible before even beginning to clean the data for self-contained anomalies.
              • 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, @08: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

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

    • Re: (Score:2, Informative)

      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.
    • 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 Smauler (915644) on Saturday November 22 2008, @08:58AM (#25857293)

      In the same vein, a 55 year old man is going to like a teenaged girl much better than NAPOLEON DYNAMITE.

    • Re: (Score:3, Insightful)

      This was saved for the very last page of the story

      "Hastings is even considering hiring cinephiles to watch all 100,000 movies in the Netflix library and write up, by hand, pages of adjectives describing each movie, a cloud of tags that would offer a subjective view of what makes films similar or dissimilar."

      That is exactly what I was thinking is needed. It would remove all the complexity that is currently being used to come up with, likely, inaccurate movie characteristics. There is a reason that so
    • I'm now thankful I didn't waste more time, given that there are corporate entries such as ATT to compete against (with all their resources and database staff to assist in the contest).

      The ATT people are an extreme case, but even so there are multiple amateurs within close range of them -- as of a few days ago, at least one amateur team (PragmaticTheory) was beating them.

People who have no faults are terrible; there is no way of taking advantage of them.