[논문 리뷰] BPR: Bayesian Personalized Ranking from Implicit Feedback

Updated:

Recommender System

본 논문은 다양한 추천 주제 중, collaborative filtering에 관한 내용을 다루고 있으며, 구체적으로 optimization에 관한 내용입니다.

Abstract

해당 논문은 ‘클릭’이나 ‘구매’와 같은 implicit-feedback 하에서의 추천 문제를 다룬다. 여기서 추천이란 user가 선호할 만한 item목록(personalized ranking)을 예측하는 것을 말한다. Matrix Factorization(MF)과 k-nearest-neighbor(kNN)는 personalized ranking을 구하는 대표적인 방법이다. 하지만 기존의 optimization 기법들은 모두 ranking 을 고려하지 않는 방식으로, 본 논문은 베이지안 추론에 기반한 optimization 기법(BPR-Opt)을 제시해, item들에 대한 user의 선호 강도를 반영할 수 있도록 하였다. 나아가 이를 MF와 kNN에 적용한 결과, 기존의 것보다 우수함을 증명하였다.

1. Introduction

일반적으로, 추천 분야의 데이터 형태는 크게 2가지로 나뉜다. 먼저 ‘평점’과 같이 item에 대한 user의 선호가 명시적으로 드러나는 데이터를 explicit -data라고 한다. 반면 ‘클릭’, ‘구매’ , ‘시청’ 등과 같이 user의 선호가 분명하게 드러나지 않는 데이터를 implicit-data라 한다. 보통 후자의 경우가 더 많으며, 데이터로부터 user의 선호강도를 추론해야 되기 때문에 보다 더 어려운 문제를 풀게 된다. 본 논문은 이런 상황에서의 personalized ranking을 구하는 방법을 제시하며, contribution은 다음과 같다.

contribution

  • 베이지안 추론(maximum a posteriori, MAP)에 기반한 optimization 기법 (BPR-Opt)을 제시한다. 나아가 이것이 ROC 커브 아래의 면적인 AUC(area under curve)를 최대화 하는 문제와 동치임을 보인다.
  • BPR-Opt를 최대화 하기 위한 알고리즘(LEARN BPR)을 제안한다.
  • LEARN BPR을 MF, kNN에 적용하는 법을 보인다.
  • BPR-Opt가 기타 다른 optimization 기법보다 성능이 우수함을 보인다.

흔히 implicit-data의 design matrix는 클릭 여부와 같은 binary 타입(1,0)으로 이뤄져있다. 따라서 이런 경우 일반적으로, user가 특정 item을 클릭할 확률($\hat{p}_{click}$) 을 예측하는 문제를 풀게 된다. 이런 문제를 푸는 optimization 방법중에 regularized least-square이 있다. 하지만 이는 least-square에 기반한 것으로, 저자가 주장하는 ranking optimization은 아니다.

여기서 ranking을 고려한 optimization 이란, 두 item쌍의 선호 강도를 반영한 파라미터 최적화를 뜻한다. 쉽게 말해 어떤 user가 item $i$를 item $j$ 보다 좋아한다면, 이런 정보를 고려해서 파라미터를 구한다는 것이다. 이때, item $i$ > item $j$ (item $i$를 item $j$ 보다 좋아함)가 바로 ranking 이다.

3. Personalized Ranking

본 논문은 implicit-feedback 하에서의 personalized ranking을 구하는 문제에 대해 다룬다. 일반적으로 implicit-data의 주요 특징중 하나는 부정적인 데이터가 관측되지 않는다는 점이다. 따라서 관측되지 않은 데이터에 대해서는 실제로 user가 관심이 없는 것(real negative feedback)인지, 아니면 관심이 있지만 아직 모르는 것(missing value) 인지가 구분되지 않는다. 따라서 이 두가지 경우를 모두 고려하여 모델링 하는 것이 핵심이다.

  • explicit-data와 implicit-data 의 차이

explicit-data는 특정 영화에 1점을 주는 경우처럼 부정적인(negative) 데이터도 함께 관측된다. 따라서 관측되지 않은 데이터는 모두 missing value로 처리해 모델링 할 수 있다. 또한 이 경우, 높은 수치는 높은 선호를 의미하기 때문에 수치 자체가 신뢰도를 의미한다.

Formalization

$U$와 $I$ 가 각각 모든 user와 item 집단이라고 하자. 이 때 관측 가능한 모든 (user, item)쌍 $s \in S$ 는, $S \subseteq U \times I$ 와 같이 표현 가능하다. 본 논문의 목표는 각 user별 personalized total ranking ($>_{u} \subset I^{2}$)을 구하는 것이다.

  • personalized total ranking ( $>_{u} \subset I^{2}$) 이란?

예를 들어 5개의 item 집단 \(I = \{ I_{1}, I_{2}, I_{3}, I_{4}, I_{5} \}\)이 있다고 할 때 personalized total ranking이란, user가 선호할 만한 item을 순서대로 예측하는 것이다. 만약 \(I_{4}, I_{2}, I_{1}, I_{3}, I_{5}\) 순대로 선호한다면 \(I_{4}>_{u}I_{2}>_{u} I_{1}>_{u}I_{3}>_{u}I_{5}\) 와 같이 표현 가능하며 이때, \(I_{4}>_{u}I_{1}\) 는 \(>_{u} \subset I^{2}\)의 한가지 예가 된다. (여기서 \(>_{u}\) 는 \(_{5}\mathrm{C}_{2}=10\)개 만큼 존재함)

이어 \(>_{u}\)는 다음과 같은 속성을 만족한다.

\[\begin{align*} \forall i,j \in I &: i \neq j \Rightarrow i >_{u} j \ \vee \ j >_{u} i \ \ &\text {(totality)} \\ \forall i,j \in I &: i >_{u} j \ \wedge \ j >_{u} i \Rightarrow i = j \ \ &\text {(antisymmetry)} \\ \forall i,j \in I &: i >_{u} j \ \wedge \ j >_{u} k \Rightarrow i >_{u} k \ \ &\text {(transitivity)} \end{align*} \\\]

위의 속성들은 item간의 order를 정의하기 위한 조건으로, 집합론에서 사용되는 개념이다. 예를 들어 antisymmetry 조건은, 어떤 user가 $item_{i}$ 를 $item_{j}$보다 선호함과 동시에(and 조건) item $j$ 를 item $i$보다 선호한다면, 두 아이템은 서로 같다는 것을 의미한다.

Analysis of the problem setting

앞서 implicit-data는 real negative feedback과 missing value를 모두 고려하여 모델링 하는 것이 핵심이라 하였다. 하지만 기존의 방식은 missing value를 모두 negative feedback으로 간주하여 문제를 해결하였다. 즉 user가 향후 좋아할지도 모르는 item들은 모두 무시된 것이다. 아래는 이런 경우 design matrix가 어떻게 구성되는지 보여준다.

여기서 ‘+’는 관측된 데이터, ‘?’는 관측되지 않은 데이터다. 이 경우 학습데이터는 관측된 데이터는 1로, 관측되지 않은 데이터는 0으로 표기되며 ,1은 선호 0은 비선호를 의미한다. 하지만 이런식의 디자인은 향후 user가 선호할지도 모르는 item들도 0으로 표기되는 문제가 있다. 예를 들어 데이터가 ‘구매 여부’라 한다면 user가 특정 item을 구매할 확률 ($\hat{p}_{ui}$) 을 예측하는 문제를 풀게 되는데, 이때 실제로 user가 구매할지도 모르는 item들도 0으로 예측되는 문제가 생기는 것이다.

따라서 저자는 아래와 같은 design matrix를 제시해, 기존의 방법과는 다른 방식으로 문제를 해결한다.

이 세팅은 다음과 같이 3가지 가정을 따른다.

  • (A1) user는 관측된 item을 관측되지 않은 모든 item보다 더 선호한다.

  • (A2) 관측된 item들에 대해서는 선호강도를 추론할 수 없다. (즉 어떤 item을 더 선호하는지 알 수없음 )

  • (A3) 관측되지 않은 item들에 대해서도 선호강도를 추론할 수 없다. (즉 어떤 item을 더 비선호하는지 알 수없음 )

이어 user가 선호하는 item 집단을 \(I_{u}^{+} := \{ i \in I : (u,i) \in S \}\) 라 할 때, 데이터셋을 다음과 같이 정의한다.

\[\begin {align*} D_{S} := \{(u,i,j) \ | \ i\in I_{u}^{+} \wedge j\in I \setminus I_{u}^{+} \} \end {align*} \\\]

여기서 $I_{u}^{+}$ 는 관측된 item집단, $ I \setminus I_{u}^{+} $는 관측되지 않은 item집단으로, 위의 A1에 의해 \(i >_{u} j\) ($j$ 보다 $i$를 더 선호함) 로 표현 가능하다. 이때, antisymmetry 관계 이므로 역도 성립한다. 여기서는 위 그림의 오른쪽 matrix에서 ‘+’ 는 \(i\in I_{u}^{+} \wedge j\in I \setminus I_{u}^{+}\), ‘-‘는 \(j\in I_{u}^{+} \wedge i\in I \setminus I_{u}^{+}\) 로 생각하면 된다.

이해를 돕기 위해 $u_{1}$에 대해서만 살펴보겠다. 위 그림의 왼쪽 파란색 박스로부터 \(I_{u_{1}}^{+} = \{I_{2}, I_{3}\}\), \(I\setminus I_{u_{1}}^{+} = \{I_{1}, I_{4} \}\) 임을 알 수 있다. 이를 바탕으로 오른쪽 design matrix는 다음과 같이 표현할 수 있다.

\[\begin {align*} \bullet & \ \ (1) \ \ i_{2} > j_{1} \Leftrightarrow \ (4) \ \ i_{1} < j_{2} \ \ \ \ \text{by A1} \\ \bullet & \ \ (2) \ \ i_{3} \ ? \ j_{2} \ \Leftrightarrow \ (5) \ \ i_{2} \ ? \ j_{3} \ \ \ \ \ \ \text{by A2} \\ \bullet & \ \ (3) \ \ i_{4} \ ? \ j_{1} \ \Leftrightarrow \ (6) \ \ i_{1} \ ? \ j_{4} \ \ \ \ \ \ \text{by A3} \\ \end {align*} \\\]

이와 같이 ranking을 기반으로 한 문제정의 방식은 다음과 같은 특징이 있다.

(1) 관측되지 않은 item에도 정보를 부여(by A1)해 간접적으로 학습시킬 수 있도록 한다. (기존 방식처럼 모두 0으로 간주하는 것보다 나은 결과를 줌)

(2) 관측되지 않은 item들에 대해서도 순서를 메길 수 있다. 즉 기존 방식은 모두 0으로 예측되어 순서를 메길 수 없었던 것과 달리, ranking을 학습함으로써 이를 추론할 수 있도록 한다. 이때 $D_{S}$가 학습 데이터로 사용된다.

4. Bayesian Personalized Ranking (BPR)

BPR Optimization Criterion

이제 위에서 정의한 $D_{S}$를 바탕으로 Bayesian Personalized Ranking을 구하는 방법을 살펴보겠다. 일반적으로 Bayesian optimization이란, 아래의 사후 확률을 최대화 하는 파라미터 \(\Theta\)를 찾는 것이다. 이를 최대 사후 확률 추정(Maximum A Posteriori Estimation)이라고 한다.

\[\begin {align*} & p(\Theta | >_{u}) \propto p(>_{u} | \Theta) \ p(\Theta) \\ \\ \because \ \ p(\Theta | >_{u}) & = \frac{p(\Theta , >_{u})}{ p(>_{u})} = \frac{p(>_{u} | \Theta) p(\Theta)}{ p(>_{u})} \propto p(>_{u} | \Theta) \ p(\Theta) \end {align*} \\\]

‘사후확률’이란 ‘사후’라는 말에서도 알 수 있듯, ‘어떤 정보’가 고려된 파라미터에 대한 확률이다. 여기서는 user의 선호 정보($>_{u}$)가 되겠다. 이에 대비되는 개념이 ‘사전확률’이다. 이는 위 식의 $p(\Theta)$로, 파라미터에 대한 사전 정보다. 사전확률은 주어진 정보이므로, 사후확률과 달리 오직 파라미터에만 의존한다.

요약하자면, MAP의 목표는 $>_{u}$ 정보가 주어졌을때, 이를 최대한 잘 나타낼 수 있는 파라미터를 추정하는 것이다. 사후확률은 베이즈 정리에 의해 likelihood와 사전 확률의 곱으로 나타낼 수 있으며, 여기서는 각각 다음과 같이 정의된다.

likelihood

여기서 likelihood란 \(>_{u}\)에 대한 확률 분포다. \(>_{u}\)를 \((u,i,j) \in D_{s}\) 로 정의 한다면, 이는 \(i >_{u} j\) 와 \(j >_{u} i\) 두 가지 경우밖에 존재하지 않으므로, 베르누이(bernoulli) 분포를 따른다고 볼 수 있다. 이때 모든 user가 서로 독립임을 가정하면 iid (independent and identically distributed)가 만족된다. 이를 아래와 같이 표현할 수 있다.

\[\begin{align*} >_{u} \ := (u,i,j) \in D_{s} \ \ &\Rightarrow \delta((u,i,j) \in D_{S}) \stackrel{iid}{\sim} B(1,\ \ p(i >_{u} j)) \\ \\ where, \ \ \ \delta((u,i,j) \in D_{S}) &:= \begin{cases} 1 & \mbox{if }(u,i,j) \in D_{S} \\ 0 & \mbox{if }(u,i,j) \notin D_{S} \end{cases} \end{align*} \\\]

이어 베르누이 분포의 likelihood function은 다음과 같다.

\[\begin{align*} p(>_{u} | \Theta) = p(i >_{u} j)^{\delta((u,i,j) \in D_{S})} (1-p(i >_{u} j))^{\delta((u,i,j) \notin D_{S})} \\ \end{align*} \\\]

이제 user가 item $i$ 보다 item $j$ 를 선호할 확률인 \(p(i >_{u} j)\)를 정의해야 한다. 여기서는 \(\hat{x}_{uij}\)의 sigmoid 값으로 정의되는데, 이때 \(\hat{x}_{uij}\)을 구하기 위해 Matrix Factorization(MF) 이나 adaptive kNN 등을 사용한다. 아래 BPR - OPT에서 MF에 적용한 예를 살펴보겠다.

\[\begin{align*} p(i >_{u} j) := \sigma(\hat{x}_{uij}) ,\ \ \ \sigma(x) := \frac{1}{1+e^{-x}} \end{align*} \\\]

위에서 모든 user는 iid 이므로, 모든 user에 대해 고려한 likelihood function는 다음과 같다.

\[\begin{align*} \prod_{u \in U} p(>_{u}|\Theta) = \prod_{(u,i,j) \in D_{s}} p(i >_{u} j|\Theta) = \prod_{(u,i,j) \in D_{s}} p(i >_{u} j)^{\delta((u,i,j) \in D_{S})} (1-p(i >_{u} j))^{\delta((u,i,j) \notin D_{S})} \end{align*} \\\]

사전 확률

이어 사전 확률이다. 사전 확률은 파라미터 $\Theta$ 에 대한 확률 분포를 가정하는 것이다. 특별한 사전 정보가 없다면 일반적으로 uniform이나, normal을 사용한다. 여기서는 normal을 사용했다.

\[\begin{align*} p(\Theta) \sim N(\mathbf{0}, \ \lambda_{\Theta}I) \end{align*}\] \[\begin{align*} N(\Theta| \mu, \Sigma) &= \frac{1}{(2\pi)^{d/2}|\Sigma|^{1/2}} exp(-\frac{1}{2}(\Theta-\mu)^{T} \Sigma^{-1}(\Theta-\mu)) \\ \\ & \propto exp(-\frac{1}{2}\Theta^{T} (\frac{1}{\lambda_{\Theta}}I) \Theta) \\ &= exp(-\frac{1}{2\lambda_{\Theta} }\Theta^{T}\Theta) \simeq exp(- \lambda_{\Theta} \lVert \Theta \rVert^{2} ) \\ \end{align*}\]

BPR - OPT

likelihood와 사전 확률을 정의했다면, 이제 사후확률을 최대화 하는 \(\Theta\)를 구할 차례다. 즉 다음과 같다.

\[\begin{align*} \text{BPR-OPT:} \ \ \arg\max_{\Theta} \ p(\Theta|>_{u}) \end{align*}\]

여기서는 MF (NCF의 2절 참고 바람)에 적용한 예를 살펴볼 것이다. 이를 위해 몇 가지를 짚고 넘어가겠다.

(1) \(\Theta = \{\mathbf{p}_{u}, \mathbf{q}_{i}\}\) (여기서 \(\mathbf{p}_{u}\), \(\mathbf{q}_{i}\)는 각각 user, item latent vector)

(2) \(\hat{x}_{uij} := \hat{x}_{ui} - \hat{x}_{uj} = \mathbf{p}_{u}\mathbf{q}_{i}^{T} - \mathbf{p}_{u}\mathbf{q}_{j}^{T}\)

먼저 MF는 user와 item의 latent vector를 예측하는 것이므로, \(\mathbf{p}_{u}\), \(\mathbf{q}_{i}\)가 파라미터가 된다. 다음 user와 item $i$, item $j$ 간의 관계인 \(\hat{x}_{uij}\)는 user의 item $i$에 대한 점수인 \(\hat{x}_{ui}\)와, item $j$ 에 대한 점수인 \(\hat{x}_{uj}\)의 차이로 정의된다. 이 차이가 양수이고, 또 클수록 \(p(i >_{u} j) := \sigma(\hat{x}_{uij})\)가 1에 가까워 진다.

이를 바탕으로 한 optimization function은 다음과 같다.

\[\begin{align*} \log{p(\Theta|>_{u})} &= \log{p(>_{u}|\Theta)p(\Theta)} \\ &= \log{(\prod_{(u,i,j) \in D_{s}} \sigma(\hat{x}_{uij}) \ p(\Theta) )} \\ &= \sum_{u,i,j}\log{\sigma(\hat{x}_{uij})} + \log{p(\Theta)} \\ &= \sum_{u,i,j}\log{\sigma(\hat{x}_{uij})} - \lambda_{\Theta} \lVert \Theta \rVert^{2} \\ &= \sum_{u,i,j}\log{\sigma(\hat{x}_{ui} - \hat{x}_{uj})} - \lambda_{\Theta} \lVert \Theta \rVert^{2} \\ &= \sum_{u,i,j}\log{\sigma(\mathbf{p}_{u}\mathbf{q}_{i}^{T} - \mathbf{p}_{u}\mathbf{q}_{j}^{T})} - \lambda_{\Theta} \lVert \mathbf{p}_{u} \rVert^{2} - \lambda_{\Theta} \lVert \mathbf{q}_{i} \rVert^{2} - \lambda_{\Theta} \lVert \mathbf{q}_{j} \rVert^{2}\\ &= \sum_{u,i,j}\log{(\frac{1}{1+e^-{(\mathbf{p}_{u}\mathbf{q}_{i}^{T} - \mathbf{p}_{u}\mathbf{q}_{j}^{T})}})} - \lambda_{\Theta} \lVert \mathbf{p}_{u} \rVert^{2} - \lambda_{\Theta} \lVert \mathbf{q}_{i} \rVert^{2} - \lambda_{\Theta} \lVert \mathbf{q}_{j} \rVert^{2} \end{align*} \\\]

BPR Learning Algorithm

이어 파라미터 $\Theta$를 업데이트 하는 방법에 대해 살펴보겠다. 여기서는 gradient descent를 사용하여 다음과 같이 업데이트 한다.

\[\begin{align*} \Theta \leftarrow \Theta - \alpha \frac{\partial \log p(\Theta|>_{u})}{\partial \Theta} \end{align*}\]

각 파라미터에 대한 gradient는 다음과 같다.

\[\begin{align*} \bullet \ \frac{\partial \log p(\Theta|>_{u})}{\partial p_{u}} &= \ \frac{\partial \log \sigma(\hat{x}_{uij})}{\partial p_{u}} - \frac{\partial}{\partial p_{u}}( \lambda_{\Theta} \lVert {p}_{u} \rVert^{2}) \\ &= \frac{\partial \log \sigma(\hat{x}_{uij})}{\partial \hat{x}_{uij}} \frac{\partial\hat{x}_{uij} }{\partial p_{u}} - \frac{\partial}{\partial p_{u}}( \lambda_{\Theta} \lVert {p}_{u} \rVert^{2}) \\ &= \frac{1}{1+e^{({p}_{u}{q}_{i}^{T} - {p}_{u}{q}_{j}^{T})}}({q}_{i}-{q}_{j}) - 2\lambda_{p_{u}}p_{u} \end{align*} \\ \\\] \[\begin{align*} \bullet \ \frac{\partial \log p(\Theta|>_{u})}{\partial q_{i}} &= \ \frac{\partial \log \sigma(\hat{x}_{uij})}{\partial q_{i}} - \frac{\partial}{\partial q_{i}}( \lambda_{\Theta} \lVert {q}_{i} \rVert^{2}) \\ &= \frac{\partial \log \sigma(\hat{x}_{uij})}{\partial \hat{x}_{uij}} \frac{\partial\hat{x}_{uij} }{\partial q_{i}} - \frac{\partial}{\partial q_{i}}( \lambda_{\Theta} \lVert {q}_{i} \rVert^{2}) \\ &= \frac{1}{1+e^{({p}_{u}{q}_{i}^{T} - {p}_{u}{q}_{j}^{T})}}({p}_{u}) - 2\lambda_{q_{i}}q_{i} \end{align*} \\ \\\] \[\begin{align*} \bullet \ \frac{\partial \log p(\Theta|>_{u})}{\partial q_{j}} &= \ \frac{\partial \log \sigma(\hat{x}_{uij})}{\partial q_{j}} - \frac{\partial}{\partial q_{j}}( \lambda_{\Theta} \lVert {q}_{j} \rVert^{2}) \\ &= \frac{\partial \log \sigma(\hat{x}_{uij})}{\partial \hat{x}_{uij}} \frac{\partial\hat{x}_{uij} }{\partial q_{j}} - \frac{\partial}{\partial q_{j}}( \lambda_{\Theta} \lVert {q}_{j} \rVert^{2}) \\ &= \frac{1}{1+e^{({p}_{u}{q}_{i}^{T} - {p}_{u}{q}_{j}^{T})}}(-{p}_{u}) - 2\lambda_{q_{j}}q_{j} \end{align*} \\ \\\]

여기서는 full gradient descent가 아닌 stochastic gradient descent 방법을 사용하는데, 그 이유는 다음과 같다.

$\blacktriangleright$ full gradient descent

  • 관측된 $i$ 집단과, 관측되지 않은 $j$ 집단의 비대칭성 문제 -> 수렴 속도, 수렴 결과

    일반적으로 $i$ 집단이 $j$ 집단보다 개수가 작다. 따라서 optimization function에 $i$ 집단을 포함한 항이 많아지게 되고 $i$가 기울기를 지배하게 된다. 즉 아주 작은 learning rate가 선택되어야 하며, 이로 인해 속도가 느려지게 된다. 또한 $(u,i,j_{1}), (u,i,j_{2}), … (u,i,j_{k})$ 와 같이 동일한 user-item pair를 연속적으로 업데이트 할 경우, poor한 수렴에 이르게 된다.

$\blacktriangleright$ stochastic gradient descent

  • 관측된 $i$ 집단과, 관측되지 않은 $j$ 집단의 비대칭성 해소

    stochastic gradient descent에서는 bootstrap sampling 방법을 통해 $(u,i,j)$를 random하게 선택하므로, $i$ 집단과 $j$ 집단의 개수에 대한 비대칭성 문제가 해결될 수 있다. 나아가 동일한 $u$와 $i$가 연속적으로 선택될 확률이 줄어들기 때문에 성능면에서도 우수하다.

Learning models with BPR

논문에서는 BPR을 다양한 모델에 적용한 예를 보여준다. 위에서는 MF에 대해 살펴봤으므로, 여기서는 Adaptive - k-Nearest-Neighbor에 대해 간단히 살펴보겠다.

Adaptive - k-Nearest-Neighbor

$I_{u}^{+}$가 user가 과거에 좋아한 item 집합이라 할 때, 새로운 item $i$에 대한 user 점수 $x_{ui}$는 다음과 같이 정의된다.

\[\begin{align*} \hat{x}_{ui} &= \sum_{l \in I_{u}^{+} \wedge l\ne i}c_{il} \\ \end{align*}\]

여기서 $c_{il}$은 item $i$와 item $l$ 의 유사도다. 이어 optimization function과 gradient는 다음과 같다. 이는 위에서 살펴본 것과 거의 유사하다.

\[\begin{align*} \log{p(\Theta|>_{u})} &= \sum_{u,i,j}\log{\sigma(\hat{x}_{uij})} - \lambda_{\Theta} \lVert \Theta \rVert^{2} \\ &= \sum_{u,i,j}\log{(\frac{1}{1+e^-{( \sum c_{il} - \sum c_{jl} )}})} - \lambda_{\Theta} \lVert c_{il}\rVert^{2} - \lambda_{\Theta} \lVert c_{jl} \rVert^{2} \\ \\ \bullet \ \frac{\partial \log p(\Theta|>_{u})}{\partial c_{il}} &= \frac{1}{1+e^{ (\sum c_{il} - \sum c_{jl}) }}(1) - 2\lambda_{+}c_{il} \\ \bullet \ \frac{\partial \log p(\Theta|>_{u})}{\partial c_{jl}} &= \frac{1}{1+e^{ (\sum c_{il} - \sum c_{jl}) }}(-1) - 2\lambda_{-}c_{jl} \\ \end{align*}\]

5. Conclusion

본 논문은 personalized ranking을 위한 optimization 기법을 제시했다. 이는 ranking을 고려한 방식으로, 사후확률을 최대화 하는 베이지안에 방법에 기반한 것이었다. 나아가 bootstrap sampling을 통한 stochastic gradient descent를 사용하여 파라미터를 업데이트 하였다. 이는 기존의 pointwise기반의 optimization 방법보다 우수한 성능을 보였다.

Updated:

Leave a comment