Orang-orang bertemu dengan sistem pemberi rekomendasi. Faktorisasi

Pembelajaran mesin telah cukup merambah kehidupan kita sehari-hari. Beberapa tidak lagi terkejut ketika mereka diberitahu tentang jaringan saraf di smartphone mereka. Salah satu bidang besar dalam ilmu ini adalah sistem rekomendasi. Mereka ada di mana-mana: ketika Anda mendengarkan musik, membaca buku, menonton acara TV atau video. Perkembangan ilmu ini terjadi di perusahaan raksasa seperti YouTube , Spotify dan Netfilx . Tentu saja, semua prestasi ilmiah di bidang ini diterbitkan baik di konferensi NeurIPS atau ICML yang terkenal , dan di RecSys yang sedikit kurang dikenal.dipertajam pada subjek ini. Dan dalam artikel ini kita akan berbicara tentang bagaimana ilmu ini berkembang, metode apa yang digunakan dalam rekomendasi dulu dan sekarang, dan apa matematika di balik semua ini.



Saya terinspirasi untuk menulis artikel ini dengan bekerja di StatML lab di Skoltech terkait dengan sistem recommender.


Mengapa dan untuk siapa artikel ini


Mengapa ini penting bagi kita masing-masing? Lihatlah daftar di bawah ini:


  • Rekomendasi video: YouTube, Netlix, HBO, Amazon Prime, Disney +, Hulu, Okko
  • Rekomendasi audio: Spotify, Yandex.Music, Yandex.Radio, Apple Music
  • Rekomendasi Produk: Amazon, Avito, liter, MyBook
  • Rekomendasi pencarian: Google, Yandex, Bing, Yahoo, Mail
  • : Booking, Twitter, Instagram, ., , GitHub

, . , . , , YouTube.


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


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



, . : U saya — . r u i kamu saya. , , , , . :


D = { ( u , i ) |  jika  r u i , u U , i I }


f:


f ( u , i ) = r u ir u i


, r u i 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. SEBUAH n × m, n = | U |, m = | Saya |. D A u i = r u i, . SVD , SEBUAH : U , Σ , V  . k , SEBUAH.


A = U Σ V T ,Sebuah A = U Σ V T .


Q P . SEBUAH :


P = ( U Σ ) T ,Q = V T ,Sebuah P TQ .


:


r u ir u i = p T u q i .


, p u q ikamu saya - k. . . :


Θ={halkamu,qsaya|kamuU,sayasaya}.


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).


Mari kita cari tahu persis bagaimana waktu mempengaruhi setiap istilah:
Bias item: Jika Anda membagi interval waktu ketika peringkat dimasukkan ke dalam segmen (30 bagian diusulkan dalam pekerjaan) dan tambahkan parameter Anda sendiribi,Bin(t) untuk setiap produk, yang dipilih tergantung pada interval di mana variabel t:

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


Bias pengguna: Menganalisis data Neflix, kami perhatikan bahwa untuk setiap pengguna rata-rata hanya ada 40 hari di mana ia memberikan peringkat. Karena itu, kami akan bertindak seperti barang dan menambahkan parameter kami sendiribu,tuntuk setiap pengguna. Kami menambahkan ketergantungan linear pada waktu - kami memperkenalkan istilah tambahanαu dengan rasio penyusutan:

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


.
Ada opsi lain tentang cara menambahkan ketergantungan waktu kepada pengguna: Ini dijelaskan secara lebih rinci di artikel
Pengguna embeddings: kami akan menambahkan trik serupa untuk setiap komponen representasi laten kamipu(t)=(pu1(t),,puf(t))T:

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



Weighted Matrix Factorization (WMF) & Alternating Least Squares (ALS)


Salah satu masalah utama yang dimiliki SVD adalah penggunaan hanya respons eksplisit dari pengguna. Masalah ini sebagian diselesaikan di SVD ++ . Tetapi ada cara lain - Weighted Matrix Factorization ( WMF ). Pada artikel ini , mereka menyarankan hampir tidak mengubah model (ˆrui=pTuqi), dan mengubah proses pembelajaran. Tetapkan peringkatruiyang tidak kita ketahui (yaitu untuk pasangan (u,i)D) nilainya 0. Dan kemudian untuk setiap pasangan (u,i) masukkan parameter 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


Kali ini kami membahas banyak metode Faktorisasi dalam sistem rekomendasi, tetapi Grafik dan Jaringan Saraf Tiruan , yang juga memiliki banyak hal menarik , tetap tidak tersentuh .

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


All Articles