Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… ·...

91
UNIVERSIDAD POLIT ´ ECNICA DE MADRID Escuela T´ ecnica Superior de Ingenier´ ıa de Sistemas Inform´ aticos aster Universitario en Ciencias y Tecnolog´ ıas de la Computaci´ on Trabajo Fin de M´ aster Titulo: ecnicas h´ ıbridas en Sistemas de Recomendaci´ on 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

Transcript of Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… ·...

Page 1: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 2: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo
Page 3: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

Dedicado con amor a mi esposa Daysi y a mis hijos Matıas y Eimi.

Rodolfo Bojorque C.

I

Page 4: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 5: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 6: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 7: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 8: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 9: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 10: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 11: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 12: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

INDICE GENERAL IX

4. Conclusiones y futuras lıneas de investigacion 71

Page 13: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

X INDICE GENERAL

Page 14: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 15: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

XII INDICE DE FIGURAS

Page 16: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 17: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 18: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 19: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 20: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 21: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 22: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 23: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 24: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 25: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 26: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 27: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 28: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 29: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 30: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 31: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 32: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 33: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 34: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 35: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 36: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 37: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 38: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 39: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 40: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 41: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 42: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 43: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 44: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 45: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 46: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 47: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 48: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 49: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 50: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 51: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 52: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 53: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 54: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 55: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 56: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 57: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 58: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 59: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 60: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 61: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 62: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 63: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 64: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 65: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 66: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 67: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 68: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 69: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 70: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 71: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 72: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 73: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 74: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 75: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 76: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 77: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 78: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 79: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 80: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 81: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 82: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 83: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 84: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 85: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 86: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 87: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 88: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 89: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 90: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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

Page 91: Autores - Archivo Digital UPMoa.upm.es/48249/1/TFM_RODOLFO_BOJORQUE_CHASI_REMIGIO_HURTADO_O… · Dedico el logro de esta meta a Dios, reconociendo su bondad, esperando de algun modo

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