추천시스템의 Bayesian Personalized Ranking (BPR)

ReadyMadeLife·2022년 4월 1일
0

Bayesian Personalized Ranking (BPR)

BPR이란 Implicit feedback dataset을 활용해 MF를 학습시킬수 있는 새로운 관점을 제시한 논문이다.
-> 베이지안 추론을 통해 Implicit data를 사용해서 서로 다른 아이템에 대한 유저 선호도를 반영

Concept

BPR은 이름에도 들어있듯이 "Personalized Ranking" 사용자에게 Ranking 순으로 추천하는 것이다.

예를 들면, 유저 u가 item i를 item j보다 더 좋아한다면 이 정보를 활용해서 유저 u의 Personalized Ranking을 학습하는 것이다.

Implicit data의 경우, 평점과 같은 선호도가 아닌 클릭, 구매 log 같은 관측 데이터이다.
-> 선호의 정도를 모른다

또한 관측되지 않은 데이터는 유저가 이 아이템을 싫어하는 건지, 아직 이 유저에게 노출이 안된건지 모른다.

이러한 것들을 모두 고려해야한다.

따라서 해당 논문은 아래와 같은 가정을 제시한다.

  1. 관측된 Item은 관측되지 않은 Item보다 선호
  2. 관측된 아이템끼리는 선호도를 매길수 없음
  3. 관측되지 않은 아이템끼리도 선호도를 매길수 없음

BPR 특징은 아래와 같다.

  1. 관측되지 않은 item에도 정보를 부여해서 학습
  2. 관측되지 않은 item들도 ranking을 매길수 있음

위 가정과 특징을 이용해서 학습 데이터를 생성해보면, 아래와 같이 학습데이터를 생성할 수 있다.

Objective function

BPR을 학습시키기 위해선 Gradient Descent로 Optimization을 수행하는데, 일반적인 GD로 학습하지 않는다.

일반적인 SGD를 사용하면, i가 j보다 많기 때문에 학습 비대칭이 발생하고,
동일한 u, i에 대해 계속 업데이트가 되어 수렴하기 어렵다.

따라서, Bootstrap 기반 SGD를 사용한다.
-> i, j 학습 비대칭 해소, 동일한 u, i가 계속 등장하지 않아 수렴하기 쉬움

profile
레디메이드인생

0개의 댓글