Está en la página 1de 9

El concurso Netflix Prize y los

sistemas de aprendizaje
automático en producción:
visión para iniciados

W H I T E PA P E R
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

En 2006, Netflix anunció un famoso concurso


sobre aprendizaje automático y minería de datos
conocido como “Netflix Prize” y dotado con un
premio de 1 millón de dólares que se otorgó en
2009.
Tras toda la publicidad y la atención de los
medios, ¿qué ocurrió al final con las soluciones
ganadoras? ¿Se llevaron a la práctica? En caso
contrario, ¿cuál fue el motivo? La entrada del
blog de Netflix Netflix Recommendations:
Beyond the 5 stars (Recomendaciones de
Netflix: más allá de las 5 estrellas) revela detalles
prácticos sobre lo que deben ofrecer no solo los
sistemas de recomen- dación, sino cualquier aplicación comercial de
aprendizaje automático que se utilice en la vidareal. Este trabajo examina más de cerca las
lecciones aprendidas.

Contenido
El concurso de Netflix.............................................................................................................................................3
Lo que hizo Netflix con las soluciones ganadoras..............................................................................................4
Lecciones aprendidas: nuevas métricas...............................................................................................................5
Lecciones aprendidas: arquitectura del sistema..................................................................................................5
Evitar implementaciones duales.............................................................................................................................7
Ejemplos de aprendizaje automático con MATLAB..........................................................................................9
Acerca de MathWorks..............................................................................................................................................9

W H I T E PA P E R | 2
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

El concurso de Netflix
El objetivo del concurso Netflix Prize era conseguir mediante crowdsourcing un algoritmo de reco-
mendación de películas capaz de mejorar al menos un 10% la precisión de las predicciones del sistema
existente. Quien utiliza Netflix puede observar que se le ofrecen “películas que podrían gustarle” o
“más películas como esta”, etc.
Este algoritmo está detrás de la experiencia de usuario personalizada en Netflix.
Veamos un ejemplo rápido sobre cómo funcionaba el concurso. El filtrado colaborativo (FC) es uno
de los algoritmos fundamentales para los sistemas de recomendación, y se basa en la idea de que se
pueden utilizar las calificaciones de usuarios que tienen gustos parecidos para predecir calificaciones
de cinco estrellas de elementos sin calificar. En este ejemplo imaginario, se comparan las calificacio-
nes de dos usuarios para películas que ambos han calificado. Cuando se traza una línea de lo que
mejor se ajusta a sus preferencias, dicha línea sube si las calificaciones de los usuarios son similares y
baja si son diferentes.

W H I T E PA P E R | 3
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

El filtrado colaborativo puede predecir las calificacio-


nes de los elementos no calificados sirviéndose de
esta correlación y combinando las calificaciones exis-
tentes de otros elementos realizadas por usua- rios
parecidos.
Para determinar el ganador del concurso, Netflix uti-
lizó una métrica denominada error cuadrático medio
(ECM), que toma la diferencia entre calificaciones
reales (tales como cuatro estrellas) y las calificaciones
predichas (tales como 1,4965 estrellas) para calcular
su media y así obtener un único número. Si las califi-
caciones reales y predichas coinciden por completo, el ECM sería igual a cero.
Sin embargo, las recomendaciones normalmente se facilitan en forma de una lista de N principales,
no como clasificaciones predichas pero sin procesar del tipo de 1,4965 estrellas. Así pues, ¿es el ECM
una métrica realmente significativa? Tratándose de un concurso, Netflix tenía que seleccionar una
sola métrica para determinar quién era el ganador.

Lo que hizo Netflix con las soluciones ganadoras


En el concurso Netflix Prize hubo dos propuestas
destacadas: la del equipo ganador, que lograba una
mejora del 10%, y la de un segundo equipo, cuya
mejora alcanzaba el 8,43%. Netflix eligió la solu- ción
que ofrecía un incremento de la precisión de las reco-
mendaciones del 8,43%. Netflix no escogió la solu-
ción que conseguía un 10% de mejora porque el
beneficio que suponía el incremento extra de la pre-
cisión no compensaba el esfuerzo en términos de ing-
eniería que requería llevarla a un entorno de
producción.
Además, el modelo de negocio de Netflix pasó del
alquiler de DVD al streaming, lo que a su vez cambió
la forma de recopilar los datos y de facilitar las
recomendaciones.
Resulta interesante plantearse por qué ese 1,57% de incremento extra de la precisión no merecía la
pena.Por ejemplo, se podría mejorar el ECM reduciendo las discrepancias de las predicciones de las
califica- ciones más bajas. Sin embargo, de todas formas Netflix no habría mostrado esas películas
con bajas calificaciones en la interfaz de usuario. En un sistema de producción, aquellas mejoras que
contribuyen a la escalabilidad y la agilidad tienen más impacto que el ECM.

W H I T E PA P E R | 4
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

Lecciones aprendidas: nuevas métricas


Incluso con la solución elegida, Netflix necesitaba superar otros retos de ingeniería, ya que la métrica
basada en el ECM fomentaba que los participantes se centraran más en la precisión que en la escalabi-
lidad y la agilidad.
• El número de calificaciones del conjunto de datos del concurso ascendía a 100 millones, pero el
sistema de producción real contaba con más de 5000 millones.
• El conjunto de datos del concurso era estático, pero el número de calificaciones del sistema de
producción no para de aumentar (4 millones de calificaciones al día, en el momento en que se
redactó la entrada del blog).
Cuando desde Netflix hablan sobre su sistema actual, conviene prestar atención a qué es lo
que destacan.
• “El 75% de lo que ve la gente se debe a algún tipo de recomendación.”
• “Optimizar de manera continua la experiencia de los suscriptores y tener incrementos significati-
vos y mensurables de la satisfacción de los suscriptores.”
Para Netflix lo más importante es el uso, la experiencia del usuario, la satisfacción del usuario y la
retención del usuario; todo ello se ajusta a sus objetivos comerciales mejor que el ECM. El segundo
punto se refiere a las pruebas A/B que Netflix está realizando en su sistema de producción real.
Significa que están cambiando ese sistema constantemente...

Lecciones aprendidas: arquitectura del sistema


“Lograr una arquitectura del sistema que maneje grandes volúmenes de datos existentes, responda a
las interacciones de los usuarios y facilite la experimentación con nuevos enfoques respecto de la reco-
mendación no es una tarea trivial”, escriben los blogueros de Netflix Xavier Amatriain y Justin
Basilico (para obtener más información, consulte este artículo: System Architectures for
Personalization and Recommendation [Arquitecturas del sistema para la personalización y la
recomendación]).
Una de las técnicas empleadas en las soluciones ganadoras del concurso Netflix Prize fue un método
combinado denominado apilamiento lineal. Netflix optó por una variante de una técnica de apila-
miento lineal para combinar las predicciones de múltiples modelos predictivos con objeto de producir
las recomendaciones finales. Se pueden configurar múltiples subsistemas que ejecuten diferentes
modelos predictivos y después combinar los resultados de tales sistemas para producir el resultado
final. Esta arquitectura es muy flexible, porque se pueden seguir sumando elementos a la combina-
ción conforme se desarrollan nuevos algoritmos.

W H I T E PA P E R | 5
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

Figura 1: Apilamiento lineal.

Netflix utiliza tres capas de servicio: offline, nearline y online.


• Offline, para procesar datos: realiza un cálculo previo de los pasos que requieren más tiempo
mediante un proceso por lotes.
• Nearline, para procesar eventos: actúa de enlace entre los dos subsistemas realizando un cálculo
previo de las operaciones que se ejecutan con más frecuencia y capturando el resultado antes de
las acciones de los usuarios activos.
• Online, para procesar solicitudes: responde a las acciones de los usuarios instantáneamente apro-
vechando los resultados de las capas offline y nearline.

W H I T E PA P E R | 6
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

Evitar implementaciones duales


Netflix utiliza Hadoop para ejecutar este proceso offline, y el algoritmo empleado en el conjunto de
datos de pequeño tamaño se debe reescribir en MapReduce. Esto es un ejemplo de lo que Netflix
denomina el problema de la implementación dual (consulte la diapositiva 20), y tampoco afecta úni-
camente al proceso offline. Es importante desarrollar y validar los algoritmos de aprendizaje automá-
tico en herramientas especializadas y volver a implementarlos en otro lenguaje para adaptarlos a
sistemas de gran tamaño. Esto limita la escalabilidad y la agilidad, ya que se trata de un proceso que
requiere mucho tiempo. La propuesta de Netflix consiste en compartir la mayor cantidad de compo-
nentes que sea posible entre el sistema de desarrollo y el sistema de producción para paliar este
problema.

W H I T E PA P E R | 7
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

MATLAB soluciona el problema permitiendo la dis-


tribución directa del código MATLAB a los sistemas
de producción mediante diversas opciones de
distribución.
Por ejemplo, los algoritmos desarrollados en
MATLAB se pueden compilar directamente en varias
plataformas de distribución.
• Se pueden actualizar los algoritmos en MATLAB;
las actualizaciones se pueden distribuir inmedi-
atamente a los sistemas de producción.
• En caso de cambio de sistema de producción,
basta con utilizar otra opción de distribución que
sea adecuada para el nuevo entorno. Resulta senci-
llo comparar y validar el resultado del prototipo
que se desarrolle en MATLAB en los sistemas de
producción, ya que están basados en el mismo
código fuente.

W H I T E PA P E R | 8
El concurso Netflix Prize y los sistemas de aprendizaje automático en producción: visión para iniciados

Para obtener más información sobre las prestaciones de MATLAB, consulte los siguientes recursos.
• MapReduce de MATLAB y Hadoop
• MATLAB Production Server
• Aprendizaje automático

Ejemplos de aprendizaje automático con MATLAB

MATLAB Speaks Machine Learning

Try MATLAB and Other Products for Machine Learning

Get Trial Software

Acerca de MathWorks
MathWorks es la compañía líder en el desarrollo de software de cálculo matemático. Los ingenieros y
científicos de todo el mundo confían en sus productos para acelerar el proceso de descubrimiento,
innovación y desarrollo.
MATLAB®, el lenguaje de cálculo técnico, es un entorno de programación para desarrollo de algorit-
mos, análisis de datos, visualización y cálculo numérico. La compañía produce cerca de 100 produc-
tos adicionales para tareas especializadas tales como el análisis de datos y el procesamiento de
imágenes.
Puede obtener más información en mathworks.com.

© 2016 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarks for a list of additional trademarks.
Other product or brand names may be trademarks or registered trademarks of their respective holders.

W H I T E PA P E R | 9

93023v00 07/16

También podría gustarte