La gente conoce los sistemas de recomendación. Factorización

El aprendizaje automático ha penetrado en nuestra vida cotidiana. Algunos ya no se sorprenden cuando se les informa sobre las redes neuronales en sus teléfonos inteligentes. Una de las grandes áreas de esta ciencia son los sistemas de recomendación. Están en todas partes: cuando escuchas música, lees libros, ves programas de televisión o videos. El desarrollo de esta ciencia tiene lugar en compañías gigantes como YouTube , Spotify y Netfilx . Por supuesto, todos los logros científicos en esta área se publican tanto en las famosas conferencias NeurIPS o ICML como en RecSys , un poco menos conocido .agudizado en este tema. Y en este artículo hablaremos sobre cómo se desarrolló esta ciencia, qué métodos se utilizan en las recomendaciones en ese momento y ahora, y qué matemáticas hay detrás de todo esto.



Me inspiró a escribir este artículo, trabajando en el StatML laboratorio en Skoltech relacionada con los sistemas de recomendación.


Por qué y para quién este artículo


¿Por qué puede ser esto importante para cada uno de nosotros? Echa un vistazo a la lista a continuación:


  • Recomendaciones de video: YouTube, Netlix, HBO, Amazon Prime, Disney +, Hulu, Okko
  • Recomendaciones de audio: Spotify, Yandex.Music, Yandex.Radio, Apple Music
  • Recomendaciones de productos: Amazon, Avito, litros, MyBook
  • Recomendaciones de búsqueda: Google, Yandex, Bing, Yahoo, Mail
  • : Booking, Twitter, Instagram, ., , GitHub

, . , . , , YouTube.


( ), . , , . , ( ). -, . , -, , - . , . , , , , .


, , , , - . , (, , , ..). , .



, . : U I — . rui u i. , , , , . :


D={(u,i)| if rui,uU,iI}


f:


f(u,i)=ˆruirui


, rui 1 5 ( ) : 1 -1 ( / )



3 :


  • Content-based (CB)
  • Collaborative filtering (CF)
  • Hybrid recommendations


. — , . : — , — , . . , : , ..


, . - , .


. , , , .


, , . . , , . .


Matrix Factorization



, . : . .


  • :
    • Singular Value Decomposition (SVD)
    • Singular Value Decomposition with implicit feedback (SVD++)
    • Collaborative Filtering with Temporal Dynamics (TimeSVD++)
    • Weighted Matrix Factorization (WMF or ALS)
    • Sparse Linear Methods (SLIM)
    • Factorization Machines (FM)
  • :
    • Probabilistic Matrix Factorization (PMF)
    • Bayesian Probabilistic Matrix Factorization (BPMF)
    • Bayesian Factorization Machines (BFM)
    • Gaussian Process Factorization Machines (GPFM)

Singular Value Decomposition (SVD)


SVD. A n×m, n=|U|, m=|I|. D Aui=rui, . SVD , A : U, Σ, V. k , A.


A=UΣVT,AˆA=ˆUˆΣˆVT.


Q P . A :


P=(ˆUˆΣ)T,Q=ˆVT,APTQ.


:


ruiˆrui=pTuqi.


, pu qiu i - k. . . :


Θ={pu,qi|uU,iI}.


c :


(u,i)D(ruiˆrui)2+λθΘθ2=(u,i)D(ruipTuqi)2+λuUpu2+λiIqi2.


, , , , . ˆrui. (GD) (ALS). Habr- , . , , .


( SVD, SVDbias). , , . . SVD . (bias):


ˆrui=μ+bu+bi+pTuqi,


bu — , bi — , μ — . :


Θ={μ,bu,bi,pu,qi|uU,iI}.


SVD++


Factorization Meets the Neighborhood SVD . (explicit and implicit user feedback). rui, . . : R(u) — ( ) N(u) — ( ).


SVD++ :


ˆrui=μ+bu+bi+qTi(pu+|N(u)|1/2jN(u)yj).


:


Θ={μ,bu,bi,pu,qi,yi|uU,iI}.


, N(u) R(u), .. R(u)N(u). (item-item recommendation).


Asymmetric-SVD


SVD++ . . :


ˆrui=bui+qTi(|R(u)|1/2jR(u)(rujbuj)xj+|N(u)|1/2jN(u)yj),


bui=μ+bu+bi


TimeSVD++


TimeSVD++. (MovieLens, Netflix) , . , . Collaborative Filtering with Temporal Dynamics SVD++ :


ˆrui(t)=μ+bu(t)+bi(t)+qTi(pu(t)+|R(u)|1/2jR(u)yj).


, :
Item bias: , ( 30 ) bi,Bin(t) , , t:

bi(t)=bi+bi,Bin(t)


Sesgo del usuario: al analizar los datos de Neflix, notamos que para cada usuario en promedio solo hay 40 días en los que coloca las calificaciones. Por lo tanto, actuaremos como con los productos y agregaremos nuestros propios parámetrosbu,tpara cada usuario Agregamos una dependencia lineal del tiempo: introducimos un término adicionalαu con ratio de amortización:

bi(t)=bi+αudevu(t)+bu,tdevu(t)=sign(ttu)|ttu|β


.
Hay otras opciones sobre cómo agregar una dependencia de tiempo a los usuarios: se describe con más detalle en el artículo
Incorporaciones de usuarios: agregaremos un truco similar para cada componente de nuestra representación latentepu(t)=(pu1(t),,puf(t))T:

puk(t)=puk+αukdevu(t)+puk,t.



Factorización de matriz ponderada (WMF) y mínimos cuadrados alternos (ALS)


, SVD, . SVD++. — Weighted Matrix Factorization (WMF). (ˆrui=pTuqi), . rui, (.. (u,i)D) 0. (u,i) cui, rui. , . - . YouTube , . , , , . , , , :


(u,i)cui(ruiˆrui)2+λθΘθ2.


: cui=1+αrui. : rui>0 rui=0. α α=40 .


, (ALS) . WMF, ALS, .


Fast Alternating Least Squares


ALS , eALS . , . , . .


, cui ALS :


cui=ci+αrui,ci=c0fβijIfβj,


c0 β, .


Sparse Linear Methods (SLIM)


Sparse Linear Methods (SLIM) . , SVD . . SLIM :


ˆaui=aTuwiˆA=AW


WRm×m. : W0 diag(W)=0. :


12AAW2F+β2W2F+λW1


W .


Factorization Machines (FM)


, Factorization Machines (FM). , ( 2- ). :


ˆr(x)=w0+ni=1wixi+ni=1ni=j+1vTivj xixj,w0R   wRn   VRn×k.


(SGD) ( ). , x (u,i). . , — . — ( ). ( ).



, SVD, SVD++FM. SVD , :


n=|UI|,xj=δ(j=u  j=i).


δ — . .. x u i. FM :


ˆr(x)=w0+wu+wi+vTuvi.


, x: , . , , , , , , . .


Probabilistic Matrix Factorization (PMF)


, , , .


(PMF), . , SVD: pu qi — . , :


p(r|P,Q,σ)=(u,i)DN(rui|g(pTuqi),σ2),


N — , a g(x)=11+ex — (). , , :


p(P|σp)=uUp(pu|0,σ2pI),p(Q|σ2q)=iIp(qi|0,σ2qI).


( ) , :


12(u,i)D(ruipTuqi)2+λp2uUpu2+λq2iIqi2,


λp=σpσ λq=σqσ — . , SVD , .


Constrained PMF


PMF Constrained PMF. , SVD SVD++. , , pu :


pu+iR(u)yi|R(u)|,


R(u) — , u.


Bayesian Probabilistic Matrix Factorization (BPMF)


PMF BPMF. PMF , , . :


p(P|μp,Λp)=uUp(pu|μp,Λp),p(Q|μq,Λq)=iIp(qi|μq,Λq).


Θp={μp,Λp} Θq={μq,Λq} - Θ0={μ0,ν0,W0}. , .


Bayesian Factorization Machines (BFM)


, Bayesian, . , Θ={w0,wi,vi}. , - . : ΘH={λθ,μθ|θΘ}. .


Gaussian Process Factorization Machines (GPFM)


GPFM . f θ. θu , , :


ˆrui=f(qi,θu)


, . , f , . , , , .


.


: Bayesian Personalized Ranking (BPR)


BPR , "". , BPR — , , Bayesian Personalized Ranking. . , , i j u. (u,i) rui (u,i,j) i j ((+) i , j (-) ). DS. . ( personalized ):


p(i<uj|Θ)=σ(ˆruij(Θ)),


σ — , a ˆruij — . (MLE), , :


minΘ(u,i,j)DSlnσ(ˆruij)λΘ2


(SGD):


ΘΘ+α(eˆruij1+eˆruijΘˆruij+λΘ)


, . , , . SVD:


ˆruij=ˆruiˆrujˆrui=pTuqi


:


Θˆruij={(qikqjk)   if θ=pukpuk               if θ=qikpuk            if θ=qjk


BPR ( ) , . , . . , (pairwise approach) (pointwise approach). . , 5 , . , , . — BPR - , . , .


Show must go on


Esta vez discutimos muchos métodos de Factorización en sistemas de recomendación, pero las Redes Gráficas y Neuronales , que también tienen muchas cosas interesantes , permanecieron intactas .

Source: https://habr.com/ru/post/undefined/


All Articles