[TIL] XGBoost Ranker

박상우·2023년 1월 30일
0

TIL

목록 보기
7/12
post-thumbnail

XGboost를 사용해 Ranking 모델을 설계

XGBoost

  • Extreme Gradient Boosting의 약자
  • GBM대비 빠른 수행시간
  • 과적합 규제로 Robust

Ranking

Set of data points
즉 query를 예측하는 것

ranking 알고리즘 접근법은 세 가지 방식으로 구분

Pointwise

한번에 하나의 아이템을 고려

  • 하나의 Query(user)에, 하나의 Item만 가져와 score를 계산 후 이를 Label score와 비교하여 최적화
  • Item과 Item 순서 관계를 무시하고 독립적으로 계산
  • 직관적이고 일반적인 Loss
  • LSE 등

Pairwise

한번에 2개의 아이템을 고려

  • Positive item, Negative item을 고려
  • Pos item > Neg item 이라는 Rank를 통해 ranking 학습
  • 학습시 (User, Pos, Neg)로 전처리 하는 작업 필요
  • 다만 대부분의 데이터 셋은 Negative item이 훨씬 많을 것 이므로, Sampling 기법이 활용 됨
  • 일반적으로 Pointwise보다 성능이 좋음
  • BPR, WARP, CLiMF 등

List-wise

한번에 전체 아이템을 모두 고려

  • 전체 아이템간의 Rank를 학습하려 함
  • 쉽고 잘 학습할 수 있다면 당연히 좋은 Loss function일테지만, 여러 문제가 존재
  • Pairwise 방법론과의 적절한 협의점이 요구됨

본 모델은 Pairwise 방법론 중 LambdaMART 알고리즘을 사용

Preparation

한 user, session, query 의 정보와 targetd인 rank의 data를 준비

마지막 주문을 예측하는 것이 아닌, 이전까지의 데이터와 연관성 있는 query를 예측하는 것으로 연관성 예측과 유사한 양상

profile
세상아 덤벼라

0개의 댓글