8. Model-Based Collaborative Filtering

2023. 11. 29. 15:58NAVER AI Tech/Recommen System

NBCF 한계

- sparsity : cold start

- scalability : item이 늘어날 수록 계산비용은 기하급수적 증가

 

Model-Based Collaborative Filtering(MBCF)

- 데이터에 숨겨진 유저-아이템 관계의 잠재적 특성,패턴을 찾는다.

- 유저, 아이템 벡터를 모두 학습을 통해 변하는 파라미터로 인식.

- 현업에서는 Matrix Factorization 기법이 가장 많이 사용됨.

 

장점 :

1. 이미 학습된 모델을 바탕으로 서빙 수행 = 빠르다

2. sparsity, scalability 문제 개선. (sparsity ratio가 99.5% 이상일 때도 좋은 성능을 보임. 또한 item 개수가 늘어나도 좋은 성능을 보임)

3. overfitting 방지

4. Limited Coverage 극복(NBCF에서는 유저-아이템 행렬의 sparse한 특성 때문에 임의의 두 벡터가 가질 수 있는 유사도의 최대값은 제한적이였다.)

 

**Latent Vector = Embedding. 용어 혼동 x. 같은말

 

Latent Factor Model

- 고차원의 유저-아이템 vector를 특정 차원으로 정사영 시킨 것. 같은 공간에 위치한다면 비슷한 벡터라고 볼 수 있음.

- 실제 latent vector의 각 차원이 어떤 feature를 의미하는지는 알 수 없음.

 

SVD(Singular Value Decomposition)

- 유저-아이템 행렬을 유저 행렬, 잠재 요인 행렬, 아이템 잠재 요인 행렬로 분해.

- 선형 대수학에서 차원을 축소하는 기법으로 사용되든 것.

- Truncated SVD를 사용하여 유저-아이템 matrix를 더 작은 차원의 K factor-아이템 matrix로 축소시키는 것.

 

** 사실 직접 실습코드를 통해 프로세스를 경험해야 알 수 있을 것 같다. SVD를 통해 나온 matrix가 어떻게 쓰이는지 잘 모르겠음

 

단점 :

- sparse matrix에는 적용할 수 없음. 따라서 결측치를 모두 채우는 imputation 작업이 필요함.

- 이때 정확하지 않은 imputation은 데이터를 왜곡시키고 성능을 저하시킴.

 

따라서 우리는 저차원으로 정사영시킬 때 행렬을 분해하는 SVD의 원리는 차용하되 다른 접근 방법이 필요하다

- Matrix Factorization 등장

 

 

Matrix Factorization(MF)

- User-Item 행렬을 저차원의 User와 Item의 Latent factor 행렬의 곱으로 분해하는 방법

- SVD의 개념과 유사하나 관측된 평점만 모델링에 활용하여 관측되지 않은 평점을 예측하는 모델을 만듬.

- User-Item Rating Matrix(R)을 P와 Q matrix로 분해하여 최대한 R과 유사한 matrix를 추론

 

Matrix Factorization(MF) 정의

 

 

**Matrix Factorization Techniques for Recommender Systems(MF + a) 논문 추천!

- Adding Bias : 어떤 유저는 후할 수도, 어떤 유저는 짤 수도 있는 bias term을 추가하여 예측 성능을 높임.

- Adding Confidence Level : 기록된 평점에 대해 신뢰도 term을 추가하여 예측 성능을 높임.

    - 유저의 아이템에 대한 평점이 정확하지 않은 implicit feedback 요소인 경우를 고려하는 것

- Adding Temporal Dynamics : 시간에 따라 변화하는 유저, 아이템의 특성을 반영하여 예측 성능을 높임

 

**Alternative Least Square(ALS) 논문 추천, least-square에 대한 스터디 진행

- Implicit Feedback 데이터에 적합한 MF 기반 모델을 설계하여 성능을 향상시킨 논문

- P와 Q를 번갈아가면서 업데이트(least-square 내용. 한쪽 matrix는 파라미터를 고정한 채 진행하는 방법)

- Implicit Feedback을 preference(0 or 1 classification)와 confidence(선호하는 정도 regression)로 나누어 해석. 

 

**Bayesian Personalized Ranking(BPR) from Implicit Feedback 논문 추천

- 베이지안 추론에 기반하여 Implicit data를 사용해 서로 다른 아이템에 대한 유저의 선호도를 반영하도록 모델링

- Personalized Ranking. 즉 유저 u가 아이템 i보다 j를 좋아한다는 정보를 사용하여 MF 모델을 학습.

- Implicit Feedback data는 아이템의 선호도가 분명하게 드러나지 않음. 그저 관측된 데이터.

    - 따라서 유저가 아이템에 관심이 없는 것인가. 혹은 관심은 있지만 아직 모르는 것인가 두 가지를 고려해야 함.

    - 관측된 아이템 선호도 > 관측되지 않은 아이템 선호도

    - 관측된 아이템끼리 선호도 ranking 판별 불가, 관측되지 않은 아이템 끼리 선호도 ranking 

 

관측되지 않은 item들에 대해서 정보를 부여하여 학습을 진행. 따라서 관측되지 않은 item들에 대해서도 ranking이 가능.

 

MAP(Maximum A Posterior) : 최대 사후 확률 추정

- Prior(사전 확률) : 파라미터에 대한 사전 정보

- Likelihood(가능도) : 주어진 파라미터에 대한 유저의 선호 정보의 확률

- Posterior(사후 확률) : 주어진 유저의 선호 정보에 대한 파라미터의 확률

 

** Posterior 최대화 = 주어진 유저 선호 정보를 최대한 잘 나타내는 파라미터를 추정하는 것.

 

BPR 논문 요약

1. Implicit Feedback 데이터만을 활용하여 아이템 간의 선호도 도출

2. MAP를 통해 파라미터 최적화

3. LEARNBPR(Boot-strap 기반의 SGD)를 활용하여 파라미터 업데이트

4. MF에 BPR Optimization을 적용한 결과는 좋았다!

'NAVER AI Tech > Recommen System' 카테고리의 다른 글

10. Item2Vec  (0) 2023.11.30
9. Embedding  (1) 2023.11.30
7. K-nearest Neighbors Collaborative Filtering  (0) 2023.11.29
6. Neighborhood-Based Collaborative Filtering  (0) 2023.11.29
5. TF-IDF를 활용한 컨텐츠 기반 추천  (0) 2023.11.29