Sistemas de Recomendación · Inteligencia Artificial

Filtrado colaborativo

Recomendar ítems midiendo la similitud entre usuarios o ítems a partir de sus interacciones históricas.

Filtrado colaborativo

Dime con quién coincides «A los usuarios que te gustan también les gustó…» es la esencia del filtrado colaborativo. Sin analizar el contenido, explota el comportamiento colectivo: la sabiduría de las valoraciones.

La idea central

Si dos usuarios coinciden en muchos ítems valorados, es probable que coincidan en otros. Recomendar se reduce a encontrar vecinos similares y propagar sus preferencias.

La matriz usuario-ítem

Similitud entre usuarios

Basado en vecinos: se mide cuánto se parecen dos usuarios con coseno o correlación y se promedian las valoraciones de los más afines para predecir la tuya.

Una rejilla de casillas unas rellenas en teal y otras vacías, con dos filas resaltadas en coral que comparten un patrón parecido de relleno.
La matriz usuario-ítem es dispersa; dos filas parecidas delatan usuarios con gustos afines.

Similitud entre ítems

En vez de usuarios parecidos, se buscan ítems covalorados juntos. «Quien compró X también compró Y» es la variante item-item, más estable ante usuarios nuevos.

Medidas de similitud

El coseno compara direcciones ignorando magnitudes; la correlación centra las medias. Elegirlas bien importa, pues usuarios con escalas distintas engañan a medidas ingenuas.

Vecinos y ponderación

El arranque en frío

Un usuario o ítem nuevo no tiene historial con el que calcular similitud. Es el talón de Aquiles del método puro, que ciega ante lo desconocido.

Frecuentistas frente a populares

La similitud simple sobrevalora ítems muy populares. Conviene regular o ponderar por rareza para no recomendar siempre los éxitos de masas.

Límites del enfoque

Sufre con matrices muy dispersas, dominios estrechos y burbujas de filtros. Aun así, su elegancia y buen rendimiento lo hicieron durante años el motor de los recomendadores.

Errores frecuentes

Ejemplo resuelto: recomendar con vecinos

Quieres sugerir películas a partir de un histórico de valoraciones:

  1. Construyes la matriz usuario-ítem con las notas conocidas.
  2. Mides la similitud entre usuarios con coseno sobre sus valoraciones.
  3. Eliges los k vecinos más parecidos al usuario objetivo.
  4. Promedias ponderado por similitud sus valoraciones de cada película.
  5. Recomiendas las de predicción más alta que el usuario aún no vio.

¿Para qué sirve en la realidad?

El «a los que te gustó X también les gustó Y» de tiendas y plataformas de streaming nace del filtrado colaborativo: sin entender el contenido, la sabiduría colectiva de las valoraciones hace el trabajo.

El filtrado colaborativo basado en vecinos recomienda un ítem a un usuario principalmente porque:

El filtrado colaborativo puro puede recomendar sin problema un ítem recién publicado sin ninguna interacción.

Colaborativo

Filas usuarios, columnas ítems, celdas valoraciones
matriz usuario-item
Similitud típica entre vectores ignorando magnitud
coseno
Reducir a los k usuarios o ítems más parecidos
vecinos
Problema de no poder recomendar a un usuario nuevo
arranque en frio
Variante que busca ítems covalorados juntos
item-item

Ordena el funcionamiento del filtrado colaborativo por vecinos:

Matriz
Similitud
Vecinos
Predecir

Filtrado colaborativo
Recomendación basada en el comportamiento de la comunidad.

Une cada término del filtrado colaborativo con su idea.

Dime con quién coincides

# Filtrado colaborativo
## Usuarios
### vecinos afines
### coseno o correlacion
## Ítems
### covalorados juntos
### item-item estable
## Datos
### matriz dispersa
### muchos huecos
## Límites
### arranque en frio
### burbuja de filtro

Vecinos más cercanos
La búsqueda de similitud que alimenta el método basado en vecinos.

Llega un usuario completamente nuevo a tu plataforma. ¿Puede el filtrado colaborativo puro recomendarle? Razona y propone cómo suavizar ese arranque en frío.