추천시스템

추천시스템 성능 지표

metamong-data 2025. 4. 23. 17:58
728x90
반응형

개요

추천 시스템의 성능을 정량적으로 평가하기 위해 다양한 지표들이 사용됩니다. 이러한 지표들은 추천 결과의 정확도, 사용자 만족도, 비즈니스 목표 달성 여부 등을 측정하는 데 도움을 줍니다. 본 문서에서는 주요 평가 지표들의 정의, 수식, 특징, 그리고 계산 예시를 정리합니다.


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는 평점 예측 성능을 평가하는 데 적합한 지표입니다.

이러한 평가를 통해 보다 효과적이고 만족스러운 추천 서비스를 제공할 수 있습니다.

728x90

'추천시스템' 카테고리의 다른 글

추천 품질 평가 지표 정리 (Offline 중심)  (0) 2025.04.23
Online Evaluation  (1) 2025.04.23
고전적인 추천 알고리즘  (0) 2025.03.15
추천시스템 소개 및 특성  (0) 2025.03.14