factorización+matricialen sistemas+...

35
Factorización Matricial en Sistemas Recomendadores Clase de Introducción Denis Parra 22 de Sep;embre de 2015

Upload: others

Post on 06-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Factorización  Matricial  en  Sistemas  Recomendadores    

Clase  de  Introducción  Denis  Parra  

22  de  Sep;embre  de  2015  

Page 2: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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  

Page 3: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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.  

Page 4: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Hasta  este  punto  …  Content-­‐Based   Filtrado  Colabora1vo  

Basado  en  le  perfil  del  usuario,  el  cual  puede  tener  diversas  representaciones  (vector  de  caracterís;cas,  contenido  de  ítems  consumidos,  etc)  

Basado  en  interacciones  y  valoraciones  de  los  usuario  

Principal  Problema:  Se  requiere  información  externa  

Principal  Problema:  Cold  Start:  New  User,  New  Item  

Ejemplo:  Pandora  –  Music  Genome  Project  

Ejemplo:  NeIlix  (al  menos  el  desaqo  presentado  en  el  NeIlix  challenge)  

Basado  en  presentacion  de  Peng  Xu:  hrp://www.groupes.polymtl.ca/inf6304/Presenta;ons/20133/matrix-­‐fac.pdf  

Neighborhood  methods  *Latent  Factors  Methods  (MF)  

Page 5: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

•  Las  siguientes  slides  son  un  resumen  del  Paper  “Matrix  Factoriza;on  Techniques  for    Recommender  Systems”  de  Koren,  Bell  y  Volinksy,  ganadores  del  NeIlix  Prize  

Page 6: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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  

Page 7: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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  

Page 8: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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  

Page 9: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Un  modelo  básico  de  FM  

Page 10: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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  “  

Page 11: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Llenado  de  matriz  -­‐  Se  llenaban  vacíos  usando  el  ra;ng  promedio  del  usuario  o  del  item  

-­‐  Procedimiento    

Page 12: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

SVD  

Page 13: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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(m2n).  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.  

Page 14: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

…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  

Page 15: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Minimizar  el  error  con  Regularización  

•  La  idea  es  “aprender”  los  vectores  de  factores  qi  y  pu  usando:  

•  K  :  número  de  pares  (u,i)  donde  rui  es  conocido  •  El  efecto  de  la  regularización:  penalizar  valores  muy  altos  en  qi  y  pu    

Page 16: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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  

Page 17: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

SGD:  Procedimiento  itera;vo  

•  Se  inicializan  pi  y  qu  de  forma  aleatoria  •  Se  calcula  un  error  

Y  se  actualizan  qi  y  pu  en  la  dirección  del  gradiente  

Page 18: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

SGD  de  Simon  Funk  para  el  NeIlix  Prize:  

hrp://si|er.org/~simon/journal/20061211.html  

Page 19: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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        

Page 20: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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];  

}    

Page 21: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

ALS  

•  Como  qi  y  pu  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)  

Page 22: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Agregando  los  biases  

•  Predicción  es  luego  

•  Y  la  función  de  error  es  

Page 23: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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  xi  

•  Un  usuario  que  mostró  preferencia  por  items  en  N(u)  puede  ser  caracterizado  como:  

•  Y  normalizando,  esto  se  puede  escribir  como      

Page 24: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Otras  variables  

•  Atributos  asociados  al  usuario  A(u),  pueden  ayudar  a  describir  al  usuario  como  

•  Luego,  el  modelo  de  factorización  extendido  será:    

Page 25: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

FM  accuracy  

Page 26: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Dimensiones  latentes  

Page 27: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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.  

Page 28: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Ra;ngs  y  relaciones  sociales  

Page 29: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Modelo  Gráfico  Baseline  

Page 30: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Modelo  STE  

Page 31: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Social  MF  

Page 32: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Resultados  

Epinions   Flixter  

Page 33: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Resultados  II  

Page 34: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

Próxima  clase:  

•  Agregar  información  temporal  •  Factorización  de  tensores  •  Varios  versiones  de  Factorización:  – PMF  – NMF  – WALS  – Factoriza;on  Machines  

Page 35: Factorización+Matricialen Sistemas+ …dparra.sitios.ing.uc.cl/classes/recsys-2015-2/clase10_MF...Hasta este+punto… ContentBased+ Filtrado+Colaboravo + Basadoenle+ perfildel usuario,el+

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.