MRR (Mean Reciprocal Rank)

  • Reciprocal Rank 의 평균 값을 나타낸다.
    • Reciprocal Rank 란,
      model 이 positive 라고 prediction 한 item이 몇 번 째에 나오는지를 나타낸다.
      예를 들어, 3번째에 등장하면 1/3 값, 첫 번째에 등장하면 1/1 값이다.
      (앞에 등장할수록 더 큰 값을 갖는다.)
  • 장점
    가장 앞에 positive item이 언제 등장하는지에 초점을 맞춘다면, 효과적인 metric
  • 단점
    뒤에 얼마나 많이 positive item이 나오는지 등은 고려하지 않는다.
    또한 뒤에 얼마나 많은 negative item 이 나오는지도 고려하지 않는다.
    (그저 최초의 positive item이 언제 나오는지만 고려함)

MAP (Mean Average Precision)

  • Average Precision의 평균값이다.
    • 여기서 Average Precision 이란,
      positive item이 등장할 때마다의 sublist에 대해서 average precision 값을 구한다.
      예를 들어, O X O O X 의 경우, ((1/1) + (2/3) + (3/4)) / 3 = 0.8 이다.
    • 이 값을 모든 user 에 대해 평균을 낸 값이 Mean Average Precision 이다.
  • 장점
    맨 앞의 값 뿐만 아니라, 뒤에 얼마나 빈번하게 positive item이 나오는지를 관찰할 수 있다.
    더 상위에 올 수록 값을 크케 받을 수 있게 한다.
  • 단점
    pos/neg 를 구분할 때, 1~5 점 사이의 점수를 기반으로 mapping이 되어있으면, 이를 pos/neg 구분이 불명확하다(??) (binary면 좀 더 명확할텐데, 이는 그렇지 못한 경우를 말하나 보다.)

NDCG (Normalized Discounted Cumulative Gain)

  • ideal ranking 이 (model predicted) real ranking 사이의 차이가 얼마나 나는지를 보여준다.
  • ideal ranking ; highly related contents 가 앞 쪽에 우선 배치되는 이상적인 retrieval case 이다.
  • ideal ranking과 real ranking 각각 따로따로 cumulative gain 을 summation 해서 구한다. ideal ranking 의 경우는 모든 real ranking에 비해서 값이 크거나 같다.
  • 0 <= NDCG <=1 NDCG = sum(cumulative gain of real ranking) / sum(cumulative gain of ideal ranking)

Reference

  • https://lamttic.github.io/2020/03/20/01.html