BPR: Bayesian Personalized Ranking from Implicit Feedback (UAI’09)
- https://dl.acm.org/doi/10.5555/1795114.1795167
- negative sampling 쓰거나 그냥 $(U \times I) \backslash S$ 를 전부 negative sample 으로 둔 뒤 BCE 로 학습시키면 문제가 발생함
- 만약 모델이 expressive enough to “memorize” 이라면, 모든 prediction 이 전부 0이 될 것이다. 그렇게 학습시켰으니까!
- 따라서, 이런 식으로 학습되는 MF 같은 방법론들이 잘 되는 이유는, 단지 regularization 방법론 때문이다
- SVD 를 사용한 MF 는 overfitting 되는 경향이 있다. 그래서 다양한 regularized learning method 가 도입되었다 - WR-MF 등
- 이 논문에서는 single item 의 점수를 예측하는 기존의 방법론에서 벗어나 새로운 approach 를 제안하는데
- item pair 를 가지고 상대적인 랭킹 자체를 학습시키는 것이다
- 이때 데이터셋은
$D_S := \{(u, i, j) \vert i \in I_u^+ \land j \in I \backslash I_u^+\}$ - $(u, i, j)$ 가 의미하는 바는, user $u$ 가 $i$ 를 $j$ 보다 더 좋아한다, preference 를 의미한다
- 이는 어떠한 가정을 의미하는데- observe 된 아이템이 non-observed 보다 항상 user $u$ 에게 더 선호된다는 가정
- 목적 함수는 베이지안 해석을 따름(?) 표현을 어떻게 해야할지 모르겠음. 그냥 MAP 이다
- $p(\Theta \vert >_u) \propto p(>_u \vert \Theta)p(\Theta)$
-
\[\Pi_{u \in U}\ p(>_u \vert \Theta) = \\ \Pi_{(u, i, j) \in U\times I\times I} \ p(i >_u j \vert \Theta)^{\delta((u, i, j) \in D_S)} \\ \cdot (1-p(i >_u j \vert \Theta))^{\delta((u, i, j) \notin D_S)}\]
- bernoulli distrtibution
- 정리하면 $\Pi_{(u, i, j) \in D_S}\ p(i>_u j \vert \Theta)$
- 이때 \(p(i>_u j \vert \Theta) := \sigma (\hat x_{uij}(\Theta))\)
- $\Theta$ 는 모델에 따라 다를 것임
- 그리고 $p(\Theta) \sim N(0, \Sigma_\Theta)$
- 목적식음 다음과 같음
$\sum_{(u, i, j) \in D_S} \text{ln} \sigma (\hat x_{uij}) - \lambda_\Theta \vert\vert \Theta \vert\vert^2$
- 그럼 구체적으로 어떻게 학습시키는가?
- 논문의 4.3
- MF 나 learned kNN 모델을 생각해보자. 그리고 각 user-item-pair $(u, i)$ 마다의 예측을 $\hat x_{ul}$ 이라고 하자
- 그리고 estimator $\hat x_{uij} := \hat x_{ui} - \hat x_{uj}$ 로 정의한다
- 이렇게 하면, we can apply any standard CF model that predicts $\hat x_{ui}$
- SGD based on bootstrap sampling of training triples
- SGD 할때 배치를 부트스트래핑으로 뽑았다는 소리인듯? 복원추출..?
- 복원추출에 대한 오해- 라는 글을 봤는데 시간 나면 정리해보자
- SGD 할때 배치를 부트스트래핑으로 뽑았다는 소리인듯? 복원추출..?
- user-wise 하게 하니까 converge 속도가 느리고, 아예 user-item-pair 자체를 랜덤하게 추출하는 게 훨씬 더 빠름 - Fig.5
- user-wise SGD (no bootstraping) 가 typical 한 방식이었던 것 같음.
- AUC 와 식이 같고, 미분 가능하다는 것만 다르다.. 는 식으로 4.1.1 에서 말하는 것 같은데 와닿지는 않음. 아무튼 그렇다고 함
- AUC 식이 저게 맞나 싶음;
- 전에 읽었던 걸 정리해보고 있는데, 모르는 게 참 많은 것 같다. 이번 논문에서도 adaptive kNN 이라든지 Factorization meets the neighborhood 나 MMMF, WR-MF 같은 건 아예 처음 들어본다
- 알아야 하나.. 싶기도 하고. 할 것도 많고 교수님이 주신 것도 너무 많다
- 일단 기록만 해두자
first draft: 2023.04.04 17:25