AI

<14일차> RS(Recommend System) 프로젝트 회고..

giirin 2025. 3. 13. 21:29

프로젝트의 세 주제중(AD/OCR/RS) 중 가장 관심이 있었던 추천 시스템(RecSys)과 관련된 학습을 진행하면서, 그리고 RecSys 경진대회(2주)를 경험하며 느낀 점을 정리해보려 한다.

 

그동안 여러 프로젝트와 머신러닝 경진대회를 경험해왔지만, 이번 대회를 통해 추천 시스템이 미래 고객들(customer) 대한 예측이 쉽지많은 않다는걸 다시 한번 느꼈고 새로운 관점과 문제 해결 경험을 얻을 수 있었다.

 

경진대회 개요

이번 경진대회의 목표는 사용자의 쇼핑 패턴을 분석하여 미래에 구매할 상품을 추천하는 것이었다.
평가 지표는 NDCG@10이며, 사용자의 과거 행동 데이터(view, cart, purchase)를 기반으로 학습한 모델의 성능을 평가했다.
데이터는 50:50 random split을 통해 public, private dataset으로 나뉘어 있었다.

 

기간: 2024.12 - 2025.01

평가지표: NDCG@10

NDCG@10

맡은 역할: Bert4Rec 위주 실험 및 Feature engineering Test

주요 모델:

  • SASRec (Self-Attention 기반 추천 시스템)
  • BERT4Rec (Transformer 기반 추천 시스템)
  • LMF (Latent Matrix Factorization)
  • FEARec (Feature-Enhanced Autoencoder for Recommendation)
  • ALS

초반 모델 실험 및 최적화 과정

초반에는 팀원들과 모델 및 하이퍼파라미터 튜닝, 데이터 전처리(EDA), Augmentation 기법을 적용하며 최적화된 샘플을 찾기 위해 노력했다.

팀원들은 Google Sheet를 활용하여 각자의 모델 실험 결과를 공유하며, 서로 다른 접근 방식을 시도했다.
우리가 실험한 주요 모델 및 결과는 다음과 같다.

 

모델 결과(NDCG@10)
ALS 0.083
SASRec 0.0842
BERT4Rec 0.1085
LMF 최적화 실패
FEARec 시간 부족으로 결과 미제출

 

BERT4Rec이 가장 성능이 높았으며, SASRec 대비 문맥 이해력이 우수함을 확인
LMF 모델의 경우 sparse 데이터에 적합하지만, 우리가 적용한 가중치 방식과 모델 특성이 맞지 않아 좋은 성능을 내지 못함.

 

Troubleshooting & 개선 과정

1. LMF 모델 실험 실패 원인 분석

LMF 모델은 사용자의 view, cart, purchase 행동을 반영하여 추천을 수행하는 방식이다.
처음에는 각 이벤트(view, cart, purchase)에 가중치를 부여하여 추천 순위를 조정하는 실험을 진행했다.

하지만,

  • Sparse 데이터 특성상 사용자가 한 번도 보지 않은 item이 많아 추천 품질이 낮아졌고
  • LMF 모델 자체가 이진적 상호작용 데이터를 다루는데 최적화되어 있었지만,
  • 우리가 적용한 가중치 방식과 모델의 기본 가정이 일치하지 않아 optuna 최적화를 적용해도 좋은 결과를 얻지 못했다.

교훈: 모델을 선택할 때 실험 기본 아이디어와 모델의 가정을 먼저 검토해야 한다.

 

2. FEARec 모델 실험 실패 원인 분석

FEARec 모델은 Feature Engineering을 강화한 Autoencoder 방식의 추천 모델이다.
BERT4Rec과의 앙상블을 고려하여 실험을 진행했으나, 시간 부족으로 output.csv 파일 생성이 완료되지 않아 최종 제출을 하지 못했다.

 

교훈: 실험 및 모델 학습뿐만 아니라, 제출 일정까지 고려하여 실험을 진행해야 한다.

 

3. Feature Engineering 실험 결과

EDA 과정에서 사용자의 행동 패턴을 분석하고, 가중치를 조정하는 방법을 시도했다.

 

View -> Cart View-> Purchase Cart-> Purchase
0.0019 0.0002 0.1268

 

 

View에서 Purchase로 전환되는 비율이 낮음
Cart에서 Purchase로 전환되는 비율이 상대적으로 높음

 

→ 따라서, Cart 이벤트에 더 높은 가중치를 부여하여 추천 품질을 개선하려 했으나,
ALS 기준 0.0846 → 0.0863으로만 개선되었고, BERT4Rec에서는 변화가 없었음.

 

교훈: Feature Engineering이 항상 모델 성능 개선에 기여하는 것은 아니며, 모델 구조에 따라 영향을 미치는 정도가 다르다.

 


최종 결과 및 회고

최종 점수: 0.1085 (BERT4Rec)


- LMF, FEARec 등의 추가 실험을 시도했지만 시간 부족으로 최적화에 실패
- Feature Engineering을 통한 개선 효과가 크지 않았음

 

이번 경진대회를 통해 배운 점

1. 추천 시스템 모델 선택 시, 데이터 특성과 모델 가정을 깊이 이해해야 한다.
2. 실험할 때 항상 시간 관리를 고려해야 한다. (데이터 분석 & 모델 학습 & 결과 도출 시간 확보 필수)
3. Feature Engineering이 항상 성능 향상으로 이어지지는 않는다.

 

이번 RecSys 경진대회를 통해 추천 시스템 모델의 다양한 접근 방식과 실험 프로세스를 경험할 수 있었다.
특히 문맥 이해력이 중요한 경우 Transformer 기반 모델(BERT4Rec)이 유리하다는 점을 직접 확인할 수 있었다.

다음 기회에는 Multi-task Learning, Hybrid Recommendation System을 활용한 실험도 진행해보고 싶다. 

 

마무리하며

이번 대회에서 우리가 사용한 모델, 데이터 처리 방식, Feature Engineering 기법 등을 체계적으로 정리하며,
추후 추천 시스템 관련 연구나 프로젝트에 참고할 수 있는 자료로 활용하면 좋을 것 같다.

또한, 실험 과정에서 BERT4Rec의 성능이 가장 좋았지만, Feature Engineering을 통한 추가 개선이 어려웠던 점도 기억해야 할 부분이다.
향후 모델 앙상블, 메타 러닝(Meta Learning) 등의 접근법을 활용하면 더 좋은 결과를 낼 수 있을 것이라 기대한다.

이 글이 추천 시스템을 공부하는 사람들에게 도움이 되길 바라며, 다음 기회에는 더 좋은 결과를 낼 수 있도록 노력해야겠다