∣DS∣ 의 값이 크기 때문에, (c,i,j)\inDS pair 를 sampling 해서 SGD step 을 수행한다.
(c,i)\inS 의 sampling 을 먼저 수행하고, a negative item j\inI\backslashI+(c) 을 sampling 함
BPR Algorithm Figure
Issues in Tailed Item Distributions
Gradient Magnitude: Δc,i,j
Δc,i,j 는 모델 parameter Θ 학습에 큰 영향을 미친다
: Δc,i,j:=(1−σ(y^(c,i)−y^(c,j)))=(1−p(i≻cj))
만약, i 가 올바르게 할당되어 j 보다 높은 점수를 가진게 당연하다면, Δc,i,j 는 당연히 0 에 가깝게 될 것이고, 학습이 거의 진행되지 않을 것이다.
반대의 상황이라면, 해당 값은 1 에 가깝게 나올것이다.
Improved item sampling: negative item 을 위한 non-uniform samplers 을 제안
Static & Global Sampling
popular 한 item 들을 oversampling 하는 것
empirical sampling distribution
: p(j\midc)∝∣{(c′,j′)\inS:j=j′}∣
구현) S 로 부터 uniform 하게 observation (c′,j) 을 뽑고, c′ 을 버린다음 j 를 negative item 으로 사용함
parametreic sampling
E.g. Geometric distribution
: p(j\midc)=γ(1−γ)r(j),γ∈(0,1)
r(j) 는 global popularity ranking 에 따른 item j 의 rank
어떤 distribution 방식을 사용하던 결과는 거의 똑같다.
다만, 구현은 the empirical distribution 쪽이 더 쉬움
Adaptive & Context-dependent Sampling
p(j\midc)∝∣{(c′,j′)\inS:c=c′,j=j′}∣=δ((c,j)\inS)
negative item j 가 높은 순위에 있을수록 (r^(j\midc) 의 rank 값이 작을수록) ,Δc,i,j 크기 역시 커지는데, 이를 반영하는 sampling distribution 은 다음과 같다
: p(j\midc)∝exp(−r^(j\midc)/λ),λ∈R+
score y^(j\midc) 대신 rank 를 사용하는 이유는 rank 는 절대값이고, score 는 상대적 값이기 때문이다.