tesis sistemas sistema recomendación recomendacion filtrado ejemplos colaborativo algorithm recommendation-engine

algorithm - sistemas - sistema de recomendacion tesis



¿Cómo funcionan los sistemas de recomendación? (9)

Siempre he tenido curiosidad por saber cómo funcionan estos sistemas. Por ejemplo, ¿cómo determinan Netflix o Amazon qué recomendaciones hacer en base a compras y / o calificaciones anteriores? ¿Hay algún algoritmo para leer?

Solo para que no haya percepciones erróneas aquí, no hay ninguna razón práctica para que pregunte. Solo pregunto por pura curiosidad.

(Además, si hay una pregunta existente sobre este tema, señálelo. El "Sistema de recomendaciones" es un término difícil de buscar).


El algoritmo de Netflix para su sistema de recomendación es en realidad un esfuerzo competitivo en el que los programadores continúan compitiendo para obtener ganancias en la precisión del sistema.

Pero en los términos más básicos, un sistema de recomendación examinaría las opciones de los usuarios que coinciden estrechamente con la información demográfica / de interés de otro usuario.

Por lo tanto, si usted es un hombre blanco, de 25 años de edad, de la ciudad de Nueva York, el sistema de recomendaciones podría intentar ofrecerle productos comprados por otros hombres blancos en el noreste de los Estados Unidos en el rango de edad de 21-30.

Edición: También debe tenerse en cuenta que cuanta más información tenga sobre sus usuarios, más estrechamente podrá refinar sus algoritmos para que coincidan con lo que otras personas están haciendo con lo que pueda interesar al usuario en cuestión.


El libro de O''Reilly "Programming Collective Intelligence" tiene un bonito capítulo que muestra cómo funciona. Muy legible

Todos los ejemplos de código están escritos en Python, pero eso no es un gran problema.


En su versión más básica, la mayoría de los sistemas de recomendación funcionan al decir una de dos cosas.

Recomendaciones basadas en el usuario:
Si al usuario A le gustan los artículos 1,2,3,4 y 5,
Y al usuario B le gustan los artículos 1,2,3 y 4
Entonces es bastante probable que al usuario B también le guste el artículo 5

Recomendaciones basadas en artículos:
Si los Usuarios que compran el artículo 1 también tienen una probabilidad desproporcionada de comprar el artículo 2
Y el usuario A compró el artículo 1
Entonces el usuario A probablemente estará interesado en el artículo 2

Y aquí hay un volcado de algoritmos que deberías saber:
- Establecer similitud (índice de Jaccard y coeficiente de Tanimoto)
- Distancia euclidiana n-dimensional
- algoritmo de k-medias
- Máquinas de soporte de vectores


Esta es una aplicación tan comercialmente importante que Netflix presentó un premio de $ 1 millón por mejorar sus recomendaciones en un 10% .

Después de un par de años, las personas se están acercando (creo que ahora están alrededor del 9%) pero es difícil por muchas, muchas razones. Probablemente el factor más importante o la mejora inicial más grande en el Premio Netflix fue el uso de una técnica estadística llamada descomposición de valor singular .

Le recomiendo que lea Si le gustó esto, está seguro de amarlo para una discusión en profundidad del Premio Netflix en particular y los sistemas de recomendación en general.

Básicamente, aunque el principio de Amazon, etc., es el mismo: buscan patrones. Si alguien compró la Trilogía de Star Wars y hay más posibilidades de que les guste Buffy the Vampire Slayer más que el cliente promedio (ejemplo puramente inventado).


Este es un problema de clasificación, es decir, la clasificación de los usuarios en grupos de usuarios que probablemente estén interesados ​​en ciertos elementos.

Una vez clasificado en dicho grupo, es fácil examinar las compras / gustos de otros usuarios en ese grupo y recomendarlos.

Por lo tanto, vale la pena leer la Clasificación bayesiana y las redes neuronales (perceptrones multicapa, funciones de base radial, máquinas de vectores de soporte).


Existen principalmente dos tipos de sistemas de recomendación, que funcionan de manera diferente:

1. Basado en el contenido . Estos sistemas hacen recomendaciones basadas en información característica. Esta es información sobre los elementos (palabras clave, categorías, etc.) y los usuarios (preferencias, perfiles, etc.).

2. Filtrado colaborativo . Estos sistemas se basan en interacciones de usuario-elemento. Esta es información como calificaciones, número de compras, me gusta, etc.

This artículo (publicado por la compañía en la que trabajo) brinda una descripción general de los dos sistemas, algunos ejemplos prácticos y sugiere cuándo tiene sentido implementarlos.


Por supuesto, hay algoritmos que lo recomendarán con los artículos preferidos. Se han implementado diferentes técnicas de minería de datos para eso. Si desea más detalles básicos sobre el sistema de recomendación, visite this blog. Aquí se han cubierto todos los aspectos básicos para conocer el sistema de recomendación.


Una técnica es agrupar a los usuarios en clusters y recomendar productos de otros usuarios en el mismo grupo.


GroupLens Research en la Universidad de Minnesota estudia los sistemas de recomendación y comparte generosamente sus research y datasets .

Su investigación se expande un poco cada año y ahora considera aspectos específicos como las comunidades en línea, el filtro de colaboración social y los desafíos de la interfaz de usuario al presentar datos complejos.