• No se han encontrado resultados

Técnicas híbridas en sistemas de recomendación para optimizar el modelo non negative matrix factorization

N/A
N/A
Protected

Academic year: 2020

Share "Técnicas híbridas en sistemas de recomendación para optimizar el modelo non negative matrix factorization"

Copied!
91
0
0

Texto completo

(1)UNIVERSIDAD POLITÉCNICA DE MADRID Escuela Técnica Superior de Ingenierı́a de Sistemas Informáticos Máster Universitario en Ciencias y Tecnologı́as de la Computación Trabajo Fin de Máster. Titulo: Técnicas hı́bridas en Sistemas de Recomendación para optimizar el Modelo Non Negative Matrix Factorization. Autores: Rodolfo Xavier Bojorque Chasi Remigio Ismael Hurtado Ortiz Tutor: Dr. Antonio Hernando Esteban Fecha: Mayo 2017.

(2)

(3) Dedicado con amor a mi esposa Daysi y a mis hijos Matı́as y Eimi. Rodolfo Bojorque C.. I.

(4) Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algún modo reconocer su misericordia y amor, deseando que este esfuerzo sea motivo de su alegrı́a. Remigio Hurtado H.. I.

(5) Agradecimientos. En primer lugar deseo agradecer a Dios por la oportunidad, providencia y protección en estos años fuera de mi paı́s. De igual manera deseo resaltar al gran ser humano que es mi esposa Daysi quien cargó con todo el peso y responsabilidad de nuestro hogar, me brindó la fortaleza y los ánimos necesarios en los momentos más difı́ciles y sobre todo su amor incondicional, sin ella nada hubiera sido posible. A mis hijos Mati y Eimicita quienes brindaban a papá ternura y amorosamente comprendieron que muchas veces requerı́a ausentarme por motivo de los estudios. A mi madre Lola y todos los familiares quienes siempre estuvieron pendientes de mi familia. A mi amigo Remigio con quien compartimos las madrugadas y fines de semana para la ejecución de experimentos de este proyecto fin de máster, ası́ como al Dr. Antonio Hernando Esteban por su valiosa tutorı́a. Finalmente de manera especial deseo agradecer a la Universidad Politécnica Salesiana, sobre todo a su Rector Padre Javier Herrán Gómez, PhD. quien siempre confió en la capacidad de su gente y mediante el ejemplo ha motivado la superación personal.. Rodolfo Bojorque C.. II.

(6) Agradecimientos. Primeramente gracias a Dios por encaminarme hacia este lugar, por guiarme a madurar profesionalmente y personalmente. Reconozco al Señor en todos mis caminos, gracias por la sabidurı́a y fortaleza para culminar esta etapa de mi vida.. “No temas, porque yo estoy contigo; no desmayes, porque yo soy tu Dios que te esfuerzo; siempre te ayudaré, siempre te sustentaré con la diestra de mi justicia”. Isaı́as 41:10 Gracias a la mujer que me ha dado un amor gigante, su motivación y ánimos han sido fundamentales para finalizar esta meta, gracias mi querida y amada Ari. Les agradezco a mis padres por su esfuerzo constante para brindarme un mejor futuro, gracias por el consejo, formación, corrección y valores que cada dı́a valoro más. ¡Los quiero inmensamente!. Gracias a mis hermanos Juan Pablo y Andrea por su gran cariño y apoyo. Agradezco a mi amigo Rodolfo con quien hemos formado un gran equipo para la culminación de esta investigación. Un agradecimiento a Antonio Hernando, PhD. tutor de este proyecto, por la orientación y apoyo en el desarrollo de este trabajo. Gracias a mis amigos y familiares que me han apoyado incondicionalmente a lo largo de mi vida. Finalmente, agradezco a la Universidad Politécnica Salesiana y a la Universidad Politécnica de Madrid por abrirme sus puertas y propiciar el ambiente y recursos para mi preparación académica. Remigio Hurtado O.. III.

(7) Resumen. En este trabajo se presenta la incorporación de técnicas hı́bridas al modelo Non Negative Matrix Factorization para filtrado colaborativo basado en un modelo probabilı́stico Bayesiano (NNMF) [1] para mejorar la calidad de las predicciones en sistemas de recomendación basados en filtrado colaborativo. Se preservan las propiedades del modelo de Hernando et al. generando significados probabilı́sticos entendibles y recomendaciones fáciles de justificar. Con una técnica de pre-clustering basada en similaridades se mejora la calidad de las predicciones de [1] en términos de accuracy. Adicionalmente se presentan dos técnicas: baseline predictors [2] y significancias. Estas técnicas toman en cuenta aspectos de la interacción usuario-ı́tem por separado como las tendencias de usuarios, tendencias de ı́tems y preferencias de usuario. La incorporación de estas técnicas parten de la idea de Bobadilla et al. [3] que indican que pueden haber algunos ı́tems y algunos usuarios en un sistema de recomendación que podrı́an ser altamente significantes para hacer las recomendaciones. Se aplica lógica difusa para resolver el grado de incertidumbre que presentan las significancias. En este trabajo se demuestra que estas técnicas sı́ influyen en el aprendizaje del modelo NNMF.. IV.

(8) Abstract. This work implements hybrid techniques on non negative matrix factorization for collaborative filtering recommender system based on Bayesian probabilistic model (NNMF) [1] to improve prediction accuracy. We preserve properties of Hernando et al. model like an understandable probabilistic meaning such recommender system are able to explain the recommendations they provide. A preclustering technique based on similarity metrics improves recommendation predictions in accuracy terms. Additionally, we probe techniques: baseline predictors [2] and significances. Both consider user-item interaction separately like user tendencies, item tendencies and user preferences. We implement these techniques from Bobadilla et al. [3] because it seems reasonable to think that there may be some items and some users in a recommender system that could be highly significant in making recommendations. We apply fuzzy-logic to solve uncertainty grade of significance. In this work we show that hybrid techniques influence in learning phase of NNMF model.. V.

(9) Índice general. Agradecimientos. II. Agradecimientos. III. Resumen. IV. Abstract. V. Lista de figuras. XI. Lista de tablas. XIII. 1. Introducción. 1. 1.1. Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 1. 1.2. Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 2. 1.3. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.4. Objetivos y contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.4.1.. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.4.2.. Objetivos Especı́ficos . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.4.3.. Contribuciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 3. 1.5. Validación de la propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 4. 1.6. Estructura y organización de la memoria . . . . . . . . . . . . . . . . . . . . .. 4. 2. State-of-the-Art. 5. 2.1. Machine learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 5. 2.1.1.. Introducción al machine learning . . . . . . . . . . . . . . . . . . . . .. 5. 2.1.2.. Aplicaciones de machine learning . . . . . . . . . . . . . . . . . . . .. 6. 2.1.3.. Proceso de aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.1.4.. Cross-validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 9. 2.1.5.. Estilos o escenarios de aprendizaje . . . . . . . . . . . . . . . . . . . .. 10. 2.2. Sistemas de Recomendación . . . . . . . . . . . . . . . . . . . . . . . . . . .. 11. 2.2.1.. Conceptos y consideraciones generales . . . . . . . . . . . . . . . . .. VI. 11.

(10) ÍNDICE GENERAL 2.2.2.. 2.2.3.. VII. Tipos de sistemas de recomendación . . . . . . . . . . . . . . . . . . .. 12. 2.2.2.1.. Sistemas de recomendación basados en contenidos . . . . . .. 13. 2.2.2.2.. Sistemas de recomendación de filtrado colaborativo . . . . .. 14. 2.2.2.3.. Sistemas de recomendación de filtrado hı́brido . . . . . . . .. 14. Métodos o algoritmos de predicción . . . . . . . . . . . . . . . . . . .. 16. 2.2.3.1.. 16. 2.2.3.2.. Métodos basados en memoria (K-NN) . . . . . . . . . . . . 2.2.3.1.1.. La similaridad del Coseno . . . . . . . . . . . . .. 16. 2.2.3.1.2.. La medida del coseno ajustado . . . . . . . . . . .. 17. 2.2.3.1.3.. La correlación de Pearson (PC) . . . . . . . . . .. 17. 2.2.3.1.4.. La correlación de Pearson restringida (CPC) . . . .. 17. 2.2.3.1.5.. La media de la diferencia cuadrática (MSD) . . . .. 17. 2.2.3.1.6.. Jaccard . . . . . . . . . . . . . . . . . . . . . . .. 17. 2.2.3.1.7.. JMSD . . . . . . . . . . . . . . . . . . . . . . .. 17. 2.2.3.1.8.. MJD . . . . . . . . . . . . . . . . . . . . . . . .. 18. Métodos basados en modelos . . . . . . . . . . . . . . . . .. 19. 2.2.3.2.1.. SVD [4] . . . . . . . . . . . . . . . . . . . . . .. 19. 2.2.3.2.2.. SVD++ . . . . . . . . . . . . . . . . . . . . . . .. 19. 2.2.3.2.3.. Time-aware factor [4] . . . . . . . . . . . . . . .. 19. 2.2.4.. Comparación de métodos basados en memoria y basados en modelos . .. 20. 2.2.5.. Evaluación de los sistemas de recomendación . . . . . . . . . . . . . .. 21. 2.2.5.1.. 21. 2.2.5.2.. 2.2.5.3.. 2.2.5.4.. Evaluación de la predicción . . . . . . . . . . . . . . . . . . 2.2.5.1.1.. Accuracy . . . . . . . . . . . . . . . . . . . . . .. 21. 2.2.5.1.2.. Coverage . . . . . . . . . . . . . . . . . . . . . .. 22. Evaluación de la recomendación como conjunto . . . . . . .. 23. 2.2.5.2.1.. Precision . . . . . . . . . . . . . . . . . . . . . .. 24. 2.2.5.2.2.. Recall . . . . . . . . . . . . . . . . . . . . . . .. 24. 2.2.5.2.3.. F1 . . . . . . . . . . . . . . . . . . . . . . . . .. 24. Evaluación de la recomendación como listas jerárquicas . . .. 24. 2.2.5.3.1.. Half-life . . . . . . . . . . . . . . . . . . . . . .. 24. 2.2.5.3.2.. Discounted cumulative gain . . . . . . . . . . . .. 25. Otras medidas de calidad . . . . . . . . . . . . . . . . . . .. 25. 2.2.5.4.1.. Confidence (confianza) . . . . . . . . . . . . . . .. 25. 2.2.5.4.2.. Trust (confianza en el voto) . . . . . . . . . . . .. 25. 2.2.5.4.3.. Novelty (novedad) . . . . . . . . . . . . . . . . .. 25. 2.2.5.4.4.. Serendipity (Serendipia) . . . . . . . . . . . . . .. 25. 2.2.5.4.5.. Diversity (Diversidad) . . . . . . . . . . . . . . .. 25. 2.2.5.4.6.. Utility (Utilidad) . . . . . . . . . . . . . . . . . .. 26.

(11) VIII. ÍNDICE GENERAL 2.2.5.4.7.. Risk (Riesgo) . . . . . . . . . . . . . . . . . . . .. 26. 2.2.5.4.8.. Robustness (Robustez) . . . . . . . . . . . . . . .. 26. 2.3. Trabajo relacionado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 26. 2.3.1.. Métodos de filtrado colaborativo . . . . . . . . . . . . . . . . . . . . .. 26. 2.3.1.1.. Enfoques de filtrado colaborativo . . . . . . . . . . . . . . .. 26. 2.3.1.2.. Métodos de predicción de filtrado colaborativo . . . . . . . .. 28. 2.3.2.. Modelos Matrix Factorization [5] . . . . . . . . . . . . . . . . . . . .. 29. 2.3.3.. Técnicas de descomposición . . . . . . . . . . . . . . . . . . . . . . .. 30. 2.3.3.1.. LSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 2.3.3.2.. pLSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 2.3.3.3.. LDA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 30. 2.3.3.4.. LSA, pLSA, LDA para filtrado colaborativo . . . . . . . . .. 30. 2.3.3.5.. Poisson Matrix Factoring (PMF) . . . . . . . . . . . . . . .. 31. 2.3.3.6.. Matrix Factorization clásica . . . . . . . . . . . . . . . . . .. 31. 2.3.3.7.. Non Negative Matrix Factorization . . . . . . . . . . . . . .. 31. 2.4. Técnicas relevantes: caracterı́sticas y áreas de oportunidad . . . . . . . . . . . .. 32. 2.4.1.. 2.4.2.. Modelo NNMF [1] . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 33. 2.4.1.1.. Consideraciones generales . . . . . . . . . . . . . . . . . .. 33. 2.4.1.2.. Modelo Probabilı́stico Bayesiano . . . . . . . . . . . . . . .. 34. 2.4.1.3.. Inferencia en el modelo . . . . . . . . . . . . . . . . . . . .. 35. 2.4.1.4.. Algoritmo NNMF . . . . . . . . . . . . . . . . . . . . . . .. 35. 2.4.1.5.. Running ejemplos . . . . . . . . . . . . . . . . . . . . . . .. 37. Áreas de oportunidad del modelo . . . . . . . . . . . . . . . . . . . .. 41. 3. Técnicas Hı́bridas. 45. 3.1. Análisis y partición de datos . . . . . . . . . . . . . . . . . . . . . . . . . . .. 45. 3.2. Desarrollo y descripción de las técnicas . . . . . . . . . . . . . . . . . . . . . .. 48. 3.2.1.. Optimización de complejidad espacial y temporal del algoritmo NNMF. 50. 3.2.2.. Técnica Baseline Predictors . . . . . . . . . . . . . . . . . . . . . . .. 53. 3.2.3.. Técnica Significancias . . . . . . . . . . . . . . . . . . . . . . . . . .. 55. 3.2.4.. Técnica con Lógica Difusa . . . . . . . . . . . . . . . . . . . . . . . .. 59. 3.2.5.. Técnica Pre-clustering-MJD . . . . . . . . . . . . . . . . . . . . . . .. 62. 3.2.5.1.. Proceso general . . . . . . . . . . . . . . . . . . . . . . . .. 63. 3.2.5.2.. Algoritmo Pre-clustering-MJD con NNMF . . . . . . . . . .. 63. 3.2.5.3.. Experimentos y resultados . . . . . . . . . . . . . . . . . .. 65. 3.3. Consolidación de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . .. 69.

(12) ÍNDICE GENERAL. IX. 4. Conclusiones y futuras lı́neas de investigación. 71.

(13) X. ÍNDICE GENERAL.

(14) Índice de figuras. 2.1. Proceso general y niveles de aprendizaje de machine learning . . . . . . . . . .. 8. 2.2. Filtrado Colaborativo basado en usuarios . . . . . . . . . . . . . . . . . . . . .. 27. 2.3. Filtrado Colaborativo basado en ı́tems . . . . . . . . . . . . . . . . . . . . . .. 28. 2.4. Modelo probabilı́stico bayesiano. Tomado de [1] . . . . . . . . . . . . . . . . .. 34. 2.5. Curvas de Aprendizaje de la réplica del modelo NNMF . . . . . . . . . . . . .. 41. 2.6. Comparación del MAE con diferentes valores de k en diferentes datasets . . . .. 43. 3.1. Histograma de votos respecto a ı́tems . . . . . . . . . . . . . . . . . . . . . . .. 46. 3.2. Histograma de votos respecto a usuarios . . . . . . . . . . . . . . . . . . . . .. 47. 3.3. Cantidad de votos según valoración del voto . . . . . . . . . . . . . . . . . . .. 47. 3.4. Mapa de color de los votos . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 48. 3.5. Proporción de datos Train, Test y Cross-validation . . . . . . . . . . . . . . . .. 48. 3.6. Proceso general de las técnicas hı́bridas de recomendación . . . . . . . . . . . .. 49. 3.7. Proceso de evaluación de técnicas de sistemas de recomendación . . . . . . . .. 50. 3.8. Comparación del consumo de memoria entre el algoritmo original y el algoritmo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 52. 3.9. Curvas de aprendizaje del modelo NNMF con Baseline Predictors . . . . . . . .. 54. 3.10. Curvas de aprendizaje promedio NNMF vs. NNMF con Baseline Predictors . . .. 55. 3.11. Curvas de aprendizaje del modelo NNMF con Significancias . . . . . . . . . .. 57. 3.12. Curvas de aprendizaje promedio del modelo NNMF vs NNMFwS . . . . . . . .. 57. 3.13. Modelo Difuso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 60. 3.14. Conjunto Borroso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 60. 3.15. Curvas de aprendizaje del modelo NNMF con Lógica Difusa . . . . . . . . . .. 61. 3.16. Curvas de aprendizaje promedio del modelo NNMF vs NNMF con Lógica Difusa 62 3.17. Curvas de aprendizaje del modelo NNMF con la técnica Pre-Clustering MJD . .. 68. 3.18. Curvas de aprendizaje promedio del modelo NNMF vs NNMF con la técnica Pre-Clustering MJD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 69. 3.19. Curvas de aprendizaje NNMF vs. Técnicas hı́bridas . . . . . . . . . . . . . . .. 70. XI.

(15) XII. ÍNDICE DE FIGURAS.

(16) Índice de tablas. 2.1. Terminologı́a básica de machine learning. Adaptación realizada al español a partir de la propuesta presentada en [6] . . . . . . . . . . . . . . . . . . . . . . . . .. 6. 2.2. Aplicaciones de machine learning [6] . . . . . . . . . . . . . . . . . . . . . . .. 7. 2.3. Escenarios de aprendizaje. Adaptación realizada al español de [6] . . . . . . . .. 10. 2.4. Ejemplo 1 de conjunto de votos . . . . . . . . . . . . . . . . . . . . . . . . . .. 18. 2.5. Ejemplo de medidas de similaridad Coseno, Pearson, CPC, MSD, Jaccard, JMSD y MJD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 18. 2.6. Matriz de confusión de Information Retrieval adaptada a los Sistemas de Recomendación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 23. 2.7. Accuracy de las predicciones por tipos de algoritmo de filtrado . . . . . . . . .. 37. 2.8. Datatoy 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38. 2.9. Datatoy 1 Predicciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 38. 2.10. Datatoy 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39. 2.11. Predicciones Datatoy 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 39. 2.12. Matriz de factores au,k replicados . . . . . . . . . . . . . . . . . . . . . . . . .. 40. 2.13. Matriz de factores bk,i replicados . . . . . . . . . . . . . . . . . . . . . . . . .. 40. 2.14. Porcentaje de predicciones igual a 3 de acuerdo a valor de β . . . . . . . . . . .. 41. 2.15. Comparación de factores au,k para el datatoy2 . . . . . . . . . . . . . . . . . .. 43. 2.16. Comparación de factores bk,i para el datatoy2 . . . . . . . . . . . . . . . . . . .. 44. 3.1. Caracterı́sticas BD MovieLens 1M . . . . . . . . . . . . . . . . . . . . . . . .. 46. 3.2. Consumo de Memoria algoritmo propuesto . . . . . . . . . . . . . . . . . . . .. 52. 3.3. Comparación de algoritmos modelo NNMF y la propuesta desarrollada . . . . .. 53. 3.4. Diferencia del MAE entre el modelo NNMF y NNMFwS . . . . . . . . . . . .. 57. 3.5. Datatoy 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. 58. 3.6. Significancias Su,i del datatoy 3 . . . . . . . . . . . . . . . . . . . . . . . . . .. 59. 3.7. Ejemplo proceso pre-clustering . . . . . . . . . . . . . . . . . . . . . . . . . .. 66. 3.8. Comparación de factores au,k para el datatoy2 con Pre-Clustering MJD . . . . .. 66. 3.9. Comparación de factores bk,i para el datatoy2 con Pre-Clustering-MJD . . . . .. 67. 3.10. Accuracy de las predicciones . . . . . . . . . . . . . . . . . . . . . . . . . . .. 69. XIII.

(17) Capı́tulo 1. Introducción. 1.1. Problema El explosivo crecimiento de la variedad de información disponible en la Web y la rápida introducción de los nuevos servicios de e-business como la venta de productos, comparaciones entre ellos y subastas, han abrumado a los usuarios, quienes requieren tomar buenas decisiones sobre lo que compran, escuchan, leen, miran o desean. La gigantezca disponibilidad de opciones en lugar de producir un beneficio para los usuarios a disminuido su bienestar. Esto ha abierto el debate, puesto que tener la posibilidad de elegir es bueno pero la elección no siempre es la mejor. Según [7] la elección, con sus implicaciones de libertad, autonomı́a y auto determinación, puede llegar a ser excesiva y, en última instancia, crear el sentido de que una libertad puede llegar a ser considerada como una especie de tiranı́a que induce a la miseria. En los últimos años los sistemas de recomendación han demostrado ser un valioso medio para enfrentar el problema de la sobrecarga de información, incluso abordan la problemática ofreciendo a los usuarios nuevas experiencias pertinentes y relevantes a sus afinidades. Los sistemas de recomendación emergen como un área de investigación independiente a mediados de los noventa cuando los investigadores comienzan a enfocarse en problemas de recomendación [8]. El interés exponencial en los sistemas de recomendación puede apreciarse según [9] en los siguientes hechos: Los sistemas de recomendación juegan un rol importante en sitios altamente utilizados como Amazon, YouTube, Netflix, Spotify, LinkedIn, Facebook, Tripadvisor, Last.fm y IMDb. Además varias compañı́as de entretenimiento multimedia están desarrollando y desplegando sistemas de recomendación como parte de los servicios que proveen a sus subscriptores. Existen varias conferencias especı́ficas del campo, a saber las series de conferencias de la Association of Computing Machinery’s (ACM) en Recommender Systems (RecSys), establecida en 2007 y que actualmente es la más importante conferencia anual en investigación de sistemas de recomendación y sus aplicaciones. Instituciones de educación superior en todo el mundo ofrecen cursos de formación continua y posgrado completamente dedicados a sistemas de recomendación, tutoriales sobre el tema son muy populares en las conferencias de ciencias de la computación además editores como Springer. 1.

(18) 2. CAPÍTULO 1. INTRODUCCIÓN han publicado libros de temas especı́ficos en sistemas de recomendación en las series: Springer Brief in Electrical and Computer Engineering. Incluso han existido cuestiones especiales dedicadas a los sistemas de recomendación en varios journals académicos, entre los que han dedicado cuestiones a los sitemas de recomendación tenemos: AI Communications(2008), IEEE Intelligent Systems (2007), International Journal of Electronic Commerce(2006), International Journal of Computer Science and Applications (2006), ACM Transactions on Computer Human Interaction(2005), ACM Transactions on Information Systems (2004), User Modeling and User-Adapted Interaction(2014,2012) y ACM Transactions on Intelligent Systems and Technology (2015).. Los sistemas de recomendación han sido usados en diferentes dominios; sin embargo, la mayorı́a de trabajos recientes se enfocan en recomendaciones de pelı́culas. Se puede relacionar el gran impulso en investigación de los sistemas de recomendación a la liberación de grandes bases de datos por parte de compañı́as como Netflix, MovieLens, Jester, EachMovie y Book-crossing; incluso Netflix ha galardonado con un millón de dólares al primer equipo que ha tenido éxito en mejorar substancialmente el rendimiento de su sistema de recomendación privado [2]. A través de estas bases de datos la comunidad cientı́fica puede replicar experimentos para validar y mejorar las técnicas. Por ello este trabajo se centra en el dominio de pelı́culas para replicar el modelo que según la literatura ofrece los mejores resultados desde el punto de vista de la calidad de predicciones y como hipótesis se plantea mediante la implementación de técnicas hı́bridas tratar de mejorarla. 1.2. Justificación En la problemática se puede apreciar que los consumidores modernos están inundados de elecciones y decisiones sobre lo que desean adquirir, existe una enorme oferta de productos y servicios sin precedentes que deberı́a representar la oportunidad de ajustarse a los gustos y preferencias de los usuarios para incrementar su satisfacción. Sin embargo en el mar de información es fácil naufragar y para evitar aquello los proveedores están poniendo a disponibilidad de sus clientes sistemas de recomendación que permiten analizar los patrones de los usuarios en los intereses por determinados productos para ofrecer recomendaciones personalizadas que abran nuevas dimensiones en la experiencia del usuarios y explotación de los mercados. Por ello, con el ánimo de mejorar la calidad de los sistemas de recomendación, el estudio del presente trabajo se centra en mejorar especı́ficamente la calidad de las predicciones. A la fecha el state-of-the-art de los sistemas de recomendación demuestra que las mejores predicciones son obtenidas por los modelos Matrix Factorization [5, 2, 1, 8], sobresaliendo el trabajo de Hernando, et al. [1]. La propuesta de este estudio replica el modelo ”Non Negative Matrix Factorization para filtrado colaborativo basado en un modelo probabilı́stico Bayesiano” y posteriormente incorpora. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(19) 1.3. HIPÓTESIS. 3. técnicas hı́bridas para mejorar la calidad de las predicciones.. 1.3. Hipótesis Mediante la implementación de técnicas hı́bridas es posible mejorar la predicción de los sistemas de recomendación basados en el modelo ”Non Negative Matrix Factorization para filtrado colaborativo basado en un modelo probabilı́stico Bayesiano”, que al presente es la técnica que ofrece mejores resultados. 1.4. Objetivos y contribuciones 1.4.1. Objetivo General Mejorar la calidad de las predicciones del modelo Non Negative Matrix Factorization para filtrado colaborativo basado en un modelo probabilı́stico Bayesiano mediante la incorporación de técnicas hı́bridas. 1.4.2. Objetivos Especı́ficos Replicar los resultados del trabajo A non negative matrix factorization for collaborative filtering recommender systems based on a Bayesian probabilistic model [1] Proponer una mejora de la escalabilidad del algoritmo propuesto en [1]. Implementar al modelo técnicas basadas en la interacción usuario-ı́tem: significancias [3] y baseline predictors [2]. Incorporar lógica difusa al modelo para reducir la incertidumbre de las significancias. Implementar al modelo un pre-clustering de usuarios usando medidas de similaridad[3]. 1.4.3. Contribuciones En la sección 2.4.2 se explican las áreas de oportunidad del modelo NNMF. Las técnicas desarrolladas en ésta investigación preservan todas las caracterı́sticas del modelo de Hernando et al. [1] y adicionalmente proveen las siguientes ventajas: Mejor calidad de predicciones en términos de accuracy. Mejor escalabilidad (temporal y espacial) debido a la lógica del algoritmo de la fase de aprendizaje presentado en la sección 3.2.1. la técnica de significancias demuestra que mayor información sobre la interacción del usuario sobre los ı́tems aporta mayor conocimiento al sistema. Para eliminar la incertidumbre del concepto de significancias se aplican técnicas de lógica difusa que permiten mejorar ligeramente las predicciones. La técnica denominada Pre-clustering-MJD detallada en la sección 3.2.5 descubre grupos de usuarios basándose en similaridades aplicando la métrica MJD (Mean-Jaccard-Differences) tomada de [10] y con ello logra agrupar con mayor precisión los usuarios antes de continuar con el. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

(20) 4. CAPÍTULO 1. INTRODUCCIÓN entrenamiento del modelo NNMF. Por tanto, ésta técnica sobresale sobre las otras y ayuda al modelo [1] a conseguir lo siguiente: • Una mejor generalización (mayor precisión de agrupamiento). • En consecuencia un mejor accuracy en las predicciones. • Un mejor rendimiento en la fase de aprendizaje.. 1.5. Validación de la propuesta Las técnicas hı́bridas desarrolladas se han validado midiendo el accuracy de las predicciones con la métrica MAE (Mean Absolute Error) y mediante el análisis de los resultados expuestos en curvas de aprendizaje. Para ello se utilizó una base de datos liberada que permite replicar y comparar experimentos con la comunidad cientı́fica. 1.6. Estructura y organización de la memoria Para abordar la problemática, en el capı́tulo 2 se presenta el state-of-the-art de los sistemas de recomendación centrándose en su taxonomı́a, evaluación y trabajos relacionados, resaltando el modelo “Non Negative Matrix Factorization para filtrado colaborativo basado en un modelo probabilı́stico Bayesiano”. En el capı́tulo 3 se describe las diferentes técnicas desarrolladas junto a los experimentos y resultados obtenidos. Finalmente en el capı́tulo 4 se pone a consideración conclusiones y futuras lı́neas de investigación.. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(21) Capı́tulo 2. State-of-the-Art. 2.1. Machine learning 2.1.1. Introducción al machine learning Machine learning es una forma de inteligencia artificial especializada en proveer un conjunto de métodos que pueden automáticamente detectar patrones en los datos, y utilizar los patrones descubiertos para predecir datos futuros o tomar de decisiones en un entorno de incertidumbre [11]. Según [6] machine learning1 se refiere a los métodos computacionales que utilizan la experiencia para mejorar el rendimiento o para realizar predicciones precisas. La experiencia es la información o el conjunto de datos que sirve para el análisis y aprendizaje. El tamaño y la calidad del conjunto de datos de entrenamiento o training es fundamental para el éxito de las predicciones. Por tanto, machine learning consiste en el diseño de algoritmos eficientes y robustos para producir predicciones precisas, incluso para problemas de gran escala. Algunas medidas de la calidad de los algoritmos son la complejidad temporal (tiempo de ejecución/eficiencia) y espacial, según [12] una vı́a para el estudio de la eficiencia de un algoritmo es analizar la eficiencia de la ejecución a medida que el tamaño de datos de entrada vaya aumentando. En machine learning especı́ficamente es necesario analizar la eficiencia dependiendo del tamaño de datos de training. Existe una amplia variedad de problemas que se buscan resolver con machine learning, entre los cuáles, según [6] son: Clasificación: asignar una categorı́a a cada ı́tem. Por ejemplo, si un ı́tem (correo) es spam o no es spam. Regresión: predecir un valor real a cada ı́tem. Ejemplo: predecir el costo mensual del uso de un servicio en la nube. Ranking: ordenar ı́tems de acuerdo a algún criterio. Ejemplo: ordenar páginas web más relevantes. Clustering: partición de ı́tems en regiones homogéneas, es decir cada región compuesta por elementos semejantes. Ejemplo: identificar grupos de usuarios en las redes sociales. Reducción de dimensionalidad o aprendizaje múltiple: transformar un representación inicial en 1. No se traducen en este trabajo algunos términos del inglés, porque es tradicional usar exactamente esos nombres en inteligencia artificial. 5.

(22) 6. CAPÍTULO 2. STATE-OF-THE-ART una representación de menor dimensión que preserva algunas propiedades. Ejemplo: compresión de imágenes digitales.. En la tabla 2.1 se describen los términos más importantes de machine learning, los cuáles usaremos en repetidas ocasiones para la explicación de este trabajo.. Tabla 2.1: Terminologı́a básica de machine learning. Adaptación realizada al español a partir de la propuesta presentada en [6] Término. Definición. Muestras o conjunto de datos: Examples. Es el conjunto de datos usados para aprendizaje o evaluación.. Caracterı́sticas: Features. Es el conjunto de atributos asociados a una muestra.. Etiquetas, salidas: Labels. Son los valores o categorı́as asignadas a las muestras. Son los resultados o salidas obtenidas después de los procesos de aprendizaje y predicción. En problemas de regresión los ı́tems son asignados a etiquetas o salidas con valores reales, mientras que en problemas de clasificación los ı́tems son asignados a categorı́as especı́ficas, como por ejemplo, un email puede ser SPAM o NO-SPAM.. Muestras o conjunto de datos de entrenamiento: Es el conjunto de muestras usado para entrenar un algoritmo de aprendizaje. Training sample. Las muestras de entrenamiento se define para diferentes escenarios o estilos de aprendizaje. Generalmente se utiliza el concepto muestras etiquetadas para referirse a datos de los cuales se dispone de sus caracterı́sticas y además se conoce lo que representan (números o clases dependiendo si se trata de un problema de regresión o clasificación). Por otro lado cuando se habla de muestras no etiquetadas se refiere a datos de los cuales únicamente se cuenta con sus caracterı́sticas, y no existe una representación de lo que el conjunto de caracterı́sticas representa.. Muestras o conjunto de datos de validación: Es el conjunto de muestras usado para ajustar ciertos parámetros libres del Validation sample. algoritmo de aprendizaje. La muestra de validación sirve para seleccionar los mejores parámetros.. Muestras o conjunto de datos de test: Test sample Es el conjunto de muestras usado para evaluar el rendimiento del algoritmo de aprendizaje. La muestra de test no se dispone en la fase de aprendizaje. El algoritmo de aprendizaje debe predecir etiquetas basadas en caracterı́sticas y las predicciones son comparadas con las etiquetas de la muestra de test para medir el rendimiento del algoritmo. Función de pérdida o Loss function. Es una función que mide la diferencia, o pérdida, entre la predicción y la etiqueta. Conjunto de hipótesis o Hypothesis set. Es el conjunto de funciones que permite asociar caracterı́sticas (vectores) a. real. un conjunto de etiquetas. Por ejemplo, con el objetivo de diagnosticar una enfermedad degenerativa como el Parkinson, una hipótesis podrı́a ser una función que asocie las caracterı́sticas de los sı́ntomas de un paciente a números reales interpretados como puntuaciones, los valores más altos indicarı́an una mayor probabilidad de que un paciente sufra de Parkinson, que los valores más bajos.. 2.1.2. Aplicaciones de machine learning Los algoritmos de machine learning han sido utilizados en una variedad de aplicaciones en diferentes campos [9]. En la tabla 2.2 se mencionan algunas aplicaciones.. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(23) 2.1. MACHINE LEARNING. 7. Tabla 2.2: Aplicaciones de machine learning [6] Campo. Aplicaciones. Clasificación de texto o documentos. Detección de spam.. Procesamiento natural del lenguaje. Análisis morfológico, análisis de opiniones y de sentimientos, traducción automática, reconocimiento y la clasificación de entidades con nombre (RCEN), sistemas de diálogo.. Reconocimiento de voz, sı́ntesis de voz, Seguridad. verificación del emisor de voz Reconocimiento de caractéres ópticos Digitalización de textos. (OCR) Computación biológica. Análisis y predicción de secuencias de proteı́nas.. Visión por computador. Reconocimiento de imágenes, detección de rostros.. Detección de fraude e intrusión de redes detección de fraude de identidad en telefonı́a, en tarjetas de crédito, en subastas, en suscripciones, etc. Juegos. Ajedrez, Chaquete (backgammon), etc.. Control de vehı́culo no asistido. Robots, navegación.. Diagnóstico médico. Diagnóstico de enfermedades degenerativas (parkinson, alzheimer, cáncer), etc. etc.. Sistemas de recomendación, Ingenierı́a Recomendación de temas o ı́tems de información (pelı́culas, música, de búsqueda, Sistemas de extracción de. libros, noticias, imágenes, páginas web, etc.) que son del interés de. información. un usuario.. 2.1.3. Proceso de aprendizaje En la figura 2.1 se puede apreciar el proceso general de aprendizaje en machine learning [6], la entrada de datos en la figura es una matriz de votos para un sistema de recomendación. 1. Partición de datos: se particiona aleatoriamente los datos y establecer el conjunto de entrenamiento, de validación y de test. 2. Asociación de caracterı́sticas relevantes a los datos. 3. Entrenamiento y selección de hipótesis: Usar las caracterı́sticas seleccionadas para entrenar el algoritmo de aprendizaje con el objetivo de ajustar valores diferentes de los parámetros libres. Para cada parámetro se selecciona cada una de las hipótesis del conjunto de hipótesis y se selecciona entre ellas la hipótesis que genera el mejor rendimiento con los datos de validación. 4. Predicción: Con la hipótesis seleccionada predecir las salidas en el conjunto de test. 5. Evaluación: Evaluar el rendimiento del algoritmo usando la función de pérdida asociada al problema o tarea objetivo. Overfitting El problema de overfitting o sobreajuste consiste en que el modelo se ha entrenado de tal forma que predice muy bien con los datos de aprendizaje, sin embargo, cuando se lo valida con nuevos datos las predicciones son malas. En la literatura se habla de High Variance. Underfitting El problema de underfitting o subajuste consiste en que el modelo no ha logrado aprender lo suficiente para obtener buenas predicciones. En la literatura se habla de High Bias.. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

(24) 8. CAPÍTULO 2. STATE-OF-THE-ART. Figura 2.1: Proceso general y niveles de aprendizaje de machine learning. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(25) 2.1. MACHINE LEARNING. 9. 2.1.4. Cross-validation En la práctica la cantidad de datos es muy pequeña para poder tener un conjunto de validación, debido a que se dejarı́a un conjunto de entrenamiento insuficiente. Debido a esto, una técnica conocida como n-fold cross-validation es usada para la selección del modelo (parámetros libres: vector θ) y para el entrenamiento. Proceso del método n-fold cross-validation Particionar el conjunto S de m muestras en n submuestras (folds). El iésimo fold serı́a ((xi1,yi1), ...,(ximi ,yimi )) de tamaño mi. El algoritmo es entrenado con cada fold, el iésimo fold genera una hipótesis hi. El rendimiento de hi es probado en el iésimo fold. Los parámetros libres del vector θ son evaluados basados en el error promedio de la hipótesis hi, que es llamado error cross-validation. Los folds son generalmente de igual tamaño mi = m/n para todo i ∈ [1, n]. Para un valor alto de n, cada conjunto de entrenamiento usado en n-fold cross-validation tiene tamaño m − m/n = m(1 − 1/n), que es cercano a m, es decir, cercano al tamaño del conjunto total de datos, de manera que los conjuntos de entrenamiento son muy similares. Este método tiende a tener overfitting. Por otro lado, los valores pequeños de n llegan a generar conjuntos de entrenamiento más diversos pero su tamaño es insignificante en comparación a m, entonces el método tiende a tener un underfitting. Consideraciones tı́picas en aplicaciones de machine learning utilizando n-fold cross-validation El valor de n tiene tı́picamente un valor de 5 o 10. Se sigue el método de n-fold cross-validation. Los datos son divididos en conjunto de entrenamiento y conjunto de test. El conjunto de entrenamiento de tamaño m es usado para calcular el error n-fold cross-validation con cada parámetro libre de θ. El valor de θ que genere el error más pequeño es seleccionado. Se evalúa el rendimiento calculando el test-error con el conjunto de testing. Un caso especial de n-fold cross-validation en que n = m es llamado leave-one-out cross validation, debido a que en cada iteración una muestra es dejada fuera del entrenamiento. En general, este método es muy costoso computacionalmente ya que requiere n entrenamientos en muestras de m − 1, pero para algunos algoritmos esto admite una computación muy eficiente. El método n-fold cross-validation además de ayudar a seleccionar un modelo, permite evaluar el rendimiento. En este caso, para una configuración de los parámetros θ, el conjunto de datos. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

(26) 10. CAPÍTULO 2. STATE-OF-THE-ART. etiquetados es dividido en n-random folds sin distinguir entre conjunto de entrenamiento y conjunto de testing. El resultado del rendimiento es el n-fold cross-validation en todo el conjunto de datos, es decir la desviación estándar de los errores medidos en cada fold. 2.1.5. Estilos o escenarios de aprendizaje En la tabla 2.3 se describen los escenarios de aprendizaje más comunes que difieren en: El tipo de datos de entrenamiento disponibles para el aprendizaje El método de entrenamiento El conjunto de test para evaluar el aprendizaje del algoritmo. Tabla 2.3: Escenarios de aprendizaje. Adaptación realizada al español de [6] Escenario. Descripción. Aprendizaje supervisado. En el aprendizaje supervisado se cuenta con un conjunto de muestras etiquetadas (conjunto de entrenamiento) y se realizan las predicciones para las muestras no etiquetadas. Este escenario es el más común y está asociados a problemas de regresión, clasificación y ranking.. Aprendizaje no supervisado. En el aprendizaje no supervisado se tiene un conjunto de muestras no etiquetadas y se realiza las predicciones para todos las muestras sin etiquetar. Puesto que el conjunto de muestras está sin etiquetar, es difı́cil evaluar o cuantificar el rendimiento de este tipo de aprendizaje. Clustering y reduccion de dimensionalidad son ejemplos de este escenario de aprendizaje.. Aprendizaje semi-supervisado. En el aprendizaje semi-supervisado se tiene muestras etiquetadas y muestras no etiquetadas, las predicciones se realizan para todos los datos. El aprendizaje semi-supervisado es común en situaciones donde las muestras no etiquetadas son fáciles de acceder pero las muestras etiquetadas resultan muy costosas de conseguir. La idea del aprendizaje semi-supervisado es obtener mejores resultados que el aprendizaje supervisado.. Aprendizaje On-line. En contraste con los escenarios previos, el escenario on-line involucra múltiples rondas donde las fases de entrenamiento y test son mezcladas. En cada ronda se recibe un conjunto de muestras no etiquetadas, se realiza la predicción, se recibe la etiqueta e incurre en una pérdida. El objetivo del aprendizaje on-line es minimizar las pérdidas acumuladas en todas las rondas.. Aprendizaje por refuerzo. La fase de entrenamiento y test también son mezcladas en el aprendizaje por refuerzo, para recolectar información se interactúa activamente con el entorno y se recibe una recompensa inmediata para cada acción. El objetivo del aprendizaje por refuerzo es maximizar su recompensa sobre un curso de acciones.. Aprendizaje activo. Se recolecta adaptativamente o interactivamente información de las muestras de entrenamiento, normalmente mediante la consulta a un oráculo2 se requiere las etiquetas para las nuevas muestras. El objetivo del aprendizaje activo es alcanzar un rendimiento comparable al escenario supervisado pero con menos muestras etiquetadas.. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(27) 2.2. SISTEMAS DE RECOMENDACIÓN. 11. 2.2. Sistemas de Recomendación 2.2.1. Conceptos y consideraciones generales Los sistemas de recomendación son herramientas de software y técnicas que proveen sugerencias para ı́tems que probablemente son de la preferencia de un usuario particular [13, 9]. Las sugerencias están relacionadas con procesos de decisión como qué ı́tem adquirir, qué pelı́cula ver, qué música escuchar o qué libro leer. El objetivo de un sistema de recomendación es entregar una lista personalizada de ı́tems recomendados a sus usuarios [14]. En términos generales “ı́tem”denota el elemento que recomendará el sistema a los usuarios, un sistema de recomendación habitualmente se enfoca en un determinado tipo de ı́tems (e.g., pelı́culas, CDs o libros), y puede recomendar de manera personalizada y precisa los ı́tems del gusto de los usuarios. En principio los sistemas de recomendación fueron utilizados para direccionar las preferencias de los usuarios ante la falta de experiencia personal o competencia para evaluar la gran cantidad de información y alternativas que podı́an encontrar en un sitio web por ejemplo [15], los sistemas de recomendación emergen a mediados de los 90 como un área de investigación independiente. En los últimos años el interés por estos sistemas se ha incrementado exponencialmente y juegan un rol importante para sitios como Amazon.com, Youtube, Netflix, LinkedIn, Facebook, TripAdvisor entre otros, al punto que varias compañı́as están desarrollando sistemas de recomendación como parte de los servicios al que tienen acceso sus subscriptores. De hecho las razones para desear implementar un sistema de recomendación y explotar esta tecnologı́a desde un punto de vista del mercado según [9] son: incrementar el número de ı́tems vendidos, mayor diversidad de ventas, incrementar la satisfacción del usuario, incrementar la fidelidad del usuario y mejorar el conocimiento acerca de los deseos del usuario. De igual manera Herlocker et al. [16] define once tareas populares desde el punto de vista de los usuarios: encontrar buenos ı́tems, encontrar todos los buenos ı́tems, anotar en contexto, recomendar una secuencia de ı́tems (serie de TV), recomendar un grupo de ı́tems (paquete turı́stico), simplemente revisar listas de interés, encontrar recomendadores veraces (validar la calidad de las recomendaciones), mejorar el perfil, medio de expresión, ayudar a otros e influir en otros. Según [13] el proceso para generar un sistema de recomendación está basado en la combinación de las siguientes consideraciones:. El tipo de datos disponibles en la base de datos (ej., votos, información de registro de los usuarios, relaciones entre usuarios como región, idioma, etc.). El algoritmo de filtrado. El modelo escogido. Las técnicas empleadas.. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

(28) 12. CAPÍTULO 2. STATE-OF-THE-ART Nivel de escasez de la base de datos y la escalabilidad deseada. Rendimiento del sistema tanto en escalabilidad espacial(memoria) y temporal(cómputo) El objetivo a conseguir(ej., mejorar la calidad de las predicciones, evaluar la lista de recomendaciones y el conjunto de recomendaciones). La calidad deseada de los resultados.. 2.2.2. Tipos de sistemas de recomendación La caracterı́stica fundamental de un sistema de recomendación es su algoritmo de filtrado [13]. La clasificación más difundida [9, 13, 14] divide al algoritmo en: (a) Filtrado basado en contenido: las recomendaciones se basan en el conocimiento que se tiene sobre los ı́tems que el usuario ha valorado o seleccionado (ya sea de forma implı́cita o explı́cita). Se le recomendarán ı́tems similares que le puedan gustar. El filtrado basado en contenido realiza recomendaciones basándose en las caracterı́sticas similares entre ı́tems. Esto permite que se puedan hacer recomendaciones según los datos históricos, por ejemplo, de acuerdo al historial de compras de los usuarios, también es posible realizar recomendaciones basadas en el contenido de los objetos que el usuario consume o utiliza, como imágenes, sonidos y texto. Otra alternativa de análisis es realizar recomendaciones de acuerdo a las caracterı́sticas de los objetos, por ejemplo lo que el usuario escucha, compra o mira. Ejemplo de estos sistemas recomendadores son YouTube, Google, etc. (b) Filtrado demográfico: las recomendaciones se realizan en función de las caracterı́sticas particulares de los usuarios (edad, sexo, idioma, situación geográfica, profesión, etc) para determinar las preferencias comunes de un usuario según su perfil [13], para [9] este filtrado parte de la suposición de que las recomendaciones deberı́an ser generadas para determinados nichos demográficos, este enfoque ha adquirido popularidad en la literatura de marketing pero ha sido relativamente menos apropiado para la investigación de sistemas de recomendación. (c) Filtrado colaborativo: El filtrado colaborativo consiste en determinar qué usuarios son similares al usuario objetivo (o usuario al que hay que realizarle las recomendaciones) y a continuación, recomendar aquellos ı́tems que no han sido votados por el usuario objetivo y que han resultado bien valorados por los usuarios similares. En otras palabras, el filtrado colaborativo se basa en los votos que los distintos usuarios realizan sobre diferentes ı́tems, de tal manera que al contar con la suficiente información almacenada en el sistema es posible emitir recomendaciones a los usuarios según la información proporcionada por otros usuarios de caracterı́sticas similares [13]. Ejemplo de estos sistemas de recomendación son Netflix, MovieLens, Filmaffinity, etc. (d) Filtrado hı́brido: Se mezcla algunos de los tres filtrados mencionados anteriormente para realizar recomendaciones, incluso se combina con alguna otra técnica de inteligencia artificial como pueda ser la lógica difusa o la computación evolutiva. Un ejemplo de estos sistemas es Amazon. Comparación de los tipos de filtrado. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(29) 2.2. SISTEMAS DE RECOMENDACIÓN. 13. Este apartado se centra exclusivamente en analizar las ventajas e inconvenientes de cada uno de los sistemas de filtrado de mayor interés cientı́fico, es decir en los sistemas de filtrado basado en contenidos, de filtrado colaborativo y de filtrado hı́brido. 2.2.2.1. Sistemas de recomendación basados en contenidos La principal ventaja de los sistemas de recomendación basados en contenidos es que no sufren el problema de cold-start. Este problema se da cuando existe un nuevo usuario que no ha alimentado con suficiente información al sistema o cuando se crea un nuevo ı́tem para el cual no hay votos, estos dos casos resultan una dificultad para hacer una predicción precisa. Por otro lado, sufren básicamente dos problemas: el primero, de análisis de contenido limitado y el segundo, de sobreespecialización [17]. El análisis de contenido limitado ocurre cuando el sistema tiene una cantidad limitada de información de usuarios o del contenido de sus ı́tems; por ejemplo, las cuestiones de privacidad pueden impedir que los usuarios proporcionen información personal, por otro lado la información precisa sobre los ı́tems puede resultar muy difı́cil y costosa de ser obtenida para determinados tipos de ı́tems como las imágenes y música. De igual manera el contenido de un ı́tem frecuentemente es insuficiente para determinar su calidad. Por lo tanto, es imperativo obtener información suficiente de los usuarios registrados o de los ı́tems. Sobreespecialización/lack of serendipity consiste en el efecto donde un ı́tem se puede recomendar siempre y cuando la relación que existe con otro ı́tem es alta, por ejemplo, si a un usuario le agrada una pelı́cula de un género especı́fico protagonizada por unos actores, el sistema recomienda una pelı́cula de ese mismo género, con los mismos actores, esa recomendación puede que no sea de interés para el usuario, debido a que el sistema no proporciona una diversidad de ı́tems que sorprendan al usuario, es decir, ı́tems inesperados que inclinen al usuario hacia áreas o ı́tems que no pensaba que le gustaban, y le llegan a gustar en gran manera. En pocas palabras, el sistema llega a generar recomendaciones obvias. Las técnicas clásicas de filtrado basado en contenido permiten ajustar los atributos del perfil de los usuarios contra los atributos de los ı́tems. En la mayorı́a de los casos los atributos de los ı́tems son simples palabras clave que son extraı́das de las descripciones de los ı́tems o de metadatos asociados a ellos, generalmente el contenido extraı́do de los metadatos no es suficientemente para definir correctamente los intereses de los usuarios, utilizar las descripciones textuales de los ı́tems involucra un número considerable de inconvenientes cuando se aprende un perfil de usuario debido a la ambigüedad del lenguaje natural. Polisemia (una palabra tiene múltiples significados), sinonimia (varias palabras significan lo mismo), expresiones multi palabra (las propiedades del conjunto no son predecibles a partir de las propiedades de las palabras individuales), Named-Entity Recognition (dificultad para reconocer y clasificar elementos dentro del texto en categorı́as predefinidas) y Named-Entity Desambiguation (dificultad para determinar identidades/referencias de entidades mencionadas) son problemas inherentes del uso de palabras clave en los perfiles, que no puede ir. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

(30) 14. CAPÍTULO 2. STATE-OF-THE-ART. más allá del uso de estructuras léxicas/sintácticas para inferir los temas de interés de los usuarios [18]. Actualmente existe un creciente interés en las tecnologı́as semánticas y la disponibilidad de varias fuentes de conocimiento abiertas como Wikipedia, DBpedia, Freebase y BabelNet que permiten alimentar los avances en las técnicas de filtrado basado en contenido.. 2.2.2.2. Sistemas de recomendación de filtrado colaborativo Los sistemas de recomendación basados en filtrado colaborativo tienen dos ventajas muy importantes, la capacidad de realizar recomendaciones novedosas y la ventaja de no necesitar información personal de los usuarios registrados. Por lo tanto, no resulta muy costoso recolectar la información de los usuarios, ni mucho menos se requiere romper la barrera de su confidencialidad. Los inconvenientes que presentan es que sufren del problema de cola larga (long tail), existe una cobertura limitada (Limited coverage que se presenta cuando algunos ı́tems nunca son recomendados), y de sensibilidad a la escasez de votos (este problema es común puesto que los usuarios generalmente votan por una pequeña proporción de los ı́tems). Otro gran inconveniente que presenta este filtrado es que sufre el problema de cold-start. En el ámbito de investigación las propuestas de métodos de filtrado colaborativo tienen que abordar en su momento la forma de aliviar estos problemas. Pese a estos problemas, los sistemas de recomendación de filtrado colaborativo son los más difundidos por su interés práctico. En la sección 2.3.1.2 se profundiza en este tipo de filtrado. Con el fin de aprovechar las ventajas y de evitar los inconvenientes de los dos tipos de filtrado mencionados anteriormente, se pueden combinarlos formando los denominados sistemas de recomendación de filtrado hı́brido.. 2.2.2.3. Sistemas de recomendación de filtrado hı́brido El filtrado hı́brido habitualmente utiliza una combinación de filtrado colaborativo y filtrado basado en contenido para explotar las ventajas de cada técnica. Por lo general el filtrado colaborativo sufre de problemas de nuevos usuarios/ı́tems o no es capaz de realizar recomendaciones por ı́tems que no han sido votados, lo cual no representa una limitación para el filtrado basado en contenido puesto que la predicción se basa en la descripción de los ı́tems (atributos), para [8] el filtrado hı́brido puede clasificarse como:. La implementación de filtrado colaborativo y filtrado basado en contenido por separado y combinar. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(31) 2.2. SISTEMAS DE RECOMENDACIÓN. 15. sus predicciones. Incorporar caracterı́sticas de filtrado basado en contenido en un enfoque de filtrado colaborativo. Incorporar caracterı́sticas de filtrado colaborativo en un enfoque de filtrado basado en contenido. Construir un modelo unificado que incorpore caracterı́sticas de filtrado colaborativo como de filtrado basado en contenido. En [19] se describe las siguientes siete estrategias para sistemas de recomendación hı́bridos que combinan información entre diferentes fuentes: Weighted: La predicción de diferentes componentes de la recomendación son combinados numéricamente. Switching: El sistema escoge entre componentes (resultados) de varios recomendadores y aplica el seleccionado. Mixed: Recomendaciones de diferentes recomendadores son presentadas juntas. Feature Combination: Caracterı́sticas derivadas de diferentes fuentes de conocimiento son combinadas dando como resultado un algoritmo de recomendación. Feature Augmentation: Una técnica de recomendación es utilizada para computar una caracterı́stica o conjunto de caracterı́sticas, las cuales servirán como entrada de la siguiente técnica. Cascade: Las recomendaciones son entregadas en estricta prioridad, donde aquellas de prioridad baja pueden refinar a aquellas votadas con prioridad alta. Meta-level: Una técnica de recomendación es aplicada y produce un modelo ordenado, el cuál es utilizado como entrada de la siguiente técnica. El filtrado hı́brido para [13] generalmente se basa en métodos probabilı́sticos o bio inspirados: Algoritmos genéticos: Por lo general se utiliza la salida de varios recomendadores para construir vectores de previsión que constituirán las cadenas de cromosomas que requieren los algoritmos genéticos [20]. Lógica difusa: Mediante la determinación de conjuntos difusos se definen caracterı́sticas demográficas por ejemplo conjuntos de edades (joven, adulto, viejo), y mediante la fusificación y defusificación se obtienen resultados numéricos que luego servirán como entrada para otras técnicas como los algoritmos genéticos [21]. Redes de neuronas: A través de Mapas Auto Organizadios (SOM) se puede realizar un pre clustering de grupos de usuarios que pueden guiar mejor las predicciones[22], otros enfoques utilizan las salidas de otras técnicas, por ejemplo las medidas de similaridad, como punto de referencia en el entrenamiento de redes de neuronas y ası́ mejorar la predicción de la recomendación [10]. Redes Bayesianas:Las redes Bayesianas se aplican a problemas con gran incertidumbre, lo cuál es muy interesante para el campo de los sistemas de recomendación, por lo general se combina el filtrado colaborativo con el filtrado basado en contenidos para adaptar una topologı́a que permite. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

(32) 16. CAPÍTULO 2. STATE-OF-THE-ART estimar las distribuciones de probabilidad mediante inferencia probabilı́stica [23]. Clustering: Por lo general esta técnica se basa en dos fases, la primera consiste en generar diferentes grupos de usuarios utilizando técnicas de clusterización y una segunda fase ejecuta la recomendación analizando únicamente el grupo al que pertenece el usuario [24]. Latent features: Estas técnicas se basan en la obtención de caracterı́sticas latentes a partir de la matriz de votos utilizada para el filtrado colaborativo [25].. 2.2.3. Métodos o algoritmos de predicción Según [1, 26, 14, 27] los sistemas de recomendación pueden ser clasificados en tres grupos: (a) métodos basados en memoria (K-NN): realizan las recomendaciones usando los k vecinos más similares del usuario objetivo. (b) métodos basados en modelos: usan un modelo para generar recomendaciones. (c) métodos hı́bridos: realizan la combinación de las técnicas de los dos métodos anteriores. 2.2.3.1. Métodos basados en memoria (K-NN) Estos métodos realizan las recomendaciones basándose en los k vecinos más similares. Para calcular dichas similaridades se utilizan algunas técnicas que miden la relación entre los usuarios. Los métodos basados en memoria utilizan la información de los votos realizados por los usuarios en los diferentes ı́tems para determinar aquellos usuarios (vecinos de u) que comparten caracterı́sticas similares con el usuario objetivo u, con la finalidad de basar una recomendación en la similaridad de los usuarios. Generalmente estos métodos trabajan sobre una tabla de usuarios U quienes han votado por los ı́tems I, la predicción de un ı́tem i no votado por un usuario u es computada como una agregación de los votos de los K usuarios más similares (k-vecinos) para el mismo ı́tem i [28]. Este algoritmo se conoce como K-Nearest Neighbor (algoritmo K-NN) [8, 29]. La similaridad entre dos usuarios u y v se determina a partir de métricas de similaridad de origen estadı́stico, donde se considera un conjunto común de votos de los usuarios u y v por los mismos ı́tems I 0 identificando como rui y rvi los votos del usuario u y del usuario v por el mismo ı́tem i. De acuerdo a [30], las medidas de similaridad más comunes son: 2.2.3.1.1. La similaridad del Coseno Es muy popular en el ámbito de information retrieval (recuperación de la información), la similaridad se basa en el coseno del ángulo entre los vectores de votos de los usuarios u y v. P. i∈I 0 rui rvi P 2 2 i∈I 0 rui i∈I 0 rvi. S(u,v)= pP. (2.1). Sin embargo esta métrica presenta inconvenientes cuando se tiene muy pocos ı́tems valorados en común y además no considera los diferentes rangos provistos por la escala de votos cuando se trata de medir la similaridad entre dos ı́tems.. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(33) 2.2. SISTEMAS DE RECOMENDACIÓN. 17. 2.2.3.1.2. La medida del coseno ajustado Esta medida de similaridad computa la correlación lineal entre los votos de dos ı́tems i y j, a diferencia de la similaridad del coseno toma en cuenta los diferentes rangos de las escalas de votos, para ello se obtiene el respectivo promedio r de los 0 votos de los ı́tems que comparten usuarios Pen común U mediante la ecuación: 0 (rui −ri )(ruj −rj ) p (2.2) S(i,j)= p u∈U (rui −ri)2 (ruj −rj )2 Esta medida tiene problemas al computar la similaridad si la cardinalidad de U 0 es pequeña; además. puede mostrar baja/alta similaridad independientemente de lo parecido/disparejo que sean los votos. 2.2.3.1.3. La correlación de Pearson (PC) Es una de las medidas más populares para el filtrado colaborativo basado en memoria, mide como dos usuarios o ı́tems están linealmente relacionados, para ello es necesario calcular ru que representa el promedio de todos los votos del usuario u y rv que representa el promedio de todos los votos P del usuario v. i∈I 0 (rui −ru )(rvi −rv ) pP S(u,v)= pP (2.3) 2 2 (r −r (r −r ) ) 0 0 ui vi u v i∈I i∈I Esta medida presenta dificultades cuando se cuenta con pocos ı́tems votados en común (cardinalidad baja de I 0); además puede mostrar baja/alta similaridad independientemente de lo parecido/disparejo que sean los votos. 2.2.3.1.4. La correlación de Pearson restringida (CPC) Es una variante de PC en la cual una referencia absoluta (la mediana en la escala de votos rmed) es utilizada en lugar del promedio de los votos de los usuarios.. P. i∈I 0 (rui −rmed )(rvi −rmed ) pP 2 2 i∈I 0 (rui −rmed ) i∈I 0 (rvi −rmed ). S(u,v)= pP. (2.4). Al igual que la correlación de Pearson la medida presenta inconvenientes cuando se cuenta con pocos ı́tems votados en común. 2.2.3.1.5. La media de la diferencia cuadrática (MSD) Esta medida de similaridad computa la diferencia euclı́dea entre los vectores de votos Pdel usuario u 2y v. 0 (rui −rvi ) S(u,v)=1− i∈I 0 |I | Su problema es que ignora la proporción de ı́tems votados en común.. (2.5). 2.2.3.1.6. Jaccard Es una medida de similaridad que utiliza la información de los votos provista por un par de usuarios. |Iu ∩Iv | (2.6) |Iu ∪Iv | Al igual que las otras métricas sufre del problema de contar con pocos ı́tems votados en común, S(u,v)=. además no considera el valor absoluto de los votos sino únicamente su cardinalidad. 2.2.3.1.7. JMSD Es una medida de similaridad entre los usuarios u y v que combina la similaridad de Jaccard SJac(u,v) y la similaridad MSD SMSD (u,v) mediante el producto [28]. S(u,v)=SMSD (u,v)×SJac(u,v). Master en Ciencias y Tecnologı́as de la Computación. (2.7). Universidad Politécnica de Madrid.

(34) 18. CAPÍTULO 2. STATE-OF-THE-ART. 2.2.3.1.8. MJD Es una medida de similaridad especı́ficamente aplicada en filtrado colaborativo entre los usuarios u y v que combina varias medidas de similaridad normalizadas: Jaccard SJac(u,v), MSD SMSD (u,v) y otras medidas basadas en los valores numéricos de los votos [10]. S(u,v)=Sυ0 (u,v)+Sυ1 (u,v)+Sυ2 (u,v)+Sυ3 (u,v)+Sυ4 (u,v)+SMSD (u,v)+SJac(u,v) (2.8) Donde υ0 es la cantidad de ı́tems en que los dos usuarios en cuestión tienen una diferencia de votos de 0, es decir, el número de casos en que los dos usuarios tienen el mismo voto. En el mismo sentido, υ4 corresponde a la cantidad de casos en que los dos usuarios tienen la máxima diferencia, es decir 4. Esto refiriéndose a sistemas de recomendación en que el rango de los valores de los votos va de 1 a 5. Considerando la tabla 2.4 se puede apreciar que tiene once usuarios por quince ı́tems, se ha considerado el primer usuario (u1) para construir la similaridad con todos los otros usuarios, la tabla 2.5 presenta los resultados para las medidas de similaridad expuestas. Tabla 2.4: Ejemplo 1 de conjunto de votos i1. i2. i3. i4. i5. i6. i7. i8. i9. i10. i11. i12. i13. i14. i15. u1. 5. 5. 5. 5. 5. •. 1. •. •. •. 1. •. •. •. •. u2. 5. 5. 5. 5. 5. •. •. 1. •. •. •. •. •. •. •. u3. 5. 5. •. 5. 5. •. •. •. •. •. •. 3. •. •. •. u4. •. •. 1. •. •. 5. 5. 5. 5. 5. •. 1. •. 2. •. u5. •. 3. •. •. 2. 5. 5. •. 5. 5. •. 2. •. 4. •. u6. •. 1. •. •. •. 5. 5. 5. 5. 5. •. •. •. •. •. u7. •. •. •. 4. •. •. •. •. 1. •. 5. 4. 5. 5. 5. u8. •. 1. •. •. •. •. 4. •. •. •. 5. 5. 5. 4. 5. u9. •. •. •. •. •. 3. •. •. 3. •. 5. 4. 5. 5. 5. u10. 5. 5. 5. 5. 5. 1. 5. 2. 1. 5. •. •. •. •. •. u11. •. 1. •. •. •. 5. 5. 5. 5. 5. •. •. 5. •. •. Tabla 2.5: Ejemplo de medidas de similaridad Coseno, Pearson, CPC, MSD, Jaccard, JMSD y MJD Coseno. Coeficiente de CPC. MSD. Jaccard. JMSD. MJD. Pearson u1. 1. 1. 1. 1. 1. 1. 2.04. u2. 1. 1. NaN. 1. 0.625. 0.625. 1.92. u3. 1. 1. NaN. 1. 0.5. 0.5. 1.88. u4. 0.384. -0.759. 0. -15. 0.153. -2.307. -0.17. u5. 0.681. -0.822. -0.169. -8.6667. 0.25. -2.166. 0.43. u6. 0.384. -0.546. 0. -15. 0.181. -2.727. -0.16. u7. 0.765. -0.976. 0. -7.5. 0.166. -1.25. 0.73. u8. 0.415. -0.411. 0.171. -12.666. 0.272. -3.454. 0.1. u9. 1. -1. NaN. -15. 0.076. -1.153. 0.02. u10. 0.945. 0.304. NaN. -1.6667. 0.545. -0.909. 1.61. u11. 0.384. -0.519. 0. -15. 0.166. -2.5. -0.16. El valor NaN representa una división para cero. Es importante resaltar que u1 al ser comparado consigo mismo presenta siempre el máximo nivel de similaridad (1), de acuerdo a la tabla 2.4 u2, u3 y u10 son usuarios muy similares;mientras que los usuarios u8 y u11 representan usuarios que no. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(35) 2.2. SISTEMAS DE RECOMENDACIÓN. 19. tienen ninguna similaridad con respecto al usuario u1, estos detalles brindan una mejor compresión de los valores expuestos en la tabla 2.5. 2.2.3.2. Métodos basados en modelos Los métodos basados en modelos utilizan la información de los votos realizados por los usuarios en los diferentes ı́tems para entrenar modelos que identifiquen patrones que permiten realizar una recomendación. En la actualidad los métodos basados en modelos son los que generan mejores predicciones. Tienen particular importancia los modelos Matrix Factorization (Factorización Matricial) que transforman a los usuarios e ı́tems al mismo espacio de factores latentes. Entre los principales modelos de factorización están [4, 1]: Singular Value Descomposition (SVD), SVD++ y Time-Aware factor model. Estos modelos Matrix Factorization se describen a continuación. 2.2.3.2.1. SVD [4] Es una técnica que mapea a los usuarios e ı́tems en un espacio conjunto de factores latentes de dimensionalidad K, de tal forma que los usuarios e ı́tems son modelados como productos internos en este espacio. El espacio latente trata de explicar los votos caracterizando los productos y los usuarios en factores automáticamente inferidos de la retroalimentación del usuario. Para esta técnica cada ı́tem i es asociado con un vector bi ∈RK , y cada usuario u es asociado con un vector au ∈RK . Para un ı́tem determinado i, los elementos de bi miden el grado al cual los ı́tems pertenecen a los factores, positiva o negativamente. Para un usuario determinado u, los elementos au miden el grado de interés que un usuario tiene de ı́tems que son altamente correspondientes en los factores. El resultado del producto punto biT au, captura la interacción entre el usuario u y el ı́tem i. 2.2.3.2.2. SVD++ Logra mejorar el calidad de la predicción porque considera retroalimentación implı́cita, lo que provee indicaciones adicionales de las preferencias de los usuarios, para ello un segundo conjunto de factores de ı́tems es agregado, relacionando cada ı́tem i a un vector de factores yi ∈RK , este segundo conjunto es utilizado para caracterizar a los usuarios basados en el conjunto de ı́tems que ellos valoraron, el cual denominaremos R(u), por lo que un usuario es modelado por 1P biT (au +|R(u)|− 2 j∈R(u)yj ). 2.2.3.2.3. Time-aware factor [4] Utiliza Matrix Factorization para modelar efectos temporales, descomponer las valoraciones de los usuarios por los ı́tems. En distintos términos permite tratar diferentes aspectos temporales por separado. Especı́ficamente se puede apreciar los siguientes efectos temporales: (1) tendencias de usuarios, (2) tendencias de ı́tems, (3) preferencias de usuario. Por otro lado se considera también las caracterı́sticas estáticas de los ı́tems qi. Estos efectos temporales son implementados en técnicas como baseline predictors [2] y el uso de significancias [3]. Baseline Predictors [2]: permiten sistematizar la interacción entre los usuarios e ı́tems, para ello se considera a µ como la media global de los votos de la matriz M. La desviación estándar de los. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

(36) 20. CAPÍTULO 2. STATE-OF-THE-ART. votos que han realizado los diferentes usuarios para un ı́tem especı́fico bi es la medida temporal de la variación de los ı́tems y la desviación estándar de los votos de un usuario especı́fico en todos los ı́tems por los cuales ha votado bu es la medida temporal de la variación de las preferencias de los usuarios. Con estos parámetros se puede determinar un baseline predictor para un voto desconocido del usuario u en el ı́tem i mediante la ecuación bui = µ+bu +bi. Los baseline predictors suelen calcularse de manera sensible al tiempo, donde los parámetros bu(tui) y bi(tui) están en función del tiempo tui. Significancias: Un sistema de recomendación tradicional basado en filtrado colaborativo considera que todos los ı́tems y usuarios tienen la misma importancia, las significancias [3] parten de una premisa razonable que indica que ciertos ı́tems y ciertos usuarios en un sistema de recomendación podrı́an ser mayormente significantes para realizar una recomendación. En este sentido Bobadilla et al. proponen un método general para calcular significancias en cualquier sistema de recomendación, partiendo de la hipótesis que tanto los ı́tems como los usuarios tienen todos diferente importancia cuando se realiza una recomendación, para ello el trabajo [3] propone medidas de similaridad como la significancia de un ı́tem i(Si), la significancia de un usuario u(Su) para recomendar a otros usuarios y la significancia del ı́tem i para el usuario u (Su,i). 2.2.4. Comparación de métodos basados en memoria y basados en modelos Los sistemas de recomendación basados en memoria (K-NN) presentan varias ventajas que son [29]: Simplicidad: El método es intuitivo y relativamente simple de implementar. En su forma más sencilla solamente se requiere la configuración de un parámetro (el número de vecinos usados en la predicción). Justificabilidad: El método provee una concisa e intuitiva justificación para las predicciones computadas. Por ejemplo, los vecinos de usuarios o ı́tems sirven para justificar las recomendaciones, esto puede ayudar a los usuarios a comprender mejor la recomendación y su relevancia; además podrı́a servir como base de un sistema interactivo donde los usuarios puedan elegir los vecinos que consideran más importantes para la recomendación. Estabilidad: La agregación de nuevos usuarios, ı́tems o votos afectan ligeramente al sistema, puesto que una vez que las similaridades han sido computadas no es necesario re-entrenar al sistema. A diferencia de la mayorı́a de sistemas basados en modelos no requiere una fase de aprendizaje que suele resultar costosa y debe ser ejecutada cada cierto intervalo de tiempo en las aplicaciones comerciales. Sin embargo, estos sistemas generalmente requieren un pre cómputo offline de los. Universidad Politécnica de Madrid. Master en Ciencias y Tecnologı́as de la Computación.

(37) 2.2. SISTEMAS DE RECOMENDACIÓN. 21. vecinos más cercanos, lo que implica un proceso de cómputo no escalable en cuanto a tiempo de ejecución. Es decir, a medida que la entrada de datos es más grande, el rendimiento del sistema se ve más afectado. Por tanto, estos sistemas no son adecuados cuando se tiene gran cantidad de usuarios e ı́tems. Almacenar los vecinos más cercanos requiere una cantidad pequeña de memoria, lo que proporciona a este enfoque una adecuada escalabilidad espacial. Además, cabe indicar que la calidad de las predicciones no supera a la calidad brindada por los métodos basados en modelos. Por otro lado, los sistemas de recomendación basados en modelos son algoritmos que escalan muy bien, proporcionan una muy buena calidad de predicciones, sin embargo un gran inconveniente que presentan es la dificultad para justificar (explicar) las recomendaciones. Como se mencionó anteriormente, estos sistemas requieren una fase de aprendizaje para determinar las matrices de usuarios e ı́tems antes de iniciar el sistema de recomendación. Sin embargo, una vez que se ha terminado la fase de aprendizaje se puede hacer las predicciones rápidamente. Son muy aconsejables en sistemas de recomendación con una gran cantidad de usuarios o ı́tems. 2.2.5. Evaluación de los sistemas de recomendación Las métricas de calidad más utilizadas en los sistemas de recomendación son (1)Evaluación de la predicción, (2) Evaluación de la recomendación como conjunto y (3) Evaluación de la recomendación como listas jerárquicas [31]. Sin embargo el principal inconveniente de los diferentes frameworks de sistemas de recomendación son dos aspectos: el primero es la falta de formalización, aunque las métricas están bien definidas existen una variedad de detalles que pueden conducir a la generación de resultados diferentes en experimentos similares. El segundo inconveniente es la ausencia de estandarización de las medidas de evaluación en aspectos como la novedad y veracidad de la recomendación[13]. 2.2.5.1. Evaluación de la predicción Las métricas más utilizadas son accuracy (exactitud) y coverage (cobertura). 2.2.5.1.1. Accuracy Es la métrica que mide la diferencia absoluta entre la predicción (pu,i) y el valor real (ru,i), entre las métricas más populares de accuracy podemos apreciar: MAE es el Error Medio Absoluto (Mean Absolute Error [MAE]) donde • es la falta de voto (ru,i =• significa que el usuario u no ha votado por el item i), sea Ou el conjunto de items votados por el usuario u con valores de predicción Ou ={i∈I|pu,i = 6 •∧ru,i = 6 •} se define:   1 X 1 MAE = |pu,i −ru,i| #U u∈U #Ou. (2.9). NMAE es el Error Medio Absoluto Normalizado(Normalized Mean Absolute Error [NMAE]), se toma en cuenta el rango de votos donde rmax indica el valor máximo de un voto y rmin el valor mı́nimo. Master en Ciencias y Tecnologı́as de la Computación. Universidad Politécnica de Madrid.

Referencias

Documento similar