NDCG (Normalized Discounted Cumulative Gain) 완전 정복

김동준·2025년 12월 12일

Recommend System

목록 보기
12/14

NDCG (Normalized Discounted Cumulative Gain) 완전 정복

핵심 개념

NDCG는 검색 결과나 추천 시스템의 품질을 측정하는 지표입니다. 핵심은 두 가지입니다:
1. 관련성 높은 아이템이 상위에 노출될수록 좋다
2. 순위가 낮아질수록 가치가 할인(discount)된다

계산 방법 예시

상황: 영화 추천 시스템

사용자가 액션 영화를 좋아한다고 가정하고, 시스템이 5개 영화를 추천했습니다.

추천 결과:
1. 분노의 질주 (액션) - 관련도: 3점
2. 노트북 (로맨스) - 관련도: 0점
3. 다이하드 (액션) - 관련도: 3점
4. 어벤져스 (액션) - 관련도: 2점
5. 타이타닉 (로맨스) - 관련도: 0점

Step 1: DCG (Discounted Cumulative Gain) 계산

DCG = Σ (관련도 / log₂(순위 + 1))

DCG = 3/log₂(2) + 0/log₂(3) + 3/log₂(4) + 2/log₂(5) + 0/log₂(6)
    = 3/1 + 0/1.585 + 3/2 + 2/2.322 + 0/2.585
    = 3 + 0 + 1.5 + 0.861 + 0
    = 5.361

Step 2: IDCG (Ideal DCG) 계산

이상적인 순서 (관련도 높은 순):
1. 분노의 질주 - 3점
2. 다이하드 - 3점
3. 어벤져스 - 2점
4. 노트북 - 0점
5. 타이타닉 - 0점

IDCG = 3/1 + 3/1.585 + 2/2 + 0/2.322 + 0/2.585
     = 3 + 1.893 + 1 + 0 + 0
     = 5.893

Step 3: NDCG 계산

NDCG = DCG / IDCG = 5.361 / 5.893 = 0.910 (91.0%)

해석: 이 추천은 이상적인 순서 대비 91%의 효율을 보여줍니다.


실제 사용 예시 3가지

1️⃣ 넷플릭스 추천 시스템

상황: 사용자의 시청 이력 기반 영화 추천

사용자 프로필: 스릴러 장르 선호, 크리스토퍼 놀란 감독 작품 시청

추천 결과 A (기존 알고리즘):
1. 인셉션 (관련도: 5) 
2. 다크나이트 (관련도: 5)
3. 하울의 움직이는 성 (관련도: 1)
4. 인터스텔라 (관련도: 4)
→ NDCG@4 = 0.95

추천 결과 B (개선된 알고리즘):
1. 인셉션 (관련도: 5)
2. 다크나이트 (관련도: 5)
3. 인터스텔라 (관련도: 4)
4. 프레스티지 (관련도: 4)
→ NDCG@4 = 0.99

활용: A/B 테스트로 어떤 알고리즘이 더 나은지 정량적으로 비교

2️⃣ 쿠팡 상품 검색

상황: "블루투스 이어폰" 검색

검색어: "블루투스 이어폰"
사용자 의도: 가성비 좋은 무선 이어폰

검색 결과:
1. 에어팟 프로 (클릭률: 8%, 구매율: 3%) - 관련도: 4
2. 쿠팡 자체 브랜드 이어폰 (클릭률: 15%, 구매율: 12%) - 관련도: 5
3. 갤럭시 버즈 (클릭률: 10%, 구매율: 5%) - 관련도: 4
4. 유선 이어폰 (클릭률: 2%, 구매율: 0.5%) - 관련도: 1

NDCG@10 계산으로 검색 품질 측정
→ 목표: NDCG > 0.85 유지

활용:

  • 검색 알고리즘 성능 모니터링
  • 상품 순위 조정 효과 측정
  • 카테고리별 검색 품질 비교

3️⃣ 유튜브 동영상 랭킹

상황: 홈 피드 개인화

사용자: 요리 콘텐츠 주 시청자

추천 영상 (관련도 = 시청 완료율):
1. "5분 파스타 레시피" (90% 시청) - 관련도: 5
2. "백종원 김치찌개" (85% 시청) - 관련도: 5  
3. "게임 하이라이트" (10% 시청) - 관련도: 1
4. "베이킹 기초" (70% 시청) - 관련도: 4
5. "요리 도구 리뷰" (60% 시청) - 관련도: 3

NDCG@5 = 0.92

활용:

  • 사용자별 피드 최적화
  • 새로운 추천 모델 평가
  • 광고 삽입 위치 결정

최신 트렌드 리서치## 최신 트렌드 (2024-2025)

검색 결과를 바탕으로 NDCG의 최신 동향을 정리하면:

1️⃣ RAG (Retrieval-Augmented Generation) 평가의 핵심 지표로 부상

NDCG가 RAG 시스템의 검색 품질을 평가하는 주요 지표로 자리잡고 있습니다. 2025년 현재:

  • 기업의 70%가 RAG를 프로덕션에 배포했거나 12개월 내 배포 예정
  • RAG 평가는 검색(Precision@k, Recall@k, MRR, nDCG), 생성(faithfulness, relevance), 그리고 엔드투엔드 파이프라인 세 계층을 추적
  • RAGAS, ARES, DeepEval 같은 프레임워크가 NDCG를 핵심 메트릭으로 사용
  • NDCG@10 > 0.8을 목표로 설정하여 가장 중요한 결과가 상위에 위치하도록 유지

예시: LLM이 문서에서 정보를 검색하는 RAG 시스템에서, NDCG를 사용하여 관련 문서가 얼마나 잘 순위가 매겨지는지 평가합니다.

2️⃣ NDCG의 한계에 대한 학계 논쟁

흥미롭게도 2024년 KDD 컨퍼런스 연구에서 DCG를 정규화하는 관행이 일관성 문제를 야기한다는 것이 증명되었습니다:

  • 대규모 추천 플랫폼 실험에서 unbiased DCG는 온라인 지표와 강하게 상관관계를 보였지만, nDCG는 그렇지 않았습니다
  • 2025년 연구는 세트 기반 접근법을 제안하며, LLM이 순위 목록이 아닌 고정된 컨텍스트 세트를 소비한다는 점을 강조
  • 새로운 메트릭인 RA-nWG@K (Rarity-Aware Normalized Weighted Gain)가 제안됨

시사점: 실무에서는 NDCG와 함께 DCG도 병행 측정하고, 도메인별 특성을 고려한 커스텀 메트릭 개발이 트렌드입니다.

3️⃣ 개인화 추천 시스템에서의 고도화

개인화 시대에 NDCG는 추천 엔진의 영향을 정량화하고 이해관계자와 소통하며 향후 개선의 벤치마크 역할을 합니다:

응용 분야:

  • E커머스: 상품 추천 순위 최적화
  • 스트리밍: 콘텐츠 추천 개인화
  • 소셜미디어: 피드 알고리즘 평가
  • 개인화된 콘텐츠 전달의 효과성 평가, 추천이 사용자 개별 선호도와 얼마나 잘 일치하는지 측정

4️⃣ AI 기반 자동화 평가

  • LLM-as-a-Judge: LLM 자체를 사용하여 검색 품질을 자동으로 평가
  • 합성 데이터 생성: ARES는 합성 데이터와 LLM 심사를 활용하여 MRR과 NDCG를 강조
  • 실시간 모니터링: Arize, LangSmith 같은 도구로 프로덕션 NDCG 추적

5️⃣ 다양한 NDCG 변형 (Flavors)

실무에서는 팀마다 NDCG를 다르게 정의합니다:

  • NDCG-local: 현재 상위 N개 결과만 고려
  • NDCG-recall: 더 큰 검색 세트에서 이상적 값 계산
  • NDCG-global: 검색 여부와 무관하게 모든 레이블 고려
  • NDCG-max: 최대 가능 레이블 기준

실무 적용 팁

✅ 언제 NDCG를 사용해야 하나?

  1. 다단계 관련도 필요 시 (관련도: 높음/중간/낮음/없음)
  2. 순위가 중요한 경우 (상위 노출이 핵심)
  3. 여러 쿼리 간 비교 필요 시

⚠️ NDCG의 한계

  • 계산이 리소스 집약적, 특히 대규모 데이터셋 정규화 시
  • 상위 순위 결과에 초점을 맞춰 목록 하단의 관련 항목을 간과할 수 있음
  • 관련도 레이블 수집이 어려운 경우 사용 제한

🔧 2025년 베스트 프랙티스

  1. NDCG + DCG 병행 측정
  2. 도메인별 커스터마이징 (법률, 의료 등)
  3. 지속적 모니터링 (A/B 테스트, 대시보드)
  4. 비용-성능 균형 (높은 NDCG vs 계산 비용)

NDCG는 앞으로도 검색, 추천, RAG 시스템의 표준 평가 지표로 자리매김할 것으로 보임.

profile
Story Engineer

0개의 댓글