추천시스템의 평가 지표

Ryu Jihoon·2024년 10월 29일
post-thumbnail

Offline Test

새로운 추천 모델 검증을 위한 가장 우선적으로 수행되는 단계

유저로부터 수집한 데이터를 train/valid/test로 나누어 모델의 성능을 객관적인 지표로 평가

평가 지표

  • 랭킹 문제: Precision@K, Recall@K, MAP@K, NDCG@K, Hit Rate
  • 예측 문제: RMSE, MAE

Precision@K

  • 추천한 아이템 중 유저가 관심있는 아이템의 비율 (k는 추천한 아이템 수)
  • Precision = (True Positives) / (True Positives + False Positives)

Recall@K

  • 유저가 관심있는 전체 아이템 중 추천한 아이템의 비율 (k는 추천한 아이템 수)
  • Recall = (True Positives) / (True Positives + False Negatives)

Average Precision(AP)@K

  • Precision@1 부터 Precision@K 까지의 평균값
  • 관련 아이템을 더 높은 순위에 추천할수록 점수가 상승함
    AP@K=1mi=1kPrecision@iAP@K=\frac{1}{m}\displaystyle\sum_{i=1}^{k}{Precision@i}

Mean Average Precision(MAP)@K

  • 모든 유저에 대한 Average Precision 값의 평균
    MAP@K=1Uu=1U(AP@K)uMAP@K=\frac{1}{\vert U\vert}\displaystyle\sum_{u=1}^{\vert U\vert}{(AP@K)_u}

Cumulative Gain

  • 상위 K개 아이템의 관련도를 추천 순서와 무관하게 합한 값
    CGk=i=1KreliCG_k=\displaystyle\sum_{i=1}^{K}rel_i

Discounted Cumulative Gain

  • 상위 K개 아이템의 관련도를 추천 순서에 따라 합한 값
    DCGk=i=1Krelilog2(i+1)DCG_k=\displaystyle\sum_{i=1}^{K}\frac{rel_i}{\log_2(i+1)}

Ideal DCG

  • 이상적인 추천에 대한 DCG값 (가능한 DCG 값 중에 제일 큰 값)
    IDCGk=i=1Krelioptlog2(i+1)IDCG_k=\displaystyle\sum_{i=1}^{K}\frac{rel_i^{opt}}{\log_2(i+1)}

Normalized DCG

  • 실제 추천 결과에 대한 DCG를 IDCG로 나눈 값
    NDCG=DCGIDCGNDCG=\frac{DCG}{IDCG}

Online Test

추천 시스템 변경 전후의 성능을 비교하는 것이 아닌 동시에 동일한 환경의 대조군(A)과 실험군(B)의 성능을 평가
실제 서비스를 통해 얻어지는 결과(매출, CTR 등의 비즈니스/서비스 지표)를 통해 최종 의사결정이 이루어짐

profile
CSE Junior

0개의 댓글