As pessoas conhecem os sistemas de recomendação. Fatoração

O aprendizado de máquina praticamente penetrou em nossas vidas cotidianas. Alguns não ficam mais surpresos quando são informados sobre redes neurais em seus smartphones. Uma das grandes áreas dessa ciência são os sistemas de recomendação. Eles estão por toda parte: quando você ouve música, lê livros, assiste a programas de TV ou vídeos. O desenvolvimento dessa ciência ocorre em empresas gigantes como YouTube , Spotify e Netfilx . Obviamente, todas as realizações científicas nessa área são publicadas nas famosas conferências NeurIPS ou ICML e nas RecSys um pouco menos conhecidas .aguçado sobre este assunto. E neste artigo, falaremos sobre como essa ciência se desenvolveu, quais métodos são usados ​​nas recomendações antes e agora e que matemática está por trás de tudo isso.



I foi inspirado a escrever este artigo, trabalhando na StatML laboratório em Skoltech relacionada a sistemas de recomendação.


Por que e para quem este artigo


Por que isso pode ser importante para cada um de nós? Dê uma olhada na lista abaixo:


  • Recomendações de vídeo: YouTube, Netlix, HBO, Amazon Prime, Disney +, Hulu, Okko
  • Recomendações de áudio: Spotify, Yandex.Music, Yandex.Radio, Apple Music
  • Recomendações de produto: Amazon, Avito, litros, MyBook
  • Recomendações de pesquisa: Google, Yandex, Bing, Yahoo, Correio
  • : 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).


Vamos descobrir como exatamente o tempo afeta cada termo:
Viés do item: se você dividir o intervalo de tempo em que as classificações foram colocadas em segmentos (30 partes são propostas no trabalho) e adicionar seus próprios parâmetrosbi,Bin(t) para cada produto, selecionado dependendo do intervalo em que a variável t:

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


Viés do usuário: analisando os dados do Neflix, percebemos que, para cada usuário, em média, existem apenas 40 dias nos quais ele colocou as classificações. Portanto, agiremos como com as mercadorias e adicionaremos nossos próprios parâmetrosbu,tpara cada usuário. Adicionamos uma dependência linear do tempo - introduzimos um termo adicionalαu com taxa de depreciação:

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


.
Existem outras opções sobre como adicionar uma dependência de tempo aos usuários: É descrito em mais detalhes no artigo
Incorporação de usuários: adicionaremos um truque semelhante para cada componente de nossa representação latentepu(t)=(pu1(t),,puf(t))T:

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



Fatoração de matriz ponderada (WMF) e mínimos quadrados alternados (ALS)


Um dos principais problemas que o SVD tem é o uso de apenas uma resposta explícita do usuário. Esse problema foi parcialmente resolvido no SVD ++ . Mas há outra maneira - a Factorização matricial ponderada ( WMF ). Neste artigo, eles sugeriram quase não alterar o modelo (r^ui=puTqi) e altere o processo de aprendizagem. Atribuir para classificaçõesruique não sabemos (ou seja, para casais (u,i)D) o valor é 0. E então para cada par (u,i)insira o parâmetro 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


Desta vez, discutimos muitos métodos de fatoração em sistemas de recomendação, mas as redes neurais e de gráfico , que também têm muitas coisas interessantes , permaneceram intocadas .

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


All Articles