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 i ≈ r 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 T ⋅ Q .
:
r u i ≈ r u i = p T u q i .
, p u q i — kamu saya - k. . . :
Θ={halkamu,qsaya|kamu∈U,saya∈saya}.
c :
∑(u,i)∈D(rui−ˆrui)2+λ∑θ∈Θ‖θ‖2=∑(u,i)∈D(rui−pTuqi)2+λ∑u∈U‖pu‖2+λ∑i∈I‖qi‖2.
, , , , . ˆrui. (GD) (ALS). Habr- , . , , .
( SVD, SVDbias). , , . . SVD . (bias):
ˆrui=μ+bu+bi+pTuqi,
bu — , bi — , μ — . :
Θ={μ,bu,bi,pu,qi|u∈U,i∈I}.
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/2∑j∈N(u)yj).
:
Θ={μ,bu,bi,pu,qi,yi|u∈U,i∈I}.
, N(u) R(u), .. R(u)⊂N(u). (item-item recommendation).
Asymmetric-SVD
SVD++ . . :
ˆrui=bui+qTi(|R(u)|−1/2∑j∈R(u)(ruj−buj)xj+|N(u)|−1/2∑j∈N(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/2∑j∈R(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+αu⋅devu(t)+bu,tdevu(t)=sign(t−tu)⋅|t−tu|β
.Ada opsi lain tentang cara menambahkan ketergantungan waktu kepada pengguna: Ini dijelaskan secara lebih rinci di artikelPengguna embeddings: kami akan menambahkan trik serupa untuk setiap komponen representasi laten kamipu(t)=(pu1(t),…,puf(t))T:puk(t)=puk+αuk⋅devu(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βi∑j∈Ifβj,
c0 β, .
Sparse Linear Methods (SLIM)
Sparse Linear Methods (SLIM) . , SVD . . SLIM :
ˆaui=aTuwiˆA=AW
W∈Rm×m. : W≥0 diag(W)=0. :
12‖A−AW‖2F+β2‖W‖2F+λ‖W‖1
W .
Factorization Machines (FM)
, Factorization Machines (FM). , ( 2- ). :
ˆr(x)=w0+n∑i=1wixi+n∑i=1n∑i=j+1vTivj xixj,w0∈R w∈Rn V∈Rn×k.
(SGD) ( ). , x (u,i). . , — . — ( ). ( ).

, SVD, SVD++ — FM. SVD , :
n=|U∪I|,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+e−x — (). , , :
p(P|σp)=∏u∈Up(pu|0,σ2pI),p(Q|σ2q)=∏i∈Ip(qi|0,σ2qI).
( ) , :
12∑(u,i)∈D(rui−pTuqi)2+λp2∑u∈U‖pu‖2+λq2∑i∈I‖qi‖2,
λp=σpσ λq=σqσ — . , SVD , .
Constrained PMF
PMF Constrained PMF. , SVD SVD++. , , pu :
pu+∑i∈R(u)yi|R(u)|,
R(u) — , u.
Bayesian Probabilistic Matrix Factorization (BPMF)
PMF BPMF. PMF , , . :
p(P|μp,Λp)=∏u∈Up(pu|μp,Λp),p(Q|μq,Λq)=∏i∈Ip(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={(qik−qjk) if θ=pukpuk if θ=qik−puk 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 .