Sistemas de Recomendación: Análisis e Implementación de Modelos Principales
Authors: Flores Matias Gabriel 
Published: August 2024

En esta tesis se llevó a cabo una exhaustiva investigación sobre los Sistemas de Recomendación en el campo de la Inteligencia Artificial. Se realizó el análisis, la implementación y la evaluación de los principales modelos, destacando los algoritmos de collaborative filtering (dividido en neighborhood-based y model-based) y de content-based. Cada uno de estos modelos genera recomendaciones utilizando distintas técnicas matemáticas y utilizando la información del sistema de diversas maneras.
El principal objetivo consistió en implementar al menos un modelo de cada tipo, con el propósito de determinar cuál de ellos generaría las recomendaciones más efectivas para los usuarios del conjunto de datos utilizado. El modelo óptimo se seleccionó mediante la evaluación de diversas métricas, permitiendo obtener una visión integral para tomar la decisión de cuál fue el mejor.
La tesis se encuentra dividida en dos partes. La primera parte se compone de secciones teóricas dedicadas a cada modelo específico. En estas secciones, se analiza el funcionamiento de cada modelo y los fundamentos matemáticos en los que se basan, culminando con una sección teórica sobre las métricas de evaluación existentes.
La segunda parte abarca la implementación, evaluación, resultados y conclusiones. En la primera etapa de implementación, se lleva a cabo un análisis exploratorio de los datos, con el objetivo de obtener conclusiones a partir de la información existente. La segunda etapa consiste en la implementación de un programa en el lenguaje Python, que puede recomendar películas utilizando las técnicas investigadas. Este programa se construye como un modelo de clases que incorpora todos los algoritmos y puede ser utilizado según sea necesario. Dependiendo de la función llamada, el programa puede proporcionar un ranking de recomendaciones para un usuario específico del sistema, así como realizar la evaluación del modelo elegido que muestre los resultados de las métricas de evaluación.
Los algoritmos que pueden ser utilizados en el programa son 7 en total. Por un lado, los modelos neighborhood-based, que agrupan los datos en vecindades y determinan los elementos de interés para un usuario utilizando técnicas de similitud. Los otros algoritmos implementados son parte de los model-based, incluyendo SVD-Funk, NMF y PMF, que se basan en la factorización de matrices para completar valores vacíos y generar recomendaciones. El último modelo es content-based, que utiliza los atributos de los ítems para calcular la similitud entre productos. Además, se incorporó un algoritmo que realiza recomendaciones aleatorias para establecer una base de comparación.
Tras obtener los resultados, se evaluó cada modelo utilizando métricas de exactitud de predicción como RMSE, MSE, MAE y FCP, métricas de ranking como Precision, Recall y F1-Score, y otras características de los algoritmos, como la cobertura, la innovación y la diversidad.
En base a los resultados obtenidos, se pudo determinar que la mejor implementación fue el de SVD-Funk. Siendo este algoritmo el que más destacó en todas las pruebas realizadas, llegando a mostrar las mejores recomendaciones para cada usuario. No obstante, en la industria, estos modelos suelen combinarse de diversas formas para obtener los mejores resultados, generando modelos híbridos. La mayoría de sistemas de recomendación no presentan una única lista al usuario, sino múltiples listas basadas en diferentes análisis. Esto llevó a la conclusión de que no existe un modelo superior en general, ya que cada uno puede ser más efectivo según el sistema y el dominio de datos en el que se implemente.