본문 바로가기
ML&DL/Recommender System

[Recommender System / Paper review] #05 Probabilistic matrix factorization

by 거북이주인장 2023. 4. 3.

Summary

  • user X item 행렬을 $R \in \mathbb{R}^{N \times M}$이라고 하면, 이 행렬을 $R = U^T V$로 분해하는 latent space model을 제시한다.
  • 유저 행렬인 $U \in \mathbb{R}^{D \times N}$와 아이템 행렬인 $V \in \mathbb{R}^{D \times M}$에 확률 모형 (probabilistic model)을 가정하고 objective function을 세운다. 이를 PMF 모형이라고 부르자.
    • bayesian 방법으로 likelihood을 최대화한다면, $U,V$에 대한 posterior distribution가 나온다.
    • loss 문제로 바꾸어 생각하여, gradient descent으로 문제를 풀 수도 있다. 이 경우에는 penalty 항이 추가된 형태로 볼 수 있다.
  • 위의 PMF 모형은 $U$에 대해 유저별로 동일한 prior을 가정한다. 이는 상품평이 적은 유저에게 아이템을 추천할 때 평균적인 유저의 아이템을 추천하는 등 추천 성능이 떨어지는 문제가 있다.
    • 이를 보완하기 위해 유저별로 다른 prior을 사용하는, constrained PMF을 제안한다.

Motivation

  • 확률론적인 방법에 근거한 모형은 여럿 제시되었으나 정확한 추론이 어렵거나 학습을 하는데 시간이 오래 걸렸다.
  • low rank 근사 방법에 기반한 SVD는 관측된 유저x아이템 행렬인 $R$과 decomposition인 $\hat{R} = U^T V$의 sum of squared distances을 최소화하는 방향으로 최적화를 진행한다.
    • 실제 대부분의 $R$의 sparse하기 때문에 관측된 값에 대해서만 sum of squared distances 값이 계산된다
  • low rank 근사 방법 대신에 $U,V$의 norm에 penalty을 부여하는 방식인 semi-definite program(SDP)가 제안되었지만 데이터수가 많아지면 학습이 힘들어졌다.
  • PMF는 위의 단점을 보완하는 방법이다.
    • 모델의 complexity가 데이터 수에 따라 linearly scaling한다.
    • sparse한 유저x아이템 행렬에 더 좋은 성능을 보인다.

Approach

notation

  • $M$개의 영화, $N$명의 유저, $i$번째 유저가 $j$번째 영화에 남긴 평점을 $R_{ij}$라고 하자.
  • $U \in \mathbb{R}^{D \times N}$와 $V \in \mathbb{R}^{D \times M}$을 latent 유저 행렬, 아이템 행렬이라고 하자.
  • $U_i, V_j$을 user-specific, movie-specific latent feature라고 하자.

Intuition about PMF

그림 1

$R_{ij}$에 대한 probabilistic model을 세운다. 베이지안 계층 모형(graphical model)을 세우는 것이다. $R_{ij}$에 대한 conditional distribution은 아래와 같다.

$R_{ij}$는 평균과 분산이 $U^T_i V_j, \sigma^2$인 정규분포를 따른다고 가정한다. graphical model이므로 평균에 대해 아래의 zerio-mean spherical gaussian prior을 가정한다.

parameter에 대해 prior와 likelihood을 유도하였다. 이제 parameter에 대한 posterior distribution을 아래와 같이 정의한다.

파라미터에 대한 joint distribution이다. posterior distribution을 maximize하는 것은 아래의 regularization terms을 섞은 objective function을 최소화하는 문제와 동일하다.

최종적으로, prediction 값이 range을 벗어나는 것을 방지하기 위해 logistic function인 $g(x) = 1/(1 + exp(-x))$을 사용한다.

Constrained PMF

논문의 목적은 sparse한 유저x아이템 행렬에 대해서도 좋은 성능을 보이는 알고리즘을 개발하는 것이다. 그림1의 왼쪽 graphical model이 PMF인데, 잘 보면 모든 유저에 대해 동일한 gaussian prior with zero mean & variance $\sigma_U$을 가정함을 알 수 있다. 이는 평점을 얼마 남기지 않은 유저에게 추천을 해줄 때 개인화된 취향을 반영하지 않고 전체 유저의 평균적인 취향을 반영하는 문제를 야기할 수 있다. 이를 해결하기 위해 user-specific feature vectors을 아래와 같이 정의한다.

여기서 $W \in \mathbf{R}_{D \times M}$은 latent similarity constraint matrix이다. 잘 보면, i번째 유저가 평점을 남긴 영화의 latent item vector을 선형결합한 것이다. 만약에 a유저와 b유저가 동일하게 더글로리 시즌 2, 길복순을 시청하고 평점을 남겼다면 이 두 유저의 latent user vector는 동일하게 가정된다. 이런 식으로 유저가 평점을 남긴 아이템에 기반하여 모델이 세워지는 것이다.

이를 이용하여 conditional distribution을 아래와 같이 재정의한다.

$W$에 대한 prior는 마찬가지로 zero mean spherical gaussian을 가정한다.

PMF과 마찬가지로 posterior distribution을 maximize하는 것은 아래의 objective function을 gradient descent을 통해 minimize하는 것과 동일하다.

Results

  • 넷플릭스에서 제시한 베이스라인 점수는 0.95점 정도이다.
  • SVD는 epoch가 늘어날수록 overfit하는 경향을 보였다.
  • hyperparameter을 고정한 PMF1,2가 adaptive prior을 사용한 PMFA보다 덜 좋은 성능을 보였따.
  • constrained PMF가 가장 좋은 성능을 보였다.

  • sparse한 데이터 세트인 toy dataset에서도 constrained PMF가 좋은 성능을 보였다.
  • 특히 기록한 평점의 수가 20개 미만일 때는 constrained PMF가 더 좋은 성능을 보이다가 개수가 그 이상이 될 때는 크게 차이를 보이지 않았다.
  • 즉, 평점을 적게 기록한 유저에게 추천을 하는 상황에서 constrained PMF가 더 좋은 성능을 보인다는 것이다.

Conclusion

  • 이 논문을 통해 추천 시스템에서 풀고자 하는 문제를 좀 더 명확하게 인지한 것 같다.
    • $R_{ij}$ 모델링 하기.. 근데 latent feature space 관점으로 볼 것이냐, 아니면 다른 관점을 사용할 것이냐.
  • 특히 유저별로 서로 다른 feature vector을 사용함으로써 sparse한 평점을 보이는 유저에게 좋은 추천 성능을 보여주는 실험 결과는 꽤나 인상적이었다.
  • 딥러닝 베이스 추천을 사용하기 이전에, latent feature model을 사용하는 것이 좋지 않을까? 그럼에도 불구하고 딥러닝 모델은 왜 사용하는 것일까? 하는 의문점이 든다.. 더 공부해야할듯!

댓글