InicioIA y Aprendizaje AutomáticoRecomendador Musical — Factorización de Matrices (ALS) en Vivo

🎵 Recomendador Musical — Factorización de Matrices (ALS) en Vivo

Observa cómo la factorización de matrices por mínimos cuadrados alternantes (ALS) real aprende vectores latentes de oyentes y pistas en vivo, con recomendaciones de canciones que se actualizan en vivo a medida que convergen los factores aprendidos.

IA y Aprendizaje Automático3DAvanzado60 FPS
ai-music-recommendation-matrix-factorization ↗ Abrir independiente

Acerca de esta simulación

Esta simulación construye una matriz sintética de reproducciones oyente × pista con una auténtica estructura de bajo rango escondida en ruido, y luego la factoriza con mínimos cuadrados alternantes (ALS) real. Cada barrido resuelve un sistema lineal regularizado exacto — ecuaciones normales mediante eliminación gaussiana con pivoteo parcial — primero para cada fila de oyente manteniendo fijos los vectores de pista, luego para cada fila de pista manteniendo fijos los vectores de oyente. No hay descenso de gradiente, ni tasa de aprendizaje ajustada a mano: cada actualización de fila es el minimizador de mínimos cuadrados de forma cerrada de su propio subproblema, y el error de reconstrucción solo puede mejorar o mantenerse igual con cada medio barrido.

🔬 Qué muestra

Se genera una matriz de calificaciones dispersa (unos 28 oyentes, 42 pistas, aproximadamente un 40% observado) a partir de grupos ocultos de gusto y género más ruido, y luego se divide en entradas de entrenamiento y de retención. ALS aprende vectores de oyente U y de pista V de dimensión k tales que U·Vᵀ reconstruye las reproducciones observadas. Una descomposición de valores propios de Jacobi proyecta los factores k-dimensionales aprendidos sobre sus 3 componentes principales para la escena 3D, y un gráfico en vivo sigue el RMSE tanto en las entradas de entrenamiento como en las de retención en cada iteración.

🎮 Cómo usarlo

Ajusta el número de factores latentes k (2–12), la fuerza de regularización λ, y las iteraciones máximas de ALS, luego presiona Ejecutar ALS para animar los barridos, o Avanzar para avanzar un barrido a la vez. Elige cualquier oyente simulado del menú desplegable para ver su historial de reproducción observado y las 6 recomendaciones de pistas principales en vivo, resaltadas con líneas de conexión en el espacio latente 3D. Arrastra para orbitar la escena y desplázate para hacer zoom.

💡 ¿Sabías que...?

ALS se convirtió en el caballo de batalla del filtrado colaborativo a gran escala — incluyendo MLlib de Spark y los primeros recomendadores estilo Netflix — precisamente porque cada medio barrido es una resolución de mínimos cuadrados exacta y paralelizable en lugar de un método de gradiente iterativo, por lo que converge en un puñado de barridos y escala a millones de filas distribuyendo las resoluciones independientes por fila.

Preguntas frecuentes

¿Qué es la factorización de matrices en un sistema de recomendación?

La factorización de matrices aproxima una matriz de calificaciones oyente-por-pista grande y mayormente vacía R como el producto de dos matrices mucho más pequeñas, U (oyentes × k factores latentes) y V (pistas × k factores latentes), de modo que R ≈ U·Vᵀ. Cada factor latente es un eje de gusto sin etiquetar — uno podría correlacionarse con el tempo, otro con producción acústica versus electrónica — aprendido automáticamente a partir de las reproducciones observadas en lugar de diseñarse a mano. Una vez aprendidos U y V, la afinidad predicha para cualquier par oyente-pista, incluso los nunca observados, es simplemente el producto punto de sus dos vectores latentes.

¿Cómo funciona realmente el método de mínimos cuadrados alternantes (ALS)?

ALS aprovecha el hecho de que, si bien optimizar conjuntamente U y V es un problema no convexo, optimizar U solo con V fijo (o viceversa) es una regresión lineal regularizada ordinaria con solución de forma cerrada. Cada barrido de ALS primero fija V y, para cada fila de oyente, resuelve las ecuaciones normales k×k (Vᵀ_ᵢV_ᵢ + λ|I_u|·I)u = Vᵀ_ᵢr_ᵢ usando solo las pistas observadas de ese oyente. Luego fija la U recién actualizada y resuelve un sistema análogo para cada fila de pista. Alternar estas dos resoluciones exactas de mínimos cuadrados disminuye monótonamente el error de reconstrucción regularizado hasta que converge.

¿Por qué usar una solución de mínimos cuadrados de forma cerrada en lugar de descenso de gradiente?

Porque cada subproblema de ALS — actualizar una fila mientras la otra matriz de factores está congelada — es una cuadrática pequeña y bien condicionada en k incógnitas, tiene una solución exacta mediante las ecuaciones normales, obtenida aquí con eliminación gaussiana y pivoteo parcial. Esto converge en un solo paso por fila en lugar de requerir una tasa de aprendizaje ajustada y muchas iteraciones de gradiente, hace que cada medio barrido sea trivialmente paralelo entre filas, y es la razón por la que ALS se convirtió en el algoritmo de factorización de matrices predeterminado para sistemas de retroalimentación implícita a gran escala, como los primeros recomendadores estilo Netflix y Spotify.

¿Qué cambian los controles de k, regularización e iteraciones?

k establece la dimensionalidad del espacio de gustos latente — demasiado pequeño subajusta géneros distintos, demasiado grande puede sobreajustar las reproducciones observadas dispersas y perjudicar el RMSE de retención. La fuerza de regularización λ penaliza valores grandes de factores en las ecuaciones normales, intercambiando precisión de entrenamiento por generalización a pistas que un oyente aún no ha reproducido. El número de iteraciones controla cuántos barridos alternantes de U/V se ejecutan; el RMSE en las entradas de entrenamiento observadas cae rápidamente en los primeros barridos y luego se estabiliza a medida que la factorización converge.

¿Por qué puede el RMSE de retención empezar a subir mientras el RMSE de entrenamiento sigue bajando?

El RMSE de entrenamiento se mide sobre las reproducciones exactas a las que se ajustó ALS, por lo que con suficientes factores latentes y barridos puede seguir reduciéndose hacia cero. El RMSE de retención se mide sobre reproducciones deliberadamente excluidas del ajuste, así que una vez que los factores empiezan a memorizar peculiaridades de las reproducciones de entrenamiento en lugar de la estructura general de gustos, el error de retención puede estancarse o subir — la clásica señal de sobreajuste, y precisamente por qué la regularización λ y un k moderado importan más que perseguir el menor error de entrenamiento posible.

⚙ Bajo el capó

Mínimos cuadrados alternantes reales sobre una matriz sintética dispersa de oyente-pista: ecuaciones normales regularizadas de forma cerrada resueltas por fila mediante eliminación gaussiana, RMSE seguido en las entradas de entrenamiento y de retención en cada barrido, y una descomposición de valores propios de Jacobi que proyecta los factores latentes aprendidos a 3D para visualización en vivo.

Filtrado ColaborativoALSÁlgebra LinealRMSEPCA

3D · Renderizador Three.js / WebGL · 60 FPS objetivo · funciona totalmente en el navegador, sin instalación