# [[nDCG (Normalized Discounted Cumulative Gain)]] ## πŸ“Œ Brief Summary nDCG(Normalized Discounted Cumulative Gain)λŠ” 정보 검색 μ‹œμŠ€ν…œμ—μ„œ 검색 결과의 μˆœμœ„ ν’ˆμ§ˆμ„ ν‰κ°€ν•˜λŠ” μˆ˜ν•™μ  핡심 μ§€ν‘œμž…λ‹ˆλ‹€ [1, 2]. μƒμœ„ 검색 결과의 κ΄€λ ¨μ„± μ μˆ˜μ— μœ„μΉ˜ 기반 감쇠(Discount)λ₯Ό μ μš©ν•œ κ°’(DCG)을, κ°€μž₯ μ΄μƒμ μœΌλ‘œ μ •λ ¬λ˜μ—ˆμ„ λ•Œμ˜ κ°’(IDCG)으둜 λ‚˜λˆ„μ–΄ μ‚°μΆœν•©λ‹ˆλ‹€ [2]. 주둜 λ¬Έμ„œμ˜ 관련성이 이진(Binary)이 μ•„λ‹Œ μ—¬λŸ¬ μˆ˜μ€€(Multiple levels)으둜 λ‚˜λ‰˜μ–΄ 평가될 λ•Œ ν•™μˆ  및 μ‹€λ¬΄μ—μ„œ μ„ ν˜Έλ˜λŠ” 척도이며, 검색 엔진이 μ–Όλ§ˆλ‚˜ κ΄€λ ¨μ„± 높은 λ¬Έμ„œλ₯Ό 상단에 잘 λ°°μΉ˜ν–ˆλŠ”μ§€λ₯Ό νŒλ‹¨ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€ [1-3]. ## πŸ“– Core Content * **nDCG의 계산 원리와 ꡬ쑰:** nDCGλŠ” μƒμœ„ $p$개 결과의 κ΄€λ ¨μ„± 점수λ₯Ό 기반으둜 ν•©λ‹ˆλ‹€. μœ„μΉ˜ 기반 감쇠(Position-based discount)λ₯Ό μ μš©ν•œ 점수의 합계인 $\text{DCG}_p$λ₯Ό λ„μΆœν•˜κ³ , 이λ₯Ό 이상적인 μˆœμœ„ 배치일 λ•Œμ˜ 점수인 $\text{IDCG}_p$둜 λ‚˜λˆ„μ–΄ μ‚°μΆœν•©λ‹ˆλ‹€($\text{nDCG}_p = \frac{\text{DCG}_p}{\text{IDCG}_p}$) [2]. 이λ₯Ό 톡해 관련성이 높은 λ¬Έμ„œκ°€ 상단에 μœ„μΉ˜ν• μˆ˜λ‘ λͺ¨λΈμ΄ 높은 평가λ₯Ό λ°›κ²Œ λ©λ‹ˆλ‹€ [2]. * **닀쀑 κ΄€λ ¨μ„± μˆ˜μ€€ 적용:** 검색 결과의 관련성을 λ‹¨μˆœνžˆ 'κ΄€λ ¨ 있음/μ—†μŒ'이 μ•„λ‹Œ μ—¬λŸ¬ μˆ˜μ€€(multiple levels of relevance)으둜 μ‚¬μš©ν•  경우, MAP(Mean Average Precision)λ‚˜ λ‹¨μˆœ 정밀도(Precision)보닀 DCG 및 μ •κ·œν™”λœ nDCGκ°€ 더 μ„ ν˜Έλ©λ‹ˆλ‹€ [1]. * **ν•™μŠ΅ 기반 λž­ν‚Ή(Learning to Rank, LTR)μ—μ„œμ˜ ν™œμš©:** 정보 κ²€μƒ‰μ—μ„œ 기계 ν•™μŠ΅ λͺ¨λΈμ„ 톡해 λž­ν‚Ήμ„ μ΅œμ ν™”ν•˜λŠ” LTR μ‹œμŠ€ν…œμ€ νŒλ‹¨ 리슀트(judgment list)와 ν•¨κ»˜ 검색 μ»¨ν…μŠ€νŠΈλ₯Ό λ°›μ•„ λ¬Έμ„œλ₯Ό μ •λ ¬ν•˜λŠ”λ°, μ΄λ•Œ nDCGκ°€ μ£Όμš” μ΅œμ ν™” λͺ©ν‘œ(objective)둜 μ‚¬μš©λ©λ‹ˆλ‹€ [3]. * **Listwise μ ‘κ·Όλ²•μ˜ 타깃 μ§€ν‘œ:** LTR의 μ—¬λŸ¬ 방식 쀑 검색 κ²°κ³Ό 리슀트 μ „μ²΄μ˜ μˆœμœ„λ₯Ό ν•œκΊΌλ²ˆμ— μ΅œμ ν™”ν•˜λŠ” Listwise Approachμ—μ„œλŠ” nDCGλ‚˜ MAPλ₯Ό 직접적인 μ΅œμ ν™” λͺ©ν‘œλ‘œ μ‚ΌμœΌλ©°, 이 방식이 κ°€μž₯ μš°μˆ˜ν•œ μ„±λŠ₯을 λ³΄μ΄λŠ” κ²½μš°κ°€ λ§ŽμŠ΅λ‹ˆλ‹€ [4]. NDCG μ΅œμ ν™”λ₯Ό λͺ©ν‘œλ‘œ κ³ μ•ˆλœ 'NDCG Boost'λ‚˜ κ΄€λ ¨ λͺ¨λΈμΈ 'BayesRank' 등이 λŒ€ν‘œμ μž…λ‹ˆλ‹€ [5]. ## βš–οΈ Trade-offs & Caveats * **μ‚¬μš©μž 행동 λͺ¨λΈλ§μ˜ ν•œκ³„:** nDCGκ°€ 평가 μ§€ν‘œλ‘œ 널리 쓰이고 μžˆμ§€λ§Œ, "μ‚¬μš©μžκ°€ 더 κ΄€λ ¨μ„± μžˆλŠ” λ¬Έμ„œλ₯Ό ν™•μΈν•œ ν›„μ—λŠ” 검색 κ²°κ³Ό 탐색을 쀑단할 κ°€λŠ₯성이 λ†’λ‹€"λŠ” μ‹€μ œ μ‚¬μš©μž λ§Œμ‘±λ„ 가정을 μ™„λ²½νžˆ λ°˜μ˜ν•˜μ§€ λͺ»ν•œλ‹€λŠ” 지적이 μžˆμŠ΅λ‹ˆλ‹€ [1]. 이λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ ERR(Expected Reciprocal Rank)μ΄λ‚˜ pfound와 같은 λŒ€μ•ˆ μ§€ν‘œλ“€μ΄ μ œμ•ˆλ˜κΈ°λ„ ν–ˆμŠ΅λ‹ˆλ‹€ [1]. * **직접적인 μ΅œμ ν™”μ˜ 기술적 어렀움:** Listwise λͺ¨λΈμ—μ„œ nDCG와 같은 평가 척도λ₯Ό μ•Œκ³ λ¦¬μ¦˜μ΄ 직접 μ΅œμ ν™”ν•˜λŠ” 것은 μ‹€λ¬΄μ μœΌλ‘œ 맀우 κΉŒλ‹€λ‘­μŠ΅λ‹ˆλ‹€. λŒ€λΆ€λΆ„μ˜ λž­ν‚Ή 평가 μ§€ν‘œλ“€μ€ λͺ¨λΈμ˜ λ§€κ°œλ³€μˆ˜μ— λŒ€ν•΄ 연속적인 ν•¨μˆ˜(continuous functions)κ°€ μ•„λ‹ˆκΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€ [6]. λ”°λΌμ„œ μ‹€μ œ 적용 μ‹œμ—λŠ” SoftRank와 같이 연속적인 κ·Όμ‚¬μΉ˜λ₯Ό μ‚¬μš©ν•˜κ±°λ‚˜, LambdaMART와 같이 κ²½ν—˜μ μœΌλ‘œ Listwise λͺ©μ  ν•¨μˆ˜λ₯Ό κ·Όμ‚¬ν•˜λŠ” μ΅œμ ν™” 우회 기법이 λ™μ›λ˜μ–΄μ•Ό ν•˜λŠ” μ œμ•½μ΄ λ”°λ¦…λ‹ˆλ‹€ [6]. ## πŸ”— Knowledge Connections ### Related Concepts #### [평가 μ§€ν‘œ (Evaluation Metrics)] - [[MAP (Mean Average Precision)]] - μ—°κ²° 이유: nDCG와 ν•¨κ»˜ λž­ν‚Ή μ•Œκ³ λ¦¬μ¦˜μ˜ μ£Όμš” 평가 및 μ΅œμ ν™” λͺ©ν‘œλ‘œ μ‚¬μš©λ˜λŠ” μ§€ν‘œμž…λ‹ˆλ‹€ [3, 4]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: 이진 νŒλ‹¨(binary judgments)에 ν•œμ •λœ MAP와 닀쀑 κ΄€λ ¨μ„± μˆ˜μ€€μ„ 평가할 수 μžˆλŠ” nDCG의 차이점을 λŒ€μ‘°ν•˜μ—¬ 검색 정ꡐ함 평가 λ°©λ²•μ˜ λ°œμ „ 과정을 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [1]. - [[ERR (Expected Reciprocal Rank)]] - μ—°κ²° 이유: DCG 및 nDCG μ§€ν‘œμ˜ ν•œκ³„λ₯Ό λ³΄μ™„ν•˜κΈ° μœ„ν•΄ μ œμ•ˆλœ μƒˆλ‘œμš΄ 평가 μ§€ν‘œμž…λ‹ˆλ‹€ [1]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: μ‹€μ œ μ‚¬μš©μžκ°€ κ΄€λ ¨μ„± 높은 λ¬Έμ„œλ₯Ό λ°œκ²¬ν–ˆμ„ λ•Œ 탐색을 λ©ˆμΆ”λŠ” λ§Œμ‘±λ„(Satisfaction) λͺ¨λΈλ§μ„ nDCGκ°€ λ†“μΉ˜λŠ” 뢀뢄을 λ³΄μ™„ν•˜λŠ” 방식을 이해할 수 μžˆμŠ΅λ‹ˆλ‹€ [1]. #### [λž­ν‚Ή μ΅œμ ν™” λͺ¨λΈλ§ (Ranking Optimization Modeling)] - [[Learning to Rank (LTR)]] - μ—°κ²° 이유: nDCGκ°€ μ΅œμ ν™”μ˜ λͺ©ν‘œλ‘œ μ§μ ‘μ μœΌλ‘œ μ“°μ΄λŠ” λ¨Έμ‹ λŸ¬λ‹ 기반 λž­ν‚Ή μ‹œμŠ€ν…œμž…λ‹ˆλ‹€ [3]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: νŒλ‹¨ 리슀트(judgment list)와 ν”Όμ²˜(feature)λ₯Ό κ²°ν•©ν•˜μ—¬ nDCG 점수λ₯Ό λ†’μ΄λŠ” λ°©ν–₯으둜 λͺ¨λΈμ΄ ν›ˆλ ¨λ˜λŠ” 정보 κ²€μƒ‰μ˜ 기계 ν•™μŠ΅ νŒŒμ΄ν”„λΌμΈμ„ νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [7, 8]. - [[Listwise Approach]] - μ—°κ²° 이유: LTR 방법둠 쀑, nDCG와 같은 리슀트 μ „μ²΄μ˜ μˆœμœ„ μ§€ν‘œλ₯Ό 직접적인 μ΅œμ ν™” λͺ©ν‘œλ‘œ μ‚ΌλŠ” μ ‘κ·Όλ²•μž…λ‹ˆλ‹€ [4]. - 이 κ°œλ…μ„ 톡해 더 깊게 이해할 수 μžˆλŠ” λΆ€λΆ„: Pointwiseλ‚˜ Pairwise 접근법과 달리 μ™œ 검색 κ²°κ³Ό 리슀트 전체λ₯Ό ν•œ λ²ˆμ— ν‰κ°€ν•˜λŠ” Listwise 방식이 nDCG μ΅œμ ν™”μ— κ°€μž₯ μ ν•©ν•œμ§€ 원리λ₯Ό νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [4, 6]. ### Deeper Research Questions - nDCG μˆ˜μ‹μ—μ„œ μ μš©λ˜λŠ” μœ„μΉ˜ 기반 감쇠(position-based discount) 곑선이 λͺ¨λ°”일과 λ°μŠ€ν¬ν†± λ“± ν™˜κ²½λ³„ μ‹€μ œ μ‚¬μš©μžμ˜ μ‹œμ„  μ΄λ™μ΄λ‚˜ 슀크둀 행동을 μ–Όλ§ˆλ‚˜ μ •ν™•ν•˜κ²Œ λ°˜μ˜ν•˜λŠ”κ°€? - LTR의 Listwise Approachμ—μ„œ λΆˆμ—°μ†μ (non-continuous)인 nDCG ν•¨μˆ˜λ₯Ό λ―ΈλΆ„ κ°€λŠ₯ν•œ ν˜•νƒœλ‘œ 근사(approximation)ν•˜μ—¬ 손싀 ν•¨μˆ˜λ‘œ μ μš©ν•˜λŠ” μ΅œμ‹  μˆ˜ν•™μ  기법듀은 무엇이 μžˆλŠ”κ°€? - 검색 μ˜λ„(Intent)κ°€ λ‹¨μˆœ 정보 쑰회(Informational)일 λ•Œμ™€ νŠΈλžœμž­μ…˜(Transactional)일 λ•Œ, nDCG와 ERR(Expected Reciprocal Rank) 쀑 μ–΄λ–€ μ§€ν‘œκ°€ μ‚¬μš©μž λ§Œμ‘±λ„μ™€ 더 높은 상관관계λ₯Ό κ°€μ§€λŠ”κ°€? - 닀단계(Graded) κ΄€λ ¨μ„± νŒλ‹¨ μ‹œ, μ „λ¬Έκ°€κ°€ λ ˆμ΄λΈ”λ§ν•œ 데이터와 μ‚¬μš©μž 클릭 둜그λ₯Ό 톡해 μžλ™μœΌλ‘œ μƒμ„±λœ 암묡적(implicit) νŒλ‹¨ 리슀트 κ°„μ˜ nDCG μŠ€μ½”μ–΄ μ°¨μ΄λŠ” μ–΄λ–»κ²Œ 보정할 수 μžˆλŠ”κ°€? - λŒ€κ·œλͺ¨ μ—”ν„°ν”„λΌμ΄μ¦ˆ ν™˜κ²½μ—μ„œ 쿼리당 nDCGλ₯Ό μ‹€μ‹œκ°„μœΌλ‘œ λͺ¨λ‹ˆν„°λ§ν•˜κ³  λͺ¨λΈ λ“œλ¦¬ν”„νŠΈ(Model drift)λ₯Ό κ°μ§€ν•˜κΈ° μœ„ν•œ μ‹œμŠ€ν…œ νŒŒμ΄ν”„λΌμΈ μ•„ν‚€ν…μ²˜λŠ” μ–΄λ–»κ²Œ μ„€κ³„λ˜μ–΄μ•Ό ν•˜λŠ”κ°€? ### Practical Application Contexts - **Implementation:** 검색 μ—”μ§„ μ‹œμŠ€ν…œ ꡬ좕 μ‹œ, μƒˆλ‘œ λ„μž…ν•œ 벑터 κ²€μƒ‰μ΄λ‚˜ ν•˜μ΄λΈŒλ¦¬λ“œ 검색 μ•Œκ³ λ¦¬μ¦˜μ΄ κΈ°μ‘΄ ν‚€μ›Œλ“œ 검색 λŒ€λΉ„ μ–Όλ§ˆλ‚˜ λž­ν‚Ή ν’ˆμ§ˆμ΄ μ’‹μ•„μ‘ŒλŠ”μ§€ μΈ‘μ •ν•˜λŠ” 핡심 μ½”λ“œ 라이브러리둜 nDCGλ₯Ό κ΅¬ν˜„ν•˜μ—¬ ν™œμš©ν•©λ‹ˆλ‹€ [1]. - **System Design:** LTR λͺ¨λΈ ν›ˆλ ¨μ„ μœ„ν•œ λ¨Έμ‹ λŸ¬λ‹ νŒŒμ΄ν”„λΌμΈ 섀계 μ‹œ, Loss function ν˜Ήμ€ 평가 μ²™λ„λ‘œ nDCGλ₯Ό μ„ΈνŒ…ν•˜μ—¬ 검색 μ•Œκ³ λ¦¬μ¦˜μ΄ λ¬Έμ„œ 리슀트λ₯Ό κ°€μž₯ κ΄€λ ¨μ„± 높은 μˆœμ„œλŒ€λ‘œ 좜λ ₯ν•˜λ„λ‘ μ„€κ³„ν•©λ‹ˆλ‹€ [3, 4]. - **Operation / Maintenance:** 운영 쀑인 검색 μ„œλΉ„μŠ€μ—μ„œ μ‚¬μš©μž 행동 데이터(클릭λ₯ , 체λ₯˜ μ‹œκ°„ λ“±)λ₯Ό μˆ˜μ§‘ν•˜μ—¬ νŒλ‹¨ 리슀트λ₯Ό μ—…λ°μ΄νŠΈν•˜κ³  주기적으둜 nDCG 점수λ₯Ό μ‚°μΆœν•˜μ—¬ λž­ν‚Ή μ•Œκ³ λ¦¬μ¦˜μ˜ λ…Έν›„ν™”(Decay)λ₯Ό μ§„λ‹¨ν•©λ‹ˆλ‹€ [7]. - **Learning Path:** 검색 μ—”μ§„κ³Ό 정보 검색(IR)의 기초λ₯Ό ν•™μŠ΅ν•œ ν›„, λͺ¨λΈμ˜ μ„±κ³Όλ₯Ό μ •λŸ‰ν™”ν•˜λŠ” 방법을 배울 λ•Œ 이진 평가(Precision/Recall)λ₯Ό λ„˜μ–΄ 닀단계 κ΄€λ ¨μ„± 기반의 검색 ν’ˆμ§ˆμ„ μΈ‘μ •ν•˜λŠ” 심화 κ°œλ…μœΌλ‘œ ν•™μŠ΅ν•©λ‹ˆλ‹€. - **My Project Relevance:** 'κ²€μƒ‰μ˜ 정ꡐ함' ν–₯상 ν”„λ‘œμ νŠΈμ—μ„œ, λ‹€μ–‘ν•œ 검색 μ—°μ‚°μž, 의미둠적 검색, RAG(Retrieval-Augmented Generation) λ„μž… ν›„ λž­ν‚Ή μ΅œμ ν™”κ°€ μ„±κ³΅μ μœΌλ‘œ μ΄λ£¨μ–΄μ‘ŒλŠ”μ§€ 수치적으둜 증λͺ…ν•  KPI(핡심 μ„±κ³Ό μ§€ν‘œ)둜 ν™œμš©λ©λ‹ˆλ‹€. ### Adjacent Topics - [[Information Retrieval (IR)]] - ν™•μž₯ λ°©ν–₯: nDCG μ§€ν‘œκ°€ μ‚¬μš©λ˜λŠ” 더 큰 기술적 λ²”μ£Όλ‘œ, 데이터λ₯Ό μƒ‰μΈν•˜κ³  μˆ˜μ§‘ν•˜μ—¬ 검색 κ²°κ³Όλ₯Ό λ‚΄λ†“λŠ” μ „λ°˜μ μΈ 검색 μ—”μ§„μ˜ λ©”μ»€λ‹ˆμ¦˜μœΌλ‘œ 지식을 ν™•μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [9, 10]. - [[RAG (Retrieval-Augmented Generation)]] - ν™•μž₯ λ°©ν–₯: κ²€μƒ‰μ˜ 정ꡐ함을 높이기 μœ„ν•΄ λ‹¨μˆœ λž­ν‚Ή μ΅œμ ν™”λ₯Ό λ„˜μ–΄, κ²€μƒ‰λœ λ¬Έμ„œλ₯Ό λ°”νƒ•μœΌλ‘œ LLM이 닡을 μƒμ„±ν•˜λŠ” μ΅œμ‹  νŠΈλ Œλ“œμ™€ κ·Έ κ³Όμ •μ—μ„œμ˜ 검색 퀄리티(μž¬μˆœμœ„ν™” λ“±) μΈ‘μ • λ°©λ²•μœΌλ‘œ ν™•μž₯ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [11, 12]. --- *Last updated: 2026-05-04*