2023. 12. 11. 15:42ㆍNAVER 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 정보를 이용
'NAVER AI Tech > Project' 카테고리의 다른 글
6. 라이브러리 소개 및 카카오 아레나 솔루션 분석 (0) | 2023.12.19 |
---|---|
5. Deep Learning 도입 (0) | 2023.12.12 |
4. Machine Learning 도입 (0) | 2023.12.12 |
2. Memory Based Collaborative Filtering (1) | 2023.12.11 |
1. 프로젝트 시작 : 데이터분할과 평가지표 (0) | 2023.12.11 |