Descripción general de la generación de candidatos

La primera etapa de recomendación es la generación de candidatos. Con una consulta, el sistema genera un conjunto de candidatos relevantes. En la siguiente tabla, se muestran dos enfoques comunes de generación de candidatos:

TipoDefiniciónEjemplo
filtrado basado en el contenido Usa similitud entre elementos para recomendar elementos similares a lo que le gusta al usuario. Si el usuario A mira dos videos de gatos tiernos, el sistema puede recomendarle videos de animales tiernos a ese usuario.
filtrado colaborativo Usa similitudes entre las consultas y los elementos de forma simultánea para proporcionar recomendaciones. Si el usuario A es similar al usuario B y al usuario B le gusta el video 1, el sistema puede recomendar el video 1 al usuario A (incluso si el usuario A no vio ningún video similar al video 1).

Espacio de inserción

Tanto el filtrado colaborativo como el basado en contenido asignan cada elemento y cada consulta (o contexto) a un vector de incorporación en un espacio de incorporación común\(E = \mathbb R^d\). Por lo general, el espacio de incorporaciones es de baja dimensión (es decir, \(d\) es mucho más pequeño que el tamaño del corpus) y captura cierta estructura latente del elemento o conjunto de consultas. Los elementos similares, como los videos de YouTube que suele mirar el mismo usuario, terminan cerca en el espacio de incorporaciones. La noción de "cercanía" se define mediante una medida de similitud.

Medidas de similitud

Una medida de similitud es una función \(s : E \times E \to \mathbb R\) que toma un par de incorporaciones y muestra un escalar que mide su similitud. Las incorporaciones se pueden usar para la generación de candidatos de la siguiente manera: dada una incorporación de consulta \(q \in E\), el sistema busca incorporaciones de elementos\(x \in E\) que sean similares a \(q\), es decir, incorporaciones con alta similitud \(s(q, x)\).

Para determinar el grado de similitud, la mayoría de los sistemas de recomendación se basan en una o más de las siguientes opciones:

  • coseno
  • producto de puntos
  • Distancia euclidiana

Coseno

Este es simplemente el coseno del ángulo entre los dos vectores, \(s(q, x) = \cos(q, x)\)

Punto de producto

El producto escalar de dos vectores es\(s(q, x) = \langle q, x \rangle = \sum_{i = 1}^d q_i x_i\). También lo proporciona \(s(q, x) = \|x\| \|q\| \cos(q, x)\) (el coseno del ángulo multiplicado por el producto de normas). Por lo tanto, si las incorporaciones están normalizadas, el producto escalar y el coseno coinciden.

Distancia euclidiana

Esta es la distancia habitual en el espacio euclidiano, \(s(q, x) = \|q - x\| = \left[ \sum_{i = 1}^d (q_i - x_i)^2\right]^{\frac{1}{2}}\). Una distancia menor significa una mayor similitud. Ten en cuenta que, cuando se normalizan las incorporaciones, la distancia euclidiana al cuadrado coincide con el producto de punto (y coseno) hasta una constante, ya que, en ese caso, \(\frac{1}{2}\|q - x\|^2 = 1 - \langle q, x \rangle\).

Imagen que muestra un espacio de incorporación de dos dimensiones, que contiene una incorporación de consulta y tres elementos candidatos.

Comparación de las medidas de similitud

Observa el ejemplo de la figura de la derecha. El vector negro ilustra la incorporación de consultas. Los otros tres vectores de incorporación (elemento A, elemento B, elemento C) representan los elementos candidatos. Según la medida de similitud que se use, la clasificación de los elementos puede ser diferente.

Con la imagen, intenta determinar la clasificación del elemento con las tres medidas de similitud: coseno, producto de puntos y distancia euclidiana.

¿Qué medida de similitud elegir?

En comparación con el coseno, la similitud del producto escalar es sensible a la norma de la incorporación. Es decir, cuanto mayor sea la norma de una incorporación, mayor será la similitud (para elementos con un ángulo agudo) y más probabilidades habrá de que se recomiende el elemento. Esto puede afectar las recomendaciones de la siguiente manera:

  • Los elementos que aparecen con mucha frecuencia en el conjunto de entrenamiento (por ejemplo, los videos populares de YouTube) suelen tener incorporaciones con grandes normas. Si deseas capturar la información de popularidad, debes priorizar el producto escalar. Sin embargo, si no tienes cuidado, es posible que los elementos populares dominen las recomendaciones. En la práctica, puedes usar otras variantes de medidas de similitud que pongan menos énfasis en la norma del elemento. Por ejemplo, define\(s(q, x) = \|q\|^\alpha \|x\|^\alpha \cos(q, x)\) para algunos \(\alpha \in (0, 1)\).

  • Es posible que los elementos que aparecen muy rara vez no se actualicen con frecuencia durante el entrenamiento. En consecuencia, si se inicializan con una norma grande, el sistema puede recomendar elementos poco frecuentes en lugar de elementos más relevantes. Para evitar este problema, ten cuidado con la incorporación de inicialización y usa la regularización adecuada. Explicaremos este problema en el primer ejercicio.