- 논문 링크(258회 인용)
Summary
- implicit feedback을 사용하는 연구의 흐름으로, matrix factorization을 수행하되 logistic function을 사용한다.
- probabilistic approach을 사용하는데, 유저 u가 아이템 i를 선택하는 이벤트의 확률을 모델링하도록 likelihood function을 세운다.
- 베이지안 방법을 사용하여 prior을 spherical gaussian distribution으로 가정한다. posterior을 전개해보면, 이는 곧 파라미터에 대해 L2 정규화를 가정하는 것과 같다.
- optimization은 유저벡터와 유저 bias 벡터, 그리고 아이템벡터와 아이템 bias 벡터간에 alternating gradient ascent procedure을 통해 파라미터를 업데이트한다.
Motivation
- 특별히 어떤 methodology의 단점을 극복하고자 나온 것은 아니다.
- implicit feedback을 이용하는 연구의 한 흐름으로, confidence value을 사용하는 기본적인 implicit feedback 모형의 성능을 끌어올리고자 개발된 것으로 보인다.
Approach
Problem setup and notation
- $U = (u_1, \cdots, u_n)$: n명의 유저
- $I = (i_1, \cdots, i_m)$: m개의 아이템
- $R = (r_{ui})_{n \times m}$: 유저x아이템 관측치 행렬로 $r_{ui} \in \mathbb{R}_{\geq 0}$은 유저 u가 아이템 i와 상호작용 했음을 의미한다.
- $r_{ui} = 0$은 유저 u가 아이템 i를 좋아하지 않는다는 것을 의미하는게 아니고 그저 유저가 그 아이템을 보지 못했을 수도 있다.
- $X_{n \times f}$: n명의 유저에 대한 f차원의 latent vector
- $Y_{m \times f}$: m명의 유저에 대한 f차원의 latent vector
- $l_{ui}$: 유저 u가 아이템 i을 선택하는 이벤트
Logistic matrix factorization
logistic mf의 목적은 $l_{ui}$가 발생하는 확률을 아래의 logistic function으로 정의하고 파라미터를 추정하는 것이다.
- $x_u, y_i$: 유저 u에 대한, 아이템 i에 대한 latent vector
- $\beta_u, \beta_i$: 유저 u에 대한, 아이템 i에 대한 bias. 유저와 아이템에서 발생하는 variation을 의미한다.
- 이 논문에서 implicit feedback을 사용할 때 binary data에 대해 얼마만큼의 가중치를 주는지, 그 정도를 confidence로 나타냈다. $c = \alpha r_{ui}$ 또는 $c = 1 + \alpha \log (1 + r_{ui} / \epsilon)$
- 본 논문에서도 이를 차용한다. $\alpha$을 늘린다면 non-zero $r_{ui}$에 가중치를 더 주는 것이고 $\alpha$을 줄인다면 zero entries에 가중치를 더 주는 것이다.
이제 likelihood을 정의해보자.
- 맨 처음에는 확률 $p(l_ui | x_u, y_i, \beta_u, \beta_i)$에 대한 베르누이 likelihood인 줄 알았는데 그게 아니었다.
- non-zero entries 확률에 대한 가중치가 $\alpha r_{ui}$로 주어진다.
- 이렇게도 likelihood을 정의할 수 있나?.. 의문을 풀고 싶다 ㅠ
likelihood을 정의했으니 prior을 정의해보자. 유저와 아이템에 대한 latent factor의 prior을 spherical prior로 정의한다.
이제 posterior을 전개해보면 scaling parameter $\lambda$와 함께 아래와 같이 나온다.
잘 보면, 유저와 아이템에 대한 latent vector에 대해 L2 regularization을 부여한 것과 동일하다. 이제 posterior을 최대화하는 파라미터를 찾으면 된다.
최적화는 alternating gradient ascent을 통해 진행한다.
- 유저와 관련된 파라미터 $x_u, \beta_u$을 고정하고 아이템과 관련된 파라미터 $y_i, \beta_i$에 대해 gradient ascent을 진행한다.
- 반대로 동일하게 진행한다.
기존의 MF와의 차이
이전의 mf는 prediction 값을 $\hat{r}_{ui} = \mu + \beta_u + \beta_i + x_u y_i^T$로 계산했다. 대부분 probabilistic approach보다는 objective function을 세우고 gradient descent나 ALS을 하는 방식으로 최적화를 진행했다. 물론, probabilistic approach는 이 포스트에서 정리했는데, rating matrix의 rating에 대해 가우시안 분포를 가정하고 베이지안 계층 모형을 쌓는다.
logistic mf는 rating matrix의 rating에 대해 probabilistic approach로 접근하는게 아니라, 그 rating이 발생할 확률에 대해 probabilistic하게 접근하는 것이다. 더 정확히는, rating이 아니라 implicit feedback으로 정의한 event가 발생할 확률이 관심있는 것이다.
Results
Evaluation metric
- 각각의 유저 u에 대해 preference에 의해 정렬된 I개의 아이템에 대한 ranked list을 생성한다.
- preference은, 그 아이템을 선택할 확률을 의미하는 것 같고 그 확률을 내림차순으로 정렬한 것이 ranked list가 될 것이다.
- $rank_{ui}$: 유저 u을 위한 아이템 i에 대한 percentile ranking
- $rank_{ui} = 0$이라면, 유저 u에게 아이템 i가 1순위로 추천되었다는 것을 의미한다.
- $rank_{ui} = 1000$이라면, 유저 u에게 아이템 i가 가장 후순위로 추천되었다는 것을 의미한다.
Mean percentage ranking (MPR)을 아래와 같이 정의한다.
- 유저가 테스트 데이터 세트의 아티스트 노래를 들을 expected percentile ranking을 의미한다.
- $r^t_{ui} / \sum_{ui} r^t_{ui}$로 가중치를 설정하기 때문에 expected라는 말이 붙는다.
- 만약에 가중치가 크다면 $r^t_{ui}$가 크다는 뜻이다. 즉, 유저 u가 아이템 i와 많이 접촉했다는 뜻이다. 이런 아이템은 유저 u가 좋아할 가능성이 크다. 즉, 추천해줄 때 상위로 추천해줘야 한다. 다시 말하면 $rank_{ui}$가 작아야 한다.
- 따라서 작은 $rank_{ui}$에 더 높은 가중치가 부여된다. 이는 곧 작은 MPR이 좋은 추천 성능을 의미하는 것으로 해석할 수 있다.
- latent factors가 늘어난다고 해서 logMF에 드라마틱한 성능 향상이 보이지는 않았다.
- 작은 latent factor을 선택했을 때, logMF가 IMF에 비해서 월등히 낮은 MPR을 보여 좋은 성능을 보임을 확인했다.
Conclusion
- 유저x아이템 행렬을 가지고 이런 저런 가정을 하며 다양한 시도를 하는 것 같다.
- 이 논문은 implicit feedback이 발생할 확률을 모델링한다는게 신선했다.
- 다만, likelihood을 세울 때 베르누이 분포로 가정하지 않고 확률에 대한 가중치를 confidence을 통해 주는 것이.. 이렇게 줘도 베이지안 모형이 성립이 되나? 하는 의문점은 여전히 남아있다.
댓글