Acabo de leer el recent article in Wired, tengo curiosidad: ¿qué tiene el Premio Netflix tan desafiante? Quiero decir esto de la manera más sincera posible, solo tengo curiosidad sobre las dificultades planteadas por el concurso. ¿La mayoría de los motores de recomendación en general son difíciles de mejorar? Si es así, ¿por qué es eso? O, ¿es inusualmente difícil mejorar Netflix, y si este es el caso, qué tiene de especial Netflix que hace esto mucho más desafiante que, por ejemplo, Amazon?¿Por qué el Premio Netflix es tan desafiante?
Respuesta
Porque NetFlix ya tiene un motor de recomendación realmente bueno. Si supieran cómo mejorarlo fácilmente, ya lo habrían hecho. Todo su modelo de negocios gira en torno a productos de venta cruzada (películas) para los consumidores. El algoritmo de recomendación es realmente el núcleo de su negocio. Mientras mejor funcione, más dinero podrán ganar.
Bueno ... el gran inventario barato, la larga cola, los ingresos por suscripción (confiables) y el poder de la red para llegar a toneladas de clientes también son muy importantes para su modelo de negocio. – isomorphismes
creo que ha habido algunos artículos escritos sobre esto, pero no sé dónde están en este momento, así que voy a explicar aquí.
Cuando la gente compra Amazon para los libros (por ejemplo), que tienden a comprar libros de un tipo específico, para que pueda ser fácil sugerir otros libros del mismo tipo.
Con las películas, las personas pueden hacer lo mismo, sin embargo, las personas generalmente no se limitan a un solo género. La gente puede ver una variedad mucho más amplia de películas: terror, comedia, acción, romance, etc.
Predecir lo que te gusta de esos géneros puede ser difícil de predecir si solo has alquilado una película hasta ahora, y esa película es un drama
Si alguien fuera a venir con un motor de recomendación muy inteligente, Netflix podría beneficiarse de ella fenomenalmente. Creo que están buscando principalmente un motor que pueda recomendar cosas basadas en solo una o 2 películas. Los nuevos clientes que no saben mucho sobre Netflix tienen más posibilidades de quedarse si encuentran películas que les gustan desde el principio sin tener que buscarlas.
En mi opinión, ya tienen un motor de recomendación a la par con Amazon. Creo que están buscando mejorarlo aún más.
Mi colega y yo formamos parte de ella. No tengo un buen historial de IA, pero los motores de recomendación requieren un conocimiento profundo de los algoritmos de la literatura existente como el muestreo de Gibbs, el método K, el vecino más cercano, etc. Utilizamos el muestreo de Gibbs y puedo decir que apestamos comparado con lo que Netflix ya tiene.
Los sistemas de recomendación sufren de problemas que son difíciles de solucionar:
- Cold start - En un nuevo sistema o con un nuevo usuario, no hay datos suficientes para crear un modelo estadístico preciso para una recomendación.
- Rating bias - Si basa las recomendaciones en las valoraciones de los usuarios, los usuarios que puntúan a menudo influyen en los resultados a su gusto. Si usted es el tipo de persona que no le gusta el paso adicional de la calificación, es posible que a las personas con gustos similares tampoco les guste la calificación, por lo que sus opiniones se excluyen de las recomendaciones.
- Los artículos que no están calificados tienen menos probabilidades de ser calificados: si selecciona, y por lo tanto califica, los artículos según sus calificaciones, los artículos que no están calificados son menos visibles y tendrán dificultades para obtener las calificaciones que necesitan para afectar las recomendaciones. En la otra dirección, los artículos populares tienen más visibilidad, se califican más a menudo y, por lo tanto, juegan un papel más importante en las recomendaciones.
- Temporal bias - Las calificaciones de los usuarios cambian con el tiempo. Con los cambios a largo plazo, puede compensar agregando un elemento de tiempo a sus recomendaciones. Los cambios a corto plazo son más difíciles de corregir.Después de un maratón Chuck Norris, es más probable que otorgue altas calificaciones a las películas de acción. Al día siguiente, después de llorar a Steel Magnolias, es posible que esté temporalmente predispuesto a las películas de acción.
- Motivos variables: en el item-based recommender systems, el libro de tricotar que compró para el cumpleaños de su tía sesgará sus recomendaciones (si no se toma el tiempo para decirle al sistema que no lo use). Puede otorgar una calificación alta a una película de niños malos porque a sus hijos les encantó.
En conjunto, esto hace que los sistemas de recomendación sean difíciles de mejorar en el pasado, simplemente, está bien. Un sistema con un 80% de precisión parece genial, pero está mal 1 de cada 5 veces. Esto los hace más problemáticos de lo que valen para algunos usuarios.
Una de las mejores respuestas en toda la etiqueta engine de recomendación con Stack Overflow. :) – isomorphismes
- 1. ¿Por qué es tan simple este algoritmo haskell tan lento?
- 2. ¿Por qué putImageData es tan lento?
- 3. ¿Por qué TestComplete es tan lento?
- 4. ¿Por qué Telerik JustCode es tan confuso?
- 5. ¿Por qué AssetManger.list() es tan lento?
- 6. ¿Por qué este jquery es tan lento?
- 7. ¿Por qué LuaJIT es tan bueno?
- 8. ¿Por qué es GHC tan grande/grande?
- 9. ¿Por qué Dictionary.First() es tan lento?
- 10. ¿Por qué Haskell es tan grande?
- 11. ¿Por qué es EXC_BAD_ACCESS tan inútil?
- 12. ¿Por qué es tan rápido Chrome?
- 13. ¿Por qué Thread.stop() es tan peligroso
- 14. ¿Por qué Getline es tan inconsistente?
- 15. ¿Por qué mi código es tan lento?
- 16. ¿Por qué DateTime.Parse es tan lento?
- 17. Android: ¿Qué es R? ¿Por qué es tan críptico?
- 18. ¿por qué ruby scanf es tan lento?
- 19. ¿Por qué mi depurador es tan lento?
- 20. ¿Por qué numpy.array es tan lento?
- 21. ¿Por qué es REGISTER_GLOBALS tan malo?
- 22. ¿Por qué GLUT es tan malo?
- 23. ¿Por qué el simulador de teléfonos Android es tan lento?
- 24. ¿Por qué el código de Moose es tan lento?
- 25. ¿Por qué es tan fácil descompilar el código .NET IL?
- 26. ¿Por qué es tan lento el array.map (String.fromCharCode)?
- 27. ¿Por qué el control NHibernate AutoFlush es tan costoso?
- 28. Entity Framework + MySQL - ¿Por qué el rendimiento es tan terrible?
- 29. ¿Por qué el código del método Marshal.WriteInt64 es tan complejo?
- 30. ¿Qué tan estable es el sshfs dokan?
¿por qué está esto en SO? Cerca. –
@Lucas Esta es una pregunta sobre un desafío de programación y los detalles técnicos de la misma, por lo tanto, está relacionada con la programación. No veo por qué esto * no * estaría en SO. –
¿Por qué no? Los motores de recomendación están, por supuesto, relacionados con la programación. Puede que no sea la mejor pregunta en SO, pero aún así. – dmeister