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.
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.
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:
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.
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.