El filtrado colaborativo es un tipo de sistema de recomendación. Agrupa a los usuarios en función de comportamientos similares, recomendando nuevos artículos según las características del grupo.
El filtrado colaborativo es un método de recuperación de información que recomienda elementos a los usuarios en función de cómo otros usuarios con preferencias y comportamientos similares interactuaron con ese elemento. En otras palabras, los algoritmos de filtrado colaborativo agrupan a los usuarios en función del comportamiento y emplean las características generales del grupo para recomendar elementos a un usuario objetivo. Los sistemas de recomendación colaborativa funcionan según el principio de que usuarios similares (en cuanto al comportamiento) comparten intereses y gustos similares.1
El filtrado colaborativo es uno de los dos tipos principales de sistemas de recomendación, el otro son los recomendadores basados en el contenido. Este último método emplea las características de los elementos para recomendar elementos similares a los elementos con los que un usuario en particular interactuó positivamente en el pasado.2 Mientras que el filtrado colaborativo se centra en la similitud de los usuarios para recomendar artículos, el filtrado basado en el contenido recomienda artículos exclusivamente en función de las características del perfil del artículo. El filtrado basado en el contenido dirige las recomendaciones a las preferencias de un usuario concreto en lugar de un grupo o tipo como en el filtrado colaborativo.
Ambos métodos fueron objeto de muchas aplicaciones en el mundo real en los últimos años, desde el e-commerce como Amazon hasta las redes sociales y los servicios de streaming. Juntos, los sistemas colaborativos y basados en contenido forman sistemas de recomendación híbridos. De hecho, en 2009, Netflix adoptó un sistema de recomendación híbrido a través de su concurso de premios Netflix.
El filtrado colaborativo emplea una matriz para mapear el comportamiento del usuario para cada elemento de su sistema. Luego, el sistema extrae valores de esta matriz para trazarlos como puntos de datos en un espacio vectorial. Posteriormente, varias métricas miden la distancia entre puntos como un medio para calcular la similitud usuario-usuario y elemento-elemento.
En una configuración estándar de filtrado colaborativo, tenemos un conjunto de n usuarios y un conjunto de x elementos. La preferencia individual de cada usuario por cada elemento se muestra en una matriz de usuario-elemento (a veces llamada matriz de calificación de usuario). Aquí, los usuarios se representan en filas y los elementos en columnas. En la matriz Rij , un valor dado representa el comportamiento del usuario u hacia el elemento i. Estos valores pueden ser números continuos proporcionados por los usuarios (por ejemplo, calificaciones) o valores binarios que indican si un usuario determinado vio o compró el elemento. Aquí hay un ejemplo de matriz de usuario-tiempo para el sitio web de una librería:
Esta matriz muestra las calificaciones de los usuarios para los diferentes libros disponibles. Un algoritmo de filtrado colaborativo compara las calificaciones proporcionadas por los usuarios para cada libro. Al identificar usuarios o elementos similares en función de esas calificaciones, predice calificaciones para libros que un usuario objetivo no ha visto (representadas por nulo en la matriz) y recomienda (o no recomienda) esos libros al usuario objetivo según.
La matriz de ejemplo empleada aquí está completa, ya que está restringida a cuatro usuarios y cuatro elementos. Sin embargo, en escenarios del mundo real, las preferencias de los usuarios conocidos por los artículos suelen ser limitadas, lo que deja escasa la matriz usuario-artículo.3
¿Cómo determina un algoritmo de recomendación colaborativa la similitud entre varios usuarios? Como ya se mencionó, la proximidad en el espacio vectorial es un método primario. Pero las métricas específicas empleadas para determinar esa proximidad pueden variar. Dos de estas métricas son la similitud del coseno y el coeficiente de correlación de Pearson.
La similitud del coseno significa la medición del ángulo entre dos vectores. Los vectores comparados comprenden un subconjunto de calificaciones para un usuario o elemento determinado. La puntuación de similitud del coseno puede ser cualquier valor entre -1 y 1. Cuanto mayor sea la puntuación del coseno, más parecidos se considerarán dos elementos. Algunas fuentes recomiendan esta métrica para espacios de características de alta dimensión. En el filtrado colaborativo, los puntos vectoriales se extraen directamente de la matriz de elementos de usuario. La similitud del coseno se representa mediante esta fórmula, donde x e y significan dos vectores en el espacio vectorial:4
El PCC ayuda a medir la similitud entre elementos o usuarios calculando la correlación entre las respectivas calificaciones de dos usuarios o elementos. El PCC oscila entre -1 y 1, lo que significa una correlación negativa o idéntica. A diferencia de la similitud de coseno, PCC utiliza todas las calificaciones para un usuario o elemento determinado. Por ejemplo, si calculamos el PCC entre dos usuarios, usamos esta fórmula, en la que a y b son usuarios diferentes, y rai y rbi son la calificación de ese usuario para el elemento i:5
Existen dos tipos principales de sistemas de filtrado colaborativo: basados en memoria y basados en modelos.
Los sistemas de recomendación basados en memoria, o sistemas basados en vecinos, son extensiones de los clasificadores de vecinos más cercanos k porque intentan predecir el comportamiento de un usuario objetivo hacia un elemento determinado en función de usuarios o conjuntos de elementos similares. Los sistemas basados en memoria se pueden dividir en dos subtipos:
A veces, la literatura describe los métodos basados en la memoria como métodos de aprendizaje basados en instancias. Esto apunta a cómo el filtrado basado en elementos y usuarios hace predicciones específicas para una instancia determinada de interacción usuario-elemento, como la calificación de un usuario objetivo para una película no vista.
En cambio, los métodos basados en modelos crean un modelo de machine learning predictivo de los datos. El modelo emplea los valores presentes en la matriz usuario-artículo como conjunto de datos de entrenamiento y produce predicciones para los valores que faltan con el modelo resultante. Los métodos basados en modelos emplean técnicas de ciencia de datos y algoritmos de machine learning como árboles de decisión, clasificadores Bayes y redes neuronales para recomendar artículos a los usuarios.8
La factorización matricial es un método de filtrado colaborativo ampliamente discutido, a menudo clasificado como un tipo de modelo de factor latente. Como modelo de factor latente, la factorización matricial supone que la similitud usuario-usuario o elemento-elemento se puede determinar a través de un número seleccionado de características. Por ejemplo, la calificación de un libro de un usuario se puede predecir utilizando solo el género del libro y la edad o el sexo del usuario. Esta representación de menor dimensión tiene como objetivo explicar, por ejemplo, las calificaciones de los libros caracterizando los artículos y los usuarios de acuerdo con algunas características seleccionadas extraídas de los datos de retroalimentación de los usuarios.9 Debido a que reduce las características de un espacio vectorial dado, la factorización de matrices también sirve como un método de reducción de dimensionalidad. 10
En comparación con los sistemas basados en el contenido, el filtrado colaborativo es más eficaz a la hora de ofrecer a los usuarios recomendaciones novedosas. Los métodos basados en la colaboración extraen recomendaciones de un conjunto de usuarios que comparten intereses con un usuario objetivo. Por ejemplo, si a un grupo de usuarios le gustó el mismo conjunto de elementos que al usuario objetivo, pero también le gustó un elemento adicional desconocido para el usuario objetivo porque no comparte características con el conjunto anterior de elementos, un sistema de filtrado colaborativo recomienda este nuevo elemento al usuario. El filtrado colaborativo puede recomendar elementos que un usuario objetivo puede no haber considerado pero que atraen a su tipo de usuario.11
El problema del arranque en frío es quizás la desventaja más citada de los sistemas de filtrado colaborativos. Ocurre cuando un nuevo usuario (o incluso un nuevo artículo) ingresa al sistema. La falta de historial de interacción con elementos de ese usuario impide que el sistema pueda evaluar la similitud o asociación del nuevo usuario con los usuarios existentes. Por el contrario, los sistemas basados en contenido son más hábiles para manejar nuevos elementos, aunque también tienen dificultades con las recomendaciones para los nuevos usuarios.12
La escasez de datos es otro de los principales problemas que pueden afectar a los sistemas de recomendación colaborativa. Como ya se dijo, los sistemas de recomendación suelen carecer de datos sobre las preferencias de los usuarios para la mayoría de los elementos del sistema. Esto significa que la mayor parte del espacio de características del sistema está vacío, lo que se conoce como escasez de datos. A medida que aumenta la escasez de datos, los puntos vectoriales se vuelven tan diferentes que los modelos predictivos se vuelven menos efectivos para identificar patrones explicativos.13 Esta es una de las principales razones por las que la factorización matricial y los métodos de factores latentes relacionados, como la descomposición de valores singulares, son populares en el filtrado colaborativo, ya que alivia la escasez de datos al reducir las características. Otros métodos aplicados para resolver este problema también pueden implicar que los propios usuarios evalúen y proporcionen información sobre sus propios intereses, que el sistema puede emplear después para filtrar las recomendaciones.
Si bien estudios anteriores han abordado la recomendación como un problema de predicción o clasificación, un cuerpo sustantivo de investigaciones recientes argumenta que se entiende como un problema secuencial de toma de decisiones. En este paradigma, el aprendizaje por refuerzo podría ser más adecuado para abordar la recomendación. Este enfoque argumenta que las recomendaciones se actualizan en tiempo real de acuerdo con la interacción usuario-elemento. A medida que el usuario omite, hace clic, califica o compra artículos sugeridos, el modelo desarrolla una política óptima a partir de esta retroalimentación para recomendar nuevos artículos.14 Estudios recientes proponen una amplia variedad de aplicaciones de aprendizaje por refuerzo para abordar los intereses mutables y a largo plazo de los usuarios, lo que plantea desafíos tanto para el filtrado basado en contenido como para el colaborativo.15
Encuestamos a 2000 organizaciones sobre sus iniciativas de IA para descubrir qué funciona, qué no y cómo pueden avanzar.
IBM Granite es nuestra familia de modelos de IA abiertos, de alto rendimiento y confiables, diseñados para empresas y optimizados para escalar sus aplicaciones de IA. Explore opciones de lenguaje, código, series de tiempo y medidas de protección.
Acceda a nuestro catálogo completo de más de 100 cursos en línea al adquirir hoy mismo una suscripción individual o multiusuario, que le permitirá ampliar sus conocimientos en una amplia gama de nuestros productos a un precio reducido.
Dirigida por los principales líderes de opinión de IBM, el plan de estudios está diseñado para ayudar a los líderes empresariales a obtener los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.
¿Quiere rentabilizar mejor sus inversiones en IA? Descubra cómo la IA generativa escalable en áreas clave impulsa el cambio ayudando a sus mejores mentes a crear y ofrecer nuevas soluciones innovadoras.
Aprenda a incorporar con confianza la IA generativa y el aprendizaje automático en su negocio.
Indague en los 3 elementos críticos de una estrategia sólida de IA: crear una ventaja competitiva, escalar la IA en todo el negocio y avanzar en la IA confiable.
1 “Collaborative Filtering,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Mohamed Sarwat and Mohamed Mokbel, “Collaborative Filtering,” Encyclopedia of Database Systems, Springer, 2018.
2 Prem Melville and Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine learning and Data Mining, Springer, 2017.
3 YUE SHI, MARTHA LARSON, and ALAN HANJALIC, “Collaborative Filtering beyond the User-Item Matrix: A Survey of the State of the Art and Future Challenges,” ACM Computing Surveys, vol. 47, no. 1, 2014, https://dl.acm.org/doi/10.1145/2556270. Kim Falk, Practical Recommender Systems, Manning Publications, 2019.
4 Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015. Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar, and Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020.
5 Kim Falk, Practical Recommender Systems, Manning Publications, 2019. J. Ben Schafer, Dan Frankowski, Jon Herlocker, and Shilad Sen, “Collaborative Filtering Recommender Systems,” The Adaptive Web: Methods and Strategies of Web Personalization, Springer, 2007.
6 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Prem Melville and Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.
7 Charu Aggarwal, Sistemas de recomendación: The Textbook, Springer, 2016. Kim Falk, Practical Recommender Systems, Manning Publications, 2019.
8 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.
9 Prem Melville and Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Yehuda Koren, Steffen Rendle, and Robert Bell, “Advances in Collaborative Filtering,” Recommender Systems Handbook, 3rd edition, Springer, 2022.
10 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.
11 Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar, and Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020. Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.
12 Charu Aggarwal, Sistemas de recomendación: El libro de texto, Springer, 2016. Ian Goodfellow, Yoshua Bengio y Aaron Courville, Aprendizaje profundo, MIT Press, 2016.
13 Ian Goodfellow, Yoshua Bengio, and Aaron Courville, Deep Learning, MIT Press, 2016.
14 Guy Shani, David Heckerman, Ronen I. Brafman, “An MDP-Based Recommender System,” Journal of Machine Learning Research, Vol. 6, No. 43, 2005, pp. 1265−1295, https://www.jmlr.org/papers/v6/shani05a.html. Yuanguo Lin, Yong Liu, Fan Lin, Lixin Zou, Pengcheng Wu, Wenhua Zeng, Huanhuan Chen, and Chunyan Miao, “A Survey on Reinforcement Learning for Recommender Systems,” IEEE Transactions on Neural Networks and Learning Systems, 2023, https://ieeexplore.ieee.org/abstract/document/10144689. M. Mehdi Afsar, Trafford Crump, and Behrouz Far, Reinforcement Learning based Recommender Systems: A Survey,” ACM Computing Survey, Vol. 55, No. 7, 2023, https://dl.acm.org/doi/abs/10.1145/3543846.
15 Xinshi Chen, Shuang Li, Hui Li, Shaohua Jiang, Yuan Qi, Le Song, “Generative Adversarial User Model for Reinforcement Learning Based Recommendation System,” Proceedings of the 36th International Conference on Machine Learning, PMLR, No. 97, 2019, pp. 1052-1061, http://proceedings.mlr.press/v97/chen19f.html. Liwei Huang, Mingsheng Fu, Fan Li,Hong Qu, Yangjun Liu, and Wenyu Chen, “A deep reinforcement learning based long-term recommender system,” Knowledge-Based Systems, Vol. 213, 2021, https://www.sciencedirect.com/science/article/abs/pii/S0950705120308352.