O Netflix Prize foi uma competição aberta realizada pela Netflix, um serviço de streaming de vídeo, para desenvolver o melhor algoritmo de filtragem colaborativa para prever avaliações de filmes pelos usuários com base em avaliações anteriores, sem qualquer outra informação sobre usuários ou filmes. A competição ocorreu de 2 de outubro de 2006 até o prêmio principal ser concedido em 21 de setembro de 2009. O prêmio principal de US$ 1.000.000 foi vencido pela equipe BellKor's Pragmatic Chaos, que alcançou uma melhoria de 10,06% sobre o algoritmo da própria Netflix, o Cinematch, na previsão de avaliações.
Problema e conjuntos de dados
A Netflix forneceu um conjunto de dados de treinamento com 100.480.507 avaliações que 480.189 usuários deram a 17.770 filmes. Cada avaliação de treinamento era uma quádrupla da forma <usuário, filme, data da avaliação, nota>, onde usuário e filme eram IDs inteiros e as notas eram inteiros de 1 a 5 estrelas. O conjunto de dados de qualificação continha mais de 2.817.131 triplas da forma <usuário, filme, data da avaliação>, com notas conhecidas apenas pelo júri. O algoritmo de uma equipe participante tinha que prever as notas em todo o conjunto de qualificação, mas eles eram informados da pontuação apenas para metade dos dados: um conjunto de quiz de 1.408.342 avaliações. A outra metade era o conjunto de teste de 1.408.789 avaliações, usado pelo júri para determinar potenciais vencedores do prêmio. Apenas os juízes sabiam quais avaliações estavam no conjunto de quiz e quais estavam no conjunto de teste, dificultando a otimização por hill climbing no conjunto de teste. As previsões submetidas eram pontuadas usando o erro quadrático médio (RMSE), com o objetivo de reduzir esse erro o máximo possível. A Netflix também identificou um subconjunto de sonda de 1.408.395 avaliações dentro do conjunto de dados de treinamento, escolhido para ter propriedades estatísticas semelhantes aos conjuntos de quiz e teste.
O conjunto de treinamento foi construído de modo que o usuário médio avaliou mais de 200 filmes, e o filme médio foi avaliado por mais de 5.000 usuários. No entanto, havia grande variação: alguns filmes tinham apenas 3 avaliações, enquanto um usuário avaliou mais de 17.000 filmes. Para proteger a privacidade do cliente, alguns dados de avaliação para alguns clientes foram deliberadamente perturbados, excluindo avaliações, inserindo avaliações e datas alternativas ou modificando datas de avaliação. Nenhuma informação sobre os usuários foi fornecida além de IDs inteiros.
Houve alguma controvérsia sobre a escolha do RMSE como métrica definidora. Foi alegado que mesmo uma pequena melhoria de 1% no RMSE poderia resultar em uma diferença significativa na classificação dos 10 principais filmes recomendados para um usuário.
Prêmios
Os prêmios eram baseados na melhoria sobre o algoritmo da própria Netflix, o Cinematch, ou a pontuação do ano anterior se uma equipe tivesse melhorado além de um certo limite. Um algoritmo trivial que previa a nota média para cada filme no conjunto de quiz produzia um RMSE de 1,0540. O Cinematch, que usava modelos lineares estatísticos diretos com muita preparação de dados, obteve um RMSE de 0,9514 nos dados de quiz, aproximadamente uma melhoria de 10% sobre o algoritmo trivial. Para vencer o prêmio principal de US$ 1.000.000, uma equipe tinha que melhorar isso em mais 10%, alcançando 0,8572 no conjunto de teste (0,8563 no conjunto de quiz).
Enquanto nenhuma equipe vencesse o prêmio principal, um prêmio de progresso de US$ 50.000 era concedido todos os anos pelo melhor resultado até então, desde que o algoritmo melhorasse o RMSE no conjunto de quiz em pelo menos 1% sobre o vencedor do prêmio de progresso anterior (ou sobre o Cinematch no primeiro ano). Para reivindicar um prêmio, um participante tinha que fornecer o código-fonte e uma descrição do algoritmo ao júri dentro de uma semana e, após verificação, fornecer uma licença não exclusiva à Netflix. A Netflix publicaria apenas a descrição, não o código-fonte. As equipes podiam enviar quantas previsões quisessem, inicialmente limitadas a uma vez por semana, mas depois alteradas para uma vez por dia. Uma vez que uma equipe conseguisse melhorar o RMSE em 10% ou mais, o júri emitia um último aviso, dando a todas as equipes 30 dias para enviar submissões. A equipe com a melhor submissão era então solicitada a fornecer a descrição do algoritmo, o código-fonte e a licença e, após verificação, declarada vencedora do prêmio principal.
A competição duraria até o vencedor do prêmio principal ser declarado. Se ninguém vencesse, teria durado pelo menos cinco anos (até 2 de outubro de 2011), após o qual a Netflix poderia encerrá-la a qualquer momento.
Progresso ao longo dos anos
A competição começou em 2 de outubro de 2006. Em 8 de outubro, uma equipe chamada WXYZConsulting já havia superado os resultados do Cinematch. Em 15 de outubro, três equipes haviam superado o Cinematch, uma por 1,06%, o suficiente para se qualificar para o prêmio de progresso anual. Em junho de 2007, mais de 20.000 equipes de mais de 150 países haviam se registrado, e 2.000 equipes haviam enviado mais de 13.000 conjuntos de previsões.
Durante o primeiro ano, vários líderes alternaram o primeiro lugar, incluindo:
- WXYZConsulting, uma equipe de Wei Xu e Yi Zhang (líder durante novembro–dezembro de 2006).
- ML@UToronto A, uma equipe da Universidade de Toronto liderada pelo Prof. Geoffrey Hinton (líder durante partes de outubro–dezembro de 2006).
- Gravity, uma equipe de quatro cientistas da Universidade de Tecnologia de Budapeste (líder durante janeiro–maio de 2007).
- BellKor, um grupo de cientistas da AT&T Labs (líder desde 2007).
Essas equipes frequentemente usavam técnicas avançadas de aprendizado de máquina, incluindo redes neurais e métodos de conjunto, para extrair melhorias incrementais no RMSE.
Algoritmo vencedor e consequências
A equipe vencedora, BellKor's Pragmatic Chaos, foi uma fusão de três equipes líderes: BellKor (da AT&T Labs), Pragmatic Theory e Chaos. Seu algoritmo combinava múltiplos modelos preditivos, incluindo fatoração de matrizes e máquinas de Boltzmann restritas, e usava combinação para unir as previsões. A equipe alcançou uma melhoria de 10,06% sobre o Cinematch no conjunto de teste, superando por pouco a equipe vice-campeã The Ensemble por 20 minutos no prazo final de submissão.
O Netflix Prize demonstrou o poder da filtragem colaborativa e do aprendizado de máquina em aplicações do mundo real e estimulou pesquisas significativas em sistemas de recomendação. A competição também levantou preocupações com privacidade, levando a processos judiciais e mudanças na forma como a Netflix lidava com dados de usuários. As técnicas desenvolvidas durante a competição influenciaram desenvolvimentos posteriores em aprendizado profundo e IA generativa, à medida que o campo evoluiu do aprendizado de máquina tradicional para modelos mais sofisticados baseados em transformers.