250128 TIL #601 AI Tech #133 P:기존 순위 지표에 대한 의문점 / 추천 지표 정리

김춘복·7일 전
0

TIL : Today I Learned

목록 보기
603/604

Today I Learned

오늘은 기존 순위 지표를 다른 방식으로 바꾸기 위해 생각을 정리해봤다.


leave-one-out에서 순위 관련 지표에 대한 의문

어떤 추천 시나리오를 짰냐에 따라 다르겠지만, MRR과 nDCG는 top 10 추천에서는 10위와 미포함간의 차이가 너무 적다고 생각한다.

  • 첫 추천이 가장 중요하기 때문에 1~2위간 격차가 큰 것은 이해가 가지만, 아예 순위에도 들지 못한 미포함과 10위간 격차가 0.14면 다른 순위간 격차 대비 너무 낮다고 생각한다. top 10 추천의 마지막이라도 드는 것이 추천 목록에 포함되지 않는것보다 훨씬 가중치가 지금보다 커야한다고 생각한다.
  • MRR은 순위의 역수, ndcg는 1/log2(i+1)1/log_2 (i+1)로 계산되는데, 1~2위간 격차는 크게 두고, 10~미포함간 격차도 벌릴 수 있는 계산 식을 만들어 새 지표로 쓰는게 어떨까 하는 제안.

기존 지표 정리

1. Recall@k

  • 정의: 상위 k개의 추천 항목 중 실제로 관련 있는 항목의 비율.
  • 공식
    Recall@k=상위 k개 중 관련 있는 항목 수전체 관련 항목 수\text{Recall@k} = \frac{\text{상위 k개 중 관련 있는 항목 수}}{\text{전체 관련 항목 수}}
  • 의미: 모델이 얼마나 많은 관련 항목을 상위 k개 안에 포함시키는지 측정.

2. Precision@k

  • 정의: 상위 k개의 추천 항목 중 실제로 관련 있는 항목의 비율.
  • 공식:
    Precision@k=상위 k개 중 관련 있는 항목 수k\text{Precision@k} = \frac{\text{상위 k개 중 관련 있는 항목 수}}{k}
  • 의미: 상위 k개 추천의 정확도를 측정.

3. NDCG (Normalized Discounted Cumulative Gain)

  • 정의: 순위에 따라 가중치를 부여한 관련성 점수의 정규화된 합.
  • 공식:
    DCG=i=1k관련성 점수log2(i+1)\text{DCG} = \sum_{i=1}^{k} \frac{\text{관련성 점수}}{\log_2(i+1)}
    NDCG=DCGIDCG\text{NDCG} = \frac{\text{DCG}}{\text{IDCG}}
    (IDCG는 이상적인 DCG)
  • 의미: 순위별 관련성을 고려하여 추천의 품질을 평가.

4. MAP (Mean Average Precision)

  • 정의: 각 쿼리의 평균 정밀도(AP)를 전체 쿼리에 대해 평균낸 값.
  • 공식:
    AP=k=1nPrecision@k×rel(k)전체 관련 항목 수\text{AP} = \frac{\sum_{k=1}^{n} \text{Precision@k} \times \text{rel}(k)}{\text{전체 관련 항목 수}}
    MAP=q=1QAP(q)Q\text{MAP} = \frac{\sum_{q=1}^{Q} \text{AP}(q)}{Q}
    (rel(k)는 k번째 항목의 관련성)
  • 의미: 여러 쿼리에 대한 평균 정밀도를 종합적으로 평가.

5. MRR (Mean Reciprocal Rank)

  • 정의: 첫 번째 관련 항목의 순위의 역수를 평균낸 값.
  • 공식:
    MRR=1Qq=1Q1rankq\text{MRR} = \frac{1}{|Q|} \sum_{q=1}^{Q} \frac{1}{\text{rank}_q}
    (rank_q는 첫 번째 관련 항목의 순위)
  • 의미: 첫 번째 관련 항목이 얼마나 높은 순위에 있는지 평가.

6. Hit Ratio

  • 정의: 상위 k개 추천 중 관련 항목이 하나라도 포함된 비율.
  • 공식:
    Hit Ratio=관련 항목이 하나라도 포함된 추천 수전체 추천 수\text{Hit Ratio} = \frac{\text{관련 항목이 하나라도 포함된 추천 수}}{\text{전체 추천 수}}
  • 의미: 관련 항목이 포함된 추천의 빈도를 측정.

요약

  • Recall@k: 상위 k개 중 관련 항목의 비율
  • Precision@k: 상위 k개 중 관련 항목의 정확도
  • NDCG: 순위별 관련성을 고려한 정규화 점수
  • MAP: 여러 쿼리의 평균 정밀도
  • MRR: 첫 번째 관련 항목의 순위 역수 평균
  • Hit Ratio: 관련 항목이 포함된 추천의 빈도
profile
Backend Dev / Data Engineer

0개의 댓글