Factorización Matricial en Sistemas Recomendadores Clase de Introducción Denis Parra 22 de Sep;embre de 2015
TOC Contexto Métodos de vecindario y de factores latentes El NeIlix Prize Yehuda Koren & Chris Volinski La solución de Simon Funk para SVD
Próxima clase 1. Matrix factoriza;on (2): Claudio Rojas y Nicolas Torres - SVD++: Koren, Y. (2008, August). Factoriza;on meets the neighborhood: a mul;faceted collabora;ve filtering model. In Proceedings of the 14th ACM SIGKDD interna;onal conference on Knowledge discovery and data mining (pp. 426-434). ACM. - PMF: Mnih, A., & Salakhutdinov, R. (2007). Probabilis;c matrix factoriza;on. In Advances in neural informa;on processing systems (pp. 1257-1264). - NMF: Zhang, S., Wang, W., Ford, J., & Makedon, F. (2006, April). Learning from Incomplete Ra;ngs Using Non- nega;ve Matrix Factoriza;on. In SDM (Vol. 6, pp. 548-552). - SLIM: Ning, X., & Karypis, G. (2011, December). Slim: Sparse linear methods for top- n recommender systems. In Data Mining (ICDM), 2011 IEEE 11th Interna;onal Conference on (pp. 497-506). IEEE. - No usar: - "Matrix Factoriza;on Techniques for Recommender Systems" de Koren, Bell y Volinksy (2009), ya que este se usará de introducción el día martes 22 de Sep;embre - Eigentaste: A Constant Time Collabora;ve Filtering Algorithm - Takács, G., Pilászy, I., Németh, B., & Tikk, D. (2008, October). Matrix factoriza;on and neighbor based algorithms for the neilix prize problem. In Proceedings of the 2008 ACM conference on Recommender systems (pp. 267-274). ACM.
Hasta este punto Content- Based Basado en le perfil del usuario, el cual puede tener diversas representaciones (vector de caracterís;cas, contenido de ítems consumidos, etc) Principal Problema: Se requiere información externa Ejemplo: Pandora Music Genome Project Filtrado Colabora1vo Basado en interacciones y valoraciones de los usuario Principal Problema: Cold Start: New User, New Item Ejemplo: NeIlix (al menos el desaqo presentado en el NeIlix challenge) Neighborhood methods *Latent Factors Methods (MF) Basado en presentacion de Peng Xu: hrp://www.groupes.polymtl.ca/inf6304/ Presenta;ons/20133/matrix- fac.pdf
Las siguientes slides son un resumen del Paper Matrix Factoriza;on Techniques for Recommender Systems de Koren, Bell y Volinksy, ganadores del NeIlix Prize
CF con modelos de Vecindario Modelos que hemos visto basados en calcular relaciones entre los usuarios o entre los ítems a recomendar: - User Based CF (KNN, en la figura) - Item Based CF
Modelos de Factores Latentes Intenta explicar ra;ngs de usuarios caracterizando a items y usuario sobre factores inferidos a par;r de patrones de ra;ngs - Los factores no necesariamente deben conocerse de antemano
Por qué Factorización Matricial? Podemos encontrar factores latentes que nos permiten hacer predicciones, pero además obtender información de relaciones entre usuarios e ítems Más específicamente: Tiene buena escalabilidad (al momento de predecir) Predicciones más precisas Flexibilidad
Un modelo básico de FM
Desaqo: Obtener vectores latentes Técnica fac;ble: SVD ( la misma que vimos la clase pasada para LSI) SVD tradicional no está definida para una matriz muy incompleta Primeros sistemas llenaban la matriz para hacerla más densa: Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2000). Applica;on of dimensionality reduc;on in recommender systems- a case study
Llenado de matriz - Se llenaban vacíos usando el ra;ng promedio del usuario o del item - Procedimiento
SVD
Consideraciones Prác;cas Componente off- line (entrenar el modelo, elegir número de dimensiones) y componente online (realizar las predicciones) Decomposición de matriz usuario- item se hace offline. Es O( (m+n) 3 ), mientras que la recomendación basada en correlación es O(m 2 n). Sin embargo, para la predicción, SVD es eficiente pues debe almacenar sólo del orden O(m+n). Número de dimensiones latentes debe determinarse por cross- valida;on.
Volviendo al NeIlix prize Llenar la matriz (imputación) puede ser computacionalmente costoso e incrementa el numero de datos, además de ser sensible a sesgos introducidos por imputación. El método puede inducir a overfi{ng Solución: op;mización considerando regularización
Minimizar el error con Regularización La idea es aprender los vectores de factores q i y p u usando: K : número de pares (u,i) donde r ui es conocido El efecto de la regularización: penalizar valores muy altos en q i y p u
Algoritmos de Aprendizaje Dos métodos son mencionados en el paper de Koren et al. Stochas;c Gradient Descent Fácil Implementación Tiempo de ejecución rela;vamente rápido Alterna;ng Least Squares Se puede paralelizar
SGD: Procedimiento itera;vo Se inicializan pi y qu de forma aleatoria Se calcula un error Y se actualizan q i y p u en la dirección del gradiente
SGD de Simon Funk para el NeIlix Prize: hrp://si er.org/~simon/journal/20061211.html
El problema de recomendación como FM - Matriz Original: 17.000 peliculas x 500.000 usuarios: 8.5*10^9 Supongamos que elegimos 40 factores latentes: nuestro modelo necesitaría almacenar: 40*(17K+500K) parámetros ra;ngsmatrix[user][movie] = sum (userfeature[f][user] * moviefeature[f][movie]) for f from 1 to 40
Cómo actualizar el modelo? uservalue[user] += lrate * err * movievalue[movie]; movievalue[movie] += lrate * err * uservalue[user]; /**.**/ /* Where: * real *uservalue = userfeature[featurebeingtrained]; * real *movievalue = moviefeature[featurebeingtrained]; * real lrate = 0.001; */ sta;c inline void train(int user, int movie, real ra;ng) { real err = lrate * (ra;ng - predictra;ng(movie, user)); } uservalue[user] += err * movievalue[movie]; movievalue[movie] += err * uservalue[user];
ALS Como q i y p u son desconocidos, la función es no convexa, pero se puede rotar entre fijar los qi s para op;mizar los pu s, y luego fijar los pu s para op;mizar qi s SGD es más fácil de implementar y más rápido, pero ALS se puede paralelizar y funciona de forma más óp;ma para casos de implificit feedback (matriz más densa)
Agregando los biases Predicción es luego Y la función de error es
Feedback Implícito y otras variables N(u) denota el conjunto de ítems para los cuáles el usuario ha expresado preferencia implícita, y el item i está asociado con x i Un usuario que mostró preferencia por items en N(u) puede ser caracterizado como: Y normalizando, esto se puede escribir como
Otras variables Atributos asociados al usuario A(u), pueden ayudar a describir al usuario como Luego, el modelo de factorización extendido será:
FM accuracy
Dimensiones latentes
Trust (enlaces sociales) Jamali, M., & Ester, M. (2010, September). A matrix factoriza;on technique with trust propaga;on for recommenda;on in social networks. In Proceedings of the fourth ACM conference on Recommender systems (pp. 135-142). ACM.
Ra;ngs y relaciones sociales
Modelo Gráfico Baseline
Modelo STE
Social MF
Resultados Epinions Flixter
Resultados II
Próxima clase: Agregar información temporal Factorización de tensores Varios versiones de Factorización: PMF NMF WALS Factoriza;on Machines
References Koren, Y., Bell, R., & Volinsky, C. (2009). Matrix factoriza;on techniques for recommender systems. Computer, 42(8), 30-37. Sarwar, B., Karypis, G., Konstan, J., & Riedl, J. (2000). Applica;on of dimensionality reduc;on in recommender system- a case study (No. TR- 00-043). Minnesota Univ Minneapolis Dept of Computer Science. Hofmann, T. (2003, July). Collabora;ve filtering via gaussian probabilis;c latent seman;c analysis. In Proceedings of the 26th annual interna;onal ACM SIGIR conference on Research and development in informaion retrieval (pp. 259-266). ACM.