본문으로 건너뛰기

"mathematics" 태그로 연결된 3개 게시물개의 게시물이 있습니다.

모든 태그 보기

분포 거리 측정 (Part 1) - 정보이론 기초와 KL Divergence

· 약 7분
Nam Young Kim
Data Fullstack Engineer

KL Divergence를 정보이론 기초부터 이해하기. Self-Information, Entropy, Cross-Entropy의 관계를 통해 KL Divergence가 왜 이런 형태인지 직관적으로 설명합니다.

들어가며

머신러닝을 하다 보면 "두 확률 분포가 얼마나 다른가?"를 측정해야 하는 상황을 자주 만납니다. 모델이 예측한 분포와 실제 데이터 분포의 차이, VAE에서 latent space의 분포와 prior의 차이, 또는 시간에 따른 데이터 분포의 변화(drift) 감지까지. 이 모든 상황에서 KL Divergence라는 개념이 등장합니다.

이번 글에서는 KL Divergence가 "무엇"인지보다 "왜" 이런 형태를 갖게 되었는지에 초점을 맞춥니다. 정보이론의 기초 개념부터 차근차근 쌓아올려 보겠습니다.

Bhattacharyya Distance (바타차리야 거리) 쉽게 이해하기

· 약 6분
Nam Young Kim
Data Fullstack Engineer

두 확률 분포의 차이를 측정하는 Bhattacharyya Distance를 실생활 예시와 수식으로 완벽히 이해하기

🎯 핵심 개념

Bhattacharyya Distance는 두 개의 확률 분포가 얼마나 다른지를 측정하는 지표입니다. 쉽게 말하면, 두 그룹이 얼마나 "구별 가능한지"를 숫자로 나타낸 것이죠.

📊 실제 예시 1: 키 분포

두 그룹의 키를 비교한다고 생각해봅시다:

  • 그룹 A: 한국 성인 남성 (평균 175cm, 표준편차 6cm)
  • 그룹 B: 한국 성인 여성 (평균 162cm, 표준편차 5cm)
그룹 A:        ___
/ \
/ \___
/ \
165 175 185 (cm)

그룹 B: ___
/ \
/ \___
/ \
155 162 170 (cm)

**Bhattacharyya Coefficient (BC)**는 두 분포의 겹치는 부분(overlap)을 측정합니다:

  • BC ≈ 0.3 → 겹치는 부분이 적음 → 두 그룹이 잘 구별됨
  • Bhattacharyya Distance = -ln(0.3) ≈ 1.2

기하평균의 의미와 수학적 감각 익히기

· 약 6분
Nam Young Kim
Data Fullstack Engineer

산술평균과 기하평균의 차이를 직관적으로 이해하고, 왜 Bhattacharyya Coefficient에서 기하평균을 사용하는지 알아봅니다

1️⃣ "각 점에서 두 확률의 기하평균을 더한 값" 상세 설명

단계별 이해

이산 분포 예시:

두 확률 분포가 있다고 가정:

    x₁   x₂   x₃   x₄   x₅
p: 0.3 0.2 0.1 0.2 0.2
q: 0.1 0.3 0.2 0.3 0.1

각 점에서의 계산:

x₁: √(0.3 × 0.1) = √0.03 = 0.173
x₂: √(0.2 × 0.3) = √0.06 = 0.245
x₃: √(0.1 × 0.2) = √0.02 = 0.141
x₄: √(0.2 × 0.3) = √0.06 = 0.245
x₅: √(0.2 × 0.1) = √0.02 = 0.141

합산 (BC):

BC = 0.173 + 0.245 + 0.141 + 0.245 + 0.141 = 0.945

시각적 이해:

각 점에서:
p(x) ━━━━━━━━━ (높이)
q(x) ━━━━ (높이)

기하평균 ━━━━━ (두 높이의 "균형잡힌" 중간)

이걸 모든 점에서 더함