Top Banner
Máquinas de Factorización { Factorization Machines (FM) } Denis Parra Sistemas Recomendadores IIC 3633
56

Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

May 30, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Máquinas deFactorización{FactorizationMachines(FM)}

DenisParra

Sistemas Recomendadores

IIC3633

Page 2: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Máquinas deFactorización (2010)

• Inspiradas enSVM,permiten agregar unnúmeroarbitrario defeatures(user,item,contexto)perofuncionan bien con“sparsedata”alincorporarvariableslatentes factorizadas (inspiradas enFactorización Matricial).Nosenecesitan vectoresdesoporte para optimizar elmodelo.

• Generalizan diversos métodos defactorizaciónmatricial.

• Disminuyen lacomplejidad deaprendizaje delmodelo depredicción respecto demétodosanteriores.

Page 3: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Motivación deFM

• Cada tarea derecomendación (implicitfeedback,agregar tiempo,incorporar contexto)requiererediseño delmodelo deoptimización yre-implementación delalgoritmo deinferencia

• Loidealsería usar alguna herramienta comolibSVM,Weka,…agregar losvectores defeatures

• Pero para manejar datos tandispersos,sepodrían mantener las factorizaciones!

Page 4: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Ejemplo

• Supongamos lossiguientes usuarios,itemsytransacciones

Page 5: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Representación Tradicional

http://dparra.sitios.ing.uc.cl/classes/recsys-2016-2/clase8_factorizacion_matricial.pdf

Page 6: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Otros ModelosEjemplos deDatos:Ejemplos deModelos:

Page 7: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Modelos deFactorización Secuencial

Page 8: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Modelos deFactorización

• Ventaja:– Permiten estimar interacciones entredos(omás)variablesincluso si lainteracción noesobservadaexplícitamente.

• Desventajas:–Modelos específicos paracadaproblema

– Algoritmosdeaprendizajeeimplementacionesestándiseñadosparamodelosindividuales

Page 9: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Datos yRepresentación deVariables

• Muchos modelos deMLusan vectores devalores reales como input,loque permiterepresentar,por ejemplo:– Cualquier número devariables

– Variablescategóricas->dummy coding

• Conestemodeloestándarpodemosusarregresión,SVMs,etc.

Page 10: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Modelo deRegresión Lineal

• Equivale aunpolinomio degrado 1• Queremos aprender w0 ylosp parámetros wj• Nologra capturar interacciones latentes comolafactorización matricial

• O(p)parámetros enelmodelo.

Page 11: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Modelo coninteracciones (d=2)

• Regresión Polinomial

• O(p2)parámetros enelmodelo

Page 12: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Representación MatricialcomoVectordeFeatures

Page 13: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Representación MatrizcomoVectordeFeatures

Page 14: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Aplicación deRegresión

• Regresión Lineal:

• RegresiónPolinomial:

• FactorizaciónMatricial:

Page 15: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Problemas conRegresión Tradicional

• Regresión linealnoconsiderainteracionesusuario-item :poderdeexpresiónmuybajo

• RegresiónPolinomial incluyeinteraccionesdeparesperonosepuedeestimarporque– n<<p2 :nro.decasosmuchomenorqueelnúmerodeparámetros.

– Regresiónpolinomial nopuedegeneralizarparacualquierefectodeparesdevariables.

Page 16: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Modelo coninteracción d=2yfactoreslatentes vs.Regresión polinomial

• MáquinadeFactorización

• RegresiónPolinomial

Page 17: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

F.M.dadounmodelo cond=2

Sesgo (bias) global

Coeficientesde regresiónde la j-ésimavariable

Interacción de features

Factorización(variables latentes)

Page 18: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

F.M.dadounmodelo cond=3

• Modelo

• Parámetros

Page 19: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Ensuma

• FMsusan como entradadatos numéricosreales

• FMs incluyeninteraccionesentrevariablescomolaregresiónpolinomial

• Losparámetrosdelmodeloparalasinteraccionessonfactorizados

• NúmerodeparámetrosesO(kp)vs.O(p2)enregresiónpolinomial.

Page 20: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Ejemplos

A. Dosvariablescategóricas

B. Tresvariablescategóricas

C. Dosvariablescategóricasytiempocomopredictorcontinuo

D. Dosvariablescategóricasytiempodiscretizadoenbins

E. SVD++

F. Factorized Personalized Markov Chains (FPMC)

Page 21: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

A.Dosvariablescategóricas

• Así,modelocorrespondeaMFconbiases

Page 22: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

B.Tresvariablescategóricas

• Prediccióndetripletas RDFconFM

• Equivalente aPITF(recomendación detags)

Page 23: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

C.Dosvariablescategóricasytiempocomopredictorcontinuo

• Modelo corresponde a:

Page 24: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

D.Dosvariablescategóricasytiempodiscretizado enbins

• Modelo corresponde a:

Page 25: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

E.SVD++

• Modelo idéntico a:

Page 26: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

F.FPMC

• Equivalente a:

Page 27: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Comparación conotros modelos

• EnelpaperRendle,S.(2010,December).Factorizationmachines,semuestra comodesde FMsepuede derivar:–MatrixFactorization

– SVD++– Pair-wiseInteractionTag-Factorization(PITF)– FactorizedPersonalizedMarkovChains(FPMC)

Page 28: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Propiedades• Expresividad*(cualquier matrixsemi-definidapositiva)

• Multilinearidad**

• Complexity

*,**ver detalles enRendle,S.(2010,December).Factorizationmachines.

O(kn^2)->O(kn)Ydebido adispersión delosdatos,O(kmD)

Page 29: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Complejidad

Número deparámetros :

1 + p + k*plinealrespectoaltamañodelinputyeltamañodelosfactoreslatentes

Page 30: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Reducción delmodelo

Page 31: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Aprendizaje

• Regularización L2pararegresiónyclasificacion– SGD– ALS–MCMC

• RankingregularizadoL2TodoslosalgoritmostienentiempodeejecuciónO(kNz(x)i)dondei:iteraciones,Nz(X):elementosno-cero,yk:nro.defactoreslatentes.

Page 32: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Software:LibFM

• LibFM implementa FMs–Modelos:FMsde2doorden

– Aprendizaje:SGD,ALS,MCMC

– Clasificación yregresión– Formatodedatos:sparse (LIBSVM,LIBLINEAR,SVMlight,etc.)

– Soportaagrupacióndevariables– OpenSource:GPLv3

Page 33: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

www.libfm.org

Page 34: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Predicción deratings(Context-aware)

Page 35: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

NetflixPrize

Page 36: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Predicción derelacionesenRedes

Page 37: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

KDDCup 2012:track1

Page 38: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Predicción deClicks

Page 39: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

KDDCup 2012:Track2

Page 40: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Predecir Resultados deEstudiantes

Page 41: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Algunos Resultados

Page 42: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Algunos Resultados II

Page 43: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

UsingLibfm

• Llamada 1:

• Llamada 2:

Page 44: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Ejemplo conlibFMexe

• WrapperdeLibFM paraR

Page 45: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Conclusiones

• FMscombinand regresión lineal/polinomialconmodelosdefactorización.

• Interacción entrevariablesseaprendenvíarepresentaciónlow-rank.

• Es posible laestimación deobservacionesnoobservadas.

• Sepueden calcular eficientemente ytienenuna buena calidad depredicción.

Page 46: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Referencias

• Rendle,S.(2010)“FactorizationMachines”(https://www.ismll.uni-hildesheim.de/pub/pdfs/Rendle2010FM.pdf)

• http://www.slideshare.net/hongliangjie1/libfm

• http://www.slideshare.net/SessionsEvents/steffen-rendle-research-scientist-google-at-mlconf-sf

• http://www.slideshare.net/0x001/intro-to-factorization-machines?next_slideshow=1

Page 47: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Proyecto Finalcurso RecSys 2014

• Trade-offsBetweenImplicitFeedbackandContext-AwareRecommendation– SantiagoLarraín,PUCChile– Nicolás Risso,PUCChile

• Moviecity Dataset

Page 48: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Proyecto Finalcurso RecSys 2014• Moviecity

Page 49: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

DatasetMoviecity

Page 50: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

DatasetMovieCity II

Page 51: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Métodos I

• HuandKoren ~ImplicitFeedback

Page 52: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Métodos II

• Factorización Tensorial (usando HOSVD)

Page 53: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Métodos III

• FactorizationMachines,Rendle (2010)

Page 54: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Métricas deEvaluación

• RMSE:Diferencia detiempo entreprogramavisto ylopredicho

Page 55: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Comparación delosModelos

Page 56: Máquinasde Factorización { Factorization Machines (FM) }dparra.sitios.ing.uc.cl › classes › recsys-2019-2 › clase13_FM_BPR.pdf · Factorization machines. O(kn^2) -> O(kn)

Conclusiones

• ErrordeMAEentre40%y70%:diferenciapromedio entreeltiempo predicho yeltiempo que elusuario realmente vio.Mejormétodo es FactorizationMachines,indicandoque para esta tarea elcontexto ayuda.

• Ranking:elmejor método es ImplicitFeedbackrecommender.Extrañamente,estoindica que para rankear,elmejor método norequiere contexto.