<aside> ✔️ 간단 요약
사용자의 선호도를 두 아이템 간의 Pairwise-ranking 문제로 formulation 하여 각 사용자별로 개인화된 랭킹 함수를 추정한다.
Implicit Feedback, MAP, LEARNBPR
</aside>
Positive Feedback과 Negative Feedback을 한 쌍씩 뽑아서 임베딩 벡터를 학습한다.
Rating을 True / False로 다룬다.
Negative Feedback이 없다면 만들어주어야 한다.
사용자의 선호도를 두 아이템 간의 Pairwise-ranking 문제로 formulation 하여 각 사용자별로 개인화된 랭킹 함수를 추정한다.
Why?
기존의 방법들은 missing value를 0 으로 처리했고 결과적으로 선호하지 않는 아이템과 사용자가 아직 접하지 않았지만 선호할만한 아이템이 0에 섞이게 된다.
또한, Regression obj,를 사용하므로 unseen item에 negative scoring 하는 케이스가 존재한다.(추천 품질에 막영향)
그러므로 positive instance (+) 에는 높은 score를 주고 non-positive instance (?) 에는 낮은 score를 주고 ranking하는 형태로 변경한다.
사용자 별로 positive 및 negative 아이템 간의 compatibility의 차이를 계산하여 개인화 된 pairwise ranking (AUC를 최적화하는 것과 유사하다, classification)
개인화 추천을 위해 베이지안 추론을 기반으로 행렬을 인수분해(MF)하자.
BPR: Bayesian Personalized Ranking from Implicit Feedback
Implicit Feedback 데이터를 활용해 MF를 학습할 수 있는 새로운 관점을 제시한 논문
베이지안 추론 기반
Maximum Posterior Estimator에 기반한 최적화 기법인 BPR-OTP 제안
Implicit data를 사용해 서로 다른 아이템에 대한 유저의 선호도를 반영하도록 모델링
문제를 $\tt u : i > j$와 같이 정의하고 이를 학습하며 파라미터를 최적화
$i>_uj$ : user u prefers i over $j$ 를 의미하는 personalized ranking function
$\hat{x}_{u i j}: i>_u j$ 를 추정하기 위해 도입한 pairwise preference를 나타내는 parametric predictor
$$ \begin{aligned} & \hat{x}{u i j}>0 \rightarrow \text { u prefers } i \\ & \hat{x}{u i j} \leq 0 \rightarrow \text { u prefers } j \end{aligned} $$
The most straightforward option is that $\hat{x}{u i j}=\hat{x}{u i}-\hat{x}_{u j}$ (difference between $\mathrm{i}$ and $j$)
각 compatibility function $\hat{x}{u i}$ 와 $\hat{x}{u j}$ 는 latent factor model의 결과값으로 정의 될 수 있다.
$$ \hat{x}{u i j}=\hat{x}{u i}-\hat{x}_{u j}=\gamma_u \cdot \gamma_i-\gamma_u \cdot \gamma_j $$
MF | BPR |
---|---|
Pointwise | Pairwise optimization |
MSE를 Optimize하는 regression | classification objective |