Skip to content

Learning to rank

순위 학습(Learning to rank) 또는 기계학습 기반 순위매기기(machine-learned ranking, MLR)는 기계 학습을 이용해 순위를 매기는 것이다. 이는 정보 검색 시스템을 위한 순위 모델 구축에 일반적으로 지도 학습, 준지도 학습 또는 강화 학습과 같은 기계 학습을 적용하는 것이다. 예를 들어 훈련 데이터는 각 목록의 항목 사이에 일부 부분 순서가 지정된 항목 목록으로 구성될 수 있다. 이 순서는 일반적으로 각 항목에 대해 숫자 또는 순서 점수 또는 이진 판단(예: "관련 있음" 또는 "관련 없음")을 제공하여 유도된다. 순위 모델을 구성하는 목적은 훈련 데이터의 순위와 유사한 방식으로 새로운, 보이지 않는 목록의 순위를 매기는 것이다.

Learning to Rank (LTR)이란 무엇일까?

Learning to Rank(LTR)란 Ranking System에서 머신러닝을 사용하는 방법론을 말합니다.

랭킹 최적화 문제

관련 내용:

  • Top-K Correction
  • Ranking Metric에 기반한 Loss Function - The LambdaLoss Framework for Ranking Metric Optimization
    • NDCG 최적화
  • LambdaRank
    • EM Algorithm에 의한 최적화
  • 랭킹 Metric을 최적화하는 Loss Function

Ranking 에 사용되는 Metric

Ranking에서는 모델이 얼마나 Item에 대한 순위를 잘 매기는지 측정하기 위해 다음과 같은 metric(평가 지표)를 사용합니다.

MRR(Mean Reciprocal Rank)
각 Query마다 1위 Item을 맞춘 점수를 평균하는 방법입니다. Query에 대해 여러 Item들이 rank됐을 때 test set의 정답(1위)인 Item이 몇위에 있는가에 따라 reciprocal rank가 계산됩니다. 그리고 모든 Query의 reciprocal rank를 평균하면 MRR 점수가 산출됩니다.
해당 방법은 1위의 item의 위치만 파악하기에 다른 Item의 관련성은 무시한다는 한계점을 가집니다.
Precision at k
Precision은 추천된 top k의 Item 중 관련성 있는 아이템의 비율을 의미합니다. 해당 metric은 관련이 있는지 없는지만 판단합니다. 즉, rank에 대한 점수는 계산하지 않는다는 한계점을 가집니다.
nDCG(normalized Discounted Cumulative Gain)
nDCG는 MRR과 Precision의 단점을 모두 보완한 metric입니다.
  • DCG
    • DCG는 Ranking 순서에 따라 점점 비중을 줄여 discounted된 관련 점수를 계산하는 방법입니다. 순위가 하위로 갈 수록 패널티를 준다고 보면 됩니다. Ranking 순서보다 관련성에 비중을 두고 싶으면 위 계산식 중에 두 번째 식을 사용하면 됩니다.
  • IDCG → nDCG
    • DCG는 Ranking 결과 길이인 p에 따라 값이 많이 변하기에 일정 스케일의 값을 가지도록 normalize가 필요합니다. IDCG를 구하여 이를 해결할 수 있습니다.
    • DCG를 IDCG로 나누면 nDCG를 구할 수 있습니다.

딥러닝 모델

  • GSF (Groupwise Scoring Function)
  • seq2slate
  • DLCM (Deep Listwise Context Model)
  • Context-Aware Ranker - LTR 벤치마크 데이터셋인 MSLR-WEB30K에서 가장 좋은 성능(SOTA)을 보이고 있습니다.

See also

Favorite site