개요
추천 시스템의 성능을 정량적으로 평가하기 위해 다양한 지표들이 사용됩니다. 이러한 지표들은 추천 결과의 정확도, 사용자 만족도, 비즈니스 목표 달성 여부 등을 측정하는 데 도움을 줍니다. 본 문서에서는 주요 평가 지표들의 정의, 수식, 특징, 그리고 계산 예시를 정리합니다.
1. Precision@K
정의
추천된 상위 K개 아이템 중에서 실제로 사용자가 선호한 아이템의 비율을 측정합니다.
수식
$\text{Precision@K} = \frac{\text{Number of relevant items in top K}}{K}$
특징
추천 목록의 정확도를 평가합니다.
높은 Precision@K 값은 사용자가 관심 있는 아이템을 상위에 잘 추천했음을 의미합니다.
계산 예시
추천 목록: [A, B, C, D, E]
사용자가 선호한 아이템: [A, C, F]
K = 3
상위 3개 추천 아이템: [A, B, C]
관련 아이템: A, C → 2개
$\text{Precision@3} = \frac{2}{3} \approx 0.6667$
2. Recall@K
정의
사용자가 선호하는 전체 아이템 중에서 추천된 상위 K개 아이템에 포함된 비율을 측정합니다.
수식
$\text{Recall@K} = \frac{\text{Number of relevant items in top K}}{\text{Total number of relevant items}}$
특징
모든 관련 아이템 중에서 얼마나 많이 추천했는지를 평가합니다.
높은 Recall@K 값은 추천 시스템이 사용자의 관심사를 잘 포괄했음을 나타냅니다.
계산 예시
추천 목록: [A, B, C, D, E]
사용자가 선호한 아이템: [A, C, F]
K = 3
상위 3개 추천 아이템: [A, B, C]
관련 아이템: A, C → 2개
전체 관련 아이템 수: 3개
$\text{Recall@3} = \frac{2}{3} \approx 0.6667$
3. Mean Average Precision (MAP)@K
정의
여러 사용자에 대한 Average Precision@K의 평균을 계산하여 전체 시스템의 성능을 평가합니다.
수식
$\text{MAP@K} = \frac{1}{|U|} \sum_{u=1}^{|U|} \text{AP@K}_u$
여기서, $\text{AP@K}_u$는 사용자 $u$에 대한 Average Precision@K입니다.
특징
추천된 아이템의 순서를 고려하여 평가합니다.
관련 아이템을 상위에 배치할수록 높은 점수를 얻습니다.
계산 예시
추천 목록: [A, B, C, D, E]
사용자가 선호한 아이템: [A, C, E]
K = 5
관련 아이템의 위치: A(1), C(3), E(5)
Precision@1 = 1/1 = 1.0
Precision@3 = 2/3 ≈ 0.6667
Precision@5 = 3/5 = 0.6
AP@5 = (1.0 + 0.6667 + 0.6) / 3 ≈ 0.7556
여러 사용자에 대해 AP@K를 계산한 후 평균을 구하면 MAP@K를 얻을 수 있습니다.
4. Normalized Discounted Cumulative Gain (NDCG)@K
정의
추천된 아이템의 순서와 관련도를 모두 고려하여 평가하는 지표로, 이상적인 추천 순서와 비교하여 정규화된 점수를 제공합니다.
수식
$\text{NDCG@K} = \frac{\text{DCG@K}}{\text{IDCG@K}}$
여기서, DCG@K는 실제 추천 순서에 따른 Discounted Cumulative Gain이며, IDCG@K는 이상적인 추천 순서에 따른 DCG입니다.
DCG 계산:
$\text{DCG@K} = \sum_{i=1}^{K} \frac{rel_i}{\log_2(i+1)}$
$rel_i$는 순위 $i$에 있는 아이템의 관련도입니다.
특징
사용자가 더 관심을 가질 수 있는 아이템을 상위에 배치할수록 높은 점수를 얻습니다.
0에서 1 사이의 값을 가지며, 1에 가까울수록 이상적인 추천 순서에 가깝습니다.
계산 예시 (계속)
추천 목록: [A, B, C, D, E]
사용자가 선호한 아이템: [A, C, E]
관련도(rel): A(3), C(2), E(1), B(0), D(0)
실제 DCG 계산:
$\text{DCG@5} = \frac{3}{\log_2(1+1)} + \frac{0}{\log_2(2+1)} + \frac{2}{\log_2(3+1)} + \frac{0}{\log_2(4+1)} + \frac{1}{\log_2(5+1)}$
계산하면:
$= 3 + 0 + \frac{2}{2} + 0 + \frac{1}{2.5849} \approx 3 + 0 + 1 + 0 + 0.3869 = 4.3869$
이상적 DCG(IDCG) 계산:
- 이상적인 순서: [A(3), C(2), E(1), (나머지 0)]
$\text{IDCG@5} = \frac{3}{\log_2(1+1)} + \frac{2}{\log_2(2+1)} + \frac{1}{\log_2(3+1)} + 0 + 0$
계산하면:
$= 3 + \frac{2}{1.5849} + \frac{1}{2} + 0 + 0 \approx 3 + 1.2619 + 0.5 = 4.7619$
최종 NDCG@5 계산:
$\text{NDCG@5} = \frac{\text{DCG@5}}{\text{IDCG@5}} = \frac{4.3869}{4.7619} \approx 0.9212$
5. Hit Rate@K
정의
추천된 상위 K개 아이템 중 사용자가 실제로 선호한 아이템이 하나라도 포함되었는지를 측정하는 지표입니다.
수식
$\text{Hit Rate@K} = \frac{\text{Number of users with at least one hit in top K}}{\text{Total number of users}}$
특징
사용자의 선호를 하나라도 맞추는 능력을 평가합니다.
이진 피드백(선호 여부만 있는 데이터)에 특히 유용합니다.
계산 예시
사용자 3명의 추천 결과 (상위 3개 아이템):
사용자 1: 추천 [A, B, C], 선호 [D, E] → Hit ❌
사용자 2: 추천 [A, B, C], 선호 [C, F] → Hit ✅
사용자 3: 추천 [A, B, C], 선호 [G, A] → Hit ✅
$\text{Hit Rate@3} = \frac{2}{3} \approx 0.6667$
6. Mean Absolute Error (MAE) & Root Mean Square Error (RMSE)
정의
추천 시스템이 예측한 평점과 실제 평점 간의 오차를 측정하는 지표입니다.
수식
- MAE:
$\text{MAE} = \frac{1}{N}\sum_{i=1}^{N}|\hat{r}_i - r_i|$
- RMSE:
$\text{RMSE} = \sqrt{\frac{1}{N}\sum_{i=1}^{N}(\hat{r}_i - r_i)^2}$
여기서:
$\hat{r}_i$: 예측된 평점
$r_i$: 실제 평점
$N$: 총 데이터 수
특징
- 평점 기반 추천에서 자주 사용되며, 값이 작을수록 좋은 성능을 나타냅니다.
계산 예시
실제 평점: [4, 3, 5, 2, 1]
예측 평점: [5, 3, 4, 2, 2]
$\text{MAE} = \frac{|5-4| + |3-3| + |4-5| + |2-2| + |2-1|}{5} = \frac{1 + 0 + 1 + 0 + 1}{5} = 0.6$
$\text{RMSE} = \sqrt{\frac{(1)^2 + (0)^2 + (-1)^2 + (0)^2 + (1)^2}{5}} = \sqrt{\frac{3}{5}} \approx 0.7746$
평가 방법
1. Offline Evaluation
과거 데이터를 기반으로 한 평가 방법입니다.
훈련, 검증, 테스트 데이터로 나누어 모델의 성능을 객관적으로 평가합니다.
2. Online Evaluation (A/B Testing)
실제 사용자 그룹을 나누어 서로 다른 추천 방식을 제공하고 반응을 측정합니다.
사용자 만족도나 매출 영향 등을 실질적으로 평가합니다.
결론
추천 시스템의 성능 평가는 다양한 지표를 활용하여 객관적으로 이루어져야 합니다.
지표는 시스템의 목표와 사용자 경험 향상에 맞추어 선택 및 적용됩니다. 특히 Precision, Recall, NDCG는 추천 품질 평가에서 널리 활용되는 주요 지표이며, MAE와 RMSE는 평점 예측 성능을 평가하는 데 적합한 지표입니다.
이러한 평가를 통해 보다 효과적이고 만족스러운 추천 서비스를 제공할 수 있습니다.
'추천시스템' 카테고리의 다른 글
추천 품질 평가 지표 정리 (Offline 중심) (0) | 2025.04.23 |
---|---|
Online Evaluation (1) | 2025.04.23 |
고전적인 추천 알고리즘 (0) | 2025.03.15 |
추천시스템 소개 및 특성 (0) | 2025.03.14 |