En estos días, ya sea que mires un video en YouTube, una película en Netflix o un producto en Amazon, obtendrás recomendaciones para ver, dar me gusta o comprar más cosas. Puede agradecer la llegada de los algoritmos de aprendizaje automático y los sistemas de recomendación por este desarrollo.
Los sistemas de recomendación son de gran alcance, por lo que nos centraremos en un enfoque importante llamado filtrado colaborativo, que filtra la información utilizando las interacciones y los datos recopilados por el sistema de otros usuarios. Se basa en la idea de que es probable que las personas que estuvieron de acuerdo en su evaluación de ciertos elementos vuelvan a estar de acuerdo en el futuro.
Un primer rápido sobre los Sistemas de Recomendación
Un sistema de recomendación es una subclase de filtrado de información que busca predecir la «calificación» o «preferencia» que un usuario le dará a un artículo, como un producto, una película, una canción, etc.
Los sistemas de recomendación proporcionan información personalizada al aprender los intereses del usuario a través de rastros de interacción con ese usuario. Al igual que los algoritmos de aprendizaje automático, un sistema de recomendación hace una predicción basada en los comportamientos pasados de un usuario. Específicamente, está diseñado para predecir las preferencias del usuario para un conjunto de elementos en función de la experiencia.
Matemáticamente, una tarea de recomendación está configurada para ser:
- Conjunto de usuarios (U)
- Conjunto de elementos (I) que deben recomendarse a U
- Aprender una función basada en los datos de interacción anteriores del usuario que predice la probabilidad de que el elemento I vaya a U
Los sistemas de recomendación se clasifican en dos tipos en general en función de los datos que se utilizan para hacer inferencias:
- Filtrado basado en contenido, que utiliza atributos de elemento.
- Filtrado colaborativo, que utiliza el comportamiento del usuario (interacciones) además de los atributos de los elementos.
Algunos ejemplos clave de sistemas de recomendación en el trabajo incluyen:
- recomendaciones de Productos en Amazon y otros sitios de compras
- Películas y series de TELEVISIÓN recomendaciones en Netflix
- Artículo recomendaciones sobre sitios de noticias
¿Qué es el Filtrado Colaborativo?
El filtrado colaborativo filtra la información utilizando las interacciones y los datos recopilados por el sistema de otros usuarios. Se basa en la idea de que es probable que las personas que estuvieron de acuerdo en su evaluación de ciertos elementos vuelvan a estar de acuerdo en el futuro.
El concepto es simple: cuando queremos encontrar una nueva película para ver, a menudo pedimos recomendaciones a nuestros amigos. Naturalmente, tenemos mayor confianza en las recomendaciones de amigos que comparten gustos similares a los nuestros.
La mayoría de los sistemas de filtrado colaborativos aplican la llamada técnica basada en índices de similitud. En el enfoque basado en el vecindario, se seleccionan varios usuarios en función de su similitud con el usuario activo. La inferencia para el usuario activo se realiza calculando un promedio ponderado de las calificaciones de los usuarios seleccionados.
Los sistemas de filtrado colaborativo se centran en la relación entre usuarios y elementos. La similitud de los artículos está determinada por la similitud de las calificaciones de esos artículos por los usuarios que han calificado ambos artículos.
Hay dos clases de Filtrado colaborativo:
- Basado en el usuario, que mide la similitud entre los usuarios objetivo y otros usuarios.
- Basado en elementos, que mide la similitud entre los elementos con los que los usuarios objetivo evalúan o interactúan y otros elementos.
El filtrado colaborativo mediante Python
Los métodos colaborativos suelen elaborarse utilizando una matriz de utilidad. La tarea del modelo de recomendación es aprender una función que predice la utilidad de ajuste o similitud para cada usuario. La matriz de utilidad suele ser muy escasa, enorme y ha eliminado valores.
En las siguientes matrices, cada fila representa a un usuario, mientras que las columnas corresponden a diferentes películas de Pixar. La similitud de coseno es el algoritmo más simple necesario para encontrar la similitud de los vectores. La última, que es la matriz de utilidad que sigue a la primera matriz, contiene solo datos parciales, que se necesitan para predecir la probabilidad de la calificación esperada por la «raíz» que podría dar el usuario.
En las siguientes matrices, cada fila representa a un usuario, mientras que las columnas corresponden a películas diferentes, excepto la última que registra la similitud entre ese usuario y el usuario de destino. Cada celda representa la calificación que el usuario da a esa película.
similitud de coseno (p, q) = p. q
|p|.|q/
cosine_similarity(joe, beck) =
Cuando un nuevo usuario se une a la plataforma, aplicamos el algoritmo más simple que calcula la similitud de coseno o correlación de filas (usuarios) o columnas (películas) y recomienda k-vecinos más cercanos.
Estas son muchas ecuaciones que pueden tratar la cuestión de las medidas de similitud, algunas incluyen:
- Similitud de Pearson
- Similitud de Jaccard
- Correlación de rango de Spearman
- Diferencias cuadradas medias
- Similitud proximidad–impacto–popularidad
RelatarRead Más sobre Ciencia de datos