人们满足推荐系统。因式分解

机器学习已经渗透到我们的日常生活中。当有人告诉他们有关智能手机中的神经网络时,不再感到惊讶。推荐系统是该科学领域的一大领域。它们无处不在:当您听音乐,看书,看电视节目或视频时。这种科学的发展发生在YouTubeSpotifyNetfilx等大型公司中。当然,该领域的所有科学成就都在著名的NeurIPSICML会议以及不太知名的RecSys上发表。在这个问题上更加敏锐。在本文中,我们将讨论这种科学的发展方式,现在和现在所采用的推荐方法以及所有这些方法背后的数学原理。



我的灵感来自于工作,写这篇文章StatML实验室Skoltech与推荐系统。


为什么和为谁


为什么这对我们每个人都很重要?看一下下面的列表:


  • 影片推荐: YouTube,Netlix,HBO,Amazon Prime,迪士尼+,Hulu,Okko
  • 音频建议: Spotify,Yandex.Music,Yandex.Radio,Apple Music
  • 产品推荐: Amazon,Avito,LitRes,MyBook
  • 搜索建议: 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).


让我们弄清楚时间对每个术语有何影响:
项目偏差:如果您将评分分为几段的时间间隔(工作中建议了30个部分)并添加自己的参数bi,Bin(t) 对于每种产品,根据变量的间隔来选择 t

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


用户偏见:在分析Neflix数据时,我们注意到,平均每个用户的排名只有40天。因此,我们将充当商品并添加我们自己的参数bu,t对于每个用户。我们增加了对时间的线性依赖性-我们引入了另一个术语αu 折旧率:

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



关于如何向用户添加时间依赖项,还有其他选项:
用户嵌入一文中有更详细的描述我们将为潜在表示的每个组件添加一个类似的技巧。pu(t)=(pu1(t),,puf(t))T

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



加权矩阵分解(WMF)和交替最小二乘(ALS)


SVD的主要问题之一是仅使用来自用户的明确响应。这个问题在SVD ++中得到了部分解决但是还有另一种方式-加权矩阵分解(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


这次我们讨论了推荐系统中的许多分解方法,但是神经网络(还有很多有趣的东西)仍然没有被改动

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


All Articles