Máquinas deFactorización{FactorizationMachines(FM)}
DenisParra
Sistemas Recomendadores
IIC3633
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.
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!
Ejemplo
• Supongamos lossiguientes usuarios,itemsytransacciones
Representación Tradicional
http://dparra.sitios.ing.uc.cl/classes/recsys-2016-2/clase8_factorizacion_matricial.pdf
Otros ModelosEjemplos deDatos:Ejemplos deModelos:
Modelos deFactorización Secuencial
Modelos deFactorización
• Ventaja:– Permiten estimar interacciones entredos(omás)variablesincluso si lainteracción noesobservadaexplícitamente.
• Desventajas:–Modelos específicos paracadaproblema
– Algoritmosdeaprendizajeeimplementacionesestándiseñadosparamodelosindividuales
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.
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.
Modelo coninteracciones (d=2)
• Regresión Polinomial
• O(p2)parámetros enelmodelo
Representación MatricialcomoVectordeFeatures
Representación MatrizcomoVectordeFeatures
Aplicación deRegresión
• Regresión Lineal:
• RegresiónPolinomial:
• FactorizaciónMatricial:
Problemas conRegresión Tradicional
• Regresión linealnoconsiderainteracionesusuario-item :poderdeexpresiónmuybajo
• RegresiónPolinomial incluyeinteraccionesdeparesperonosepuedeestimarporque– n<<p2 :nro.decasosmuchomenorqueelnúmerodeparámetros.
– Regresiónpolinomial nopuedegeneralizarparacualquierefectodeparesdevariables.
Modelo coninteracción d=2yfactoreslatentes vs.Regresión polinomial
• MáquinadeFactorización
• RegresiónPolinomial
F.M.dadounmodelo cond=2
Sesgo (bias) global
Coeficientesde regresiónde la j-ésimavariable
Interacción de features
Factorización(variables latentes)
F.M.dadounmodelo cond=3
• Modelo
• Parámetros
Ensuma
• FMsusan como entradadatos numéricosreales
• FMs incluyeninteraccionesentrevariablescomolaregresiónpolinomial
• Losparámetrosdelmodeloparalasinteraccionessonfactorizados
• NúmerodeparámetrosesO(kp)vs.O(p2)enregresiónpolinomial.
Ejemplos
A. Dosvariablescategóricas
B. Tresvariablescategóricas
C. Dosvariablescategóricasytiempocomopredictorcontinuo
D. Dosvariablescategóricasytiempodiscretizadoenbins
E. SVD++
F. Factorized Personalized Markov Chains (FPMC)
A.Dosvariablescategóricas
• Así,modelocorrespondeaMFconbiases
B.Tresvariablescategóricas
• Prediccióndetripletas RDFconFM
• Equivalente aPITF(recomendación detags)
C.Dosvariablescategóricasytiempocomopredictorcontinuo
• Modelo corresponde a:
D.Dosvariablescategóricasytiempodiscretizado enbins
• Modelo corresponde a:
E.SVD++
• Modelo idéntico a:
F.FPMC
• Equivalente a:
Comparación conotros modelos
• EnelpaperRendle,S.(2010,December).Factorizationmachines,semuestra comodesde FMsepuede derivar:–MatrixFactorization
– SVD++– Pair-wiseInteractionTag-Factorization(PITF)– FactorizedPersonalizedMarkovChains(FPMC)
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)
Complejidad
Número deparámetros :
1 + p + k*plinealrespectoaltamañodelinputyeltamañodelosfactoreslatentes
Reducción delmodelo
Aprendizaje
• Regularización L2pararegresiónyclasificacion– SGD– ALS–MCMC
• RankingregularizadoL2TodoslosalgoritmostienentiempodeejecuciónO(kNz(x)i)dondei:iteraciones,Nz(X):elementosno-cero,yk:nro.defactoreslatentes.
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
www.libfm.org
Predicción deratings(Context-aware)
NetflixPrize
Predicción derelacionesenRedes
KDDCup 2012:track1
Predicción deClicks
KDDCup 2012:Track2
Predecir Resultados deEstudiantes
Algunos Resultados
Algunos Resultados II
UsingLibfm
• Llamada 1:
• Llamada 2:
Ejemplo conlibFMexe
• WrapperdeLibFM paraR
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.
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
Proyecto Finalcurso RecSys 2014
• Trade-offsBetweenImplicitFeedbackandContext-AwareRecommendation– SantiagoLarraín,PUCChile– Nicolás Risso,PUCChile
• Moviecity Dataset
Proyecto Finalcurso RecSys 2014• Moviecity
DatasetMoviecity
DatasetMovieCity II
Métodos I
• HuandKoren ~ImplicitFeedback
Métodos II
• Factorización Tensorial (usando HOSVD)
Métodos III
• FactorizationMachines,Rendle (2010)
Métricas deEvaluación
• RMSE:Diferencia detiempo entreprogramavisto ylopredicho
Comparación delosModelos
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.
Top Related