por Xavier Amatriain e Justin Basilico (Personalização Ciência e Engenharia)
Neste post de blog em duas partes, abriremos as portas de um dos ativos mais valorizados da Netflix: o nosso sistema de recomendações. Na Parte 1, vamos relacionar o Prêmio Netflix ao desafio mais amplo de recomendação, delinear os componentes externos do nosso serviço personalizado e destacar como a nossa tarefa tem evoluído com o negócio. Na Parte 2, descreveremos alguns dos dados e modelos que usamos e discutiremos nossa abordagem à inovação algorítmica que combina a experimentação de aprendizagem de máquinas offline com testes AB online. Aproveite… e lembre-se que estamos sempre procurando por mais talentos para adicionar à nossa grande equipe, então por favor dê uma olhada em nossa página de empregos.
Em 2006 anunciamos o Prêmio Netflix, uma competição de aprendizagem de máquinas e data mining para previsão de classificação de filmes. Nós oferecemos $1 milhão a quem melhorou a precisão do nosso sistema existente chamado Cinematch em 10%. Conduzimos esta competição para encontrar novas formas de melhorar as recomendações que fornecemos aos nossos membros, o que é uma parte fundamental do nosso negócio. No entanto, tivemos que elaborar uma pergunta por procuração que foi mais fácil de avaliar e quantificar: o erro médio quadrático (RMSE) raiz da classificação prevista. A corrida estava prestes a bater nosso RMSE de 0,9525 com a linha de chegada de reduzi-lo para 0,8572 ou menos.
Um ano de competição, a equipe Korbell ganhou o primeiro Prêmio de Progresso com uma melhoria de 8,43%. Eles relataram mais de 2000 horas de trabalho para chegar à combinação final de 107 algoritmos que lhes deram esse prêmio. E, eles nos deram o código fonte. Olhámos para os dois algoritmos subjacentes com o melhor desempenho do conjunto: Matriz de Factorização (que a comunidade geralmente chamou SVD, Decomposição de Valor Singular) e Máquinas de Boltzmann Restrito (RBM). SVD por si só forneceu um RMSE 0,8914, enquanto RBM sozinho forneceu um RMSE competitivo mas ligeiramente pior 0,8990. Uma mistura linear destas duas reduziu o erro para 0,88. Para colocar esses algoritmos em uso, tivemos que trabalhar para superar algumas limitações, por exemplo, que eles foram construídos para lidar com 100 milhões de ratings, ao invés dos mais de 5 bilhões que temos, e que eles não foram construídos para se adaptar, pois os membros adicionaram mais ratings. Mas uma vez superados esses desafios, colocamos os dois algoritmos em produção, onde ainda são utilizados como parte do nosso motor de recomendação.
>