1 · ¿Qué es un sistema de recomendación?
Cada feed de 'recomendado para ti' resuelve un problema: dado quién eres y lo que todos han hecho, predecir qué querrás a continuación. Conoce la matriz de valoraciones en su centro.
Un recomendador predice cuánto le gustará cada ítem a cada usuario y luego ordena los ítems no vistos. Casi todo se reduce a rellenar los huecos de una matriz dispersa usuario × ítem y ordenar las predicciones.
Sin esto:
Sin recomendadores, los usuarios se ahogan en catálogos de millones y solo ven lo que buscan. Los recomendadores son cómo Netflix, Spotify, YouTube y Amazon hacen emerger el ítem correcto de un pajar imposible.
La búsqueda responde 'encuéntrame esto'. Un sistema de recomendación responde algo más difícil — 'muéstrame algo que me guste y que no sabía pedir'. Es el motor detrás de las filas de Netflix, el Discover Weekly de Spotify, el siguiente-video de YouTube, el 'clientes también compraron' de Amazon y tu feed social.
En su centro hay un objeto: la matriz de interacción usuario × ítem R, donde R[u,i] es cómo se siente el usuario u respecto al ítem i — una valoración 1–5, un conteo de reproducciones, un clic, una compra. El problema es que R está casi vacía: cualquier usuario interactuó con una fracción diminuta del catálogo. Todo el trabajo de un recomendador es predecir las entradas faltantes y luego ordenar los ítems no vistos con mayor predicción para cada usuario.
Tres familias hacen esto, y construirás todas:
- Basado en contenido (Capítulo 2): recomienda ítems similares en características a lo que ya te gustó.
- Filtrado colaborativo (Capítulos 3–4): recomienda lo que les gustó a usuarios similares, solo desde la matriz.
- Híbrido (Capítulo 6): combina ambos, más contexto.
Abajo está el recomendador más simple — una línea base de popularidad — sobre una matriz diminuta. Ignora la personalización y recomienda lo más querido globalmente. Débil, pero es el listón que todo modelo real debe superar, y nunca sufre cold-start.
Python (in browser)
La matriz de valoraciones usuario × ítem + una línea base de popularidad. Funciona pero no es personalizada — el listón a superar.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
¿Cuál es la estructura de datos central con la que trabaja un sistema de recomendación?
- Un recomendador predice las entradas faltantes de una matriz dispersa usuario × ítem y luego ordena los mejores ítems no vistos por usuario.
- Tres familias: basado en contenido (características de ítems), filtrado colaborativo (solo la matriz) e híbrido.
- Una línea base de popularidad (recomendar lo más querido globalmente) es el listón débil pero a prueba de cold-start que todo modelo debe superar.
Netflix, Spotify, YouTube, Amazon, TikTok y cada módulo de 'también te puede gustar' del e-commerce son sistemas de recomendación.
Si lo quitas: Sin recomendadores, el descubrimiento se reduce solo a la búsqueda — los usuarios nunca encuentran la cola larga y el engagement se desploma.