autores - archivo digital upmoa.upm.es/48249/1/tfm_rodolfo_bojorque_chasi_remigio_hurtado_o… ·...
TRANSCRIPT
UNIVERSIDAD POLITECNICA DE MADRID
Escuela Tecnica Superior de Ingenierıa de Sistemas Informaticos
Master Universitario en Ciencias y Tecnologıas de la Computacion
Trabajo Fin de Master
Titulo: Tecnicas hıbridas en Sistemas de Recomendacion
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
Dedicado con amor a mi esposa Daysi y a mis hijos Matıas y Eimi.
Rodolfo Bojorque C.
I
Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de
algun modo reconocer su misericordia y amor, deseando que este esfuerzo sea motivo de su alegrıa.
Remigio Hurtado H.
I
Agradecimientos
En primer lugar deseo agradecer a Dios por la oportunidad, providencia y proteccion en es-
tos anos fuera de mi paıs. De igual manera deseo resaltar al gran ser humano que es mi esposa
Daysi quien cargo con todo el peso y responsabilidad de nuestro hogar, me brindo la fortale-
za y los animos necesarios en los momentos mas difıciles y sobre todo su amor incondicional,
sin ella nada hubiera sido posible. A mis hijos Mati y Eimicita quienes brindaban a papa ter-
nura 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 ejecucion de experimentos de este proyecto fin de master, ası como al Dr. Antonio Hernando
Esteban por su valiosa tutorıa. Finalmente de manera especial deseo agradecer a la Universidad
Politecnica Salesiana, sobre todo a su Rector Padre Javier Herran Gomez, PhD. quien siempre
confio en la capacidad de su gente y mediante el ejemplo ha motivado la superacion perso-
nal.
Rodolfo Bojorque C.
II
Agradecimientos
Primeramente gracias a Dios por encaminarme hacia este lugar, por guiarme a madurar profe-
sionalmente y personalmente. Reconozco al Senor 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 ayudare, siempre te sustentare con la diestra de mi justicia”. Isaıas 41:10
Gracias a la mujer que me ha dado un amor gigante, su motivacion y animos 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, formacion, correccion y valores
que cada dıa valoro mas. ¡Los quiero inmensamente!. Gracias a mis hermanos Juan Pablo y Andrea
por su gran carino y apoyo.
Agradezco a mi amigo Rodolfo con quien hemos formado un gran equipo para la culminacion de esta
investigacion. Un agradecimiento a Antonio Hernando, PhD. tutor de este proyecto, por la orientacion
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 Politecnica Salesiana y a la Universidad Politecnica de Madrid
por abrirme sus puertas y propiciar el ambiente y recursos para mi preparacion academica.
Remigio Hurtado O.
III
Resumen
En este trabajo se presenta la incorporacion de tecnicas 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 recomendacion basados en filtrado
colaborativo. Se preservan las propiedades del modelo de Hernando et al. generando significados
probabilısticos entendibles y recomendaciones faciles de justificar. Con una tecnica de pre-clustering
basada en similaridades se mejora la calidad de las predicciones de [1] en terminos de accuracy.
Adicionalmente se presentan dos tecnicas: baseline predictors [2] y significancias. Estas tecnicas
toman en cuenta aspectos de la interaccion usuario-ıtem por separado como las tendencias de usuarios,
tendencias de ıtems y preferencias de usuario. La incorporacion de estas tecnicas parten de la idea
de Bobadilla et al. [3] que indican que pueden haber algunos ıtems y algunos usuarios en un sistema
de recomendacion que podrıan ser altamente significantes para hacer las recomendaciones. Se aplica
logica difusa para resolver el grado de incertidumbre que presentan las significancias. En este trabajo
se demuestra que estas tecnicas sı influyen en el aprendizaje del modelo NNMF.
IV
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 pre-
diction 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 preclus-
tering 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
Indice general
Agradecimientos II
Agradecimientos III
Resumen IV
Abstract V
Lista de figuras XI
Lista de tablas XIII
1. Introduccion 11.1. Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Hipotesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. Validacion de la propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.6. Estructura y organizacion de la memoria . . . . . . . . . . . . . . . . . . . . . 4
2. State-of-the-Art 52.1. Machine learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1. Introduccion 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 Recomendacion . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1. Conceptos y consideraciones generales . . . . . . . . . . . . . . . . . 11
VI
INDICE GENERAL VII
2.2.2. Tipos de sistemas de recomendacion . . . . . . . . . . . . . . . . . . . 12
2.2.2.1. Sistemas de recomendacion basados en contenidos . . . . . . 13
2.2.2.2. Sistemas de recomendacion de filtrado colaborativo . . . . . 14
2.2.2.3. Sistemas de recomendacion de filtrado hıbrido . . . . . . . . 14
2.2.3. Metodos o algoritmos de prediccion . . . . . . . . . . . . . . . . . . . 16
2.2.3.1. Metodos basados en memoria (K-NN) . . . . . . . . . . . . 16
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 correlacion de Pearson (PC) . . . . . . . . . . 17
2.2.3.1.4. La correlacion de Pearson restringida (CPC) . . . . 17
2.2.3.1.5. La media de la diferencia cuadratica (MSD) . . . . 17
2.2.3.1.6. Jaccard . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.3.1.7. JMSD . . . . . . . . . . . . . . . . . . . . . . . 17
2.2.3.1.8. MJD . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.3.2. Metodos 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. Comparacion de metodos basados en memoria y basados en modelos . . 20
2.2.5. Evaluacion de los sistemas de recomendacion . . . . . . . . . . . . . . 21
2.2.5.1. Evaluacion de la prediccion . . . . . . . . . . . . . . . . . . 21
2.2.5.1.1. Accuracy . . . . . . . . . . . . . . . . . . . . . . 21
2.2.5.1.2. Coverage . . . . . . . . . . . . . . . . . . . . . . 22
2.2.5.2. Evaluacion de la recomendacion como conjunto . . . . . . . 23
2.2.5.2.1. Precision . . . . . . . . . . . . . . . . . . . . . . 24
2.2.5.2.2. Recall . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.5.2.3. F1 . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.5.3. Evaluacion de la recomendacion como listas jerarquicas . . . 24
2.2.5.3.1. Half-life . . . . . . . . . . . . . . . . . . . . . . 24
2.2.5.3.2. Discounted cumulative gain . . . . . . . . . . . . 25
2.2.5.4. 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
VIII INDICE 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. Metodos de filtrado colaborativo . . . . . . . . . . . . . . . . . . . . . 26
2.3.1.1. Enfoques de filtrado colaborativo . . . . . . . . . . . . . . . 26
2.3.1.2. Metodos de prediccion de filtrado colaborativo . . . . . . . . 28
2.3.2. Modelos Matrix Factorization [5] . . . . . . . . . . . . . . . . . . . . 29
2.3.3. Tecnicas de descomposicion . . . . . . . . . . . . . . . . . . . . . . . 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 clasica . . . . . . . . . . . . . . . . . . 31
2.3.3.7. Non Negative Matrix Factorization . . . . . . . . . . . . . . 31
2.4. Tecnicas relevantes: caracterısticas y areas de oportunidad . . . . . . . . . . . . 32
2.4.1. 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
2.4.2. Areas de oportunidad del modelo . . . . . . . . . . . . . . . . . . . . 41
3. Tecnicas Hıbridas 453.1. Analisis y particion de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2. Desarrollo y descripcion de las tecnicas . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1. Optimizacion de complejidad espacial y temporal del algoritmo NNMF 50
3.2.2. Tecnica Baseline Predictors . . . . . . . . . . . . . . . . . . . . . . . 53
3.2.3. Tecnica Significancias . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.2.4. Tecnica con Logica Difusa . . . . . . . . . . . . . . . . . . . . . . . . 59
3.2.5. Tecnica 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. Consolidacion de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
INDICE GENERAL IX
4. Conclusiones y futuras lıneas de investigacion 71
X INDICE GENERAL
Indice 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 replica del modelo NNMF . . . . . . . . . . . . . 41
2.6. Comparacion 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 segun valoracion del voto . . . . . . . . . . . . . . . . . . . 47
3.4. Mapa de color de los votos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5. Proporcion de datos Train, Test y Cross-validation . . . . . . . . . . . . . . . . 48
3.6. Proceso general de las tecnicas hıbridas de recomendacion . . . . . . . . . . . . 49
3.7. Proceso de evaluacion de tecnicas de sistemas de recomendacion . . . . . . . . 50
3.8. Comparacion 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 Logica Difusa . . . . . . . . . . 61
3.16. Curvas de aprendizaje promedio del modelo NNMF vs NNMF con Logica Difusa 62
3.17. Curvas de aprendizaje del modelo NNMF con la tecnica Pre-Clustering MJD . . 68
3.18. Curvas de aprendizaje promedio del modelo NNMF vs NNMF con la tecnica
Pre-Clustering MJD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.19. Curvas de aprendizaje NNMF vs. Tecnicas hıbridas . . . . . . . . . . . . . . . 70
XI
XII INDICE DE FIGURAS
Indice de tablas
2.1. Terminologıa basica de machine learning. Adaptacion realizada al espanol a partir
de la propuesta presentada en [6] . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2. Aplicaciones de machine learning [6] . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Escenarios de aprendizaje. Adaptacion realizada al espanol 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 confusion de Information Retrieval adaptada a los Sistemas de Recomen-
dacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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. Comparacion de factores au,k para el datatoy2 . . . . . . . . . . . . . . . . . . 43
2.16. Comparacion 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. Comparacion 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. Comparacion de factores au,k para el datatoy2 con Pre-Clustering MJD . . . . . 66
3.9. Comparacion de factores bk,i para el datatoy2 con Pre-Clustering-MJD . . . . . 67
3.10. Accuracy de las predicciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
XIII
Capıtulo 1
Introduccion
1.1. Problema
El explosivo crecimiento de la variedad de informacion disponible en la Web y la rapida intro-
duccion 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 eleccion no siempre es la mejor. Segun [7] la eleccion,
con sus implicaciones de libertad, autonomıa y auto determinacion, puede llegar a ser excesiva y,
en ultima 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 ultimos anos los sistemas de recomendacion han demostrado ser un valioso medio para
enfrentar el problema de la sobrecarga de informacion, incluso abordan la problematica ofreciendo
a los usuarios nuevas experiencias pertinentes y relevantes a sus afinidades.
Los sistemas de recomendacion emergen como un area de investigacion independiente a mediados
de los noventa cuando los investigadores comienzan a enfocarse en problemas de recomendacion [8].
El interes exponencial en los sistemas de recomendacion puede apreciarse segun [9] en los siguientes
hechos:
Los sistemas de recomendacion juegan un rol importante en sitios altamente utilizados como
Amazon, YouTube, Netflix, Spotify, LinkedIn, Facebook, Tripadvisor, Last.fm y IMDb. Ademas
varias companıas de entretenimiento multimedia estan desarrollando y desplegando sistemas de
recomendacion 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 Asso-
ciation of Computing Machinery’s (ACM) en Recommender Systems (RecSys), establecida en
2007 y que actualmente es la mas importante conferencia anual en investigacion de sistemas de
recomendacion y sus aplicaciones.
Instituciones de educacion superior en todo el mundo ofrecen cursos de formacion continua y
posgrado completamente dedicados a sistemas de recomendacion, tutoriales sobre el tema son
muy populares en las conferencias de ciencias de la computacion ademas editores como Springer
1
2 CAPITULO 1. INTRODUCCION
han publicado libros de temas especıficos en sistemas de recomendacion en las series: Springer
Brief in Electrical and Computer Engineering.
Incluso han existido cuestiones especiales dedicadas a los sistemas de recomendacion en varios
journals academicos, entre los que han dedicado cuestiones a los sitemas de recomendacion
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 recomendacion 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 investigacion de los sistemas de recomendacion a la liberacion de grandes bases de
datos por parte de companıas como Netflix, MovieLens, Jester, EachMovie y Book-crossing; incluso
Netflix ha galardonado con un millon de dolares al primer equipo que ha tenido exito en mejorar
substancialmente el rendimiento de su sistema de recomendacion privado [2]. A traves de estas bases
de datos la comunidad cientıfica puede replicar experimentos para validar y mejorar las tecnicas. Por
ello este trabajo se centra en el dominio de pelıculas para replicar el modelo que segun la literatura
ofrece los mejores resultados desde el punto de vista de la calidad de predicciones y como hipotesis
se plantea mediante la implementacion de tecnicas hıbridas tratar de mejorarla.
1.2. Justificacion
En la problematica se puede apreciar que los consumidores modernos estan 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 satisfaccion. Sin embargo en el mar de in-
formacion es facil naufragar y para evitar aquello los proveedores estan poniendo a disponi-
bilidad de sus clientes sistemas de recomendacion que permiten analizar los patrones de los
usuarios en los intereses por determinados productos para ofrecer recomendaciones personali-
zadas que abran nuevas dimensiones en la experiencia del usuarios y explotacion de los merca-
dos.
Por ello, con el animo de mejorar la calidad de los sistemas de recomendacion, 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 recomendacion 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 Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
1.3. HIPOTESIS 3
tecnicas hıbridas para mejorar la calidad de las predicciones.
1.3. Hipotesis
Mediante la implementacion de tecnicas hıbridas es posible mejorar la prediccion de los sistemas de
recomendacion basados en el modelo ”Non Negative Matrix Factorization para filtrado colaborativo
basado en un modelo probabilıstico Bayesiano”, que al presente es la tecnica 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 incorporacion de tecnicas
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 tecnicas basadas en la interaccion usuario-ıtem: significancias [3] y baseline
predictors [2].
Incorporar logica 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 seccion 2.4.2 se explican las areas de oportunidad del modelo NNMF. Las tecnicas desa-
rrolladas en esta investigacion preservan todas las caracterısticas del modelo de Hernando et al. [1]
y adicionalmente proveen las siguientes ventajas:
Mejor calidad de predicciones en terminos de accuracy.
Mejor escalabilidad (temporal y espacial) debido a la logica del algoritmo de la fase de aprendizaje
presentado en la seccion 3.2.1.
la tecnica de significancias demuestra que mayor informacion sobre la interaccion del usuario sobre
los ıtems aporta mayor conocimiento al sistema. Para eliminar la incertidumbre del concepto de sig-
nificancias se aplican tecnicas de logica difusa que permiten mejorar ligeramente las predicciones.
La tecnica denominada Pre-clustering-MJD detallada en la seccion 3.2.5 descubre grupos de
usuarios basandose en similaridades aplicando la metrica MJD (Mean-Jaccard-Differences) tomada
de [10] y con ello logra agrupar con mayor precision los usuarios antes de continuar con el
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
4 CAPITULO 1. INTRODUCCION
entrenamiento del modelo NNMF. Por tanto, esta tecnica sobresale sobre las otras y ayuda al
modelo [1] a conseguir lo siguiente:
• Una mejor generalizacion (mayor precision de agrupamiento).
• En consecuencia un mejor accuracy en las predicciones.
• Un mejor rendimiento en la fase de aprendizaje.
1.5. Validacion de la propuesta
Las tecnicas hıbridas desarrolladas se han validado midiendo el accuracy de las predicciones
con la metrica MAE (Mean Absolute Error) y mediante el analisis de los resultados expuestos en
curvas de aprendizaje. Para ello se utilizo una base de datos liberada que permite replicar y comparar
experimentos con la comunidad cientıfica.
1.6. Estructura y organizacion de la memoria
Para abordar la problematica, en el capıtulo 2 se presenta el state-of-the-art de los sistemas de
recomendacion centrandose en su taxonomıa, evaluacion 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 tecnicas desarrolladas junto a los experimentos
y resultados obtenidos. Finalmente en el capıtulo 4 se pone a consideracion conclusiones y futuras
lıneas de investigacion.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
Capıtulo 2
State-of-the-Art
2.1. Machine learning
2.1.1. Introduccion al machine learning
Machine learning es una forma de inteligencia artificial especializada en proveer un conjunto
de metodos que pueden automaticamente detectar patrones en los datos, y utilizar los patrones
descubiertos para predecir datos futuros o tomar de decisiones en un entorno de incertidumbre [11].
Segun [6] machine learning1 se refiere a los metodos computacionales que utilizan la experiencia
para mejorar el rendimiento o para realizar predicciones precisas. La experiencia es la informacion
o el conjunto de datos que sirve para el analisis y aprendizaje. El tamano y la calidad del conjunto
de datos de entrenamiento o training es fundamental para el exito de las predicciones. Por tanto,
machine learning consiste en el diseno 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 ejecucion/eficiencia) y espacial, segun [12] una vıa para
el estudio de la eficiencia de un algoritmo es analizar la eficiencia de la ejecucion a medida que el
tamano de datos de entrada vaya aumentando. En machine learning especıficamente es necesario
analizar la eficiencia dependiendo del tamano de datos de training.
Existe una amplia variedad de problemas que se buscan resolver con machine learning, entre los
cuales, segun [6] son:
Clasificacion: asignar una categorıa a cada ıtem. Por ejemplo, si un ıtem (correo) es spam o no
es spam.
Regresion: 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 algun criterio. Ejemplo: ordenar paginas web mas relevantes.
Clustering: particion de ıtems en regiones homogeneas, es decir cada region compuesta por
elementos semejantes. Ejemplo: identificar grupos de usuarios en las redes sociales.
Reduccion de dimensionalidad o aprendizaje multiple: transformar un representacion inicial en
1No se traducen en este trabajo algunos terminos del ingles, porque es tradicional usar exactamente esos nombresen inteligencia artificial
5
6 CAPITULO 2. STATE-OF-THE-ART
una representacion de menor dimension que preserva algunas propiedades. Ejemplo: compresion
de imagenes digitales.
En la tabla 2.1 se describen los terminos mas importantes de machine learning, los cuales usaremos
en repetidas ocasiones para la explicacion de este trabajo.
Tabla 2.1: Terminologıa basica de machine learning. Adaptacion realizada al espanol a partir de la propuesta presentada
en [6]
Termino Definicion
Muestras o conjunto de datos: Examples Es el conjunto de datos usados para aprendizaje o evaluacion.
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 despues de los procesos de aprendizaje y prediccion. En problemas
de regresion los ıtems son asignados a etiquetas o salidas con valores reales,
mientras que en problemas de clasificacion 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:
Training sample
Es el conjunto de muestras usado para entrenar un algoritmo de aprendizaje.
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 ademas se conoce
lo que representan (numeros o clases dependiendo si se trata de un problema de
regresion o clasificacion). Por otro lado cuando se habla de muestras no etique-
tadas se refiere a datos de los cuales unicamente se cuenta con sus caracterısticas,
y no existe una representacion de lo que el conjunto de caracterısticas representa.
Muestras o conjunto de datos de validacion:
Validation sample
Es el conjunto de muestras usado para ajustar ciertos parametros libres del
algoritmo de aprendizaje. La muestra de validacion sirve para seleccionar los
mejores parametros.
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.
Funcion de perdida o Loss function Es una funcion que mide la diferencia, o perdida, entre la prediccion y la etiqueta
real.
Conjunto de hipotesis o Hypothesis set Es el conjunto de funciones que permite asociar caracterısticas (vectores) a
un conjunto de etiquetas. Por ejemplo, con el objetivo de diagnosticar una
enfermedad degenerativa como el Parkinson, una hipotesis podrıa ser una funcion
que asocie las caracterısticas de los sıntomas de un paciente a numeros reales
interpretados como puntuaciones, los valores mas altos indicarıan una mayor
probabilidad de que un paciente sufra de Parkinson, que los valores mas 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 Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.1. MACHINE LEARNING 7
Tabla 2.2: Aplicaciones de machine learning [6]
Campo Aplicaciones
Clasificacion de texto o documentos Deteccion de spam.
Procesamiento natural del lenguaje Analisis morfologico, analisis de opiniones y de sentimientos,
traduccion automatica, reconocimiento y la clasificacion de entidades
con nombre (RCEN), sistemas de dialogo.
Reconocimiento de voz, sıntesis de voz,
verificacion del emisor de voz
Seguridad.
Reconocimiento de caracteres opticos
(OCR)
Digitalizacion de textos.
Computacion biologica Analisis y prediccion de secuencias de proteınas.
Vision por computador Reconocimiento de imagenes, deteccion de rostros.
Deteccion de fraude e intrusion de redes deteccion de fraude de identidad en telefonıa, en tarjetas de credito,
en subastas, en suscripciones, etc.
Juegos Ajedrez, Chaquete (backgammon), etc.
Control de vehıculo no asistido Robots, navegacion.
Diagnostico medico Diagnostico de enfermedades degenerativas (parkinson, alzheimer,
cancer), etc. etc.
Sistemas de recomendacion, Ingenierıa
de busqueda, Sistemas de extraccion de
informacion
Recomendacion de temas o ıtems de informacion (pelıculas, musica,
libros, noticias, imagenes, paginas web, etc.) que son del interes de
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 recomendacion.
1. Particion de datos: se particiona aleatoriamente los datos y establecer el conjunto de entre-
namiento, de validacion y de test.
2. Asociacion de caracterısticas relevantes a los datos.3. Entrenamiento y seleccion de hipotesis: Usar las caracterısticas seleccionadas para entrenar
el algoritmo de aprendizaje con el objetivo de ajustar valores diferentes de los parametros libres.
Para cada parametro se selecciona cada una de las hipotesis del conjunto de hipotesis y se selecciona
entre ellas la hipotesis que genera el mejor rendimiento con los datos de validacion.
4. Prediccion: Con la hipotesis seleccionada predecir las salidas en el conjunto de test.
5. Evaluacion: Evaluar el rendimiento del algoritmo usando la funcion de perdida 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 Computacion Universidad Politecnica de Madrid
8 CAPITULO 2. STATE-OF-THE-ART
Figura2.1:Proceso
generalyniveles
deaprendizaje
dem
achinelearning
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.1. MACHINE LEARNING 9
2.1.4. Cross-validation
En la practica la cantidad de datos es muy pequena para poder tener un conjunto de validacion,
debido a que se dejarıa un conjunto de entrenamiento insuficiente. Debido a esto, una tecnica conocida
como n-fold cross-validation es usada para la seleccion del modelo (parametros libres: vector θ) y
para el entrenamiento.
Proceso del metodo n-fold cross-validation
Particionar el conjunto S demmuestras en n submuestras (folds). El iesimo fold serıa ((xi1,yi1),
...,(ximi,yimi
)) de tamanomi.
El algoritmo es entrenado con cada fold, el iesimo fold genera una hipotesis hi.
El rendimiento de hi es probado en el iesimo fold.
Los parametros libres del vector θ son evaluados basados en el error promedio de la hipotesis hi,
que es llamado error cross-validation.
Los folds son generalmente de igual tamano mi = m/n para todo i ∈ [1, n]. Para un va-
lor alto de n, cada conjunto de entrenamiento usado en n-fold cross-validation tiene tamano
m−m/n = m(1− 1/n), que es cercano a m, es decir, cercano al tamano del conjunto total
de datos, de manera que los conjuntos de entrenamiento son muy similares. Este metodo tiende a
tener overfitting. Por otro lado, los valores pequenos de n llegan a generar conjuntos de entrenamiento
mas diversos pero su tamano es insignificante en comparacion a m, entonces el metodo 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 metodo de n-fold cross-validation.
Los datos son divididos en conjunto de entrenamiento y conjunto de test.
El conjunto de entrenamiento de tamanom es usado para calcular el error n-fold cross-validation
con cada parametro libre de θ. El valor de θ que genere el error mas pequeno es seleccionado.
Se evalua 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 iteracion una muestra es dejada fuera del entrenamiento. En
general, este metodo es muy costoso computacionalmente ya que requiere n entrenamientos en
muestras de m − 1, pero para algunos algoritmos esto admite una computacion muy eficien-
te.
El metodo n-fold cross-validation ademas de ayudar a seleccionar un modelo, permite evaluar
el rendimiento. En este caso, para una configuracion de los parametros θ, el conjunto de datos
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
10 CAPITULO 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 desviacion estandar 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 mas comunes que difieren en:
El tipo de datos de entrenamiento disponibles para el aprendizaje
El metodo de entrenamiento
El conjunto de test para evaluar el aprendizaje del algoritmo
Tabla 2.3: Escenarios de aprendizaje. Adaptacion realizada al espanol de [6]
Escenario Descripcion
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 mas comun y
esta asociados a problemas de regresion, clasificacion 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 esta 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 comun en situaciones donde
las muestras no etiquetadas son faciles 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
multiples rondas donde las fases de entrenamiento y test son mezcladas.
En cada ronda se recibe un conjunto de muestras no etiquetadas, se
realiza la prediccion, se recibe la etiqueta e incurre en una perdida. El
objetivo del aprendizaje on-line es minimizar las perdidas acumuladas
en todas las rondas.
Aprendizaje por refuerzo La fase de entrenamiento y test tambien son mezcladas en el
aprendizaje por refuerzo, para recolectar informacion se interactua
activamente con el entorno y se recibe una recompensa inmediata para
cada accion. El objetivo del aprendizaje por refuerzo es maximizar
su recompensa sobre un curso de acciones.
Aprendizaje activo Se recolecta adaptativamente o interactivamente informacion de las
muestras de entrenamiento, normalmente mediante la consulta a un
oraculo2 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 Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 11
2.2. Sistemas de Recomendacion
2.2.1. Conceptos y consideraciones generales
Los sistemas de recomendacion son herramientas de software y tecnicas que proveen sugerencias
para ıtems que probablemente son de la preferencia de un usuario particular [13, 9]. Las sugerencias
estan relacionadas con procesos de decision como que ıtem adquirir, que pelıcula ver, que musica
escuchar o que libro leer. El objetivo de un sistema de recomendacion es entregar una lista perso-
nalizada de ıtems recomendados a sus usuarios [14].
En terminos generales “ıtem”denota el elemento que recomendara el sistema a los usuarios, un
sistema de recomendacion 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 recomendacion fueron utilizados para direccionar las preferencias de
los usuarios ante la falta de experiencia personal o competencia para evaluar la gran cantidad de
informacion y alternativas que podıan encontrar en un sitio web por ejemplo [15], los sistemas de
recomendacion emergen a mediados de los 90 como un area de investigacion independiente. En
los ultimos anos el interes 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 companıas estan desarrollando sistemas de recomendacion como
parte de los servicios al que tienen acceso sus subscriptores. De hecho las razones para desear
implementar un sistema de recomendacion y explotar esta tecnologıa desde un punto de vista del
mercado segun [9] son: incrementar el numero de ıtems vendidos, mayor diversidad de ventas,
incrementar la satisfaccion 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 interes, encontrar recomendadores veraces (validar
la calidad de las recomendaciones), mejorar el perfil, medio de expresion, ayudar a otros e influir
en otros.
Segun [13] el proceso para generar un sistema de recomendacion esta basado en la combinacion
de las siguientes consideraciones:
El tipo de datos disponibles en la base de datos (ej., votos, informacion de registro de los usuarios,
relaciones entre usuarios como region, idioma, etc.).
El algoritmo de filtrado.
El modelo escogido.
Las tecnicas empleadas.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
12 CAPITULO 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(computo)
El objetivo a conseguir(ej., mejorar la calidad de las predicciones, evaluar la lista de recomenda-
ciones y el conjunto de recomendaciones).
La calidad deseada de los resultados.
2.2.2. Tipos de sistemas de recomendacion
La caracterıstica fundamental de un sistema de recomendacion es su algoritmo de filtrado [13].
La clasificacion mas 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 recomendaran ıtems similares que le puedan gustar. El filtrado basado en contenido realiza
recomendaciones basandose en las caracterısticas similares entre ıtems. Esto permite que se puedan
hacer recomendaciones segun los datos historicos, por ejemplo, de acuerdo al historial de compras
de los usuarios, tambien es posible realizar recomendaciones basadas en el contenido de los objetos
que el usuario consume o utiliza, como imagenes, sonidos y texto. Otra alternativa de analisis es rea-
lizar 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 demografico: las recomendaciones se realizan en funcion de las caracterısticas parti-
culares de los usuarios (edad, sexo, idioma, situacion geografica, profesion, etc) para determinar las
preferencias comunes de un usuario segun su perfil [13], para [9] este filtrado parte de la suposicion
de que las recomendaciones deberıan ser generadas para determinados nichos demograficos, este
enfoque ha adquirido popularidad en la literatura de marketing pero ha sido relativamente menos
apropiado para la investigacion de sistemas de recomendacion.
(c) Filtrado colaborativo: El filtrado colaborativo consiste en determinar que usuarios son simi-
lares al usuario objetivo (o usuario al que hay que realizarle las recomendaciones) y a continuacion,
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 informacion almacenada en el sistema es posible emitir recomendaciones a los
usuarios segun la informacion proporcionada por otros usuarios de caracterısticas similares [13].
Ejemplo de estos sistemas de recomendacion 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 tecnica de inteligencia artificial como
pueda ser la logica difusa o la computacion evolutiva. Un ejemplo de estos sistemas es Amazon.
Comparacion de los tipos de filtrado
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 13
Este apartado se centra exclusivamente en analizar las ventajas e inconvenientes de cada uno de
los sistemas de filtrado de mayor interes 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 recomendacion basados en contenidos
La principal ventaja de los sistemas de recomendacion 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 informacion al sistema o cuando se crea un nuevo ıtem para el cual no hay votos, estos dos
casos resultan una dificultad para hacer una prediccion precisa. Por otro lado, sufren basicamente dos
problemas: el primero, de analisis de contenido limitado y el segundo, de sobreespecializacion [17].
El analisis de contenido limitado ocurre cuando el sistema tiene una cantidad limitada de
informacion de usuarios o del contenido de sus ıtems; por ejemplo, las cuestiones de privacidad
pueden impedir que los usuarios proporcionen informacion personal, por otro lado la informacion
precisa sobre los ıtems puede resultar muy difıcil y costosa de ser obtenida para determinados tipos
de ıtems como las imagenes y musica. De igual manera el contenido de un ıtem frecuentemente es
insuficiente para determinar su calidad. Por lo tanto, es imperativo obtener informacion suficiente
de los usuarios registrados o de los ıtems.
Sobreespecializacion/lack of serendipity consiste en el efecto donde un ıtem se puede recomen-
dar siempre y cuando la relacion que existe con otro ıtem es alta, por ejemplo, si a un usuario le
agrada una pelıcula de un genero especıfico protagonizada por unos actores, el sistema recomienda
una pelıcula de ese mismo genero, con los mismos actores, esa recomendacion puede que no sea
de interes 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 areas 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 tecnicas clasicas 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 numero considerable de inconvenientes cuando se aprende un perfil de usuario debido
a la ambiguedad del lenguaje natural. Polisemia (una palabra tiene multiples 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 Recogni-
tion (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 Computacion Universidad Politecnica de Madrid
14 CAPITULO 2. STATE-OF-THE-ART
mas alla del uso de estructuras lexicas/sintacticas para inferir los temas de interes de los usuarios
[18].
Actualmente existe un creciente interes en las tecnologıas semanticas y la disponibilidad de varias
fuentes de conocimiento abiertas como Wikipedia, DBpedia, Freebase y BabelNet que permiten
alimentar los avances en las tecnicas de filtrado basado en contenido.
2.2.2.2. Sistemas de recomendacion de filtrado colaborativo
Los sistemas de recomendacion basados en filtrado colaborativo tienen dos ventajas muy im-
portantes, la capacidad de realizar recomendaciones novedosas y la ventaja de no necesitar infor-
macion personal de los usuarios registrados. Por lo tanto, no resulta muy costoso recolectar la
informacion de los usuarios, ni mucho menos se requiere romper la barrera de su confidenciali-
dad.
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 recomen-
dados), y de sensibilidad a la escasez de votos (este problema es comun puesto que los usuarios
generalmente votan por una pequena proporcion de los ıtems). Otro gran inconveniente que presenta
este filtrado es que sufre el problema de cold-start. En el ambito de investigacion las propuestas
de metodos de filtrado colaborativo tienen que abordar en su momento la forma de aliviar estos
problemas.
Pese a estos problemas, los sistemas de recomendacion de filtrado colaborativo son los mas
difundidos por su interes practico. En la seccion 2.3.1.2 se profundiza en este tipo de filtra-
do.
Con el fin de aprovechar las ventajas y de evitar los inconvenientes de los dos tipos de filtrado mencio-
nados anteriormente, se pueden combinarlos formando los denominados sistemas de recomendacion
de filtrado hıbrido.
2.2.2.3. Sistemas de recomendacion de filtrado hıbrido
El filtrado hıbrido habitualmente utiliza una combinacion de filtrado colaborativo y filtrado basado
en contenido para explotar las ventajas de cada tecnica.
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 limitacion
para el filtrado basado en contenido puesto que la prediccion se basa en la descripcion de los ıtems
(atributos), para [8] el filtrado hıbrido puede clasificarse como:
La implementacion de filtrado colaborativo y filtrado basado en contenido por separado y combinar
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 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 recomendacion hıbridos que
combinan informacion entre diferentes fuentes:
Weighted: La prediccion de diferentes componentes de la recomendacion son combinados numeri-
camente.
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 com-
binadas dando como resultado un algoritmo de recomendacion.
Feature Augmentation: Una tecnica de recomendacion es utilizada para computar una caracterıstica
o conjunto de caracterısticas, las cuales serviran como entrada de la siguiente tecnica.
Cascade: Las recomendaciones son entregadas en estricta prioridad, donde aquellas de prioridad
baja pueden refinar a aquellas votadas con prioridad alta.
Meta-level: Una tecnica de recomendacion es aplicada y produce un modelo ordenado, el cual
es utilizado como entrada de la siguiente tecnica.
El filtrado hıbrido para [13] generalmente se basa en metodos probabilısticos o bio inspirados:
Algoritmos geneticos: Por lo general se utiliza la salida de varios recomendadores para construir
vectores de prevision que constituiran las cadenas de cromosomas que requieren los algoritmos
geneticos [20].
Logica difusa: Mediante la determinacion de conjuntos difusos se definen caracterısticas de-
mograficas por ejemplo conjuntos de edades (joven, adulto, viejo), y mediante la fusificacion
y defusificacion se obtienen resultados numericos que luego serviran como entrada para otras
tecnicas como los algoritmos geneticos [21].
Redes de neuronas: A traves 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 tecnicas, por ejemplo las medidas de similaridad, como punto de referencia en
el entrenamiento de redes de neuronas y ası mejorar la prediccion de la recomendacion [10].
Redes Bayesianas:Las redes Bayesianas se aplican a problemas con gran incertidumbre, lo cual
es muy interesante para el campo de los sistemas de recomendacion, 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 Computacion Universidad Politecnica de Madrid
16 CAPITULO 2. STATE-OF-THE-ART
estimar las distribuciones de probabilidad mediante inferencia probabilıstica [23].
Clustering: Por lo general esta tecnica se basa en dos fases, la primera consiste en generar di-
ferentes grupos de usuarios utilizando tecnicas de clusterizacion y una segunda fase ejecuta la
recomendacion analizando unicamente el grupo al que pertenece el usuario [24].
Latent features: Estas tecnicas se basan en la obtencion de caracterısticas latentes a partir de la
matriz de votos utilizada para el filtrado colaborativo [25].
2.2.3. Metodos o algoritmos de prediccion
Segun [1, 26, 14, 27] los sistemas de recomendacion pueden ser clasificados en tres grupos:
(a) metodos basados en memoria (K-NN): realizan las recomendaciones usando los k vecinos
mas similares del usuario objetivo.
(b) metodos basados en modelos: usan un modelo para generar recomendaciones.
(c) metodos hıbridos: realizan la combinacion de las tecnicas de los dos metodos anteriores.
2.2.3.1. Metodos basados en memoria (K-NN)
Estos metodos realizan las recomendaciones basandose en los k vecinos mas similares. Para calcular
dichas similaridades se utilizan algunas tecnicas que miden la relacion entre los usuarios. Los metodos
basados en memoria utilizan la informacion 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 recomendacion en la similaridad de los usuarios.
Generalmente estos metodos trabajan sobre una tabla de usuariosU quienes han votado por los ıtems I,
la prediccion de un ıtem i no votado por un usuario u es computada como una agregacion de los votos
de losK usuarios mas 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 metricas de similaridad de origen estadıstico, donde se considera un conjunto comun de votos
de los usuarios u y v por los mismos ıtems I′ 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 mas comunes son:
2.2.3.1.1. La similaridad del Coseno Es muy popular en el ambito de information retrieval
(recuperacion de la informacion), la similaridad se basa en el coseno del angulo entre los vectores
de votos de los usuarios u y v.
S(u,v)=
∑i∈I′ruirvi√∑
i∈I′r2ui
∑i∈I′r
2vi
(2.1)
Sin embargo esta metrica presenta inconvenientes cuando se tiene muy pocos ıtems valorados en
comun y ademas no considera los diferentes rangos provistos por la escala de votos cuando se trata
de medir la similaridad entre dos ıtems.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 17
2.2.3.1.2. La medida del coseno ajustado Esta medida de similaridad computa la correlacion
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
votos de los ıtems que comparten usuarios en comun U ′ mediante la ecuacion:
S(i,j)=
∑u∈U′(rui−ri)(ruj−rj)√(rui−ri)2
√(ruj−rj)2
(2.2)
Esta medida tiene problemas al computar la similaridad si la cardinalidad de U ′ es pequena; ademas
puede mostrar baja/alta similaridad independientemente de lo parecido/disparejo que sean los votos.
2.2.3.1.3. La correlacion de Pearson (PC) Es una de las medidas mas populares para el filtrado
colaborativo basado en memoria, mide como dos usuarios o ıtems estan linealmente relacionados,
para ello es necesario calcular ru que representa el promedio de todos los votos del usuario u y rvque representa el promedio de todos los votos del usuario v.
S(u,v)=
∑i∈I′(rui−ru)(rvi−rv)√∑
i∈I′(rui−ru)2√∑
i∈I′(rvi−rv)2(2.3)
Esta medida presenta dificultades cuando se cuenta con pocos ıtems votados en comun (cardinalidad
baja de I′); ademas puede mostrar baja/alta similaridad independientemente de lo parecido/disparejo
que sean los votos.
2.2.3.1.4. La correlacion 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.
S(u,v)=
∑i∈I′(rui−rmed)(rvi−rmed)√∑
i∈I′(rui−rmed)2√∑
i∈I′(rvi−rmed)2(2.4)
Al igual que la correlacion de Pearson la medida presenta inconvenientes cuando se cuenta con pocos
ıtems votados en comun.
2.2.3.1.5. La media de la diferencia cuadratica (MSD) Esta medida de similaridad computa
la diferencia euclıdea entre los vectores de votos del usuario u y v.
S(u,v)=1−∑
i∈I′(rui−rvi)2
|I′|(2.5)
Su problema es que ignora la proporcion de ıtems votados en comun.
2.2.3.1.6. Jaccard Es una medida de similaridad que utiliza la informacion de los votos provista
por un par de usuarios.
S(u,v)=|Iu∩Iv||Iu∪Iv|
(2.6)
Al igual que las otras metricas sufre del problema de contar con pocos ıtems votados en comun,
ademas no considera el valor absoluto de los votos sino unicamente su cardinalidad.
2.2.3.1.7. JMSD Es una medida de similaridad entre los usuarios u y v que combina la simi-
laridad 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) (2.7)
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
18 CAPITULO 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 numericos 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 cuestion tienen una diferencia de votos
de 0, es decir, el numero 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 maxima diferencia, es decir 4.
Esto refiriendose a sistemas de recomendacion 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 dePearson
CPC MSD Jaccard JMSD MJD
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 division para cero. Es importante resaltar que u1 al ser comparado
consigo mismo presenta siempre el maximo 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 Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 19
tienen ninguna similaridad con respecto al usuario u1, estos detalles brindan una mejor compresion
de los valores expuestos en la tabla 2.5
2.2.3.2. Metodos basados en modelos
Los metodos basados en modelos utilizan la informacion de los votos realizados por los usuarios
en los diferentes ıtems para entrenar modelos que identifiquen patrones que permiten realizar una
recomendacion. En la actualidad los metodos basados en modelos son los que generan mejores
predicciones. Tienen particular importancia los modelos Matrix Factorization (Factorizacion Matricial)
que transforman a los usuarios e ıtems al mismo espacio de factores latentes. Entre los principales
modelos de factorizacion estan [4, 1]: Singular Value Descomposition (SVD), SVD++ y Time-Aware
factor model. Estos modelos Matrix Factorization se describen a continuacion.
2.2.3.2.1. SVD [4] Es una tecnica que mapea a los usuarios e ıtems en un espacio conjunto de
factores latentes de dimensionalidadK, 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 automaticamente inferidos de la retroalimentacion del usuario.
Para esta tecnica 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 interes que un usuario tiene de ıtems que son altamente correspondientes en los
factores. El resultado del producto punto biTau, captura la interaccion entre el usuario u y el ıtem i.
2.2.3.2.2. SVD++ Logra mejorar el calidad de la prediccion porque considera retroalimentacion
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 denominaremosR(u), por lo que un usuario es modelado por
biT (au+|R(u)|−1
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 terminos 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 tambien las caracterısticas estaticas de los ıtems qi. Estos efectos temporales son
implementados en tecnicas como baseline predictors [2] y el uso de significancias [3].
Baseline Predictors [2]: permiten sistematizar la interaccion entre los usuarios e ıtems, para
ello se considera a µ como la media global de los votos de la matrizM. La desviacion estandar de los
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
20 CAPITULO 2. STATE-OF-THE-ART
votos que han realizado los diferentes usuarios para un ıtem especıfico bi es la medida temporal de la
variacion de los ıtems y la desviacion estandar de los votos de un usuario especıfico en todos los ıtems
por los cuales ha votado bu es la medida temporal de la variacion de las preferencias de los usuarios.
Con estos parametros se puede determinar un baseline predictor para un voto desconocido del usuario
u en el ıtem i mediante la ecuacion bui=µ+bu+bi. Los baseline predictors suelen calcularse de
manera sensible al tiempo, donde los parametros bu(tui) y bi(tui) estan en funcion del tiempo tui.
Significancias: Un sistema de recomendacion tradicional basado en filtrado colaborativo con-
sidera 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 recomendacion
podrıan ser mayormente significantes para realizar una recomendacion. En este sentido Bobadilla
et al. proponen un metodo general para calcular significancias en cualquier sistema de recomendacion,
partiendo de la hipotesis que tanto los ıtems como los usuarios tienen todos diferente importancia
cuando se realiza una recomendacion, 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. Comparacion de metodos basados en memoria y basados en modelos
Los sistemas de recomendacion basados en memoria (K-NN) presentan varias ventajas que son
[29]:
Simplicidad: El metodo es intuitivo y relativamente simple de implementar. En su forma mas
sencilla solamente se requiere la configuracion de un parametro (el numero de vecinos usados
en la prediccion).
Justificabilidad: El metodo provee una concisa e intuitiva justificacion para las predicciones compu-
tadas. Por ejemplo, los vecinos de usuarios o ıtems sirven para justificar las recomendaciones,
esto puede ayudar a los usuarios a comprender mejor la recomendacion y su relevancia; ademas
podrıa servir como base de un sistema interactivo donde los usuarios puedan elegir los vecinos
que consideran mas importantes para la recomendacion.
Estabilidad: La agregacion 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 computo offline de los
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 21
vecinos mas cercanos, lo que implica un proceso de computo no escalable en cuanto a tiempo de
ejecucion. Es decir, a medida que la entrada de datos es mas grande, el rendimiento del sistema
se ve mas afectado. Por tanto, estos sistemas no son adecuados cuando se tiene gran cantidad de
usuarios e ıtems. Almacenar los vecinos mas cercanos requiere una cantidad pequena de memoria,
lo que proporciona a este enfoque una adecuada escalabilidad espacial. Ademas, cabe indicar que
la calidad de las predicciones no supera a la calidad brindada por los metodos basados en mode-
los.
Por otro lado, los sistemas de recomendacion 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 menciono
anteriormente, estos sistemas requieren una fase de aprendizaje para determinar las matrices de
usuarios e ıtems antes de iniciar el sistema de recomendacion. Sin embargo, una vez que se ha
terminado la fase de aprendizaje se puede hacer las predicciones rapidamente. Son muy aconsejables
en sistemas de recomendacion con una gran cantidad de usuarios o ıtems.
2.2.5. Evaluacion de los sistemas de recomendacion
Las metricas de calidad mas utilizadas en los sistemas de recomendacion son (1)Evaluacion de la
prediccion, (2) Evaluacion de la recomendacion como conjunto y (3) Evaluacion de la recomendacion
como listas jerarquicas [31]. Sin embargo el principal inconveniente de los diferentes frameworks
de sistemas de recomendacion son dos aspectos: el primero es la falta de formalizacion, aunque las
metricas estan bien definidas existen una variedad de detalles que pueden conducir a la generacion de
resultados diferentes en experimentos similares. El segundo inconveniente es la ausencia de estandariza-
cion de las medidas de evaluacion en aspectos como la novedad y veracidad de la recomendacion[13].
2.2.5.1. Evaluacion de la prediccion
Las metricas mas utilizadas son accuracy (exactitud) y coverage (cobertura).
2.2.5.1.1. Accuracy Es la metrica que mide la diferencia absoluta entre la prediccion (pu,i) y
el valor real (ru,i), entre las metricas mas 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), seaOu el conjunto de items votados
por el usuario u con valores de prediccionOu={i∈I|pu,i 6=•∧ru,i 6=•} se define:
MAE=1
#U
∑u∈U
(1
#Ou|pu,i−ru,i|
)(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 maximo de un voto y rmin el valor mınimo
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
22 CAPITULO 2. STATE-OF-THE-ART
NMAE=MAE
rmax−rmin(2.10)
RMSE es la raız del error medio cuadrado (Root of Mean Squared Error[RMSE]):
RMSE=1
#U
∑u∈U
√1
#Ou(pu,i−ru,i)2 (2.11)
MSE es el error medio cuadrado (Mean Squared Error[MSE]):
RMSE=1
#U
∑u∈U
1
#Ou(pu,i−ru,i)2 (2.12)
2.2.5.1.2. Coverage Puede ser definido como la capacidad de prediccion de una metrica aplicada
a un sistema de recomendacion especıfico, en resumen, calcula el porcentaje de situaciones en el que
al menos un k-vecino de un usuario activo puede evaluar un ıtem que no ha sido votado por el usuario
activo. El problema de coverage surge cuando un sistema de recomendacion realiza recomendaciones
de alto accuracy solo para una pequena porcion de los ıtems que tienen una enorme cantidad de
votos. Definido Ku,i como el conjunto de vecinos del usuario u quienes han votado por el item i
sea Cu={i∈I|ru,i=•∧Ku,i 6=∅} yDu={i∈I|ru,i=•}.
coverage=1
#U
∑u∈U
(100×#Cu
#Du
)(2.13)
Problemas tıpicos de coverage segun [32] son referidos como problema de cola larga (long
tail) o problema de cola pesada (heavy tail); y el problema de inicio en frıo (Cold Start Pro-
blem).
El problema de cola larga se refiere a situaciones en las que existen gran cantidad de datos
para determinados ıtems, proporcionando para ellos predicciones de alto accuracy, en cambio los
ıtems poco populares que carecen de votos o evidencia nunca son parte de las recomendaciones, de
igual manera en determinados casos de usuarios los sistemas de recomendacion no pueden ofrecer
recomendaciones a un usuario especıfico.
El problema de inicio en frıo hace referencia a nuevos usuarios o ıtems para el sistema de
recomendacion, por lo tanto no es posible hacer una recomendacion fiable debido a la falta de
votos, en consecuencia los usuarios pueden decidir no utilizar el sistema de recomendacion debido
a la falta de accuracy; en [10] se presenta una alternativa de solucion a este problema mediante la
implementacion de nuevas medidas de similaridad y el uso de redes de neuronas, para [13] existen
tres tipos de problemas de inicio en frıo: nueva comunidad, nuevo ıtem y nuevo usuario.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 23
El problema de nueva comunidad hace referencia a la dificultad de iniciar un sistema de reco-
mendacion, puesto que se requiere obtener suficientes datos de votos para realizar predicciones
fiables.
El problema de nuevo ıtem surge cuando se registra un ıtem en el sistema de recomendacion
que usualmente no tiene votos y por lo tanto no tiene probabilidad de ser recomendado, esto
provoca que estos ıtems pasen desapercibidos por largos periodos por la comunidad del sistema
de recomendacion.
El problema del nuevo usuario representa un desafıo para los sistemas de recomendacion que
estan operativos puesto que los nuevos usuarios no han propuesto ni un solo voto al sistema, por
lo tanto no pueden recibir recomendaciones personalizadas en lo que ha filtrado colaborativo se
refiere.
2.2.5.2. Evaluacion de la recomendacion como conjunto
La confianza de los usuarios por un sistema de recomendacion no depende directamente del
accuracy ante el conjunto de posibles predicciones, el usuario gana confianza cuando esta de
acuerdo con un conjunto reducido de recomendaciones hechas por el sistema de recomenda-
cion[13]. De igual manera en [32] se indica que una recomendacion como conjunto no consi-
dera el accuracy de la recomendacion, sino que toma en cuenta la lista de ıtems recomendados
relevantes que resultan de interes para el usuario. Las metricas comunes para evaluar la recomen-
dacion como conjunto segun [31] son 1) Precision, 2) Recall y 3)F1 Score, medidas que son
adaptados del area de information retrieval, mediante la tabla 2.6 se puede apreciar que existen
dos tipos de recomendacion a) la recomendacion que brinda el sistema y b) la recomendacion
exitosa, la que el usuario acepta como tal; para el caso de los sistemas de recomendacion se
suele utilizar un umbral de aceptacion puesto que la prediccion no suele estar de manera bina-
ria sino en el rango del voto maximo y mınimo; a y d representan recomendaciones correctas
(recomiendan un ıtem relevante), mientras que b y c son los casos incorrectos de recomenda-
cion.
Tabla 2.6: Matriz de confusion de Information Retrieval adaptada a los Sistemas de Recomendacion
Relevante No relevante
Recomendado a b
Recomendacion exitosa c d
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
24 CAPITULO 2. STATE-OF-THE-ART
2.2.5.2.1. Precision Indica la proporcion de ıtems recomendados relevantes del numero total de
ıtems.
precision=a
a+b(2.14)
2.2.5.2.2. Recall Indica la proporcion de ıtems recomendados relevantes del numero total de
ıtems relevantes, esta medida es una tasa de verdaderos positivos (true positive) y tiene una medida
opuesta denominada fallout que mide la tasa de falsos positivos(false positive).
recall=a
a+c(2.15)
fallout=b
b+d(2.16)
Una alternativa a las metricas precision y recall es el analisis Receiver Operating Characteristic(ROC),
cuya curva representa el recall frente al fallout, el objetivo del analisis ROC es retornar la mayor
cantidad de recomendaciones relevantes y la menor cantidad de recomendaciones no relevantes.
2.2.5.2.3. F1 Es una metrica que combina la precision contra el recall, proviene de las metricas
Fβ donde β es el contrapeso de la una metrica frente la otra, lo mas usual es utilizar la metrica F1
(β= 12) para la formula 2.17.
Fβ=precision×recall
(1−β)×precision+recall(2.17)
F1=2×precision×recallprecision+recall
(2.18)
Finalmente cada metrica tiene un significado intuitivo, ası recall representa el coverage de lo ıtems
utiles que el sistema de recomendacion puede obtener, precision permite mostrar la capacidad del
sistema de recomendacion para solamente mostrar ıtems utiles. Es evidente que se puede mejorar
la una metrica en declive de la otra.
2.2.5.3. Evaluacion de la recomendacion como listas jerarquicas
[13]En determinadas situaciones los sistemas de recomendacion brindan extensas listas de ıtems
recomendados, en estos casos cobra importancia el orden de la recomendacion puesto que es evidente
que aquellos ıtems que aparecen al inicio de la lista tienen mas importancia para el usuario que
aquellos que aparecen al final. Los errores incurridos en los ıtems de inicio son mas serios que los
errores en los ultimos ıtems de las listas, por ello las metricas de ranking no se ocupan del accuracy
o de items relevantes de la recomendacion, sino del orden en el que aparecen las listas. Las metricas
de ranking o de listas jerarquicas consideran esta situacion. Las metricas mas utilizadas provienen
del area de information retrieval.
2.2.5.3.1. Half-life Asume un decrecimiento exponencial del interes del usuario conforme se
avanza en la lista desde la parte superior a la inferior. Entiendase por half-life el numero de un ıtem
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.2. SISTEMAS DE RECOMENDACION 25
en la lista tal que existe el 50-50 de probabilidad que el usuario revise el ıtem, estima que tan probable
es que un usuario visite un ıtem en una lista rankeada[27].
HL=1
#U
∑u∈U
N∑i=1
max(ru,pi−d,0)
2(i−1)/(α−1)(2.19)
Donde d es el voto neutral y α es el viewing half-life
2.2.5.3.2. Discounted cumulative gain Asume que el decrecimiento del interes del usuario
tiene curva logarıtmica [33].
DCGk=1
#U
∑u∈U
(ru,p1+
k∑i=2
ru,pilog2(i)
)(2.20)
Donde k es el numero de resultados encontrados que aparecen en el tope de la lista.
2.2.5.4. Otras medidas de calidad
En [32] se considera otras medidas de calidad como:
2.2.5.4.1. Confidence (confianza) en la recomendacion puede ser definida como la confianza
en las predicciones de todo el sistema, es decir existe un nivel de confianza asociado al uso del sistema
de recomendacion. Otra aplicacion de la confianza sobre todo en el filtrado colaborativo es utilizar
un umbral para la recomendacion.
2.2.5.4.2. Trust (confianza en el voto) representa la confianza que existe en la prediccion para
un voto especıfico, muchas de las veces la confianza en el voto provee una explicacion de la reco-
mendacion.
2.2.5.4.3. Novelty (novedad) en la recomendacion expresa recomendaciones que el usuario no
conocıa o no se esperaba.
2.2.5.4.4. Serendipity (Serendipia) es una metrica para medir cuan sorprendente es el exito
de una recomendacion. Para [16] la serendipia se resume en dos componentes: sorpresa y relevan-
cia.
Novelity y Serendipity son dos metricas muy similares, para Herlocker et al. una recomendacion
con novedad puede no tener serendipia, pero una recomendacion con serendipia necesarimente debe
incluir ıtems novedosos.
2.2.5.4.5. Diversity (Diversidad) es definida como lo opuesto a similaridad en el caso de lo
ıtems, se utiliza principalmente para recomendar al usuario una lista de ıtems diversos a los ıtems
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
26 CAPITULO 2. STATE-OF-THE-ART
que ha seleccionado, por ejemplo un usuario que adquirio un CD del autor X tal vez no este
interesado en otro CD del mismo autor, por lo que se requiere diversidad en las recomendacio-
nes.
2.2.5.4.6. Utility (Utilidad) es una metrica para medir la perspectiva de la recomendacion, por
ejemplo un usuario puede desear recomendaciones en funcion del precio de los ıtems, o una empresa
puede desear realizar las recomendaciones en funcion de los ıtems que mejores ingresos represen-
tan.
2.2.5.4.7. Risk (Riesgo) es una metrica para asociar la recomendacion con un riesgo potencial,
es muy utilizado en sistemas de recomendacion bursatiles, bancarios, etc.
2.2.5.4.8. Robustness (Robustez) es la estabilidad de la recomendacion ante la falta de informa-
cion, por ejemplo en ocasiones se trata de empeorar los sistemas de recomendacion de la competencia
mediante la insercion de usuarios vacıos que ocasionen problemas de inicio en frıo influenciando
las recomendaciones del sistema.
2.3. Trabajo relacionado
Tal como se indico en las secciones anteriores, los sistemas de recomendacion mas difundidos
son los de filtrado colaborativo por su interes practico y de ındole cientıfico, esto debido a que no
necesitan un proceso costoso para recolectar la informacion sobre caracterısticas de los ıtems o de
los usuarios. Por tal motivo, este trabajo se enfoca en este tipo de filtrado.
A continuacion se profundiza en los metodos de filtrado colaborativo con el fin de describir
especıficamente el area en donde se centra la propuesta de este trabajo.
2.3.1. Metodos de filtrado colaborativo
En primer lugar se puede clasificar estos metodos en funcion del enfoque que tiene el sistema de
recomendacion: con respecto a usuarios o respecto a ıtems. En segundo lugar, los metodos se pueden
clasificar de acuerdo a los metodos o algoritmos de prediccion.
2.3.1.1. Enfoques de filtrado colaborativo
El filtrado colaborativo tiene dos enfoques [29]: orientado a usuarios y orientado a ıtems. Las
figuras 2.2 y 2.3 permiten ilustrar las diferencias entre un filtrado colaborativo basado en usuarios
y otro basado en ıtems, en este caso se ha tomado como ejemplo un sistema de recomendacion de
pelıculas, donde BD representa la base de datos o matriz de votos.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.3. TRABAJO RELACIONADO 27
Orientados a usuarios: Que evalua el interes de un usuario objetivo por un ıtem utilizando los votos
efectuados por otros usuarios de ese mismo ıtem. El proceso de este enfoque es el siguiente:
• 1. Matching: con una o varias medidas se calcula la similaridad entre el usuario objetivo y
cada uno de los demas usuarios de la base de datos.
• 2. Seleccion de k-vecinos: se seleccionan los usuarios mas similares al usuario objetivo. Los
usuarios mas similares toman el nombre de k-vecinos, k representa la cantidad determinada
de vecinos necesarios para realizar la prediccion.
• 3. Prediccion: mediante una funcion de agregacion, normalmente el promedio de los votos
de los k-vecinos, se predice la valoracion que el usuario objetivo le darıa a cada ıtem no votado
previamente.
• 4. Recomendacion: Se recomiendan los N-ıtems con valores mas altos de prediccion, N
representa la cantidad requerida de recomendaciones.
BD
Cálculo de similaridades con el resto de usuarios
K-NN
Conjunto de Items recomendados
Sim=0.6 Sim=0.5 Sim=0.9 Sim=0.8 Sim=0.7
Predicción(Función de agregación)
BD
valoración=4.3 valoración=4.1
Sim=0.9 Sim=0.8
K vecinos con más alta similaridad
Figura 2.2: Filtrado Colaborativo basado en usuarios
Orientados a ıtems: Que evalua el voto de un usuario por un ıtem basado en los votos de los
usuarios en ıtems similares. El proceso de este enfoque es:
• 1. Matching: con una o varias medidas se calcula la similaridad entre el ıtem objetivo y cada
uno de los demas ıtems de la base de datos.
• 2. Seleccion de k-vecinos: se seleccionan los ıtems mas similares al ıtem objetivo.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
28 CAPITULO 2. STATE-OF-THE-ART
• 3. Prediccion: mediante una funcion de agregacion, se predice la valoracion del ıtem objetivo
para un usuario especıfico.
• 4. Recomendacion: Se determina si el ıtem es o no es del gusto del usuario.
Cálculo de similaridades con el resto de ítems
K-NN
Sim=0.6 Sim=0.5 Sim=0.9 Sim=0.8 Sim=0.7
Predicción (Función de agregación)
Valoración=4.3
K vecinos con más alta similaridad
Sim=0.9 Sim=0.8
BD
BD
Figura 2.3: Filtrado Colaborativo basado en ıtems
En este trabajo tomaremos un enfoque orientado a usuarios, porque es el enfoque mas utilizado
en la literatura y en el ambito comercial.
2.3.1.2. Metodos de prediccion de filtrado colaborativo
En la seccion 2.2.3 se introdujo los metodos o algoritmos de prediccion: basados en memoria,
basados en modelos e hıbridos. En la seccion 2.2.4 se menciono el principal problema que sufren los
sistemas basados en memoria: la falta de escalabilidad temporal. Los metodos basados en modelos
presentados en la seccion 2.2.3.2 mejoran significativamente la calidad de las predicciones en com-
paracion a los metodos basados en memoria. Ademas, los modelos tienen la ventaja de ser escalables.
Para [5] las dos principales areas del filtrado colaborativo son los metodos basados en los vecinos
mas cercanos (memoria) y los basados en factores latentes (modelos Matrix Factorization). En
la actualidad los metodos basados en modelos Matrix Factorization son los que generan mejores
predicciones. Por esta razon, esta propuesta se enfoca en estos modelos.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.3. TRABAJO RELACIONADO 29
2.3.2. Modelos Matrix Factorization [5]
Los modelos Matrix Factorization pueden descomponer (transformar) la matriz de votos en dos
matrices: una matriz asociada a usuarios y asociada a ıtems.
En la seccion 2.2.3.2 se identificaron algunos de estos modelos, su idea general es:
Transformar (mapear) a los usuarios e ıtems en un mismo espacio de factores latentes de dimen-
sionalidadK, de tal forma que los usuarios e ıtems sean modelados como productos internos en
este espacio.
El espacio latente trata de explicar los votos caracterizando los productos y los usuarios en factores
automaticamente inferidos de la retroalimentacion del usuario.
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 u, los elementos au miden el grado de interes que un usuario tiene de ıtems que
son altamente correspondientes en los factores.
El resultado del producto punto biTau, captura la interaccion entre el usuario u y el ıtem
i.
Los factores latentes son un enfoque alternativo para tratar de explicar los votos que caracterizan
a los usuarios e ıtems. Segun la cantidad de factores a inferir estos exponen en el caso de los
ıtems diferentes dimensiones explicables, por ejemplo si las recomendaciones son pelıculas, los
factores pueden definir el genero (accion, romance, ficcion, etc.), el publico al que esta dirigido
(todo publico, mayores de 12 anos, adultos, etc.); los factores tambien pueden definir dimensio-
nes inexplicables. Para el caso de los usuarios, los factores indican cuanto le agrada a un usuario
el ıtem en cada una de sus dimensiones. La implementacion mas utilizada de factores latentes
es el modelo Matrix Factorization, que en resumen lo que realiza es caracterizar los usuarios
e ıtems en factores inferidos a partir de los patrones de votos. Estos metodos han cobrado re-
levancia en los ultimos anos porque combinan una buena escalabilidad con una buena calidad
de predicciones, ademas ofrecen mucha flexibilidad para modelar varias situaciones de la vida
real.
Existen varias tecnicas de descomposicion (transformacion) que usan los modelos Matrix Fac-
torization en los sistemas de recomendacion. Estas tecnicas se describen a continuacion.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
30 CAPITULO 2. STATE-OF-THE-ART
2.3.3. Tecnicas de descomposicion
Matrix Factorization ha sido aplicada en sistemas de recomendacion basados en contenido,
aplicandola en una matriz que representa descripciones verbales de los ıtems, en esta matriz cada
componente (xi,j) describe cuantas veces cada palabra wi aparece en la descripcion de cada ıtem
j. A diferencia de la matriz de votos utilizada en el filtrado colaborativo, todos los terminos de la
matriz son conocidos, a pesar de que exista una cantidad considerable de ceros lo cual indica que
la palabra no aparece en dicho ıtem.
A continuacion se describen varias tecnicas de descomposicion de la matriz.
2.3.3.1. LSA
Descompone la matriz que representa descripciones verbales en dos matrices, se toma en cuenta
los factores latentes y se explica la frecuencia de aparicion de cada palabra de cada ıtem. La primera
matriz esta relacionada a las palabras y la segunda matriz esta relacionada a la descripcion de ıtems.
Este metodo tiene un problema, los componentes de esas matrices pueden tomar valores reales
arbitrarios que pueden ser muy difıciles de justificar [34, 1].
2.3.3.2. pLSA
A diferencia de latent semantic analysis, restringe los componentes de las matrices a valores
positivos. Por medio de esta tecnica se modela la probabilidad de que una palabra aparezca en
la descripcion de un documento. Gracias a la restriccion que los componentes sean no negativos,
el significado de esas matrices puede ser entendido y explicado. Los factores latentes pueden ser
considerados como clusters de items y los componentes de cada matriz pueden ser considerados
como: la probabilidad que cada palabra aparezca en la descripcion de cada cluster de ıtems; y la
probabilidad que cada ıtem pertenezca a cada cluster de ıtems [35, 1].
2.3.3.3. LDA
Esta tecnica puede considerarse una extension de pLSA mediante un modelo probabilıstico
Bayesiano que evita el overfitting que sufre el pLSA, tambien calcula la probabilidad de que
una palabra aparezca en un documento y da como salida dos matrices, una relacionada a ca-
da ıtem (probabilidad que un ıtem pertenezca a un cluster de ıtems) y otra relacionada a las
palabras (probabilidad que una palabra aparezca en la descripcion de cada cluster de ıtems)
[36, 1].
2.3.3.4. LSA, pLSA, LDA para filtrado colaborativo
Estas tecnicas originalmente fueron destinadas para los sistemas de recomendacion basados encontenido, pero ultimamente tambien han sido aplicadas para filtrado colaborativo, sin embargo no
han sido satisfactoriamente aplicadas en terminos de accuracy de las predicciones de los votos (MAE)
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.3. TRABAJO RELACIONADO 31
por la naturaleza de la matriz de votos, en la cual existe una gran cantidad de valores desconocidos
(no se sabe si un ıtem le gusta o no a un usuario). En filtrado basado en contenido no se presenta
este problema debido a que todos los componentes de la matriz son conocidos [1]. Por lo tanto, para
utilizar LSA, pLSA o LDA en filtrado colaborativo se requiere llenar la matriz con ceros para los
componentes desconocidos, sin embargo, un cero indica que un ıtem no le agrada a un usuario, esto
hace que estas tecnicas no sean adecuadas para predecir votos.
2.3.3.5. Poisson Matrix Factoring (PMF)
Es un tecnica que permite predecir cuantas veces un usuario consumira un ıtem, debido a que
la matriz inicial representa el numero de veces que un usuario consume un ıtem. Esto resulta muy
interesante en dominios como la musica. Esta tecnica presenta una muy buena calidad de predicciones,
sin embargo, no es facil justificarlas.
2.3.3.6. Matrix Factorization clasica
[37, 5] Segun [1] esta tecnica ha sido exitosa en cuanto calidad de prediccion en filtrado colaborati-
vo porque no considera que un voto inexistente es equivalente a cero. Sin embargo, presenta el mismo
problema de LSA (en filtrado basado en contenidos) puesto que no restringen los componentes a
valores no negativos, y esto dificulta el entendimiento e interpretacion de cada componente y de las
predicciones.
2.3.3.7. Non Negative Matrix Factorization
Esta tecnica ha sido aplicada en filtrado colaborativo por [38] que es equivalente a aplicar pLSA
[39, 40]. Sin embargo, no compite en calidad de prediccion debido a que considera que un componente
desconocido (falta de voto) indica un disgusto del usuario sobre un ıtem. En [1] se indica que la
tecnica pLSA tambien ha sido aplicada en filtrado colaborativo por [41] utilizando el algoritmo
EM (Expectation–Maximization) considerando que los ıtems siguen una distribucion normal o una
distribucion multinomial, pero sus resultados a nivel de accuracy estan muy lejos de la tecnica Matrix
Factorization clasica en [37, 5].
En [1] se aplica Non Negative Matrix Factorization utilizando un framework Bayesiano que evita
el overfitting de pLSA [35] y exitosamente descompone la matriz no negativa en significados proba-
bilısticos comprensibles. La eficiencia de esta tecnica se basa en descomponer la matriz de votosMen dos matrices no negativas r+ y r− que representan la importancia positiva y negativa de un voto de
los usuarios, otro aporte fundamental del trabajo [1] consiste en la generacion de grupos de usuarios,
pues la matriz de votosM no provee informacion sobre agrupamiento de los usuarios en la base
de datos. El modelo propuesto genera agrupamiento de usuarios lo cual permite explicar de manera
sencilla las recomendaciones del sistema. Otros trabajos utilizan Non Negative Matrix Factorization
incorporando informacion adicional a la matriz de votos [42, 43, 44], pero a diferencia de [1] no
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
32 CAPITULO 2. STATE-OF-THE-ART
usan un enfoque Bayesiano variacional completo.
2.4. Tecnicas relevantes: caracterısticas y areas de oportunidad
Luego de haber expuesto las diferentes tecnicas de modelos Matrix Factorization, las tecnicas
[37, 5, 1] son la referencia para la presente investigacion debido a que se destacan por las siguientes
caracterısticas:
Al ser tecnicas basadas en modelos proveen mejoras significantes de calidad de predicciones y
recomendaciones sobre las tecnicas basadas en memoria.
Mejor calidad de predicciones en comparacion a las demas tecnicas basadas en modelos.
La idea de estas tecnicas es encontrar losK factores latentes desconocidos que permiten predecir
los votos de los usuarios para resolver un problema de optimizacion que es el objetivo de la fase
de aprendizaje de estas tecnicas basadas en modelos. Despues de la fase de aprendizaje, la fase
de prediccion es muy rapida, simplemente cada usuario y cada ıtem son asociados a sus vectores
correspondientes para determinar la prediccion.
Al ser tecnicas basadas en modelos son completamente escalables.
Al ser tecnicas de filtrado colaborativo no necesitan informacion adicional a la matriz de votos.
Sin embargo, el trabajo de Hernando et al. [1], sobresale demostrando ser mejor que [37, 5] en
cuanto a las siguientes caracterısticas:
En terminos de accuracy, brinda una mejor calidad de predicciones.
Descompone la matriz de votos en matrices no negativas en el rango [0,1] por lo cual brinda un
entendible significado probabilıstico (es capaz de justificar los componentes y las predicciones).
A diferencia de todos los demas intentos de Non Negative Matrix Factorization, utiliza un
framework Bayesiano para evitar el overfitting.
Mejor uso de recursos de tiempo y memoria debido a la siguiente logica (en la seccion 2.4.1 se
explica con mayor detalle):
• Los factores latentes representan grupos de usuarios que comparten los mismo gustos. El
parametro K indica el numero de grupos en la base de datos.
• El valor au,k representa la probabilidad que un usuario u pertenezca al grupo k de usuarios.
• El valor de bk,i representa la probabilidad que los usuarios en el grupo k les guste el ıtem i.
• Utiliza un valor de K bajo [1], inferior al de Matrix Factorization clasica, de manera que los
vectores ~au=(au,1,...,au,k) y ~bi=(b1,i,...,bk,i) tienen menor dimension, lo que implica mejor
uso de memoria ası como mas eficiencia en las operaciones de la fase aprendizaje y en el
proceso de prediccion al calcular pu,i= ~au·~bi.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.4. TECNICAS RELEVANTES: CARACTERISTICAS Y AREAS DE OPORTUNIDAD 33
2.4.1. Modelo NNMF [1]
NNMF es el modelo base para incorporar las tecnicas de este trabajo, por lo tanto en este apartado
describiremos brevemente el modelo, se demuestra que se ha conseguido replicar sus resultados y
finalmente se resalta las areas de oportunidad que se han analizado y que dan lugar a las tecnicas
empleadas en esta investigacion.
2.4.1.1. Consideraciones generales
El modelo NNMF descrito como una caja negra requiere como entrada la matriz de votosM (que
es la base del filtrado colaborativo) que tiene dimensiones N×M dondeM es el numero de usuarios
yN el numero de ıtems. ru,i es el voto que el usuario u ha realizado sobre el ıtem i. Debido a que
los sistemas de recomendacion utilizan diferentes escalas, se utiliza la normalizacion de los votos
r∗u,i para trabajar con valores [0,1], se utiliza la notacion ru,i=• para indicar que el usuario u no ha
realizado voto por el ıtem i. Los parametros principales del modelo son:
K∈N. Este parametro indica el numero de grupos de usuarios que el algoritmo tratara de descubrir.
α∈(0,1). Este parametro esta relacionado con la posibilidad de que exista solapamiento de grupos
de usuarios que compartan los mismo gustos. Un valor cercano a 0 indica que los usuarios tienden
a pertenecer solo a un grupo, un valor mayor indica que se permite que un usuario pueda pertenecer
a mas de un grupo.
β>1. Este parametro esta relacionado con la cantidad de evidencia que el algoritmo requiere para
deducir que a un grupo de usuarios le gusta un ıtem. Un valor alto de β significa que el modelo
requiere mas evidencia para deducir que a un grupo de usuarios le agrada/desagrada un ıtem.
El modelo entrega como salidas dos matrices:
Una matrizN×K(au,k) asociada a los usuarios. Esta matriz permite conocer la probabilidad de
que un usuario u pertenezca a un grupo k, por lo tanto:
K∑k=1
auk=1
Una matriz K×M(bk,i) asociada a los ıtems. Esta matriz permite conocer la probabilidad de que
un usuario en el grupo k le guste el ıtem i.
Con las dos matrices de salida se puede inmediatamente calcular importantes cuestiones de los
usuarios e ıtems:
Probabilidad de que a un usuario u le guste el ıtem i. Esta medida es denominada pu,i y se calcula:
pu,i=K∑k=1
au,k ·bk,i
Expectativa del voto del usuario u para el ıtem i. Una vez calculada la probabilidad de que al
usuario u le guste el ıtem i, se puede transformar a la escala no normalizada de los votos, en el
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
34 CAPITULO 2. STATE-OF-THE-ART
caso que el sistema de recomendacion utilice los valores{1..5} como escala de votos, se puede
obtener a partir del pu,i con la siguiente expresion:
qu,i=
1,si 0≤pu,i<0,2
2,si 0,2≤pu,i<0,4
3,si 0,4≤pu,i<0,6
4,si 0,6≤pu,i<0,8
5,si 0,8≤pu,i≤1
2.4.1.2. Modelo Probabilıstico Bayesiano
En la figura 2.4 se puede apreciar el modelo probabilıstico Bayesiano.
K
I
U
KIK ρUI ZUI θU
α β
Figura 2.4: Modelo probabilıstico bayesiano. Tomado de [1]
Los cırculos en la figura representan las variables aleatorias, las flechas entre dos variables re-
presentan dependencia entre dos variables. El cırculo gris indica que el valor de esa variable es el
observado. Los pequenos cuadrados negros representan los parametros del modelo.
Para simular los votos de los usuarios se ejecuta el siguiente proceso:
Para cada usuario u, se muestrea un vector de dimension k de acuerdo a una distribucion de
Dirichlet:
φu∼Dir(α,...,alpha︸ ︷︷ ︸k
)
El vector (φu,1,...,φu,n) representa la probabilidad de que un usuario pertenezca a cada grupo
Para cada ıtem i y cada factor k, se muestrea una variable aleatoria ki,k de acuerdo a una distribucion
Beta:
ki,k∼Beta(β,β)
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.4. TECNICAS RELEVANTES: CARACTERISTICAS Y AREAS DE OPORTUNIDAD 35
El valor ki,k representa la probabilidad de que a un grupo de usuarios le guste el ıtem i.
Para cada usuario u y cada ıtem i tal que ru,i 6=• se muestrean las variables aleatorias Zu,i a partir
de una distribucion categorica:
Zu,i∼Cat(φu)Y la variable aleatoria ρu,i que proviene de una distribucion Binomial y toma valores de 0 a R.
Hernando et al. plantean en su modeloR=4 para los diferentes experimentos.
ρu,i∼Bin(R,Ki,Zui)
El voto normalizado se obtiene a partir del valor de ρu,i, de acuerdo a la expresion:
r∗u,i=ρu,iR
2.4.1.3. Inferencia en el modelo
En la mayorıa de los modelos graficos probabilısticos, se considera que no es factible computacio-
nalmente calcular la distribucion condicional exacta de manera analıtica. Como en [36] Hernando et
al. adoptan la tecnica de inferencia variacional (tambien denominada Bayes Variacional) para calcular
una distribucion aproximada a la distribucion posterior real que puede ser calculada de manera
eficiente. Para ello se determinan los siguientes parametros libres{ γu,k , ε+i,k , ε−i,k , λu,i,k} que sirven
como la distribucion de probabilidad condicional aproximada conociendo la matriz de votosM.
2.4.1.4. Algoritmo NNMF
ModeloMatrizFactorizacion(r+u,i,r−u,i)
Inicializar aleatoriamente γu,kInicializar aleatoriamente ε+i,kInicializar aleatoriamente ε−i,kRepetir contador = 1,...,iteraciones (o hasta que los cambios no sean significantes):
Por cada usuario u:
Por cada ıtem i votado por usuario u en el conjunto de entrenamiento:
Por cada factor k: actualizar λu,i,k con la ecuacion (2.21)
Por cada usuario u:
Por cada factor k: actualizar γu,k con la ecuacion (2.25)
Por cada ıtem i votado por usuario u en el conjunto de entrenamiento:
Por cada factor k: actualizar ε+i,k con la ecuacion (2.26)
Por cada factor k: actualizar ε−i,k con la ecuacion (2.27)
Calcular au,k con la ecuacion (2.28)
Calcular bk,i con la ecuacion (2.29)
Calcular la probabilidad de que al usuario u le guste el ıtem i pu,i con la ecuacion (2.30)
Calcular el voto no normalizado qu,i con la ecuacion (2.31)
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
36 CAPITULO 2. STATE-OF-THE-ART
A continuacion se pueden apreciar las principales ecuaciones utilizadas en el modelo.
λ′u,i,k=exp(Ψ(γu,k)+r+u,i·Ψ(ε+i,k)+r−u,i·Ψ(ε−i,k)−R·Ψ(ε+i,k+ε−i,k)
)
λu,i,k=λ′u,i,k
λ′u,i,1+·· ·+λ′u,i,K(2.21)
Donde:
Ψ es la funcion digamma definida como la derivada logarıtmica de la funcion gamma:
Ψ(x)=(lnΓ(x))′=Γ′(x)
Γ(x)(2.22)
Ponderacion de voto positivo
r+u,i=ρu,i=R·r∗u,i (2.23)
Ponderacion de voto negativo
r−u,i=R−ρu,i=R·(1−r∗u,i) (2.24)
γu,k=α+∑
{i|ru,i 6=•}
λu,i,k (2.25)
ε+i,k=β+∑
{u|ru,i 6=•}
λu,i,k ·r+u,i (2.26)
ε−i,k=β+∑
{u|ru,i 6=•}
λu,i,k ·r−u,i (2.27)
au,k=P(upertenezcaal grupok)=γu,k∑
j=1...K
γu,j(2.28)
K∑k=1
au,k=1
bk,i=P(u le gusta i|uperteneceal grupok)=ε+i,k
ε+i,k+ε−i,k(2.29)
pu,i=∑
k=1...K
au,k ·bk,i (2.30)
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.4. TECNICAS RELEVANTES: CARACTERISTICAS Y AREAS DE OPORTUNIDAD 37
qu,i=
1,si 0≤pu,i<0,2
2,si 0,2≤pu,i<0,4
3,si 0,4≤pu,i<0,6
4,si 0,6≤pu,i<0,8
5,si 0,8≤pu,i≤1
(2.31)
Finalmente en la tabla 2.7 se presenta los resultados obtenidos por el trabajo [1] frente a las tecnicas
de KNN, NMF, PSA-CF y Classical Matrix Factorization. El desafio del presente trabajo es mejorar
la calidad de la prediccion del modelo NNMF.
Tabla 2.7: Accuracy de las predicciones por tipos de algoritmo de filtrado
Tecnica MAE MovieLens 1M
KNN-Pearson correlation [1] 0.823
KNN JMSD [28] 0.743
NMF [38] 1.243
PLSA-CF [41] 0.796
Classical matrix factorization [37, 5] 0.684
Non Negative Matrix factorization (NNMF) [1] 0.664
2.4.1.5. Running ejemplos
El modelo NNMF utiliza dos conjuntos de datatoy3 que fueron replicados en la tabla 2.8 y en la tabla
2.10 mediante los cuales es sencillo explicar como se interpretan los resultados del modelo (tabla
2.9 y tabla 2.11). Ademas, se utiliza la base de datos MovieLens 1M para cotejar resultados con [1].
Ejemplo 1 la tabla 2.8 representa la matriz de votosM compuesta por N=11 usuarios y M=15
ıtems, es evidente que existen tres grupos bien diferenciados de usuarios que comparten los mismos
gustos: {u1,u2,u3,u10}, {u4,u5,u6,u11} y {u7,u8,u9}. Por intuicion es posible determinar que al
usuario u3 le gustara el ıtem i3, por otro lado el resto de votos donde el ru,i=• no son posibles de
determinar, en este sentido el modelo NNMF determina que el resto de predicciones donde ru,i=•debera ser 3 lo cual representa un voto indiferente. La replica presenta los resultados en la tabla 2.9,
los cuales son plenamente concordantes con el trabajo de Hernando et al.
3Datatoy: Hace referencia a ejemplos estructurados para ilustrar las caracterısticas del modelo o tecnica
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
38 CAPITULO 2. STATE-OF-THE-ART
Tabla 2.8: Datatoy 1
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15
u1 5 5 5 5 5 • • • • • • • • • •u2 5 5 5 5 5 • • • • • • • • • •u3 5 5 • 5 5 • • • • • • • • • •u4 • • • • • 5 5 5 5 5 • • • • •u5 • • • • • 5 5 5 5 5 • • • • •u6 • • • • • 5 5 5 5 5 • • • • •u7 • • • • • • • • • • 5 5 5 5 5
u8 • • • • • • • • • • 5 5 5 5 5
u9 • • • • • • • • • • 5 5 5 5 5
u10 5 5 5 5 5 • • • • • • • • • •u11 • • • • • 5 5 5 5 5 • • • • •
Los votos de color rojo son las predicciones de la replica que resultaron exactamente igual a las
del modelo NNMF expuesto en [1], las valoraciones indiferentes (ru,i=3) representan la principal
ventaja del modelo NNMF frente a la matriz de factorizacion clasica y a los otros intentos de matriz
de factorizacion no negativa que no son capaces de determinar estas valoraciones.
Tabla 2.9: Datatoy 1 Predicciones
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15
u1 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3
u2 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3
u3 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3
u4 3 3 3 3 3 5 5 5 5 5 3 3 3 3 3
u5 3 3 3 3 3 5 5 5 5 5 3 3 3 3 3
u6 3 3 3 3 3 5 5 5 5 5 3 3 3 3 3
u7 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5
u8 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5
u9 3 3 3 3 3 3 3 3 3 3 5 5 5 5 5
u10 5 5 5 5 5 3 3 3 3 3 3 3 3 3 3
u11 3 3 3 3 3 5 5 5 5 5 3 3 3 3 3
Ejemplo 2 este ejemplo representado en la tabla 2.10 esta conformado por M = 15 usuarios y
N =11 ıtems, nuevamente se puede apreciar tres grupos de usuarios {u1,u2,u3}, {u4,u5,u6,u11}y {u7,u8,u9}; sin embargo el usuario u10 presenta incertidumbre puesto que puede pertenecer al
grupo {u1,u2,u3} y {u4,u5,u6,u11}, en estos casos cobra importancia las matrices de factores del
modelo NNMF, puesto que permiten comprender de manera muy sencilla la relacion de los grupos de
usuarios en la base de datos. Los resultados de la matriz asociada a los usuarios (tabla 2.12) permite
identificar la probabilidad de que el usuario u pertenezca al grupo k; y la matriz asociada a los ıtems
(tabla 2.13) indica la probabilidad de que a los usuarios del grupo k le guste el ıtem i.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.4. TECNICAS RELEVANTES: CARACTERISTICAS Y AREAS DE OPORTUNIDAD 39
Tabla 2.10: Datatoy 2
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 • •
Al revisar la tabla 2.11 es intuitivo explicar que al usuario u3 le agrada el ıtem i3, de igual manera que
al usuario u5 le agrada el ıtem i8. Por otro lado es evidente que ciertos votos no se pueden predecir,
por ejemplo si al usuario u6 le agrada el ıtem i15, en estos casos el sistema predice una valoracion
indiferente del voto r6,15=3. Los votos de color rojo significan valoraciones exactas con el modelo
de NNMF, los valores en azul representan valoraciones que no resultaron iguales, sin embargo el
criterio de que al usuario le agrade o no, se mantenıa, por ejemplo al usuario u8 no le agrada el ıtem
i2, puesto que el voto original es de 1, mientras que la prediccion indica que el voto deberıa valer 2.
Tabla 2.11: Predicciones Datatoy 2
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15
u1 5 5 5 5 5 2 3 2 2 4 2 3 3 3 3
u2 5 5 5 5 5 2 3 2 2 4 2 3 3 3 3
u3 5 5 5 5 5 2 3 2 2 4 2 3 3 3 3
u4 3 2 2 3 3 5 5 5 5 5 3 2 4 3 3
u5 3 2 2 3 3 5 5 5 5 5 3 2 4 3 3
u6 3 2 2 3 3 5 5 5 5 5 3 2 4 3 3
u7 3 2 3 4 3 3 4 3 2 3 5 4 5 4 5
u8 3 2 3 4 3 3 4 3 2 3 5 4 5 4 5
u9 3 2 3 4 3 3 4 3 2 3 5 4 5 5 5
u10 5 5 5 5 5 2 3 2 2 4 2 3 3 3 3
u11 3 2 2 3 3 5 5 5 5 5 3 2 4 3 3
En la tabla 2.12 es posible comprender el agrupamiento de los usuarios, como el enfoque es proba-
bilıstico, la suma de la fila de cada usuario debe ser uno. Se resalta en negrita los agrupamientos que
se conforma {u1,u2,u3}, {u4,u5,u6,u11} y {u7,u8,u9}; notese ademas que el usuario u10 pertenece a
dos grupos: {u1,u2,u3} con mayor probabilidad y al grupo {u4,u5,u6,u11} con menor probabilidad.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
40 CAPITULO 2. STATE-OF-THE-ART
Tabla 2.12: Matriz de factores au,k replicados
F1 F2 F3
u1 0.97 0.01 0.01
u2 0.97 0.02 0.02
u3 0.96 0.02 0.02
u4 0.01 0.01 0.98u5 0.01 0.01 0.98u6 0.02 0.02 0.97u7 0.01 0.97 0.01
u8 0.01 0.97 0.01
u9 0.01 0.97 0.01
u10 0.90 0.01 0.12u11 0.01 0.01 0.97
En la tabla 2.13 se puede apreciar la probabilidad de que le agrade un ıtem a un grupo de usuarios,
por ejemplo es facil determinar que al grupo 1 le agrada en mayor medida los ıtems {i1,i2,i3,i4,i5},al grupo 2 le agrada en mayor medida los ıtems {i6,i7,i8,i9,i10} y al grupo 3 le agrade en mayor
medida los ıtems {i11,i12,i13,i14,i15}.
Tabla 2.13: Matriz de factores bk,i replicados
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15
F1 0.86 0.86 0.83 0.86 0.86 0.3 0.5 0.29 0.3 0.7 0.3 0.5 0.5 0.5 0.5
F2 0.5 0.28 0.3 0.5 0.4 0.86 0.86 0.83 0.86 0.86 0.5 0.29 0.7 0.5 0.5
F3 0.5 0.3 0.5 0.6 0.5 0.5 0.6 0.5 0.36 0.5 0.83 0.72 0.83 0.78 0.83
Ejemplo con MovieLens 1M este ejemplo tiene la siguiente configuracion de parametros iniciales
del modelo NNMF:
R=4
α=0,8
β=5
K=6
La tabla 2.14 permite apreciar el porcentaje de votos indiferentes 4 obtenidos por la replica frente
al porcentaje de votos indiferentes del modelo NNMF. Tal como se puede apreciar los resultados
son equivalentes para los valores de β=5, β=10, β=15 yβ=20. Es notorio que mientras mayor
es el valor de β el modelo NNMF necesita mayor evidencia para inferir que al usuario le agrada o
desagrada un ıtem, por ello la cantidad de predicciones indiferentes aumenta linealmente con el valor
de β. El promedio del porcentaje real de votos indiferentes entre todos los datasets es de 26%, lo
que ratifica que el valor de β=5 es el adecuado para los experimentos.
4Se considera que una prediccion de ρu,i=3 es indiferente.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.4. TECNICAS RELEVANTES: CARACTERISTICAS Y AREAS DE OPORTUNIDAD 41
Tabla 2.14: Porcentaje de predicciones igual a 3 de acuerdo a valor de β
β% de Predicciones indiferentes ρu,i=3
NNMF [1] NNMF replica
β=5 27.93 27.61
β=10 29.20 29.25
β=15 30.36 30.63
β=20 31.14 31.65
Segun la configuracion de parametros se procedio a ejecutar la replica con el entrenamiento de 20
datasets (conjuntos de datos) divididos segun la seccion 3.1. En la figura 2.5 se puede apreciar las
curvas de aprendizaje de seis de los conjuntos de entrenamiento donde se ha incluido el dataset
que ofrece las mejores predicciones (dataset1MAE=0,6628), el dataset que representa el mayor
desafıo de aprendizaje (dataset5MAE=0,6674) y los otros cuatro datasets de manera aleatoria. El
promedio del MAE obtenido es de 0,664 al igual que en el trabajo de Hernando et al.
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103109115121127133139145151157163169
MAE
Iteraciones
Dataset1 Dataset2 Dataset3 Dataset4 Dataset5 Dataset6
Figura 2.5: Curvas de Aprendizaje de la replica del modelo NNMF
2.4.2. Areas de oportunidad del modelo
Luego del estudio, implementacion y replica exitosa del modelo NNMF se identificaron algunas
areas de oportunidad:
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
42 CAPITULO 2. STATE-OF-THE-ART
1. En [1] se indica que el modelo NNMF establece un valor bajo de k=6 para hacerlo mas eficiente
en memoria optimizando el uso del espacio. De esta manera, [1] reconoce que utilizar valores de
K mas altos afecta la eficiencia de la memoria. En este trabajo se ha desarrollado una optimizacion
del algoritmo NNMF (seccion 3.2.1) que posibilita experimentar con valores de k elevados y
escalar bien en cuanto al uso de memoria.
2. Se identifico que en el calculo de ponderacion de votos segun las ecuaciones de r+u,i (ecuacion
2.23) y de r−u,i (ecuacion 2.24) se puede aplicar varias tecnicas hıbridas que han resultado rele-
vantes en los metodos basados en memoria para filtrado colaborativo, estas tecnicas son: baseline
predictors[2] y significancias[3]. Segun lo expuesto en la seccion 2.2.3.2 tomar en cuenta aspectos
de la interaccion usuario-ıtem por separado como las tendencias de usuarios, tendencias de ıtems,
preferencias de usuario, nos permite mejorar las predicciones. Esta intuicion parte de la idea de
Bobadilla et al. [3] que indica que pueden haber algunos ıtems y algunos usuarios en un sistema
de recomendacion que podrıan ser altamente significantes para hacer las recomendaciones. En
las secciones 3.2.2, 3.2.3 y 3.2.4 se describe la incorporacion de estas tecnicas al modelo NNMF
y se presenta los resultados obtenidos.
3. En la figura 2.6 se demuestra que el accuracy es impredecible para cuatro datasets al incrementar
el valor de k. Este comportamiento indico que es necesario guiar al modelo a determinar la mejor
cantidad de grupos. Ademas, en el ejemplo 2 de la seccion 2.4.1.5 los componentes au,k (tabla 2.12)
y bk,i (tabla 2.13) justifican facilmente los agrupamientos de los usuarios y las preferencias de los
grupos por los ıtems, sin embargo otros entrenamientos para el mismo conjunto de datos pueden
generar diferentes formas de agrupamiento que disminuyen la calidad de las predicciones. En las
tablas 2.15 y 2.16 se puede observar varias de estas situaciones. En las bases de datos reales donde
existe una gran dispersion y escasez de los datos (en comparacion a la cantidad de votos posibles),
se puede incrementar este problema. Para resolver estos inconvenientes, en esta investigacion se ha
desarrollado una tecnica denominada Pre-clustering-MJD que permite agrupar usuarios basandose
en medidas de similaridad, lo que ayuda como se demuestra en la seccion 3.2.5 a descubrir los gru-
pos necesarios (K factores latentes) e inicializar los componentes au,k y bk,i de manera mas precisa
para lograr una mejor calidad de predicciones al final de la fase de aprendizaje. En las tablas 3.8 y
3.9 se puede apreciar varios entrenamientos para el mismo conjunto, los componentes au,k y bk,i son
los mismos, debido a que el conjunto es muy pequeno y hay una gran precision de agrupamiento.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
2.4. TECNICAS RELEVANTES: CARACTERISTICAS Y AREAS DE OPORTUNIDAD 43
0.656
0.658
0.66
0.662
0.664
0.666
0.668
0.67
6 7 8 9 10 11 12 17
MA
E
K
Dataset1 Dataset2 Dataset5 Dataset7
Figura 2.6: Comparacion del MAE con diferentes valores de k en diferentes datasets
Tabla 2.15: Comparacion de factores au,k para el datatoy2
Entrenamiento 1 Entrenamiento 2 Entrenamiento 3 Entrenamiento 4 Entrenamiento 5
F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3
u1 0.83 0.16 0.01 0.82 0.01 0.16 0.3 0.69 0.01 0.83 0.01 0.16 0.97 0.01 0.01
u2 0.97 0.02 0.02 0.8 0.02 0.18 0.02 0.97 0.02 0.97 0.02 0.02 0.97 0.02 0.02
u3 0.96 0.02 0.02 0.96 0.02 0.02 0.02 0.96 0.02 0.96 0.02 0.02 0.96 0.02 0.02
u4 0.72 0.26 0.01 0.85 0.14 0.01 0.01 0.01 0.98 0.2 0.01 0.79 0.01 0.01 0.98u5 0.78 0.01 0.21 0.82 0.01 0.17 0.01 0.01 0.98 0.25 0.01 0.74 0.01 0.01 0.98u6 0.63 0.35 0.02 0.8 0.19 0.02 0.02 0.02 0.97 0.25 0.73 0.02 0.02 0.02 0.97u7 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01
u8 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.78 0.2 0.01 0.97 0.01 0.01 0.97 0.01
u9 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01
u10 0.76 0.01 0.23 0.67 0.01 0.32 0.01 0.98 0.01 0.87 0.12 0.01 0.88 0.01 0.11u11 0.55 0.44 0.01 0.75 0.24 0.01 0.01 0.01 0.97 0.2 0.79 0.01 0.01 0.01 0.97
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
44 CAPITULO 2. STATE-OF-THE-ART
Tabla 2.16: Comparacion de factores bk,i para el datatoy2
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15
Entrenamiento 1
F1 0.86 0.83 0.83 0.86 0.85 0.86 0.88 0.3 0.86 0.88 0.3 0.34 0.54 0.49 0.5
F2 0.5 0.17 0.3 0.6 0.5 0.54 0.44 0.83 0.36 0.55 0.83 0.72 0.86 0.77 0.83F3 0.51 0.51 0.51 0.51 0.41 0.3 0.51 0.48 0.3 0.51 0.5 0.48 0.5 0.53 0.5
Entrenamiento 2
F1 0.86 0.82 0.83 0.86 0.84 0.86 0.88 0.82 0.86 0.88 0.3 0.33 0.62 0.49 0.5
F2 0.5 0.17 0.3 0.6 0.5 0.51 0.62 0.52 0.36 0.51 0.83 0.72 0.85 0.78 0.83F3 0.52 0.53 0.53 0.52 0.42 0.3 0.3 0.29 0.3 0.52 0.49 0.49 0.5 0.52 0.5
Entrenamiento 3
F1 0.51 0.51 0.51 0.51 0.51 0.5 0.31 0.5 0.5 0.5 0.3 0.5 0.5 0.5 0.5
F2 0.86 0.86 0.83 0.85 0.86 0.36 0.7 0.29 0.28 0.7 0.83 0.68 0.83 0.78 0.83F3 0.5 0.23 0.3 0.5 0.4 0.86 0.86 0.83 0.86 0.86 0.51 0.29 0.71 0.51 0.51
Entrenamiento 4
F1 0.86 0.86 0.83 0.86 0.86 0.31 0.84 0.29 0.8 0.77 0.3 0.48 0.51 0.51 0.5
F2 0.5 0.17 0.5 0.6 0.5 0.72 0.75 0.78 0.3 0.76 0.83 0.72 0.86 0.78 0.83F3 0.5 0.5 0.3 0.5 0.4 0.79 0.33 0.7 0.75 0.75 0.49 0.29 0.5 0.49 0.5
Entrenamiento 5
F1 0.86 0.86 0.83 0.86 0.86 0.3 0.34 0.29 0.3 0.67 0.3 0.5 0.5 0.5 0.5
F2 0.5 0.3 0.5 0.6 0.5 0.5 0.6 0.5 0.36 0.5 0.83 0.72 0.83 0.78 0.83F3 0.5 0.28 0.3 0.5 0.4 0.86 0.88 0.83 0.86 0.87 0.5 0.29 0.7 0.5 0.5
En el siguiente capıtulo se explican las tecnicas desarrolladas en este trabajo para lograr los objetivos
planteados.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
Capıtulo 3
Tecnicas Hıbridas
En este capıtulo se desarrolla el proceso de machine learning de la seccion 2.1.3 adaptandolo a sistemas
de recomendacion, especıficamente a esta investigacion. El proceso de aprendizaje es el siguiente:
1. Analisis y particion de datos: se inicia con el analisis de la base de datos y se particionan
aleatoriamente los datos estableciendo los conjuntos de entrenamiento, de validacion y de testing.
2. Asociacion de caracterısticas relevantes a los datos: este paso se omite debido a que el
sistema no utiliza informacion adicional de las caracterısticas de los ıtems y de los usuarios. Este
sistema se basa en filtrado colaborativo donde la unica entrada es la matriz de votosM.
3. Desarrollo de Tecnicas y entrenamiento: se desarrollan diferentes tecnicas, se entrena el
modelo NNMF y se definen los parametros libres.
4. Prediccion: se realizan las predicciones para el conjunto de test.
5. Evaluacion: Se evalua el accuracy (con MAE) de las predicciones y el rendimiento del algorit-
mo en comparacion al state-of-the-art. Finalmente, se destacan las tecnicas que prueban la hipotesis
del capıtulo 1.
3.1. Analisis y particion de datos
Segun la seccion 1.1 la liberacion de grandes bases de datos ha permitido a la comunidad cientıfica
replicar y poder comparar experimentos, en este sentido se ha seleccionado la base de datos MovieLens
1M puesto que nos permitira comparar y cotejar resultados debido a que la mayorıa de la literatura
expuesta en este estudio utiliza la base de datos en cuestion.
En la tabla 3.1 se puede observar un resumen de las diferentes caracterısticas de la base de datos
MovieLens 1M, la cual debe su nombre justamente a que facilita mas de un millon de votos de
6040 usuarios entre 3952 ıtems; los votos de los usuarios por los ıtems (ru,i) estan en el rango de
{1,2,3,4,5} donde resalta la siguiente asociacion de caracterısticas:
Votos relevantes: Son aquellos votos que representan que al usuario u le agrada el ıtem/pelıcula
i y su valoracion es {4,5}.Votos irrelevantes: Son aquellos votos que representan que al usuario u le desagrada el ıtem/pelıcula
i y su valoracion es {1,2}.Votos indiferentes: Son aquellos votos que no indican agrado o desagrado por una pelıcula, son
aquellos votos que tienen una valoracion de 3.
45
46 CAPITULO 3. TECNICAS HIBRIDAS
Tabla 3.1: Caracterısticas BD MovieLens 1M
Descripcion Caracterıstica
Total de ıtems 3952
Total de usuarios 6040
Items sin votos 246
Usuarios sin votos 0
Total de votos 1’000 209
Votos indiferentes (ru,i=3) 261197
Votos relevantes (ru,i>3) 575281
Votos irrelevantes (ru,i<3) 163731
En las figuras 3.1, 3.2 y 3.3 es posible apreciar la distribucion de los votos mediante los histogramas
de votos por ıtems, votos por usuarios y votos segun la escala de valoracion de MovieLens.
Figura 3.1: Histograma de votos respecto a ıtems
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.1. ANALISIS Y PARTICION DE DATOS 47
Figura 3.2: Histograma de votos respecto a usuarios
5617
4
1075
57
2611
97
3489
71
2263
10
1 2 3 4 5
Can
tidad
de
voto
s
Rating (Voto)
Figura 3.3: Cantidad de votos segun valoracion del voto
Finalmente se pone a consideracion el mapa de color de los votos en la matrizM, en la figura 3.4
es intuitivo apreciar el nivel de dispersion y escasez de datos (en comparacion a la cantidad posible de
votos), el color negro representa que en la interseccion fila (usuarios)-columna(ıtem) no existe voto.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
48 CAPITULO 3. TECNICAS HIBRIDAS
Figura 3.4: Mapa de color de los votos
Para los experimentos se procedio de manera aleatoria a generar veinte conjuntos de entrenamiento,
validacion y testing segun las proporciones de la figura 3.5, el conjunto de entrenamiento es utilizado
para el aprendizaje del modelo, el conjunto de cross-validation es utilizado para seleccionar el mejor
valor para los parametros de entrada del modelo, mientras que el conjunto de test es utilizado para
obtener el accuracy real del modelo. Esto permite evitar problemas de overfitting y underfitting.
Datos para entrenamiento
(80%)
Datos para test(20%)
Datos para entrenamiento
(60%)
Datos para cross-validation(20%)
Datos para test(20%)
Figura 3.5: Proporcion de datos Train, Test y Cross-validation
3.2. Desarrollo y descripcion de las tecnicas
En esta seccion primeramente se presenta el proceso general de las tecnicas de sistemas de recomen-
dacion (figura 3.6) adaptado para la incorporacion de tecnicas hıbridas, como se puede apreciar las
tecnicas hıbridas son aplicadas antes del entrenamiento del modelo NNMF.
El proceso de evaluacion se representa en la figura 3.7, para el entrenamiento se utiliza un dataset
denominado Training BD, posteriormente se requiere para verificar la calidad de las predicciones
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 49
del sistema de recomendacion (accuracy) mediante la metrica MAE en un conjunto de datos diferente
denominado Test BD.
Luego se expone la optimizacion del algoritmo NNMF y posteriormente se describen las tecnicas
desarrolladas en este trabajo de investigacion.
𝑝𝑘,𝑖 𝑎𝑢,𝑘 𝑏𝑘,𝑖
𝑎𝑢,𝑘𝑏𝑘,𝑖
Figura 3.6: Proceso general de las tecnicas hıbridas de recomendacion
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
50 CAPITULO 3. TECNICAS HIBRIDAS
Figura 3.7: Proceso de evaluacion de tecnicas de sistemas de recomendacion
3.2.1. Optimizacion de complejidad espacial y temporal del algoritmo NNMF
Las caracterısticas de la base de datos MovieLens 1M en conjunto con el algoritmo propuesto en
[1], requieren una carga de memoria y computo importante para cualquier sistema; en la tabla 3.2
se puede ver el consumo de memoria de acuerdo a la cantidad de grupos (valor de k) que requiere
el algoritmo, cabe resaltar que el sistema en cuestion permite direccionar hasta un maximo de 4GB
de memoria, situacion que provoca un desbordamiento con el valor de k=11.
Tomando en cuenta este escenario se considero necesario redefinir el algoritmo original para que
escale mejor en espacio, puesto que es necesario realizar diferentes experimentos con grandes
volumenes de datos. Para ello se realizo la siguiente variante: a diferencia del algoritmo origi-
nal de [1], el algoritmo propuesto realiza el computo de la variable λi,k (3.1) de un usuario a
la vez en lugar de la variable λu,i,k (2.21) y solamente si ru,i 6= •. El algoritmo optimizado
es utilizado en todas las tecnicas hıbridas desarrolladas, por lo tanto todas las tecnicas hıbri-
das pueden trabajar con valores elevados de K con el fin de resolver el problema de optimiza-
cion.
El algoritmo propuesto es el siguiente:
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 51
ModeloMatrizFactorizacion(votos normalizados: r∗u,i)
Inicializar aleatoriamente γu,kInicializar aleatoriamente ε+i,kInicializar aleatoriamente ε−i,kRepetir contador = 1,...,iteraciones (o hasta que los cambios no sean significantes):
Por cada usuario u:
Por cada ıtem i votado por usuario u en el conjunto de entrenamiento:
Por cada factor k:
actualizar λi,k con la ecuacion (3.1)
si γu,k=0 entonces: γu,k=α
actualizar γu,k con la ecuacion (3.2)
si ε+i,k=0 entonces: ε+i,k=β y ε−i,k=β
actualizar ε+i,k con la ecuacion (3.3)
actualizar ε−i,k con la ecuacion (3.4)
Calcular au,k con la ecuacion (2.28)
Calcular bk,i con la ecuacion (2.29)
Calcular la probabilidad de que al usuario u le guste el item i pu,i con la ecuacion (2.30)
Calcular el voto no normalizado qu,i con la ecuacion (2.31)
λ′k=exp(Ψ(γu,k)+r+u,i·Ψ(ε+i,k)+r−u,i·Ψ(ε−i,k)−R·Ψ(ε+i,k+ε−i,k)
)
λi,k=λ′k
λ′1+·· ·+λ′K(3.1)
γu,k=γu,k+λi,k (3.2)
ε+i,k=ε+i,k+r+u,i (3.3)
ε−i,k=ε−i,k+r−u,i (3.4)
La tabla 3.2 permite apreciar que el consumo de memoria ya no depende de la cantidad de grupos
(valor de k). Es evidente que el uso de memoria con el algoritmo optimizado es fijo sin importar
la cantidad de grupos; ası mismo, se puede apreciar en la figura 3.8 la diferencia de consumo de la
propuesta original con la optimizada.
Estos cambios se han realizado tomando en consideracion que la cantidad de grupos (valor de k) es
significativamente menor que la cantidad de usuarios, esto deriva en dos ventajas fundamentales:
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
52 CAPITULO 3. TECNICAS HIBRIDAS
Menor tiempo de prediccion porque se computa menos variables, ya que no es necesario almacenar
la estructura λ′
u,i,k, lo que representa menos accesos a memoria.
Mejor escalabilidad espacial porque al utilizar menos variables se requiere un uso menor de
memoria. Resulta evidente que en lugar de utilizar una estructura de dimensiones [u,i,k] se emplea
una estructura de dimensiones [i,k], lo cual permite incrementar la cantidad de grupos.
Tabla 3.2: Consumo de Memoria algoritmo propuesto
Algoritmo NNMF Algoritmo NNMF Optimizado
k Memoria (KB)Diferencia de carga (%)
con respecto a k=6Memoria (KB)
Diferencia de carga (%)
con respecto a k=6 de NNMF
6 2426893.63 0 2202009.6 -9.2
7 2613788.04 7.7 2202009.6 -9.2
8 2800677.95 15.4 2202009.6 -9.2
9 2987567.83 23.1 2202009.6 -9.2
10 3174457.76 30.8 2202009.6 -9.2
11 Desbordamiento - 2202009.6 -9.2
17 Desbordamiento - 2202009.6 -9.2
2000000
2200000
2400000
2600000
2800000
3000000
3200000
3400000
6 7 8 9 10 11 17
Mem
oria
KB
K
Algoritmo NNMF Algoritmo Optimizado
Figura 3.8: Comparacion del consumo de memoria entre el algoritmo original y el algoritmo propuesto
En la tabla 3.3 se coteja los dos algoritmos para comprender la optimizacion, para su explicacion
se considera el caso del usuario u=1:
Los valores calculados de λi,k de este usuario son almacenados en una estructura mas pequena
en comparacion de la que se requerirıa para almacenar los λu,i,k de todos los usuarios.
Los valores de λi,k son utilizados para calcular γ1,k, ε+i,k y ε−i,k.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 53
las variables ε+i,k y ε−i,k son modificadas a medida que se vayan computando los λi,k de los demas
usuarios.
El valor de un λi,k especıfico como por ejemplo λ1,1 es calculado solamente cuando r1,1 6=•, lo
que evita calcular los λi,k para todos los ıtems del usuario 1.
Tabla 3.3: Comparacion de algoritmos modelo NNMF y la propuesta desarrollada
Algoritmo original Algoritmo escalado
ModeloMatrizFactorizacion(r+u,i,r−u,i)
Inicializar aleatoriamente γu,kInicializar aleatoriamente ε+i,kInicializar aleatoriamente ε−i,kRepetir contador = 1,...,iteraciones:
Por cada usuario u:
Por cada ıtem i votado por usuario u:
Por cada factor k: actualizar λu,i,k con la ecuacion (2.21)
Por cada usuario u:
Por cada factor k: actualizar γu,k con la ecuacion (2.25)
Por cada ıtem i votado por usuario u:
Por cada factor k: actualizar ε+i,k con la ecuacion (2.26)
Por cada factor k: actualizar ε−i,k con la ecuacion (2.27)
Calcular au,k con la ecuacion (2.28)
Calcular bk,i con la ecuacion (2.29)
Calcular la probabilidad de que al usuario u le guste el ıtem i (pu,i) con
la ecuacion (2.30)
Calcular el voto no normalizado qu,i con la ecuacion (2.31)
ModeloMatrizFactorizacion(votos normalizados: r∗u,i)
Inicializar aleatoriamente γu,kInicializar aleatoriamente ε+i,kInicializar aleatoriamente ε−i,kRepetir contador = 1,...,iteraciones:
Por cada usuario u:
Por cada ıtem i votado por usuario u:
Por cada factor k:
actualizar λi,k con la ecuacion (3.1)
si γu,k=0 entonces: γu,k=α
actualizar γu,k con la ecuacion (3.2)
si ε+i,k=0 entonces: ε+i,k=β y ε−i,k=β
actualizar ε+i,k con la ecuacion (3.3)
actualizar ε−i,k con la ecuacion (3.4)
Calcular au,k con la ecuacion (2.28)
Calcular bk,i con la ecuacion (2.29)
Calcular la probabilidad de que al usuario u le guste el item i pu,i con
la ecuacion (2.30)
Calcular el voto no normalizado qu,i con la ecuacion (2.31)
3.2.2. Tecnica Baseline Predictors
Tomando como referencia a [2], una prediccion baseline para un voto desconocido viene dada por:
bui=µ+bu+bi (3.5)
Donde:
bi=
∑u∈R(i)(ru,i−µ)
λ1+|R(i)|(3.6)
bu=
∑i∈R(u)(ru,i−µ−bi)λ2+|R(u)|
(3.7)
ρui=ru,i+(µ+bu+bi)
2(3.8)
µ es el promedio total o media global de los votos del usuario. Los parametros bi y bu indican
las desviaciones observadas de un ıtem i y un usuario u, respectivamente, del promedio. En las
ecuaciones, R(u) representa los votos de un usuario y R(i) los votos por un ıtem especıfico. λ1 y λ2son unos parametros de regularizacion. En nuestro caso, estos parametros se han determinado segun
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
54 CAPITULO 3. TECNICAS HIBRIDAS
lo sugerido en [2] con los valores de λ1=25 y λ2=100. El presente trabajo utiliza estos baseline
predictors como una fase previa del modelo [1] que ajusta los votos conocidos de los usuarios.
Siguiendo esta tecnica, el proceso de ponderacion de votos de las ecuaciones 2.23 y 2.24 es reem-
plazado por:
Calcular la prediccion inicial bui con las ecuaciones (3.5), (3.6) y (3.7)
Ajustar los votos conocidos mediante la ecuacion (3.8)
Los votos no conocidos toman el valor de las predicciones bu,i, de tal manera que:
{ru,i=bu,i|ru,i=•}ρu,i={ru,i−1}r+u,i=ρu,i
r−u,i=R−ρu,i
En la figura 3.9 se puede ver que la tecnica no aporta informacion para que el sistema aprenda mejor,
el promedio del MAE para los veinte conjuntos de entrenamiento esta alrededor de 0.6858, por lo
tanto esta tecnica no mejora la prediccion al compararla con la curva de aprendizaje promedio del
modelo NNMF de la figura 3.10.
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103109115121127133139145151157163169
MA
E
Iteraciones
Dataset1 Dataset2 Dataset3 Dataset4 Dataset5 Dataset6
Figura 3.9: Curvas de aprendizaje del modelo NNMF con Baseline Predictors
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 55
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
0.77
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 145 151 157 163 169
MA
E
Iteraciones
NNMF Baseline Predictors
Figura 3.10: Curvas de aprendizaje promedio NNMF vs. NNMF con Baseline Predictors
3.2.3. Tecnica Significancias
De acuerdo con [3], se considera oportuno calcular las significancias de los votos para ajustar los
votos con el fin de mejorar las predicciones. El principio del uso de significancias es que existen
votos mas significantes y otros menos significantes para el entrenamiento. La intuicion del trabajo
consiste en ajustar los votos de acuerdo a su significancia para aportar un mejor conocimiento al
sistema de recomendacion.
Sea Ai={u∈U|ru,i 6=•} el conjunto de usuarios que votaron el ıtem i, se define la significancia
de un ıtem segun la siguiente expresion:
Si=
(1
#Ai
)(#Ai#U
)=
∑u∈Ai
r∗u,i#U
, r∗u,i∈ [0,1], Si∈ [0,1] (3.9)
Sea Du={i∈I|ru,i∈V } el conjunto de ıtems que el usuario u ha votado con valores relevantes.
V ={4,5}
Sea Eu={i∈I|ru,i∈V c} el conjunto de ıtems que el usuario u ha votado con valores no relevantes.
V c={1,2,3}
Su=
(1− #Du
#Du+#Eu
)(#Du+#Eu
#I
), Su∈ [0,1] (3.10)
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
56 CAPITULO 3. TECNICAS HIBRIDAS
De esta manera se ajustan los votos conocidos con las significancias mediante las ecuaciones (3.11)
y (3.12) para los votos relevantes y no relevantes, respectivamente ru,i∈V .
ru,i∈V, ru,i=(R+1)
(ru,iR+1
−Si∗Su)
(3.11)
ru,i∈V c, ru,i=(R+1)
(ru,iR+1
+Si∗Su)
(3.12)
Es importante mencionar que al modificar el ru,i, los parametros r+u,i y r−u,i son directamente afectados
puesto que los mismos son obtenidos a partir de las ecuaciones:
ρu,i={ru,i−1}
r+u,i=ρ
r−u,i=R−ρ
Siguiendo esta tecnica, el proceso de ponderacion de votos de las ecuaciones 2.23 y 2.24 es reem-
plazado por:
Calcular las significancias de los ıtems Si y de los usuarios Sumediante las ecuaciones (3.9) y
(3.10), respectivamente.
Ajustar los votos conocidos mediante las ecuaciones (3.11) y (3.12).
En la tabla 3.6 resulta evidente la presencia de una gran cantidad de ceros, por ello en el enfoque
no se utilizo el Sui.
En la figura 3.11 se presentan las curvas de aprendizaje de los primeros seis datasets a modo de
ilustracion, es evidente que las significancias tienen influencia en el resultado final del MAE, ya sea
positiva o negativamente, en la tabla 3.4 se puede constatar que en algunos casos las significancias
(NNMFwS1) mejoran la prediccion del modelo NNMF, pero en otros casos lo empeoran, en la
figura 3.12 es posible comparar las curvas de aprendizaje promedio del modelo NNMF frente a su
modificacion con significancias.
1NNMFwS: NNMF with Significances - NNMF con Significancias
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 57
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106113120127134141148155162169
MA
E
Iteraciones
Dataset1 Dataset2 Dataset3
Dataset4 Dataset5 Dataset6
Figura 3.11: Curvas de aprendizaje del modelo NNMF con Significancias
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
0.77
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 145 151 157 163 169
MA
E
Iteraciones
NNMF Significancias
Figura 3.12: Curvas de aprendizaje promedio del modelo NNMF vs NNMFwS
Tabla 3.4: Diferencia del MAE entre el modelo NNMF y NNMFwS
Dataset 1 Dataset 2 Dataset 3 Dataset 4 Dataset 5 Dataset 6 Dataset 7 Dataset 8
MAE NNMF 0.6628 0.6633 0.6648 0.6655 0.6675 0.665 0.6674 0.6611
MAE NNMFwS 0.6607 0.6622 0.6658 0.6691 0.6668 0.6655 0.6671 0.6603
Diferencia 0.0021 0.0011 -0.001 -0.0036 0.0007 -0.0005 0.0003 0.0008
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
58 CAPITULO 3. TECNICAS HIBRIDAS
Los resultados de la tabla 3.4 indican que la diferencia del MAE entre los conjuntos puede llegar
a ser importante (resultados de color azul) y en otros casos puede llegar a ser perjudicial (resultados
de color rojo).
En la tabla 3.5 se realiza un analisis del comportamiento de las significancias, el ejemplo desde el
usuario u1 al u11 y desde el ıtem i1 al i15 son tomados de [1], se han agregado los usuarios del u12al u17 y los ıtems del i16 al i19 para ejemplificar el comportamiento de las significancias. Es evidente
que el parametro Su tiene una relacion lineal con los votos irrelevantes, es decir mientras mas votos
irrelevantes tenga el usuario la significancia para recomendar a otro usuario Su tiende a uno (u13),
si un usuario tiene solo votos positivos la significancia para recomendar a otro usuario Su es cero
(u12), lo cual vuelve cero al valor de Su,i. En el caso de la significancia de los ıtems mientras un ıtem
es votado por todos los usuarios positivamente el valor de Si tiende a uno y si un ıtem tiende a tener
pocos votos o todos los votos negativos el valor de Si tiende a cero.
Tabla 3.5: Datatoy 3
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19 #Du #Eu Su
u1 5 5 5 5 5 • 1 • • • 1 • • • • • • 5 1 6 3 0.1578
u2 5 5 5 5 5 • • 1 • • • • • • • • • 5 1 6 2 0.1052
u3 5 5 • 5 5 • • • • • • 3 • • • • • 5 1 5 2 0.1052
u4 • • 1 • • 5 5 5 5 5 • 1 • 2 • • • 5 1 6 4 0.2105
u5 • 3 • • 2 5 5 • 5 5 • 2 • 4 • • • 5 1 6 4 0.2105
u6 • 1 • • • 5 5 5 5 5 • • • • • • • 5 1 6 2 0.1052
u7 • • • 4 • • • • 1 • 5 4 5 5 5 • • 5 1 7 2 0.1052
u8 • 1 • • • • 4 • • • 5 5 5 4 5 • • 5 1 7 2 0.1052
u9 • • • • • 3 • • 3 • 5 4 5 5 5 • • 5 1 6 3 0.1578
u10 5 2 5 2 5 1 5 2 1 5 • • • • • • • 5 1 6 6 0.3157
u11 • 1 • • • 5 5 5 5 5 • • 5 • • • • 5 1 7 2 0.1052
u12 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 19 0 0
u13 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 19 1
u14 • 3 • 3 • 3 • 3 • 3 • 3 • 3 • 3 • 3 3 0 10 0.5263
u15 5 • • • • 5 • • • • • 1 1 1 1 5 5 • • 4 4 0.2105
u16 1 • 4 • 2 • 5 • 1 • 5 • • • • • • • • 3 3 0.1578
u17 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 5 4 3 5 9 10 0.5263
#Ai= 9 12 8 9 9 11 11 9 11 9 8 11 8 10 7 5 4 15 15
Si= 0.4 0.4 0.3 0.4 0.4 0.5 0.5 0.4 0.4 0.4 0.4 0.4 0.4 0.4 0.3 0.2 0.2 0.8 0.3
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 59
Tabla 3.6: Significancias Su,i del datatoy 3
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15 i16 i17 i18 i19
u1 0.1 0.1 0.1 0.1 0.1 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0
u2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0
u3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0
u4 0 0 0 0 0 0.1 0.1 0.1 0.1 0.1 0 0 0 0 0 0 0 0.2 0
u5 0 0.1 0 0 0 0.1 0.1 0 0.1 0.1 0 0 0 0.1 0 0 0 0.2 0
u6 0 0 0 0 0 0.1 0.1 0 0 0 0 0 0 0 0 0 0 0.1 0
u7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0
u8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0
u9 0 0 0 0 0 0 0 0 0 0 0.1 0 0.1 0.1 0 0 0 0.1 0
u10 0.1 0.1 0.1 0 0.1 0 0.2 0 0 0.1 0 0 0 0 0 0 0 0.2 0
u11 0 0 0 0 0 0.1 0.1 0 0 0 0 0 0 0 0 0 0 0.1 0
u12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
u13 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.04 0 0.2 0.1
u14 0 0.1 0 0.1 0 0.2 0 0.1 0 0.1 0 0.1 0 0.1 0 0.07 0 0.2 0.1
u15 0.1 0 0 0 0 0.1 0 0 0 0 0 0 0 0 0 0.05 0 0 0
u16 0 0 0 0 0 0 0.1 0 0 0 0.1 0 0 0 0 0 0 0 0
u17 0.2 0.2 0.1 0.1 0 0.3 0.2 0.1 0.1 0 0.2 0.2 0.1 0.1 0 0.12 0.1 0.2 0.2
Resulta evidente que el uso de significancias (Su, Si y Sui) tienen un grado de incertidumbre, por lo
tanto el estudio de significancias se oriento al campo de la logica difusa para complementarlo como
se discute en la siguiente seccion.
3.2.4. Tecnica con Logica Difusa
Esta tecnica hace uso de la teorıa de conjuntos borrosos o difusos [45] para la representacion de
procesos de inferencia, desconociendo a priori los grados de verdad de las premisas, considerando
la incertidumbre y la ambiguedad. Es decir partiendo de informacion imprecisa se definen conjuntos
borrosos para combinar reglas que permiten definir las salidas.
Los conjuntos difusos parten de la teorıa clasica de conjuntos. Para cada conjunto se define una
funcion de pertenencia que indica el grado en el que la variable en cuestion esta contenida en el
concepto o etiqueta linguıstica.
Puesto que el modelo NNMF divide la matriz de votosM en dos matrices r+u,i y r−u,i que reflejan
la importancia de los votos positivos y negativos se procedio a obtener las significancias del usuario
para recomendar a otros usuarios (Su) de cada una de ellas bajo las siguientes consideraciones:
1. Puesto queR tiene un valor de 4, los votos relevantes para la matriz r+u,i pasan a ser {3,4} y los
votos irrelevantes {0,1,2}. De esta manera se calculan las significancias de r+u,i y se obtiene S+u .
2. En el caso de r−u,i, los votos relevantes son {2,3,4} y los votos irrelevantes {0,1}. De esta manera
se calculan las significancias de r−u,i y se obtiene S−u .
3. La significancia total se obtiene mediante la ecuacion:
S+−u =S+
u ∗S−u , 0≤S+−u ≤0,25
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
60 CAPITULO 3. TECNICAS HIBRIDAS
4. Puesto que los valores de significancias tienden a cero en su gran mayorıa, se normalizo la salida
S+−NORMu
=S+−u
(max(S+−u )−min(S+−
u ))(3.13)
S+−NORMu
en el modelo difuso de la figura 3.13 esta representado por la etiqueta linguıstica “Signifi-
cancia”que servira de entrada al modelo, para lo cual se definio el conjunto borroso de la figura 3.14:
Figura 3.13: Modelo Difuso
Figura 3.14: Conjunto Borroso
Las funciones de pertenencia son de tipo trapezoidal para la etiqueta linguıstica “Significancia”:
TodoIgualPoco: Esta funcion de pertenencia es para todos los usuarios cuya significancia es muy
pequena, debido a que todo los votos (sin importar la cantidad) son exactamente iguales o porque
tienen muy pocos votos realizados.
PocoVariado: Identifica los usuarios que votan poco pero sus votos son variados entre relevantes,
irrelevantes e indifererentes.
MedioVariado: Esta funcion de pertenencia es para los usuarios que son activos en el sistema de
recomendacion, ademas sus votos son variados.
MuchoVariado: Finalmente existe un grupo de usuarios que votan constantemente, los votos varıan
entre relevantes, irrelevantes e indiferentes.
Las reglas que se aplican para determinar la salida son:
1. Si Significancia es TodoIgualPoco entonces salida es irrelevante
2. Si Significancia esMedioV aridado entonces salida es relevante
3. Si Significancia esMuchoV ariado entonces salida es relevante
4. Si Significancia es PocoV ariado entonces salida es indiferente
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 61
La salida del sistema difuso esta determinado por la funcion sugeno en el rango de [0,1] que permite
determinar tres tipos de usuarios: a) relevantes, b) indiferentes y c) irrelevantes. El modelo NNMF
con significancias toma la salida del sistema difuso y de acuerdo al valor de la misma compensa
el parametro γu,k de tal manera que los grupos de usuarios empiezan a conformarse segun el nivel
de significancia:
Si salida>umbral1 and k=0
γu,k=Diritchlet(k,α)+ salida2
Caso contrario si salida>umbral2 and k=1
γu,k=Diritchlet(k,α)+ salida2
Caso contrario
γu,k=Diritchlet(k,α)−0,001
Donde umbral1 = 0,6 y umbral2 = 0,4. Estos valores se han determinado mediante cross-
validation.
Dirichlet es la funcion que genera un valor aleatorio de acuerdo a una distribucion de probabilidad
de Dirichlet.
En la figura 3.15 se presenta las curvas de aprendizaje del modelo NNMF con Logica Difusa, se
puede resaltar que el sistema aprende mejor en las primeras iteraciones puesto que la curva desciende
rapidamente, sin embargo el modelo de Hernando et al. mantiene la logica de agrupacion segun los
votos ru,i de la matrizM, situacion que se refleja en la curva de aprendizaje, debido a que el sistema
deja de aprender a la misma velocidad.
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103109115121127133139145151157163169
MA
E
Iteraciones
Dataset1 Dataset2 Dataset3 Dataset4 Dataset5 Dataset6
Figura 3.15: Curvas de aprendizaje del modelo NNMF con Logica Difusa
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
62 CAPITULO 3. TECNICAS HIBRIDAS
Al comparar las curvas de aprendizaje promedio del modelo NNMF frente a su incorporacion con
significancias (figura 3.16) es evidente el acelerado aprendizaje que la tecnica presenta al inicio del
entrenamiento, cuya justificacion se basa en la modificacion del agrupamiento de los usuarios, si bien
la tecnica no presenta una mejora importante en la calidad de la prediccion, brinda evidencia suficiente
para implementar un pre-clustering que facilite el aprendizaje y por tanto la mejora del MAE.
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
0.77
1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 139 145 151 157 163 169
MA
E
Iteraciones
NNMF Lógica Difusa
Figura 3.16: Curvas de aprendizaje promedio del modelo NNMF vs NNMF con Logica Difusa
3.2.5. Tecnica Pre-clustering-MJD
En la seccion 2.2.4 se menciono que los sistemas basados en modelos necesitan una fase de apren-
dizaje costosa que debe ser ejecutada cada cierto intervalo de tiempo en las aplicaciones comerciales,
por lo tanto, un desafıo o area de oportunidad de [1] es optimizar esa fase de aprendizaje.
El modelo de Hernando et al. [1] indica que γu,k es la probabilidad de que un usuario pertenezca a un
grupo k, ε+i,k es la probabilidad de que a un grupo le guste un ıtem i y ε−i,k es su representacion negativa.
Por tanto, una area de oportunidad es definir estas probabilidades en funcion del conocimiento (gustos
de los usuarios) de la base de datos.
En este apartado se describe una tecnica que realiza un agrupamiento de usuarios previo al algoritmo
NNMF optimizado. Esta tecnica denominada en este trabajo Pre-clustering-MJD es una tecnica que
descubre grupos de usuarios basandose en similaridades aplicando la metrica MJD (Mean-Jaccard-
Differences) tomada de [10]. Con esta tecnica el algoritmo NNMF [1] agrupa con mayor precision
a los usuarios, acelera su fase de aprendizaje y logra mejores predicciones.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 63
3.2.5.1. Proceso general
Al inicio de la fase de aprendizaje se realiza un proceso pre-clustering que agrupa usuarios de
acuerdo a su similaridad y con ello determina (descubre) el numero de grupos K (la cantidad
de factores latentes para el modelo). El grado de similaridad (umbral) necesario para incluir dos
usuarios en un grupo se ha determinado mediante cross-validation, el valor de este umbral (UM)
es 1.41. Basta con que cada uno de los usuarios haya sido asignado a un grupo, para que el proceso
de pre-clustering finalice. De esta manera se evita un overfitting.
Luego, en el modelo probabilıstico Bayesiano en lugar de que los ıtems sean inicialmente asignados
aleatoriamente a K factores latentes, los componentes ε+i,k y ε−i,k son calculados en funcion de
los gustos de los grupos de usuarios descubiertos en el pre-clustering. En otras palabras, con los
votos de los usuarios pertenecientes a un grupo k sobre un mismo ıtem i se calcula el grado de
pertenencia del grupo k a dicho ıtem, obteniendose los componentes ε+i,k y ε−i,k correspondientes,
lo que afectara posteriormente a los componentes γu,k.
En consecuencia, en la primera iteracion del modelo NNMF se obtiene con mayor precision:
• la probabilidad de que un usuario pertenezca a un grupo en (au,k)
• la probabilidad de que a un grupo le guste un ıtem en (bk,i)
Despues se sigue el proceso iterativo del algoritmo optimizado del modelo de [1] que lleva a
cabo la siguiente parte del aprendizaje. El proceso NNMF realiza el clustering permitiendo un
solapamiento, es decir que un usuario pertenezca a varios grupos. Mas adelante se demuestra que
la tecnica Pre-Clustering-MJD acelera el aprendizaje de NNMF en comparacion a [1] por sı solo.
3.2.5.2. Algoritmo Pre-clustering-MJD con NNMF
Pre-clustering-MJD−−→KU //vector que indica el grupo k al cual pertenece el usuario u
UM=1,41 //grado de similaridad necesario para agrupar usuarios
Por cada usuario u:
Por cada usuario v | v 6=u:
Si usuario v no ha sido asignado a un grupo:
Calcular similaridad MJD entre el usuario u y el usuario v
Si la similaridad es alta (supera valor umbral):
Si usuario u no ha sido asignado a un grupo:
Crear nuevo grupo: nuevoGrupo
KUu=nuevoGrupo
KUv=nuevoGrupo
Si todos los usuarios v han sido asignados a un grupo: termina pre-clustering
K=nuevoGrupo //su valor final determina la cantidad de grupos
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
64 CAPITULO 3. TECNICAS HIBRIDAS
Inicializacion de componentes γu,k, ε+i,k y ε−i,kPor cada usuario u:
Por cada factor k: actualizar γu,k con la ecuacion (2.25)
Por cada ıtem i votado por el usuario u en el conjunto de entrenamiento:
Por cada usuario u:
actualizar ε+i,KUucon la ecuacion (3.14)
actualizar ε−i,KUucon la ecuacion (3.15)
Por cada factor k:
actualizar ε+i,k con la ecuacion (3.16)
actualizar ε−i,k con la ecuacion (3.17)
ε+i,KUu=ε+i,KUu
+r+u,i (3.14)
ε−i,KUu=ε−i,KUu
+r−u,i (3.15)
ε+i,k=ε+i,k+β (3.16)
ε−i,k=ε−i,k+β (3.17)
Proceso iterativo NNMF
Repetir contador = 1,...,iteraciones (o hasta que los cambios no sean significantes):
Por cada usuario u:
Por cada ıtem i votado por usuario u en el conjunto de entrenamiento:
Por cada factor k:
actualizar λi,k con la ecuacion (3.1)
si γu,k=0 entonces: γu,k=α
actualizar γu,k con la ecuacion (3.2)
si ε+i,k=0 entonces: ε+i,k=β y ε−i,k=β
actualizar ε+i,k con la ecuacion (3.3)
actualizar ε−i,k con la ecuacion (3.4)
Calculo de predicciones
Calcular au,k con la ecuacion (2.28)
Calcular bk,i con la ecuacion (2.29)
Calcular la probabilidad de que al usuario u le guste el item i pu,i con la ecuacion (2.30)
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 65
Calcular el voto no normalizado qu,i con la ecuacion (2.31)
3.2.5.3. Experimentos y resultados
En esta seccion se presentan los experimentos y resultados con los conjuntos de datos: Datatoy2
y MovieLens 1M.
Ejemplo con Datatoy 2 A continuacion se presenta la aplicacion de la tecnica Pre-clustering-MJD
al datatoy2 de la investigacion. En la tabla 3.7 se pueden apreciar los resultados del siguiente pro-
ceso:
Primeramente se toma como referencia el primer usuario, se calcula la similaridad MJD entre el
usuario u1 y los demas usuarios. Los usuarios que alcanzan el umbral=1,41 son agrupados en
el grupo 1.
Se identifica que hay usuarios sin asignar a un grupo, por lo tanto se toma como referencia el
primer usuario sin asignar, en este caso u4. Se calcula la similaridad MJD entre el usuario u4 y
los demas usuarios que no han sido asignados a un grupo. Los usuarios que alcanzan el umbral
son agrupados en el grupo 2.
Se identifica que hay usuarios sin asignar a un grupo, por lo tanto se toma como referencia el
primer usuario sin asignar, en este caso u7. Se calcula la similaridad MJD entre el usuario u7 y
los demas usuarios que no han sido asignados a un grupo. Los usuarios que alcanzan el umbral
son agrupados en el grupo 3. Hay que notar que en esta tecnica no se identifica un solapamiento
para evitar un overfitting y para permitir que el modelo NNMF sea el que se encargue de aprender
el solapamiento. Esto se refleja al final de la fase de aprendizaje del modelo, tal como se muestra
en los resultados de la tabla 3.8, en donde se observa que el u10 pertenece al grupo 1 y al grupo
2 con diferente grado de pertenencia.
Se identifica que todos los usuarios han sido asignados a uno de los grupos y el proceso termina,
quedando listo el vector−−→KU (indica el grupo al cual pertenece cada usuario) para los siguientes
pasos del algoritmo Pre-clustering-MJD y posteriormente del modelo NNMF.
Al comparar los componentes au,k (tabla 2.15) y bk,i (tabla 2.16) resultados del modelo NNMF
por sı solo, con los componentes resultados al aplicar la tecnica Pre-clustering-MJD (de las tablas
3.8 y 3.9) se puede notar que la tecnica hıbrida desarrollada justifica con mayor precision el grado
de pertenencia de un usuario a uno o varios grupos au,k y el grado de probabilidad que a un grupo
le guste un ıtem especıfico bk,i. En los resultados se puede apreciar que en varios entrenamientos
para el mismo conjunto datatoy2, los componentes au,k y bk,i despues de la fase de aprendizaje son
los mismos, debido a que el conjunto es muy pequeno y hay una gran precision de agrupamiento.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
66 CAPITULO 3. TECNICAS HIBRIDAS
Tabla 3.7: Ejemplo proceso pre-clustering
IDU
suar
io
Sim
MJD
nuev
oGru
po=1
Sim
MJD
nuev
oGru
po=2
Sim
MJD
nuev
oGru
po=3
KU
u1 • 1 1 1
u2 1.92 1 1 1
u3 1.88 1 1 1
u4 -0.17 0 • 2 2
u5 0.43 0 1.71 2 2
u6 -0.16 0 1.9 2 2
u7 0.73 0 0.09 0 • 3 3
u8 0.1 0 0.68 0 1.9 3 3
u9 0.02 0 0.63 0 1.81 3 3
u10 1.61 1 1 1
u11 -0.16 0 1.88 2 2
Tabla 3.8: Comparacion de factores au,k para el datatoy2 con Pre-Clustering MJD
Entrenamiento 1 Entrenamiento 2 Entrenamiento 3 Entrenamiento 4 Entrenamiento 5
F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3
u1 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01
u2 0.97 0.02 0.02 0.97 0.02 0.02 0.97 0.02 0.02 0.97 0.02 0.02 0.97 0.02 0.02
u3 0.96 0.02 0.02 0.96 0.02 0.02 0.96 0.02 0.02 0.96 0.02 0.02 0.96 0.02 0.02
u4 0.01 0.98 0.01 0.01 0.98 0.01 0.01 0.98 0.01 0.01 0.98 0.01 0.01 0.98 0.01
u5 0.01 0.98 0.01 0.01 0.98 0.01 0.01 0.98 0.01 0.01 0.98 0.01 0.01 0.98 0.01
u6 0.02 0.97 0.02 0.02 0.97 0.02 0.02 0.97 0.02 0.02 0.97 0.02 0.02 0.97 0.02
u7 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97u8 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97u9 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97u10 0.88 0.11 0.01 0.88 0.11 0.01 0.88 0.11 0.01 0.88 0.11 0.01 0.88 0.11 0.01
u11 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01 0.01 0.97 0.01
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.2. DESARROLLO Y DESCRIPCION DE LAS TECNICAS 67
Tabla 3.9: Comparacion de factores bk,i para el datatoy2 con Pre-Clustering-MJD
i1 i2 i3 i4 i5 i6 i7 i8 i9 i10 i11 i12 i13 i14 i15
Entrenamiento 1
F1 0.86 0.86 0.83 0.86 0.86 0.3 0.35 0.29 0.3 0.68 0.3 0.5 0.5 0.5 0.5
F2 0.5 0.28 0.3 0.5 0.4 0.86 0.88 0.83 0.86 0.87 0.5 0.29 0.7 0.5 0.5
F3 0.5 0.3 0.5 0.6 0.5 0.5 0.6 0.5 0.36 0.5 0.83 0.72 0.83 0.78 0.83
Entrenamiento 2
F1 0.86 0.86 0.83 0.86 0.86 0.3 0.34 0.29 0.3 0.67 0.3 0.5 0.5 0.5 0.5
F2 0.5 0.28 0.3 0.5 0.4 0.86 0.88 0.83 0.86 0.87 0.5 0.29 0.7 0.5 0.5
F3 0.5 0.3 0.5 0.6 0.5 0.5 0.6 0.5 0.36 0.5 0.83 0.72 0.83 0.78 0.83
Entrenamiento 3
F1 0.86 0.86 0.83 0.86 0.86 0.3 0.35 0.29 0.3 0.67 0.3 0.5 0.5 0.5 0.5
F2 0.5 0.28 0.3 0.5 0.4 0.86 0.88 0.83 0.86 0.87 0.5 0.29 0.7 0.5 0.5
F3 0.5 0.3 0.5 0.6 0.5 0.5 0.6 0.5 0.36 0.5 0.83 0.72 0.83 0.78 0.83
Entrenamiento 4
F1 0.86 0.86 0.83 0.86 0.86 0.3 0.34 0.29 0.3 0.67 0.3 0.5 0.5 0.5 0.5
F2 0.5 0.28 0.3 0.5 0.4 0.86 0.88 0.83 0.86 0.87 0.5 0.29 0.7 0.5 0.5
F3 0.5 0.3 0.5 0.6 0.5 0.5 0.6 0.5 0.36 0.5 0.83 0.72 0.83 0.78 0.83
Entrenamiento 5
F1 0.86 0.86 0.83 0.86 0.86 0.3 0.34 0.29 0.3 0.67 0.3 0.5 0.5 0.5 0.5
F2 0.5 0.28 0.3 0.5 0.4 0.86 0.88 0.83 0.86 0.87 0.5 0.29 0.7 0.5 0.5
F3 0.5 0.3 0.5 0.6 0.5 0.5 0.6 0.5 0.36 0.5 0.83 0.72 0.83 0.78 0.83
Experimentos y resultados con MovieLens 1M A continuacion se presentan en la figura 3.17
los mismos seis conjuntos de datos seleccionados en esta investigacion para la exposicion de las
curvas de aprendizaje, en esta caso aplicando la tecnica Pre-clustering-MJD en la base de datos
MovieLens 1M. Hay que destacar que el mejor MAE corresponde al dataset 1 con un valor de 0.659
y el peor MAE es alcanzado por el dataset 5 con un valor de 0.664. Mientras que el MAE alcanzado
por [1] es 0.662 para el dataset 1 y 0.667 para el dataset 5.
La tecnica Pre-clustering-MJD escala muy bien, el algoritmo tiene en principio una complejidad
O(n2) (siendo n el numero de usuarios), sin embargo cuando el algoritmo identifica que todos los
usuarios han sido asignados a uno de los K grupos, el proceso pre-clustering termina antes de recorrer
todos los usuarios u, es decir, que se necesitan un maximo deK recorridos al conjunto de usuarios.
De esta manera la complejidad serıaO(nK). Sin embargo, en cada recorrido solamente se calculan
las similaridades de los usuarios que no han sido asignados a un grupo, lo que reduce el computo
a medida que se van agrupando los usuarios. Por lo tanto, la complejidad del algoritmo en el peor
de los casos es O(nK) y O(n) en el mejor de los casos (todos los usuarios son similares). En el caso
de que todos los usuarios sean completamente diferentes, la complejidad serıaO(n2), sin embargo
el valor del umbral ha sido determinado de tal manera que siempre haya un agrupamiento de usuarios,
a pesar de tener bases de datos con gran esparcimiento y escasez de votos.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
68 CAPITULO 3. TECNICAS HIBRIDAS
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
0.77
0.78
0.79
1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101
106
111
116
121
126
131
136
141
146
151
156
161
166
MA
E
Iteraciones
dataset1 dataset2 dataset3 dataset4 dataset5 dataset6
Figura 3.17: Curvas de aprendizaje del modelo NNMF con la tecnica Pre-Clustering MJD
En la figura 3.18 se puede comparar las curvas de aprendizaje promedio del modelo NNMF
frente a su incorporacion con la tecnica pre-clustering-MJD, es notorio que existe una ligera mejorıa
en las predicciones con una aprendizaje acelerado.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
3.3. CONSOLIDACION DE RESULTADOS 69
0.65
0.66
0.67
0.68
0.69
0.7
0.71
0.72
0.73
0.74
0.75
0.76
0.77
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106113120127134141148155162169176183190197
MA
E
Iteraciones
NNMF Pre-Clustering MJD
Figura 3.18: Curvas de aprendizaje promedio del modelo NNMF vs NNMF con la tecnica Pre-Clustering MJD
3.3. Consolidacion de Resultados
Para demostrar la mejora de la calidad de predicciones se utiliza el accuracy con la metrica
MAE segun la ecuacion 2.9, adaptada al conjunto de datos de test segun la ecuacion 3.18.
MAE=
∑(u,i)∈T |ru,i−qu,i||T |
(3.18)
Donde T es el conjunto de testing, |T | es su cardinalidad, ru,i es el voto real en testing y qu,ies la prediccion del voto obtenida luego del entrenamiento.
Los resultados de la tabla 3.10 consolidan el promedio de los veinte conjuntos de test:
Tabla 3.10: Accuracy de las predicciones
Tecnica MAE MovieLens 1M
Non Negative Matrix factorization (NNMF) [1] 0.664
NNMF replica 0.6647
NNMF con baseline predictors 0.6858
NNMF con significances (NNMFwS) 0.6650
NNMF con Logica Difusa 0.6643
NNMF con Pre-clustering MJD 0.6614
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid
70 CAPITULO 3. TECNICAS HIBRIDAS
Finalmente en la figura 3.19 se aprecia las curvas de aprendizaje promedio de los veinte
conjuntos de test.
0.650.660.670.680.690.7
0.710.720.730.740.750.760.77
1 8 15 22 29 36 43 50 57 64 71 78 85 92 99 106
113
120
127
134
141
148
155
162
169
176
183
190
197
MA
E
Iteraciones
NNMF Baseline Predictors Significancias
Lógica Difusa Pre-Clustering MJD
Figura 3.19: Curvas de aprendizaje NNMF vs. Tecnicas hıbridas
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
Capıtulo 4
Conclusiones y futuras lıneas de investigacion
Conclusiones
En este trabajo se presento la incorporacion de tecnicas hıbridas al modelo Non Negative
Matrix Factorization para filtrado colaborativo basado en un modelo probabilıstico Bayesiano
para mejorar la calidad de las predicciones preservando las propiedades del modelo NNMF. La
tecnica Pre-clustering-MJD provee importantes ventajas frente al modelo NNMF: Un aprendizaje
mas eficiente permitiendo que se escale mejor en tiempo y espacio, los resutados de los experimentos
muestran una leve mejora en la calidad de las predicciones haciendo a nuestra tecnica competitiva
frente al modelo NNMF en terminos de accuracy.
De acuerdo a [13] las caracterısticas de las tecnicas de sistemas de recomendacion desarrolladas
en este trabajo son:
1. Tipos de datos en BD: matriz de votos
2. Algoritmo de filtrado: filtrado colaborativo
3. Modelo: Enfoque hıbrido, basado en memoria y basado en modelo.
4. Tecnicas implementadas: tecnicas hıbridas
Tecnicas de interaccion usuario-ıtem: baseline predictors y significancias
Logica difusa con significancias
Pre-clustering-MJD: pre-cluster basado en similaridades usando metrica MJD [10]
Non Negative Matrix Factorization (NNMF) basado en un modelo probabilıstico bayesiano [1]
5. Nivel de escasez de la BD y escalabilidad deseada: MovieLens 1M (alto esparcimiento y escasez
de votos), se requiere alta escalabilidad.
6. Rendimiento del sistema (de la tecnica mas relevante del trabajo): La complejidad de Pre-clustering-
MJD es O(nK), donde n es la cantidad de usuarios y K es la cantidad de grupos. La siguiente
parte del aprendizaje es similar al modelo NNMF, no se necesitan calcular todos los terminos
de la ecuacion 2.30, ni todos los valores del vector ~au, por lo tanto es mas rapido que la clasica
Matrix Factorization[5]. Las curvas de aprendizaje de la figura 3.19 demuestran que el algoritmo
NNMF con la ayuda de la tecnica Pre-clustering-MJD requiere mucho menos iteraciones y por
lo tanto mucho menos operaciones para culminar la fase de aprendizaje.
71
72 CAPITULO 4. CONCLUSIONES Y FUTURAS LINEAS DE INVESTIGACION
7. Objetivo conseguido: Pre-clustering-MJD genera una mejor calidad de predicciones que NNMF
en terminos de accuracy (MAE).
Futuras lıneas de investigacion
Las recomendaciones para grupos de usuarios constituyen en la actualidad un importante campo
de desarrollo cientıfico, varios estudios [26, 33, 46] resaltan la popularidad de los sistemas de
recomendacion grupales debido al incremento de usuarios en la web social, sobre todo en areas
como turismo, entretenimiento y la web que involucra a grupos de usuarios. Los metodos mas
populares de recomendacion grupal son aquellos basados en al algoritmo KNN para filtrado
colaborativo combinando tecnicas hıbridas.
Desarrollar sistemas de recomendacion hıbridos basados en contenidos y en filtrado colaborativo
usando Matriz Factorization.
Desarrollar sistemas de recomendacion hıbridos tomando en cuenta informacion social usando
Matriz Factorization.
Desarrollar tecnicas de sistemas de recomendacion que permitan un mejor clustering de usua-
rios.
Desarrollar tecnicas de sistemas de recomendacion que permitan un clustering de ıtems.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
Bibliografıa
[1] A. Hernando, J. Bobadilla, and F. Ortega, “A non negative matrix factorization for collaborative filtering
recommender systems based on a bayesian probabilistic model,” Knowledge-Based Systems, vol. 97,
pp. 188–202, 2016.
[2] Y. Koren, “The bellkor solution to the netflix grand prize,” Netflix prize documentation, no. August,
pp. 1–10, 2009.
[3] J. Bobadilla, A. Hernando, F. Ortega, and A. Gutierrez, “Collaborative filtering based on significances,”
Information Sciences, vol. 185, no. 1, pp. 1–17, 2012.
[4] F. Ricci, L. Rokach, and B. Shapira, eds., Advances in collaborative Filtering, ch. 3, pp. 77–118. Springer
US, 2015.
[5] Y. Koren, R. Bell, and C. Volinsky, “Matrix factorization techniques for recommender systems,”
Computer, vol. 42, pp. 30–37, Aug 2009.
[6] M. Mohri, A. Rostamizadeh, and A. Talwalkar, Foundations of machine learning. MIT press, 2012.
[7] B. Schwartz, he paradox of choice : why more is less. New York: HarperCollins Publishers Inc., 2004.
[8] G. Adomavicius and A. Tuzhilin, “Toward the next generation of recommender systems: A survey
of the state-of-the-art and possible extensions,” IEEE Transactions on Knowledge and Data Engineering,
vol. 17, no. 6, pp. 734–749, 2005.
[9] F. Ricci, L. Rokach, and B. Shapira, eds., Recommender Systems: Introduction and Challenges, ch. 1,
pp. 1–34. Springer US, 2015.
[10] J. Bobadilla, F. Ortega, A. Hernando, and J. Bernal, “A collaborative filtering approach to mitigate the
new user cold start problem,” Knowledge-Based Systems, vol. 26, pp. 225–238, 2012.
[11] C. Robert, “Machine learning, a probabilistic perspective,” 2014.
[12] A. Bansal, Introduction to Programming Languages. Taylor & Francis, 2013.
[13] J. Bobadilla, F. Ortega, A. Hernando, and A. Gutierrez, “Recommender systems survey,” Knowledge-
Based Systems, vol. 46, pp. 109–132, 2013.
[14] L. Lu, M. Medo, C. H. Yeung, Y.-C. Zhang, Z.-K. Zhang, and T. Zhou, “Recommender systems,”
Physics Reports, vol. 519, no. 1, pp. 1–49, 2012.
[15] P. Resnick and H. R. Varian, “Recommender systems,” Commun. ACM, vol. 40, pp. 56–58, Mar. 1997.
[16] J. L. Herlocker, J. A. Konstan, L. G. Terveen, and J. T. Riedl, “Evaluating collaborative filtering
recommender systems,” ACM Trans. Inf. Syst., vol. 22, pp. 5–53, Jan. 2004.
[17] U. Shardanand and P. Maes, “Social information filtering: Algorithms for automating “word of mouth”,”
in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, CHI ’95, (New
73
74 BIBLIOGRAFIA
York, NY, USA), pp. 210–217, ACM Press/Addison-Wesley Publishing Co., 1995.
[18] F. Ricci, L. Rokach, and B. Shapira, eds., Semantic-Aware Content-Base Recommender Systems, ch. 4,
pp. 119–159. Springer US, 2015.
[19] R. Burke, Hybrid Web Recommender Systems, pp. 377–408. Berlin, Heidelberg: Springer Berlin
Heidelberg, 2007.
[20] L. Gao and C. Li, “Hybrid personalized recommended model based on genetic algorithm,” in 2008
4th International Conference on Wireless Communications, Networking and Mobile Computing, pp. 1–4,
Oct 2008.
[21] M. Y. H. Al-Shamri and K. K. Bharadwaj, “Fuzzy-genetic approach to recommender systems based
on a novel hybrid user model,” Expert Systems with Applications, vol. 35, no. 3, pp. 1386 – 1399, 2008.
[22] M. Lee, P. Choi, and Y. Woo, A Hybrid Recommender System Combining Collaborative Filtering with
Neural Network, pp. 531–534. Berlin, Heidelberg: Springer Berlin Heidelberg, 2002.
[23] L. M. de Campos, J. M. Fernandez-luna, J. F. Huete, and M. A. Rueda-morales, “Combining
content-based and collaborative recommendations: A hybrid approach based on Bayesian networks,”
International Journal of Approximate Reasoning, vol. 51, no. 7, pp. 785–799, 2010.
[24] S. K. Shinde and U. Kulkarni, “Hybrid personalized recommender system using centering-bunching
based clustering algorithm,” Expert Systems with Applications, vol. 39, no. 1, pp. 1381 – 1387, 2012.
[25] S. Maneeroj and A. Takasu, “Hybrid recommender system using latent features,” in 2009 International
Conference on Advanced Information Networking and Applications Workshops, pp. 661–666, May 2009.
[26] F. Ortega, A. Hernando, J. Bobadilla, and J. H. Kang, “Recommending items to group of users using
Matrix Factorization based Collaborative Filtering,” Information Sciences, vol. 345, pp. 313–324, 2016.
[27] J. S. Breese, D. Heckerman, and C. Kadie, “Empirical analysis of predictive algorithms for collaborative
filtering,” Proceedings of the 14th conference on Uncertainty in Artificial Intelligence, vol. 461, no. 8,
pp. 43–52, 1998.
[28] J. Bobadilla, S. Francisco, and J. Bernal, “A new collaborative filtering metric that improves the behavior
of recommender systems,” Knowledge-Based Systems, vol. 23, no. 6, pp. 520–528, 2010.
[29] F. Ricci, L. Rokach, and B. Shapira, eds., A Comprehensive Survey of Neighborhood-Based
Recommendation Methods, ch. 2, pp. 37–76. Springer US, 2015.
[30] B. K. Patra, R. Launonen, V. Ollikainen, and S. Nandi, “A new similarity measure using Bhattacharyya
coefficient for collaborative filtering in sparse data,” Knowledge-Based Systems, vol. 82, pp. 163–177,
2015.
[31] F. Hernandez del Olmo and E. Gaudioso, “Evaluation of recommender systems: A new approach,”
Expert Systems with Applications, vol. 35, no. 3, pp. 790–804, 2008.
[32] F. Ricci, L. Rokach, and B. Shapira, eds., Evaluating Recommender Systems, ch. 8, pp. 265–308.
Springer US, 2015.
[33] L. Baltrunas, T. Makcinskas, and F. Ricci, “Group recommendations with rank aggregation and
collaborative filtering,” in Proceedings of the Fourth ACM Conference on Recommender Systems, RecSys
’10, (New York, NY, USA), pp. 119–126, ACM, 2010.
Universidad Politecnica de Madrid Master en Ciencias y Tecnologıas de la Computacion
BIBLIOGRAFIA 75
[34] S. Deerwester, S. T. Dumais, G. W. Furnas, T. K. Landauer, and R. Harshman, “Indexing by latent
semantic analysis,” Journal of the American society for information science, vol. 41, no. 6, p. 391, 1990.
[35] T. Hofmann, “Probabilistic latent semantic indexing,” in Proceedings of the 22nd annual international
ACM SIGIR conference on Research and development in information retrieval, pp. 50–57, ACM, 1999.
[36] D. M. Blei, B. B. Edu, A. Y. Ng, A. S. Edu, M. I. Jordan, and J. B. Edu, “Latent Dirichlet Allocation,”
Journal of Machine Learning Research, vol. 3, pp. 993–1022, 2003.
[37] R. Salakhutdinov and A. Mnih, “Probabilistic matrix factorization.,” in Nips, vol. 1, pp. 2–1, 2007.
[38] D. D. Lee and H. S. Seung, “Learning the parts of objects by non-negative matrix factorization,” Nature,
vol. 401, no. 6755, pp. 788–791, 1999.
[39] C. Ding, T. Li, and W. Peng, “On the equivalence between non-negative matrix factorization and
probabilistic latent semantic indexing,” Computational Statistics & Data Analysis, vol. 52, no. 8,
pp. 3913–3927, 2008.
[40] S. Boyd and L. Vandenberghe, Convex Optimization, vol. 25. 2010.
[41] T. Hofmann, “Latent semantic models for collaborative filtering,” ACM Transactions on Information
Systems (TOIS), vol. 22, no. 1, pp. 89–115, 2004.
[42] C. Wang and D. M. Blei, “Collaborative topic modeling for recommending scientific articles,” in
Proceedings of the 17th ACM SIGKDD international conference on Knowledge discovery and data
mining, pp. 448–456, ACM, 2011.
[43] J.-H. Kang and K. Lerman, “La-ctr: A limited attention collaborative topic regression for social media,”
arXiv preprint arXiv:1311.1247, 2013.
[44] Y. Hu, Y. Koren, and C. Volinsky, “Collaborative filtering for implicit feedback datasets,” in Data Mining,
2008. ICDM’08. Eighth IEEE International Conference on, pp. 263–272, Ieee, 2008.
[45] L. Zadeh, “Fuzzy sets,” Information and Control, vol. 8, no. 3, pp. 338 – 353, 1965.
[46] J. Bobadilla, F. Ortega, A. Hernando, and J. Bernal, “Generalization of recommender systems:
Collaborative filtering extended to groups of users and restricted to groups of items,” Expert Systems
with Applications, vol. 39, no. 1, pp. 172 – 186, 2012.
Master en Ciencias y Tecnologıas de la Computacion Universidad Politecnica de Madrid