Recomendaciones de Netflix: Más allá de las 5 estrellas (Parte 1)
6 abr, 2012 – 9 min read
por Xavier Amatriain y Justin Basilico (Ciencia e Ingeniería de la Personalización)
En esta entrada del blog en dos partes, abriremos las puertas de uno de los activos más valorados de Netflix: nuestro sistema de recomendaciones. En la primera parte, relacionaremos el Premio Netflix con el reto más amplio de la recomendación, esbozaremos los componentes externos de nuestro servicio personalizado y destacaremos cómo nuestra tarea ha evolucionado con el negocio. En la segunda parte, describiremos algunos de los datos y modelos que utilizamos y hablaremos de nuestro enfoque de la innovación algorítmica, que combina la experimentación del aprendizaje automático fuera de línea con las pruebas AB en línea. Que lo disfruten… y recuerden que siempre estamos buscando más talentos estelares para añadir a nuestro gran equipo, así que echen un vistazo a nuestra página de empleos.
En 2006 anunciamos el Premio Netflix, un concurso de aprendizaje automático y minería de datos para la predicción de la clasificación de películas. Ofrecimos un millón de dólares a quien mejorara la precisión de nuestro sistema existente, llamado Cinematch, en un 10%. Llevamos a cabo este concurso para encontrar nuevas formas de mejorar las recomendaciones que proporcionamos a nuestros miembros, que es una parte clave de nuestro negocio. Sin embargo, tuvimos que idear una cuestión sustitutiva que fuera más fácil de evaluar y cuantificar: el error cuadrático medio (RMSE) de la calificación predicha. La carrera estaba en marcha para superar nuestro RMSE de 0,9525 con la meta de reducirlo a 0,8572 o menos.
Un año después de la competición, el equipo de Korbell ganó el primer Premio al Progreso con una mejora del 8,43%. Informaron de más de 2000 horas de trabajo para llegar a la combinación final de 107 algoritmos que les dio este premio. Y nos dieron el código fuente. Nos fijamos en los dos algoritmos subyacentes con mejor rendimiento en el conjunto: La factorización de matrices (que la comunidad suele llamar SVD, Singular Value Decomposition) y las máquinas de Boltzmann restringidas (RBM). La SVD por sí sola proporcionó un RMSE de 0,8914, mientras que la RBM por sí sola proporcionó un RMSE competitivo pero ligeramente peor de 0,8990. Una mezcla lineal de ambos redujo el error a 0,88. Para poner en práctica estos algoritmos, tuvimos que trabajar para superar algunas limitaciones, por ejemplo, que fueron construidos para manejar 100 millones de valoraciones, en lugar de los más de 5.000 millones que tenemos, y que no fueron construidos para adaptarse a medida que los miembros añadían más valoraciones. Pero una vez superados esos retos, pusimos los dos algoritmos en producción, donde todavía se utilizan como parte de nuestro motor de recomendación.