3. Model Based Collaborative Filtering

2023. 12. 11. 15:42NAVER AI Tech/Project

Latent Factor Model

    - user, item vector를 저차원 Latent Vector로 임베딩하는 것.

    - 이후 저차원에서 유사도를 구함.

    - 학습은 저차원으로 변환하는 weight를 학습.

 

1. SVD(Singular Value Decomposition)

    - 그 중 truncated SVD를 사용

    - 행렬 분해, 축소 후 다시 복구하는 과정을 거치면서 비어있는 값을 유추

 

단점 

1. user, item이 많아지면 성능 저하

2. 결측치가 많은 데이터에서는 작동 x

 

**중요한 것은 user-item 행렬을 분해하여 관측되지 않은 값을 복원하는 과정에서 다시 채운다는 개념사용을 처음 도입한 모델.

 

 

2. Matrix Factorization(MF)

    - SVD는 3가지로 분해했다면 MF는 PQ(User Latent Factor x Item Latent Factor)로 분해

    - P,Q를 구하기 위해 SGD(Stochastic Gradient Descent) 사용.

    - 이때 과적합 방지를 위해 L2 Norm term 추가 + bias term 추가

 

단점

1. user, item이 커지면 반복문으로 인한 계산량 증가

2. SGD를 이용하기 떄문에 빠른 계산 불가능.

 

3. ALS(Alternating Least Squares)를 이용한 MF

    - Q를 고정값으로 둔 채 P만 학습시킴.

    - 연산량이 반으로 줄어서 계산 속도 증가.

    - 반복문도 없앨 수 있음.

(질문) learning rate가 없는데 gradient descent가 왜 더이상 필요 없는지? P는 학습시켜야하는거 아닌가??

 

 

Hybrid 추천 시스템

    - 여러 가지 추천 방법을 사용하여 합친 것.

    - Content Based 추천 + Collaborative Filtering 결합, Memory Based CF + Model Based CF 결합 등등

 

Hybridization 기술

1. weighted : 각각 추천 점수를 가중 평균

2. Switching : 상황에 따라 추천시스템을 번경

3. Mixed : 각각 추천된 항목을 섞어서 제공

4. Feature Combination : 추천에서 나온 아이템들의 feature를 합쳐 하나의 알고리즘에 사용

5. Feature Augmentation : Feature Combination을 여러번 연결

6. Cascade : 엄격한 위계 가진 추천으로 상위 우선순위 추천이 선행되어야 낮은 우선순위의 추천 가능

7. Meta-level : 한 추천시스템의 output이 다음 단계의 추천시스템의 input으로 사용됨.

 

 

ML Model

    - Linear Regression, Random Forest, Navie Bayes 등등 ML 모델로 평점을 예측할 수도 있음.

 

1. Navie Bayes

    - 변수가 서로 독립적이라는 가정 하에 조건부 확률을 수행.

 

2. Gradient Boosting Decision Tree

    - 3대장 : XGBoost, LightGBM, CatBoost

 

XGBoost 특징 : Parallelization, Level-wise, Regularization

LightGBM 특징 : Leaf-wise, Gradient-based One-Side Sampling, Exclusive Feature Bundling

    - GOSS : TOP N개 데이터와 랜덤 샘플링 데이터만 활용.

    - EFB : sparse한 feature가 많을 때 여러 feature를 하나의 feature로 Bundling(=PCA)

    - 따라서 데이터가 n개, feature가 m개라면 LightGBM은 데이터 goss개, feature EFB개 사용.

CatBoost 특징 : Level-wise, Ordered Boosting, Ordered TS(Target Statistics)

    - Target Leakage 문제란 예측 시점에서 사용할 수 없는 데이터가 데이터 셋에 포함되어 있을 때 발생하는 문제.

    - 이를 Ordered Boosting를 통해 Target Leakage 문제를 해결.

    - Ordered TS : n+1 번째 order의 Target Statistics를 계산 시 n번째까지 order의 statisitcs 정보를 이용