추천시스템 평가 지표

ReadyMadeLife·2022년 3월 10일
0

추천시스템은 결국 사용자들이 우리들이 추천해준 아이템을 선택하게 하는 것이 목표이다.

따라서 우리가 만든 추천시스템 모델의 성능을 평가하는데에는 비즈니스 성격이 포함될 수 밖에 없다.

추천시스템 성능 평가는 2가지로 크게 분류할 수 있다.

  1. 비즈니스/서비스 관점

    • 추천시스템 적용으로 인한 매출, PV 증가
    • 추천 아이템으로 인해 유저으 CTR 상승
  2. 품질 관점

    • 연관성 (Relevance) : 추천된 아이템이 유저에게 관련이 있는지
    • 다양성 (Diversity) : 추천된 아이템에 얼마나 다양한 아이템이 있는지
    • 새로움 (Novelty) : 사용자가 방문할때마다 새로운 아이템이 추천되는지
    • 참신함 (Serendipity) : 유저가 생각치도 못한 아이템이 추천되는지 → 재미요소에 가깝고, 이건 연관성과 상충되기도 한다.

그렇다면 어떻게 평가를 수행할까?

우선 Offline Test가 있다.

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

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

이 평가지표를 토대로 online serving에 투입되지만 실제 서비스에서는 다른 결과가 나타날 수 있다. (Serving bias)

그 이유는 online serving시 고객의 feedback이 다시 학습 데이터에 포함되어 모델이 model1, model2로 계속 발전하기 때문이다.

성능 지표로는 아래와 같다.

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

위 성능 지표를 자세히 살펴보면,
✅ 랭킹 문제

  • Precsion@K : 추천한 K개 아이템 중 사용자가 선택한 아이템 비율

  • Recall@K : 사용자가 선택한 전체 아이템 중 추천한 아이템 비율

  • MAP@K (Mean Average Precision) : 모든 사용자의 Average Precision 값 평균
    → Average Precision (AP@K)는 Precision@1 ~ Precision@K까지의 평균

  • (❗ 중요) NDCG@K (Normalized Discounted Cumulative Gain) : 추천시스템에서 가장 많이 쓰이는 평가 지표
    → Top K 리스트를 만들고 유저가 선호하는 아이템을 비교하여 값을 구함
    → 추천 순서에 Weight를 주어 성능 평가하고 1에 가까울수록 성능이 좋다고 판단
    → Binary 값이 아닌 수치로 표현되어 사용자에게 더 관련 있는 아이템을 상위로 노출하는지 알 수 있음
    → Formula를 살펴보자면,
    - Cumulative Gain : Top K개 아이템 관련도 합
    CGK=i=1KreliCG_{K} = \displaystyle\sum_{i=1}^{K}rel_{i}
    - Discounted Cumulative Gain : 순서에 따라 Cumulative Gain을 Discount
    DCGK=i=1Krelilog2(i+1)DCG_K = \displaystyle\sum_{i=1}^{K}\frac{rel_i}{log_2(i+1)}
    - Ideal DCG : 이상적인 추천이 일어났을 때 DCG 값 (가능한 DCG 값 중 가장 큼)
    IDCG=i=1Krelioptlog2(i+1)IDCG = \displaystyle\sum_{i=1}^{K}\frac{rel_i^{opt}}{log_2(i+1)}
    - Normalized DCG : DCG를 IDCG로 나눈 값
    NDCG=DCGIDCGNDCG = \frac{DCG}{IDCG}

두번째로 Online A/B Test가 있다.

Offline Test에서 검증된 가설이나 모델을 이용해 실제 추천 결과를 서빙하는 단계이다.

대조군 (A)와 실험군 (B)의 성능을 평가한다. 이 결과를 통해 최종 의사결정이 이뤄지며, 실제 현업에서도 의사결정하기 위한 최종 지표로 모델 성능이 아닌 매출, CTR 등 비스지스/서비스 지표로 이루어진다.

profile
레디메이드인생

0개의 댓글