Saltar la navegación

Sistema de recomendación basado en contenidos

Actividad para un sistema de recomendación basado en contenidos desde las matemáticas

En esta segunda actividad se trabajará el otro sistema de recomendación, conocido como «Filtro basado en contenidos». Como se ha explicado anteriormente es un algoritmo centrado más en el producto que en el usuario, como hemos desarrollado en la anterior actividad.

En este caso se verá desde un punto de vista matemático, entendiendo su funcionamiento y significado funcional.

Escenario de trabajo

En este caso se tiene un único usuario conociendo ya unas recomendaciones hacia unos productos. Por el contrario, tenemos otros tres productos los cuales se desconoce su grado de recomendación, el cual es el objetivo de la actividad.

Sistema basado en contenidos
Jorge Calvo. Imagen 13 (CC BY-SA)



Estructurar los datos

Para empezar con el análisis y las operaciones lo primero que se necesita es que los productos estén categorizados de alguna manera para que permita cierta distinción entre ellos en base a la recomendación del usuario.

En este ejemplo que se está usando se puede observar como las películas están categorizadas por diferentes géneros.

· Aventuras

· Comedia

· Ciencia Ficción

· …

Esto permite realizar la tabla que se muestra en la imagen inferior.

Colocando un 1 donde esa película esta categorizada y un cero donde no lo está.

Categorizando
Jorge Calvo. Imagen 14 (CC BY-SA)



En este primer paso únicamente nos centramos en las películas que tenemos evaluadas/recomendadas por el usuario.

Operaciones matemáticas

  • Se realiza la multiplicación de los géneros por los valores de recomendación del usuario, para ponderarlos.
  • Posteriormente se hace una suma por columnas de los géneros.

Finalmente se hace una normalización de esos datos obtenidos en la suma para que los valores vuelvan a estar entre 0 y 1 como originalmente se había partido.

Normalizar
Jorge Calvo. Imagen 15 (CC BY-SA)



¿Por qué debemos normalizar??

Normalizar los datos es una técnica que se utiliza para ajustar las características de los datos a un rango común. Esto puede ser útil por varias razones:

 1. Evitar sesgos de escala: Algunos algoritmos de machine learning son sensibles a la escala de los datos de entrada. Por ejemplo, si tenemos una columna con el número de «clicks» que hace el usuario dentro de una plataforma de Streamming  y otra con el número de accesos que tiene ese usuario al día, es evidente que la primera columna tendrá valores mucho más elevados que la segunda y no por esto debe ser más importante o relevante. La normalización ayuda a evitar este problema al ajustar todas las características a un rango común.

 2. Facilitar la comparación: La normalización también puede facilitar la comparación de características con diferentes escalas. Si dos características tienen diferentes unidades o escalas, es difícil compararlas directamente. La normalización las ajusta a una escala común, lo que facilita la comparación.

 3. Mejorar la eficiencia: Algunos algoritmos, como los de clasificación, son más eficientes cuando las características están normalizadas. Si una característica tiene una escala muy alta, puede dominar a las demás y hacer que el algoritmo sea menos eficiente. La normalización ayuda a evitar este problema.

¿Qué es normalizar?

Youtube/Jorge Calvo. Normalización, escalado y variables (Licencia estándar de YouTube)



\begin{equation*} \left. \begin{aligned} \frac{x - x_{min}}{x_{max} - x_{min}} = \frac{18 - 0}{60 - 0} = 0,3\\ \frac{x - x_{min}}{x_{max} - x_{min}} = \frac{12 - 0}{60 - 0} = 0,2\\ \frac{x - x_{min}}{x_{max} - x_{min}} = \frac{20 - 0}{60 - 0} = 0,33\\ \frac{x - x_{min}}{x_{max} - x_{min}} = \frac{10 - 0}{60 - 0} = 0,16 \end{aligned} \right\} \quad\text{Valores normalizados} \end{equation*}

...

Obtener valores de recomendación

Valores de recomendación
Jorge Calvo. Imagen 17 (CC BY-SA)

Una vez obtenidos los valores normalizados se usarán con los productos los cuales se quiere recomendar. En este caso multiplicamos esos valores por lo géneros y obtenemos la tabla 2, como se puede observar en la imagen superior. 

Finalmente, para acabar la actividad se suman las columnas para obtener el valor total del producto y así poder recomendarlo como se muestra en la imagen inferior. 

Final de la actividad

Sistema basado en contenidos
Jorge Calvo. Imagen 18 (CC BY-SA)

Creado con eXeLearning (Ventana nueva)

Financiado por la Unión Europea — Ministerio de Educación y Formación Profesional (Gobierno de España) — Plan de Recuperación, Transformación y Resiliencia