2023. 12. 11. 14:16ㆍNAVER AI Tech/Project
offline test / online test로 나눌 수 있다.
Offline test 데이터 분할 기법
1. Leave One Last
- 사용자당 마지막 구매를 test set. 마지막에서 2번째를 valid set으로 분할
- 학습 시 많은 데이터를 사용할 수 있다는 장점. but 마지막 구매만을 평가하므로 전체적인 성능을 반영한다고 보기 어려움 단점 존재
2. Temporal User / Global Split
- 특정 시점을 기준으로 test set을 분할
- data leakage가 없지만 학습 시 사용할 수 있는 상호작용이 적은 문제가 존재.
3. Random Split
- 사용자 별로 interaction을 시간 순서에 상관없이 random하게 분할.
- 쉽고 학습 데이터가 많다는 장점이 있지만 data leakage문제가 존재할 수 있음
4. User Split
- 사용자가 겹치지 않게 사용자를 기준으로 분할
- cold start 문제에 대응하는 모델을 생성 가능하다는 것이 장점. but data leakage 문제 발생.
5. K-Fold Cross Validation
- 일반적으로 K-Fold를 적용하게 되면 시간순서가 섞이므로 data leakage 문제 발생.
6. Time Series Cross Validation
Offline test 평가지표
1. 평점 예측 시 : RMSE, MAE
2. 랭킹 예측 시 : Precision@K, Recall@K, MAP@K, NDCG@K, Hit-rate
특성 평가 지표 : 흔하지 않으면서도 흥미롭고 다양한 아이템을 추천하는 지표
- Coverage : 전체 아이템 중 추천 시스템이 추천하는 아이템의 비율
- Novelty : 새로운 아이템 추천(얼마나 참신한가?)
- Personalization : 개인화된 추천
- Serendipity : 의외의 아이템 추천(기대 안했지만 생각보다 만족했을 때)
- Diversity : 얼마나 다양한 아이템이 추천되는지(얼마나 다양한 아이템이 추천되었는지)
**추천시스템은 성능 평가지표로 만으론 판단할 수 없다. 어떤 특성에 더 중점을 맞춘 시스템을 개발해야할 필요가 있음
'NAVER AI Tech > Project' 카테고리의 다른 글
6. 라이브러리 소개 및 카카오 아레나 솔루션 분석 (0) | 2023.12.19 |
---|---|
5. Deep Learning 도입 (0) | 2023.12.12 |
4. Machine Learning 도입 (0) | 2023.12.12 |
3. Model Based Collaborative Filtering (1) | 2023.12.11 |
2. Memory Based Collaborative Filtering (1) | 2023.12.11 |