Recommender System (4)

suyeon·2022년 10월 10일
0

Boostcamp AI Tech

목록 보기
4/6

1. Model Based Collaborative Filtering (MBCF)

2. Singular Value Decomposition (SVD)

3. Matrix Factorization (MF)

4. Implicit Feedback


1. Model Based Collaborative Filtering (MBCF)

  • 모델 기반 협업 필터링 (Model Based Collaborative Filtering, MBCF) : 단순히 항목간의 유사성만을 비교하는 것이 아닌 데이터에 내재한 패턴을 이용해 추천하는 CF 기법
    -> 데이터에 숨겨져 있는 유저-아이템 관계의 잠재적 패턴을 찾아 이를 파라미터에 반영하는 것

  • Latent Factor Model : 유저와 아이템 관계를 잠재적 요인으로 표현할 수 있다고 보는 모델


2. Singular Value Decomposition (SVD)

  • Singular Value Decomposition (SVD) : 2차원 (user, matrix) 행렬을 latent벡터를 표현할 수 있는 행렬로 분해하는 기법

full SVD ->

R=UVTR = U\sum{V}^T

Truncated SVD ->

RU^KVT^=R^R \approx \widehat{U}\sum{_K}\widehat{V^T} = \widehat{R}

U:유저와 Latent Factor의 관계V:아이템과 Latent Factor의 관계:Latent Facotr의 중요도를 나타냄U : 유저와\ Latent\ Factor의\ 관계 \\ \quad V : 아이템과\ Latent\ Factor의\ 관계 \\ \quad \sum : Latent\ Facotr의\ 중요도를\ 나타냄

그러나 전통적인 SVD를 사용하여 예측하는 것은 한계가 있다.

  • 분해해야 하는 User item matrix의 knowledge가 불완전할 때 작동하지 않는다.
    -> 결측된 원소를 0 혹은 유저/아이템의 평균으로 채우게 된다. 그러나 이 과정에서 데이터 양이 증가되므로 비효율적

3. Matrix Factorization (MF)

  • Matrix Factorization(MF) : 유저-아이템 행렬을 저차원의 유저 행렬과 latent 행렬의 곱으로 분해
    -SVD와 유사하지만 MF는 채워져 있지 않은 선호도를 강제로 imputation 하지 않고, 오로지 관측된 선호도를 활용하여 관측되지 않은 선호도를 예측

  • 기본 MF 모델

    RP×QT=R^PU×kQI×kR \approx P\times Q^T = \widehat{R} \\ P \rightarrow |U| \times k \\ Q \rightarrow |I| \times k

    -> R과 최대한 유사한 R hat이 생성되도록 user matrix와 item matrix를 학습

    • 확률적 경사하강법 (SGD) 로 파라미터를 업데이트한다.


  • Adding

    • Biases : 유저 혹은 아이템에 발생할 수 있는 편향을 추가하여 예측 성능을 높일 수 있다.
    • Confidence : 모든 데이터가 동일한 신뢰도를 갖지 않기 때문에 때로는 신뢰도가 높은 데이터를 더 많이 학습하게 한다.
    • Temporal Dynamics : 시간의 흐름에 따라 유저와 아이템의 특성을 다르게 반영한다.

4. Implicit Feedback

  • Alternative Least Square (ALS) : 유저 매트릭스와 아이템 매트릭스를 번갈아 가며 한 쪽을 상수 취급해서 업데이트, SGD보다 빠르고 채워져 있지 않은 데이터를 더 잘 학습

  • Implicit Feedback을 고려한 MF 모델
    기존의 아이템은 rating만 고려한 반면에 implicit feedback은 rating을 Preference, Confidence 두 가지로 나눈다.

    • Preference : 유저가 아이템을 선호하면 0, 선호하지 않으면 1로 binary 표현
    • Confidence : 유저가 아이템을 얼마나 선호하는지 나타내는 증가함수
    • 목적 함수

      -유저와 아이템의 내적값은 Preference값(0,1) 을 예측하게 된다.
      -Rating이 높을 경우에는 Confidence가 높기 때문에 해당 데이터에 대해 예측이 좀 더 정확해지도록 학습

0개의 댓글