Les gens rencontrent des systèmes de recommandation. Factorisation

L'apprentissage automatique a pratiquement pénétré notre vie quotidienne. Certains ne sont plus surpris lorsqu'ils sont informés des réseaux de neurones dans leurs smartphones. L'un des grands domaines de cette science est les systèmes de recommandation. Ils sont partout: lorsque vous écoutez de la musique, lisez des livres, regardez des émissions de télévision ou des vidéos. Le développement de cette science a lieu dans des entreprises géantes telles que YouTube , Spotify et Netfilx . Bien sûr, toutes les réalisations scientifiques dans ce domaine sont publiées à la fois lors des célèbres conférences NeurIPS ou ICML , et lors des RecSys un peu moins connus .aiguisé sur ce sujet. Et dans cet article, nous parlerons de l'évolution de cette science, des méthodes utilisées dans les recommandations d'hier et d'aujourd'hui, et des mathématiques derrière tout cela.



Je me suis inspiré pour écrire cet article en travaillant dans le StatML laboratoire à Skoltech liés aux systèmes recommender.


Pourquoi et pour qui cet article


Pourquoi cela peut-il être important pour chacun de nous? Jetez un œil à la liste ci-dessous:


  • Recommandations vidéo: YouTube, Netlix, HBO, Amazon Prime, Disney +, Hulu, Okko
  • Recommandations audio: Spotify, Yandex.Music, Yandex.Radio, Apple Music
  • Recommandations de produit: Amazon, Avito, litres, MyBook
  • Recommandations de recherche: Google, Yandex, Bing, Yahoo, Mail
  • : Booking, Twitter, Instagram, ., , GitHub

, . , . , , YouTube.


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


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



, . : UI— . ruiui. , , , , . :


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


f:


f(u,i)=r^uirui


, rui1 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. An×m, n=|U|, m=|I|. DAui=rui, . SVD , A: U, Σ, V. k, A.


A=UΣVT,AA^=U^Σ^V^T.


QP. A:


P=(U^Σ^)T,Q=V^T,APTQ.


:


ruir^ui=puTqi.


, puqiui- k. . . :


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


c :


(u,i)D(ruir^ui)2+λθΘθ2=(u,i)D(ruipuTqi)2+λuUpu2+λiIqi2.


, , , , . r^ui. (GD) (ALS). Habr- , . , , .


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


r^ui=μ+bu+bi+puTqi,


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++ :


r^ui=μ+bu+bi+qiT(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++ . . :


r^ui=bui+qiT(|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++ :


r^ui(t)=μ+bu(t)+bi(t)+qiT(pu(t)+|R(u)|1/2jR(u)yj).


Voyons comment exactement le temps affecte chaque terme:
Biais de l'élément: Si vous divisez l'intervalle de temps lorsque les notes ont été mises en segments (30 parties sont proposées dans le travail) et ajoutez vos propres paramètresbi,Bin(t) pour chaque produit, qui sont sélectionnés en fonction de l'intervalle dans lequel la variable t:

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


Biais des utilisateurs: en analysant les données de Neflix, nous avons remarqué que pour chaque utilisateur en moyenne il n'y a que 40 jours au cours desquels il s'est classé. Par conséquent, nous agirons comme pour les marchandises et ajouterons nos propres paramètresbu,tpour chaque utilisateur. Nous ajoutons une dépendance linéaire au temps - nous introduisons un terme supplémentaireαu avec taux d'amortissement:

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


.
Il existe d'autres options pour ajouter une dépendance temporelle aux utilisateurs: Plus de détails sont décrits dans l'article
Intégrations d'utilisateurs: nous ajouterons une astuce similaire pour chaque composant de notre représentation latentepu(t)=(pu1(t),,puf(t))T:

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



Factorisation à matrice pondérée (WMF) et moindres carrés alternés (ALS)


L'un des principaux problèmes rencontrés par SVD est l'utilisation d'une réponse explicite de l'utilisateur uniquement. Ce problème a été partiellement résolu dans SVD ++ . Mais il existe un autre moyen: la factorisation matricielle pondérée ( WMF ). Dans cet article, ils ont suggéré de ne presque pas changer le modèle (r^ui=puTqi) et changer le processus d'apprentissage. Attribuer des notesruique nous ne savons pas (c'est-à-dire pour les couples (u,i)D) la valeur est 0. Et puis pour chaque paire (u,i)entrez le paramètre cui, rui. , . - . YouTube , . , , , . , , , :


(u,i)cui(ruir^ui)2+λθΘθ2.


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


, (ALS) . WMF, ALS, .


Fast Alternating Least Squares


ALS , eALS . , . , . .


, cuiALS :


cui=ci+αrui,ci=c0fiβjIfjβ,


c0β, .


Sparse Linear Methods (SLIM)


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


a^ui=auTwiA^=AW


WRm×m. : W0diag(W)=0. :


12AAWF2+β2WF2+λW1


W.


Factorization Machines (FM)


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


r^(x)=w0+i=1nwixi+i=1ni=j+1nviTvj xixj,w0R   wRn   VRn×k.


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



, SVD, SVD++FM. SVD , :


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


δ— . .. xui. FM :


r^(x)=w0+wu+wi+vuTvi.


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


Probabilistic Matrix Factorization (PMF)


, , , .


(PMF), . , SVD: puqi— . , :


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


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


p(P|σp)=uUp(pu|0,σp2I),p(Q|σq2)=iIp(qi|0,σq2I).


( ) , :


12(u,i)D(ruipuTqi)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, , :


r^ui=f(qi,θu)


, . , f, . , , , .


.


: Bayesian Personalized Ranking (BPR)


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


p(i<uj|Θ)=σ(r^uij(Θ)),


σ— , a r^uij— . (MLE), , :


minΘ(u,i,j)DSlnσ(r^uij)λΘ2


(SGD):


ΘΘ+α(er^uij1+er^uijΘr^uij+λΘ)


, . , , . SVD:


r^uij=r^uir^ujr^ui=puTqi


:


Θr^uij={(qikqjk)   if θ=pukpuk               if θ=qikpuk            if θ=qjk


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


Show must go on


Cette fois, nous avons discuté de nombreuses méthodes de factorisation dans les systèmes de recommandation, mais les réseaux de graphes et de neurones , qui ont également beaucoup de choses intéressantes , sont restés intacts .

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


All Articles