Sistemas de Recomendación · Inteligencia Artificial

Factorización de matrices

Descomponer la matriz usuario-ítem en factores de rango bajo para predecir valoraciones faltantes y capturar gustos latentes.

Factorización de matrices

Gustos en factores latentes La matriz usuario-ítem esconde pocas dimensiones que explican casi todo: géneros, tonos, estilos. Factorizarla es descubrirlas automáticamente y usarlas para predecir lo que falta.

La intuición de rango bajo

Si los gustos se explican con k factores, la enorme matriz tiene estructura de rango k. Aproximarla por el producto de dos matrices delgadas comprime la información útil.

Vectores de usuario y de ítem

Aprender por error

Se ajustan los vectores para que sus productos reproduzcan las valoraciones reales observadas, minimizando el error solo sobre celdas conocidas. Lo no valorado se deja en blanco a propósito.

Descenso estocástico de gradiente

Sobre cada valoración observada se calcula el error y se mueven los dos vectores en su dirección. Repetido sobre millones de interacciones, entrena los factores de forma escalable.

Una matriz grande a la izquierda que se descompone, separada por una cruz de multiplicar, en una matriz vertical delgada y otra horizontal delgada.
Factorizar aproxima la enorme matriz de valoraciones por el producto de dos matrices delgadas de rango bajo.

El número de factores

k fija cuánta capacidad tiene el modelo: poco subajusta, mucho sobreajusta el ruido. Se elige por validación, equilibrando expresividad y generalización.

Regularización

Añadir penalización al tamaño de los vectores combate el sobreajuste en la matriz dispersa. Sin ella, usuarios o ítems con pocas valoraciones se ajustan de forma arbitraria.

Qué aprenden los factores

Nadie etiqueta los factores: emergen de los datos. A veces uno se parece a un género, otro a la modernidad. Son direcciones estadísticas, no categorías humanas garantizadas.

Ventaja frente a vecinos

La factorización captura estructura global, escala mejor y maneja la dispersión con más soltura que el vecino a vecino. Fue el motor de la fiebre del Premio Netflix.

Límites

Solo usa interacciones, así que sigue ciego al arranque en frío y a metadatos. Por eso se combina con contenido en enfoques híbridos.

Errores frecuentes

Ejemplo resuelto: aprender gustos latentes

Quieres predecir valoraciones que faltan en una matriz muy hueca:

  1. Inicializas al azar un vector latente por usuario y por ítem.
  2. Estimas cada valoración conocida como producto escalar de sus vectores.
  3. Mides el error solo sobre celdas observadas y añades regularización.
  4. Actualizas ambos vectores por descenso estocástico de gradiente.
  5. Repite sobre millones de interacciones hasta que el error en validación se estabiliza.

¿Para qué sirve en la realidad?

La factorización latente fue el motor que ganó el Premio Netflix: comprime millones de valoraciones en unos pocos factores de gusto y rellena lo desconocido, escalando donde el vecino a vecino se quedaba corto.

En la factorización de matrices, la valoración que se predice para un usuario y un ítem es:

La factorización entrena sus vectores minimizando el error solo sobre las valoraciones observadas.

Factorización

Producto de dos matrices delgadas que aproxima la de valoraciones
factorizacion
Vector que codifica el gusto de un usuario
factor latente
Regla de actualización sobre cada valoración observada
descenso de gradiente
Parámetro k que controla la expresividad del modelo
numero de factores
Pena que combate el sobreajuste en la matriz dispersa
regularizacion

Ordena el aprendizaje de la factorización de matrices:

Inicializar
Predecir
Error
Actualizar

Factorización de matrices
Descomposición de matrices y su uso en recomendación.

Une cada pieza de la factorización con su papel.

Gustos en factores latentes

# Factorización de matrices
## Idea
### rango bajo
### estructura oculta
## Vectores
### uno por usuario
### uno por item
## Entrenar
### solo celdas vistas
### gradiente sgd
## Ajuste
### numero de factores k
### regularizacion

Análisis semántico latente
La familia de métodos que descubren dimensiones latentes por factorización.

Tu factorización reproduce bien el entrenamiento pero falla en validación. ¿Ajustarías k al alza o a la baja y qué papel juega la regularización?