Menschen treffen auf Empfehlungssysteme. Faktorisierung

Maschinelles Lernen hat unseren Alltag ziemlich durchdrungen. Einige sind nicht mehr überrascht, wenn sie über neuronale Netze in ihren Smartphones informiert werden. Einer der großen Bereiche dieser Wissenschaft sind Empfehlungssysteme. Sie sind überall: wenn Sie Musik hören, Bücher lesen, Fernsehsendungen oder Videos ansehen. Die Entwicklung dieser Wissenschaft findet in riesigen Unternehmen wie YouTube , Spotify und Netfilx statt . Natürlich werden alle wissenschaftlichen Errungenschaften in diesem Bereich sowohl auf den berühmten NeurIPS- oder ICML-Konferenzen als auch auf den etwas weniger bekannten RecSys veröffentlichtzu diesem Thema geschärft. Und in diesem Artikel werden wir darüber sprechen, wie sich diese Wissenschaft entwickelt hat, welche Methoden damals und heute in Empfehlungen verwendet werden und welche Mathematik dahinter steckt.



Ich wurde inspiriert, diesen Artikel zu schreiben, indem ich im StatML- Labor von Skoltech über Empfehlungssysteme arbeitete.


Warum und für wen dieser Artikel


Warum kann das für jeden von uns wichtig sein? Schauen Sie sich die folgende Liste an:


  • Videoempfehlungen : YouTube, Netlix, HBO, Amazon Prime, Disney +, Hulu, Okko
  • Audioempfehlungen : Spotify, Yandex.Music, Yandex.Radio, Apple Music
  • Produktempfehlungen: Amazon, Avito, Liter, MyBook
  • Suchempfehlungen: 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).


Lassen Sie uns genau herausfinden, wie sich die Zeit auf die einzelnen Begriffe auswirkt:
Item Bias: Wenn Sie das Zeitintervall, in dem Bewertungen vorgenommen wurden, in Segmente unterteilen (30 Teile werden in der Arbeit vorgeschlagen) und Ihre eigenen Parameter hinzufügenbi,Bin(t) für jedes Produkt, die abhängig vom Intervall ausgewählt werden, in dem die Variable t::

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


User Bias: Bei der Analyse der Daten von Neflix haben wir festgestellt, dass jeder Benutzer durchschnittlich nur 40 Tage Zeit hat, um die Bewertungen abzugeben. Deshalb werden wir wie bei Waren handeln und unsere eigenen Parameter hinzufügenbu,tfür jeden Benutzer. Wir fügen eine lineare Abhängigkeit von der Zeit hinzu - wir führen einen zusätzlichen Begriff einαu mit Abschreibungsquote:

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


.
Es gibt andere Möglichkeiten, wie Sie Benutzern eine Zeitabhängigkeit hinzufügen können: Dies wird im Artikel
Benutzereinbettungen ausführlicher beschrieben : Wir werden für jede Komponente unserer latenten Darstellung einen ähnlichen Trick hinzufügenpu(t)=(pu1(t),,puf(t))T::

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



Gewichtete Matrixfaktorisierung (WMF) und alternierende kleinste Quadrate (ALS)


Eines der Hauptprobleme von SVD ist die Verwendung nur einer expliziten Antwort des Benutzers. Dieses Problem wurde teilweise in SVD ++ gelöst . Es gibt aber noch einen anderen Weg - die Weighted Matrix Factorization ( WMF ). In diesem Artikel wurde vorgeschlagen, das Modell fast nicht zu ändern (r^ui=puTqi) und ändern Sie den Lernprozess. Für Bewertungen zuweisenruidas wissen wir nicht (d. h. für Paare (u,i)D) der Wert ist 0. Und dann für jedes Paar (u,i)Geben Sie den Parameter ein 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


Dieses Mal haben wir viele Faktorisierungsmethoden in Empfehlungssystemen diskutiert , aber die Graphen- und Neuronalen Netze , die auch viele interessante Dinge enthalten , blieben unberührt .

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


All Articles