Filtrado colaborativo

Para abordar algunas de las limitaciones del filtrado basado en el contenido, el filtrado colaborativo utiliza similitudes entre usuarios y de forma simultánea para brindar recomendaciones. Esto permite las recomendaciones espontáneas; es decir, filtrado colaborativo los modelos pueden recomendar un elemento al usuario A en función de los intereses de un usuario B similar. Además, las incorporaciones se pueden aprender sin depender de la ingeniería manual de los atributos.

Ejemplo de recomendación de película

Considera un sistema de recomendación de películas en el que los datos de entrenamiento estén formados de una matriz de comentarios en la que:

  • Cada fila representa un usuario.
  • Cada columna representa un elemento (una película).

Los comentarios sobre películas se dividen en dos categorías:

  • Explícito: Los usuarios especifican cuánto les gustó una película en particular. proporcionando una calificación numérica.
  • Implícito: si un usuario mira una película, el sistema infiere que interés del usuario.

Para simplificar, supondremos que la matriz de comentarios es binaria; es decir, un valor de 1 indica interés en la película.

Cuando un usuario visita la página principal, el sistema debe recomendar películas basadas en lo siguiente:

  • similitud con películas que le gustaron al usuario en el pasado
  • películas que les gustaron a usuarios similares

Para fines ilustrativos, hagamos ingeniería manual de algunas funciones para las películas. que se describe en la siguiente tabla:

Película Calificación Descripción
Batman: El caballero de la noche asciende PG-13 Batman intenta salvar a Ciudad Gótica de la aniquilación nuclear En esta secuela, El caballero de la noche, ambientado en la DC Universo de los cómics.
Harry Potter y la piedra filosofal PG Un niño huérfano descubre que es mago y se inscribe Escuela de Hogwarts Hechicería y hechicería, donde lucha su primera batalla contra el malvado Lord Voldemort.
Shrek PG Un adorable ogro y su burro compañero emprenden una misión para rescatar a la princesa Fiona, está encarcelada en su castillo por un dragón.
Las trillizas de Belleville PG-13 Cuando se secuestra el ciclista profesional Champion el Tour de France, su abuela y su perro con sobrepeso viajan al extranjero para rescatarlo, con con la ayuda de un trío de cantantes de jazz.
Memento R Un con amnesia busca desesperadamente resolver el asesinato de su esposa tatuándose pistas en su cuerpo.

Incorporación en 1D

Supongamos que le asignamos a cada película un escalar en \([-1, 1]\) que describe si la película es para niños (valores negativos) o adultos (valores positivos). Supongamos también que asignamos un escalar a cada usuario en \([-1, 1]\) que describe el interés del usuario en películas para niños (cerca de -1) o para adultos películas (más cerca de +1). El producto de la incorporación de la película y el usuario la incorporación debe ser más alta (cerca de 1) para las películas que esperamos que el usuario que le gusten.

Imagen en la que se muestran varias películas y usuarios organizados a lo largo de un espacio de incorporación unidimensional. La posición de cada película en este eje describe si se trata de una película para niños (izquierda) o para adultos (derecha). La posición de un usuario describe el interés en películas para niños o adultos.

En el siguiente diagrama, cada marca de verificación identifica una película que un visto por el usuario. El tercer y el cuarto usuario tienen preferencias que son bien explicado por esta función: el tercer usuario prefiere películas para niños. y el cuarto usuario prefiere películas para adultos. Sin embargo, la primera y la segunda de los usuarios las preferencias no se explican bien con esta única función.

Imagen de una matriz de comentarios, en la que una fila corresponde a un usuario y una columna corresponde a una película. Cada usuario y película se asignan a una incorporación unidimensional (como se describe en la figura anterior), de modo que el producto de las dos incorporaciones se acerque al valor de verdad fundamental de la matriz de retroalimentación.

Incorporación en 2D

Una función no era suficiente para explicar las preferencias de todos los usuarios. A superar problema, agreguemos un segundo atributo: el grado en el que cada película se un éxito de taquilla o una película independiente. Con un segundo atributo, ahora podemos representar cada película con la siguiente incorporación bidimensional:

Imagen en la que se muestran varias películas y usuarios organizados en un espacio de incorporación bidimensional. La posición de cada película en el eje horizontal indica si se trata de una película para niños (izquierda) o para adultos (derecha). su posición a lo largo del eje vertical indica si se trata de una película taquillera (arriba) o una de cine independiente (abajo). La posición de los usuarios refleja sus intereses en cada categoría.

Colocamos nuevamente a los usuarios en el mismo espacio de incorporación para explicar mejor la matriz de comentarios: para cada par (usuario, artículo), nos gustaría que el producto escalar de la incorporación del usuario y la incorporación del elemento para que estén cerca a 1 cuando el usuario vio la película y a 0 de lo contrario.

Imagen de la misma matriz de comentarios. Esta vez, cada usuario y película se asignan a una incorporación bidimensional (como se describe en la figura anterior), de modo que el producto escalar de las dos incorporaciones se aproxima al valor de verdad fundamental en la matriz de retroalimentación.

En este ejemplo, diseñamos a mano las incorporaciones. En la práctica, las incorporaciones se puede aprender automáticamente, lo que es el poder del filtrado colaborativo e implementar modelos automáticamente. En las próximas dos secciones, analizaremos diferentes modelos para aprender de estas incorporaciones y cómo entrenarlas.

La naturaleza colaborativa de este enfoque se hace evidente cuando el modelo aprende de las incorporaciones. Supongamos que los vectores de incorporación para las películas son fijos. Luego, el modelo puede aprender un vector de incorporación para que los usuarios lo expliquen mejor sus preferencias. Por lo tanto, las incorporaciones de usuarios con preferencias similares estarán muy cerca. Del mismo modo, si las incorporaciones para los usuarios son fijas, Luego, aprendemos sobre las incorporaciones de películas para explicar mejor la matriz de retroalimentación. Como resultado, las incorporaciones de películas que les gustaron a usuarios similares se acercarán espacio de incorporaciones.

Verifica tus conocimientos

El modelo recomienda una app de compras a un usuario porque recientemente instaló una aplicación similar. ¿De qué tipo de filtrado es este un ejemplo?
Filtrado basado en el contenido
¡Bien hecho! El filtrado basado en el contenido no analiza a otros usuarios.
Filtrado colaborativo
El filtrado colaborativo tiene en cuenta a otros usuarios. En la en una situación determinada solo nos interesa un usuario.