여러분들께서는 사용자의 영화 시청 이력 데이터를 바탕으로 사용자가 다음에 시청할 영화 및 좋아할 영화를 예측하게 됩니다.
이 문제는 timestamp를 고려한 사용자의 순차적인 이력을 고려하고 implicit feedback을 고려한다는 점에서,
시중의 여러 강의에서 사용되는 1-5점 평점 (explicit feedback) 기반의 행렬을 사용한 협업 필터링 문제와 차별화됩니다.
대회에 대한 더 자세한 내용은 대회 개요 에서 확인할 수 있습니다!
Naver Boostcamp AI Tech 4기 Recsys 12조, Recommendation is All You Need
강태훈 | 권준혁 | 김다은 | 류지수 | 유영서 |
- 강태훈 : Template 구조 선정, ADMM-SLIM 모델 구현, AutoEncoder 계열 모델 성능 비교
- 권준혁 : S3rec, SASrec 모델 개선, 튜닝 시 sweep 사용
- 김다은 : MultiVAE 모델 구현, MultiVAE & MultiDAE 모델 RecBole 적용
- 류지수 : EASE, EASER 모델 구현, EASE RecBole 적용
- 유영서 : RecBole 환경 구축, RecVAE 모델 구현, Voting 구현
팀원 간의 원활한 소통을 위해, 다양한 협업 도구를 사용하였습니다!
Slack | Notion | W&B | Github |
---|---|---|---|
저희 팀의 협업 방식에 대하여 더 궁금하시다면, Team RAYN의 협업 방식 에서 확인할 수 있습니다!
다양한 모델을 실험한 후, Top10을 보다 효과적으로 앙상블 하기 위해 고안안 voting 알고리즘에 Top15를 넣어준 후, 최종 Top10을 선발합니다.
모델 실험 결과는 다음과 같습니다.
Model | EASER | EASE | S3Rec | RecVAE | MultiVAE | MultiDAE | ADMMSLIM |
---|---|---|---|---|---|---|---|
public Recall@10 | 0.1612 | 0.1600 | 0.1000 | 0.1367 | 0.1366 | 0.1346 | 0.1321 |
private Recall@10 | 0.1603 | 0.1600 | 0.0877 | 0.1362 | 0.1375 | 0.1365 | 0.1317 |
여러 모델을 실험한 결과, EASE 모델이 다른 모델과의 성능 차이가 많이 나는 점을 확인하였습니다.
이로 인하여 앙상블 과정에서 문제점이 도출되었습니다.
두 모델을 Hard Voting 하려는 경우, 두 모델의 성능 차이로 인하여 앙상블 결과의 성능이 저하되는 문제가 있었으며,
두 모델에 가중치를 다르게 부여할 경우, 가중치가 높은 모델의 Top10만 그대로 선발되는 문제가 있었습니다.
앙상블에서의 문제점을 해결하기 위해, Top11~15의 데이터를 추가적으로 사용하여 Top10을 선발하는 voting 알고리즘을 구현하였습니다.
새로운 voting 알고리즘은 크게 두 종류로 나뉘어집니다.
첫번째는, Top11~15의 정보를 이용하여 Top10 간의 변별력을 부여하여 새로운 Top10을 선발하는 방식이며,
두번째는, Top11~15에만 존재하는 item이 새로운 Top10에 선발될 수 있는 가능성을 제공하는 방식입니다.
Voting Strategy에 대한 더 자세한 내용은 앙상블 전략 에서 확인할 수 있습니다!
저희 Project에 대한 더 자세한 정보를 알고싶으시다면, Project Wiki 를 확인하세요!
리더보드 | Recall@10 | 순위 |
---|---|---|
public | 0.1644 | 7등 |
private | 0.1626 | 6등 |
최종 순위: 6등