티스토리 뷰
Paper/Recommendation
BPR: Bayesian Personalized Ranking from Implicit Feedback
기내식은수박바 2020. 2. 23. 15:29반응형
논문
Abstract
- 아이템 추천은 개인 맞춤형 아이템 집합 (ex. 웹사이트, 영화, 상품) 랭킹을 예측하는 태스크임.
- 이 논문에서, 우리는 Implicit 피드백 (ex. 클릭, 구매) 을 이용한 가장 흔한 시나리오를 살펴봄.
- Implicit 피드백을 이용하여 아이템을 추천하는 많은 방법들이 있지만, 아래 방법들은 랭킹을 직접 최적화할 수 없음.
- Matrix Factorization (MF)
- k-Nearest-Neighbor (kNN)
- 우리는 개인 맞춤형 랭킹에 대해 포괄적 최적화 기준인 BPR-OPT를 제시함.
- 이 기준은 베이지안 문제 분석으로 도출된 최대 사후 확률 추정기임.
- 우리는 또한 BPR-OPT 관점에서 모델을 최적화하는 포괄적 학습 알고리즘을 제공함.
- 학습 방법은 부트스트랩 샘플링을 이용한 SGD (Stochastic Gradient Descent) 기반으로 되어있음.
- 우리는 이러한 것들을 두 가지 최신 추천 모델에 적용하는 방법을 보여줌 :
- MF (Matrix Factorization)
- 적응형 k-NN (Adaptive k-Nearest Neighbor)
1. Introduction
- 컨텐츠 추천은 많은 정보 시스템에서 중요한 태스크임.
- 예를 들어, Amazon 같은 온라인 쇼핑 웹사이트에서는 개별 고객들에게 개인 맞춤형 상품 추천을 제공함.
- 또 다른 예시는 Youtube 같은 비디오 포털 또한 고객들에게 영화를 추천해주는 것이 될 수 있음.
- 개인화는 다음과 같은 사람들에게 모두 매력적으로 작용함.
- 판매량 또는 조회수를 늘릴 수 있는 컨텐츠 제공자
- 흥미로운 컨텐츠를 더 쉽게 찾을 수 있는 고객
- 이 논문에서, 우리는 아이템 추천에 초점을 맞춤.
- 아이템 추천 태스크는 유저별 아이템 집합 랭킹을 만드는 것임.
- 아이템에 대한 유저 선호도는 유저의 과거 Interaction과 시스템을 이용하여 학습 (ex. 구매 내역, 조회 내역, 등등) 됨.
- 가장 최근 연구는 유저가 Explicit 피드백 (ex. 등급) 을 제공한 시나리오에서 진행한 것임.
- 그럼에도 불구하고, 실제 시나리오에서는 피드백 대부분이 Explicit이 아닌 Implicit 형태임.
- 다음과 같은 Implicit 피드백은 자동으로 추적됨.
- 클릭 모니터링
- 조회 시간
- 구매
- 따라서, 유저가 명시적으로 관심을 표현하지 않아도 되기 때문에, 훨씬 더 수집하기 쉬움.
- 실제로, Implicit 피드백은 대부분의 정보 시스템에서 이미 사용 가능함 (ex. 웹 서버가 모든 페이지 접근을 로그 파일에 기록함).
논문의 기여
- 최대 사후 확률 추정기에서 도출되는 포괄적인 최적화 기준인 BPR-OPT를 제시함.
- \(BPR\)-\(OPT\)를 최대화 하기 위해, 우리는 포괄적 학습 알고리즘인 LearnBPR을 제시함.
- 이는 부트스트랩 샘플링을 이용한 SGD를 기반으로 만들어졌음.
- 두 가지 최신 추천 모델 클래스에 LearngBPR을 적용시키는 방법을 보여줌.
3. Personalized Ranking
- 개인 맞춤형 랭킹 태스크는 랭크가 등록된 아이템 리스트를 유저에게 제공하는 것임.
- 이는 아이템 추천라고도 불림.
- 유저가 사고 싶어할 지도 모르는 개인 맞춤형 랭킹 아이템 리스트를 추천하는 온라인 샵이 한 예시가 될 수 있음.
- 이 논문에서, 우리는 랭킹이 유저의 Implicit 행동 (ex. 과거 구매내역) 에서 추론되어야하는 시나리오를 살핌.
Implicit 피드백 시스템의 흥미로운 점은 Positive 관측만이 사용 가능하다는 것임.
- 관찰되지 않은 유저-아이템 Pair (ex. 유저가 아이템을 아직 구매하지 않았음) 는 실제 Negative 피드백과 결측치의 혼합물임.
- Negative 피드백 : 유저가 아이템 구매에 관심이 없음.
- 결측치 (Missing Values) : 유저가 추후에 아이템을 구매하고 싶을 수도 있음.
3.1 Formalization
- 다음과 같이 가정해보겠음.
- \(U\) : 모든 유저 집합
- \(I\) : 모든 아이템 집합
- 우리 시나리오에서는, Implicit 피드백 \(S \, \subseteq \, U \, \times \, I\) 이 사용 가능함 (Figure 1의 왼쪽).
- 그러한 피드백의 예시들은 온라인 샵의 "구매", 비디오 포털의 "조회" 또는 웹사이트의 "클릭"이 될 수 있음.
- 추천 시스템의 태스크는 현재 유저에게 모든 아이템의 개인 맞춤형 종합 랭킹 \(>_{u} \subset \, I^{2}\) 을 제공하는 것임.
- \(>_{u}\) 는 다음과 같은 전체 순서 속성들을 만족해야 함 :
- 편의상, 다음과 같이 정의할 수 있음 :
3.2 Analysis of the problem setting
- 이전에 얘기한 것처럼, Implicit 피드백 시스템은 Positivie 클래스만 관측됨.
- 남아있는 데이터는 실제 Negative & 결측치의 혼합물임.
- 결측치 문제에 대처하는 가장 흔한 접근법은 모든 결측치를 무시하는 것임.
- 하지만, 이 경우 일반적인 머신 러닝 모델은 더 이상 두 가지 레벨을 구별할 수 없기 때문에, 아무것도 학습할 수 없음.
- 아이템 추천의 일반적인 접근법은 유저 선호도가 반영된 아이템에 대한 개인 맞춤형 점수 \(\hat{x}_{ui}\) 를 예측하는 것임.
- 그런 다음, 점수에 따라 아이템을 정렬한 뒤, 아이템에 랭크가 등록됨.
- 아이템 추천에 관한 머신 러닝 접근법은 일반적으로 \(S\) 에서 훈련 데이터를 생성함.
- 훈련 데이터는 Pair \((u, i) \in S\) (Positive Class Label) & 이외에 모든 조합들 \((U \, \times \, I) \backslash S\) (Negative Class Lable) (Figure 1을 보면 됨).
- 그런 다음, 모델에 이 데이터를 적합시킴.
- 즉, 모델이 \(S\) 원소에 대해서는 값 1을, 그리고 나머지에 대해서는 값 0을 예측하기 위해 최적화 된다는 것을 의미함.
- 이 접근법의 문제는 추후 \(((U \, \times \, I) \, \backslash \, S)\) 에 모델이 랭크를 매겨야 하는 모든 원소들은 훈련 동안 학습 알고리즘에서 Negative 피드백으로 나타난다는 점임.
- 즉, 충분한 표현력 (훈련 데이터를 정확히 적합시킬 수 있는) 을 가진 모델이 0만 예측하기 때문에, 더 이상 랭크를 매길 수 없다는 것을 의미함.
- 그러한 머신 러닝 방법이 랭킹을 예측할 수 있는 유일한 이유는 Regularization 같이, 오버피팅을 예방하기 위한 전략 덕분임.
우리는 아이템 Pair를 훈련 데이터로 사용하는 또 다른 접근법을 사용하고, 단일 아이템에 점수를 매기는 대신 정확하게 아이템 Pair 랭크를 매겨 최적화함.
- 이렇게 한 이유는 결측치를 Negative 값으로 대체하는 것보다 문제를 더 잘 표현하기 때문임.
- \(S\) 에서, 우리는 각 유저에 대해 \(>_{u}\) 의 일부를 재구축하려고 함.
- 유저 \(u\) 가 아이템 \(i\) 를 조회했다면 (즉, \((u, i) \, \in \, S\)), 우리는 유저가 조회하지 않은 다른 모든 아이템보다 이 아이템을 더 선호한다고 가정함.
- 예를 들어, Figure 2에서, 유저 \(u_{1}\) 은 아이템 \(i_{2}\) 를 조회했지만 아이템 \(i_{1}\) 은 조회하지 않았음.
- 따라서, 우리는 이 유저가 아이템 \(i_{1}\) 보다 아이템 \(i_{2}\) 를 선호 (\(i_{2} \, >_{u} \, i_{1})\) 한다고 가정함.
- 유저가 조회한 두 가지 아이템의 경우, 우리가 어떤 선호도도 추론할 수 없음.
- 유저가 아직 조회 하지 않은 두 가지 아이템에 대해서도 마찬가지임.
- ex) 유저 \(u_{1}\) 에 대한 아이템 \(i_{1}\) & \(i_{4}\)
- 유저가 아직 조회 하지 않은 두 가지 아이템에 대해서도 마찬가지임.
- 이를 공식화하기 위해, 우리는 다음과 같이 훈련 데이터 \(D_{S} \, : \, U \, \times \, I \times \, I\) 를 만듬 :
- \((u, i, j) \, \in \, D_{S})\) 의 의미는 유저 \(u\) 가 \(j\) 보다 \(i\) 를 선호한다고 가정하는 것임.
- \(>_{u}\) 이 반대칭 (Antisymmetric) 이기 때문에, Negative인 경우는 Implicit으로 간주됨.
우리 접근법은 두 가지 이점이 있음 :
- 우리 훈련 데이터는 Positive & Nagative Pair 와 결측치로 구성됨.
- 관측되지 않은 두 아이템 사이의 결측치는 추후에 랭크가 정확하게 매겨져야 하는 아이템 Pair가 됨.
- 즉, Pairwise 관점에서, 훈련 데이터 \(D_{S}\) & 테스트 데이터가 서로 상호 배타적 (Disjoint) 이라는 것임.
- 훈련 데이터는 실제 등급의 목적 함수를 위해 만들어짐.
- 즉, \(>_{u}\) 의 관찰된 하위집합 \(D_{S}\) 은 훈련 데이터로 사용됨.
4. Bayesian Personalized Ranking (BPR)
- 이 Section에서, 우리는 개인 맞춤형 랭킹 태스크를 해결하는 포괄적 방법을 도출함.
- 개인 맞춤형 랭킹에 대한 일반적인 최적화 기준 \(BPR\)-\(OPR\) 로 구성됨.
- \(BPR\)-\(OPR\) 은 \(p(i \, >_{u} \, j | \Theta)\) 에 대한 우도 함수 & 모델 파라미터 \(p(\Theta)\) 에 대한 사전 확률을 사용한 베이지안 문제 분석을 통해 도출될 것임.
- \(BPR\)-\(OPR\) 과 관련한 학습 모델의 경우, 우리는 LearnBPR 알고리즘을 제시함.
- 결국, 우리는 \(BPR\)-\(OPT\) & LearnBPR이 두 가지 최신 추천 알고리즘에 어떻게 적용될 수 있는지를 보여줌.
- MF (Matrix Factorization)
- kNN (k-Nearest Neighbor)
- 이러한 모델들을 BPR을 통해 최적화 하는 것은 일반적인 훈련 방법보다 더 좋은 랭킹을 생성할 수 있음.
4.1 BPR Optimization Criterion
- 모든 아이템 \(i \, \in \, I\) 에 대해 올바른 개인 맞춤별 랭킹을 찾는 베이지안 공식은 다음과 같은 사후 확률을 최대화하는 것임.
- 파라미터 설명 :
- \(\Theta\) 는 임의의 모델 클래스 파라미터 벡터를 표현하는 것임.
- ex) Matrix Factorization
- \(>_{u}\) 는 유저 \(u\) 에 대한 잠재 선호도 구조를 나타냄.
- \(\Theta\) 는 임의의 모델 클래스 파라미터 벡터를 표현하는 것임.
- 모든 유저들은 서로 독립적으로 행동한다고 상정됨.
- 우리는 또한, 특정 유저에 대한 모든 아이템 Pair \((i, j)\) 순서가 다른 모든 Pair 순서와 독립적이라고 가정함.
- 따라서, 위 유저별 우도 함수 \(p(>_{u} | \Theta)\) 는 다음과 같이 진행됨 :
- 먼저, 단일 밀도 함수 내적으로 다시 작성될 수 있음.
- 두 번째로, 모든 유저 \(u \, \in U\) 에 대해 결합될 수 있음.
- \(\delta\) 는 다음과 같은 Indicator 함수임 :
- Pairwise 순서 스키마의 Totality & Antisymmetry 때문에, 위 공식을 다음과 같이 단순화할 수 있음 :
- 일반적으로 지금까지는 개인 맞춤형 전체 순서를 얻는 것이 보장되지 않음.
- 이를 구축하기 위해, 이미 언급한 속성들 (Totality, Antisymmetry & Transitivity) 이 수행되어야 함.
- 그렇게 함으로써, 우리는 유저가 아이템 \(j\) 보다 아이템 \(i\)를 더 선호하는 개별 확률을 정의할 수 있음 :
- 파라미터 설명 :
- \(\sigma\) : 로지스틱 시그모이드
- \(\hat{x}_{uij}(\Theta)\) : 유저 \(u\), 아이템 \(i, j\) 사이의 특별한 관계를 포착하는 모델 파라미터 벡터 \(\Theta\) 임의의 실제 값 함수를 의미함.
- 즉, 포괄적인 우리 프레임워크는 \(\hat{x}_{uij}(\Theta)\) 추정을 담당하는 MF 또는 적응형 kNN 같이 기본 모델 클래스에 대한 \(u, i, j\) 사이의 관계를 모델링하는 태스크를 대표함.
- 따라서, 개인 맞춤형 전체 순서 \(>_{u}\) 를 통계적으로 모델링 하기 쉬워짐.
- 간단하게, 다음 부터는 \(\Theta\) 를 스킵하여 \(\hat{x}_{uij}\) 로 사용할 것임.
- 지금까지, 우리는 우도 함수만을 논의 했음.
- 개인 맞춤형 랭킹 태스크에 대한 베이지안 모델링 접근법을 완성하기 위해, 일반적 사전 밀도 함수 \(p(\Theta)\) 를 도입함.
- 이는 평균 0 & 분산-공분산 행렬 \(\Sigma_{\Theta}\) 인 정규 분포를 의미함.
- 다음으로, 우리가 알지 못하는 하이퍼파라미터의 갯수를 줄이기 위해, \(\Sigma_{\Theta} \, = \, \boldsymbol{\lambda}_{\Theta}I\) 로 설정함.
- 이제, 우리는 개인 맞춤별 랭킹 \(BPR\)-\(OPT\) 에 대해 포괄적인 최적화 기준에서 추출하는 최대 사후 확률 추정기를 공식화할 수 있음.
- 파라미터 설명 :
- \(\boldsymbol{\lambda}_{\Theta}\) 는 모델별 Regularization 파라미터.
4.1.1 Analogies to AUC optimization
- 베이지안 개인 맞춤형 랭킹 (BPR, Bayesian Personalized Ranking) 스키마 공식을 이용하여, 이제 BPR & AUC 사이의 유사점을 쉽게 이해할 수 있음.
- 유저별 AUC는 보통 다음과 같이 정의됨 :
- 따라서, 평균 AUC는 다음과 같음 :
- \(D_{S}\) 표기법을 가지고, 다음과 같이 다시 작성할 수 있음 :
- 파라미터 설명 :
- \(z_{u}\) : 정규화 (Normalizing) 상수
- 수식 (1) 과 \(BPR\)-\(OPT\) 의 유사점은 분명함.
- 정규화 상수 \(z_{u}\) 외에도, 둘은 손실 함수만 다름.
- AUC는 미분할 수 없는 손실 함수 \(\delta (x > 0)\) 을 사용함.
- 이는 Heaviside 함수와 동일함.
- 대신, 우리는 미분 가능한 손실 함수 \(ln \sigma(x)\) 를 사용함.
- AUC를 최적화할 때, 미분할 수 없는 Heaviside 함수를 대체하는 것이 일반적임.
- 종종 대체 선택으로는 휴리스틱이며, \(\sigma\) 같이 유사하게 형성된 함수가 사용됨 (Figure 3).
4.2 BPR Learning Algorithm
- 여기서는 개인 맞춤형 랭킹에 대한 최적화 기준을 도출함.
- 이 기준이 미분 가능하므로, Gradient Descent 기반 알고리즘이 최대화에 대한 명백한 선택임.
- 하지만, 표준 Gradient Descent가 우리 문제에 대한 올바른 선택이 아님.
- 이 이슈를 해결하기 위해, 우리는 LearnBPR을 제시함.
- 이는 부트스트랩 Triples 훈련 샘플링 기반 SGD (Stochastic Gradient-Descent) 알고리즘임 (Figure 4).
- 먼저, 모델 파라미터 관점에서 \(BPR\)-\(OPT\) 의 Gradients는 다음과 같음 :
- Gradient Descent에 대한 가장 흔한 두 가지 알고리즘은 Full 또는 SGD임.
1. Full Gradient
- 각 스텝에서, 모든 훈련 데이터에 대한 Full Gradient가 계산되고, 모델 파라미터는 학습률 \(\alpha\) 를 이용하여 갱신됨.
- 일반적으로, 이 접근법은 "정확한" 방향으로 감소하도록 이끌지만, 수렴은 느림.
- 우리가 \(D_{S}\)의 \(O(|S| \, |I|)\) 훈련 Triples를 가지고 있기 때문에, 모든 갱신 단계에서 Full Gradient를 계산하는 것은 불가능함.
- 게다가, Full Gradient Descent를 이용하여 \(BPR\)-\(OPT\)를 최적화하는 경우에도 또한, 훈련 Pair의 왜도 (Skewness) 수렴을 안 좋은 쪽으로 이끔.
- 종종 Positive를 가지는 아이템 \(i\) 를 상상해보겠음.
- 우리는 많은 유저 \(u\) 에 대해, 아이템 \(i\) 가 모든 Negative 아이템들 \(j\) (Dominating 클래스) 와 비교되기 때문에 손실에서 공식 \(\hat{x}_{uij}\)의 많은 Terms를 가짐.
- 따라서, \(i\) 에 종속적인 모델 파라미터의 Gradient가 Gradient를 주로 지배할 수 있음.
- 즉, 매우 작은 학습률이 선택되어야 한다는 것임.
- 두 번째로, Gradients가 다르기 때문에 Regularization이 어려움.
2. SGD
- 이 경우, 각 Triple \((u, i, j) \, \in \, D_{S}\) 의 갱신이 다음과 같이 수행됨 :
- 일반적으로, 이는 우리 Skew 문제에 대한 좋은 접근법임.
- 하지만, 통과되는 훈련 Pair의 순서가 중요함.
- 데이터를 통과시키는 일반적인 접근법인 Item-wise 또는 User-wise는 안 좋은 수렴으로 이끌 것임.
- 왜냐하면, 동일한 유저-아이템 Pair에 많은 수의 연속적인 갱신들이 있기 때문임.
- 즉, 한 유저-아이템 Pair \((u, i)\) 의 경우에, \((u, i, j) \in D_{S}\) 를 가진 많은 \(j\) 가 있다는 것임.
- 이 이슈를 해결하기 위해, 우리는 무작위로 Triples를 선택 (균등하게 분포된) 하는 SGD 알고리즘 사용을 제안함.
- 이 접근법을 이용하면, 연속적인 갱신 단계에서 동일한 유저-아이템 조합을 선택하는 확률이 작음.
- 우리는 부트스트랩 샘플링 기법으로 대체하여 사용할 것을 제안함.
- 왜냐하면, 어느 단계에서 수행을 중단할 수도 있기 때문임.
- Full 사이클 아이디어를 폐기하는 것은 우리 경우에서 특히 유용함.
- 왜냐하면, 예제 수가 대규모이고, 수렴에 대해 종종 Full 사이클의 일부만으로도 충분하기 때문임.
- 우리는 관측된 Positive 피드백 \(S\) 의 갯수에 따라, 추정 단계에서 단일 스텝 횟수를 선형적으로 선택함.
- Figure 5는 일반적인 User-wise SGD와 부트스트랩을 이용한 LearnBPR의 비교를 보여줌.
- 모델은 16차원을 가진 BPR-MF임.
4.3 Learning models with BPR
- 여기서 우리는 아이템 추천에 대한 두 가지 최신 모델 클래스, 그리고 우리가 제시한 BPR 기법을 이용하여 이 모델들을 어떻게 훈련하는지 설명함.
- MF (Matrix Factorization)
- k-NN (k-Nearest Neighbor)
- 이 두 모델 모두 아이템에 대한 유저의 숨겨진 선호도를 모델링 함.
- 예측은 유저-아이템 Pair \((u, l)\) 별 실수 \(\hat{x}_{ul}\) 로 도출됨.
- 최적화 측면에서, 우리는 \((u, i, j) \, \in \, D_{S}\) Triples를 가지고 있기 때문에, 먼저 추정기 \(\hat{x}_{uij}\) 를 분해하고, 이를 다음과 같이 정의함 :
- 이제, 우리는 \(\hat{x}_{ul}\) 를 예측하는 어떤 표준 CF 모델이든 이를 적용할 수 있음.
- 우리가 다른 연구와 동일한 모델을 사용하지만, 또 다른 기준 따라 모델들을 최적화한다는 것을 유의해야 함.
- 이는 우리 기준이 랭킹 태스크에 최적이기 때문에 더 좋은 랭킹으로 이끌 것임.
- 우리 기준은 단일 예측기 \(\hat{x}_{ul}\) 을 하나의 숫자로 Regress 하지 않는 대신, 두 예측 \(\hat{x}_{ui} - \hat{x}_{uj}\) 의 차이를 분류하려고 함.
4.3.1 Matrix Factorization
- \(\hat{x}_{ui}\) 를 예측하는 문제는 행렬 \(X \, : \, U \, \times \, I\) 를 추정하는 태스크로 볼 수 있음.
- MF를 이용하여, 타겟 행렬 \(X\) 는 두 개의 낮은-랭크 행렬들 \(W \, : \, |U| \, \times \, k\) & \(H \, : \, |I| \, \times \, k\) 의 내적으로 근사됨 :
- 파라미터 설명 :
- \(k\) : 차원 / 랭크의 근사값임.
- \(W\) 의 각 행 \(w_{u}\) : 유저 \(u\)를 설명하는 Feature 벡터로 볼 수 있음.
- 이와 유사하게 \(H\) 의 각 행 \(h_{i}\) : 아이템 \(i\) 를 설명함.
- 따라서, 예측 공식은 다음과 같이 다시 작성될 수 있음 :
- MF에 대한 모델 파라미터는 \(\Theta \, = \, (W, H)\) 임.
- 또한, 모델 파라미터는 관찰되지 않은 유저 취향과 아이템 속성들을 모델링하는 잠재 변수로 볼 수 있음.
- 일반적으로, 최소 제곱에 대한 \(\hat{X}\) ~ \(X\)의 가장 좋은 근사치는 SVD 를 이용하여 달성됨.
- 머신 러닝 태스크의 경우, SVD가 오버피팅을 유발하기 때문에, 많은 다른 MF 방법들이 제시된 것으로 알려짐.
- Regularized Least Square Optimization
- Non-negative Factorization
- Maximum Margin Factorization
- etc
- 랭킹 태스크의 경우 (즉, 유저가 한 아이템 보다 다른 아이템을 선호하는지를 추정), 더 좋은 기법은 \(BPR\)-\(OPT\) 기준에 따라 최적화하는 것임.
- 이는 우리가 제시한 알고리즘인 LearnBPR을 사용하여 달성할 수 있음.
- LearnBPR을 이용한 최적화를 위해 앞에서 언급한 것처럼, 모든 모델 파라미터 \(\theta\) 에 대한 \(\hat{x}_{uij}\) 의 Gradient만 알면 됨.
- MF 모델의 경우, 다음과 같이 파생됨 :
- 게다가, 우리는 세 가지 Regularization 상수를 사용함 :
- \(\boldsymbol{\lambda}_{W}\) : 유저 Features \(W\) 에 사용됨.
- 아이템 Features \(H\) 에 대한 두 가지 Regularization 상수 :
- \(\boldsymbol{\lambda}_{H+}\) : \(h_{if}\) 의 Positive 갱신에 사용됨.
- \(\boldsymbol{\lambda}_{H-}\) : \(h_{jf}\) 의 Negative 갱신에 사용됨.
4.3.2 Adaptive k-Nearest-Neighbor
- NN (Nearest-Neighbor) 기법들은 CF에서 굉장히 유명함.
- 이 기법들은 아이템 (아이템-기반) 또는 유저 (유저-기반) 사이의 유사성 척도에 의존함.
- 우리는 유저-기반 기법도 유사하게 작동하지만, 아이템-기반 기법이 보통 좀 더 나은 결과를 제공하기 때문에 이를 설명함.
- 이 아이디어는 유저 \(u\) & 아이템 \(i\) 예측이 유저가 과거에 본 적이 있는 (즉, \(I^{+}_{u}\)) 다른 모든 아이템과 \(i) 의 유사도에 의존한다는 것임.
- \(I^{+}_{u}\) 에서 가장 유사한 \(k\) 개 아이템만 간주됨 (k-Nearest Neighbors).
- 만약 아이템 사이의 유사도가 신중하게 선택되면, 또 다른 아이템도 \(I^{+}_{u}\) 의 모든 아이템과 비교할 수 있음.
- 아이템 예측에 대한 아이템-기반 kNN 모델은 다음과 같음 :
- 파라미터 설명 :
- \(C \, : \, I \, \times \, I\) : 대칭적인 아이템 상관관계 / 아이템-유사도 행렬임.
- 따라서, kNN의 모델 파라미터는 \(\Theta \, = \, C\) 가 됨.
- 보통 \(C\) 를 선택하는 접근법은 휴리스틱 유사성 척도를 적용하는 것임.
- ex) 코사인 벡터 유사도
- 더 좋은 전략은 유사성 척도 \(C\) 를 학습하여 문제에 적응시키는 것임.
- 이는 두 가지 방법이 있음 :
- \(C\) 를 모델 파라미터에 직접 사용하여 수행.
- 아이템 갯수가 너무 많은 경우, \(H \, : \, I \, \times \, k\) 를 이용하여 \(C\) 의 Factorization \(HH^{t}\) 을 학습.
- 다음 사항과 추정에서, 우리는 \(C\) 를 Factorizing 하지 않고 직접 학습하는 첫 번째 접근법을 사용함.
- 랭킹에 대한 kNN 모델을 최적화하기 위해, 우리는 BPR 최적화 기준을 적용시키고, LearnBPR 알고리즘을 사용함.
- 알고리즘을 적용시키는 경우, 모델 파라미터 \(C\) 와 관련된 \(\hat{x}_{uij}\) 의 Gradient는 다음과 같음 :
- 우리는 두 가지 Regularization 상수를 가짐 :
- \(\boldsymbol{\lambda}_{+}\) : \(c_{il}\) 을 갱신
- \(\boldsymbol{\lambda}_{-}\) : \(c_{jl}\) 을 갱신
6. Evaluation
7. Conclusion
- 이 논문에서, 우리는 포괄적인 최적화 기준 & 개인 맞춤형 랭킹 학습 알고리즘을 제시했음.
- 최적화 기준 \(BPR-O_{PT}\) 은 베이지안 문제 분석으로 도출되는 최대 사후 확률 추정기임.
- \(BPR-O_{PT}\) 의 관점에서 모델을 학습하는 경우, 우리는 부트스트랩 샘플링을 이용한 SGD 기반인 포괄적인 학습 알고리즘 LearnBPR을 제시했음.
- 우리는 이 방법을 두 가지 최신 추천 모델인 Matrix Factorization & 적응형 kNN에 어떻게 적용할 수 있는지를 입증했음.
- 경험적으로, 개인 맞춤형 랭킹 태스트의 경우에, 동일한 모델이 다른 기준 보다 BPR을 통해 학습된 것이 더 좋은 성능을 낸다는 것을 보여줌.
- 결과들은 예측 품질이 모델뿐만 아니라 최적화 기준에 매우 종속적이라는 것을 보여줌.
- 이론적이고 경험적인 결과들은 BPR 최적화 기법이 개인 맞춤형 랭킹 태스크에 대해 올바른 선택이라는 것을 나타냄.
반응형
'Paper > Recommendation' 카테고리의 다른 글
Session-based Recommendation with Graph Neural Networks (0) | 2020.03.28 |
---|---|
Training Deep AutoEncoders for Collaborative Filtering (0) | 2020.01.20 |
Wide & Deep Learning for Recommender Systems (0) | 2020.01.19 |
Item2Vec: Neural Item Embedding for Collaborative Filtering (2) | 2020.01.01 |
Matrix Factorization Techniques for Recommender Systems (0) | 2019.12.14 |
댓글