← 문제 목록/Jensen-Shannon 발산
문제 해설

Jensen-Shannon 발산

정보이론 · easy

preview

Jensen-Shannon 발산

37번 교차 엔트로피 · 136번 KL 발산 의 심화. KL 은 비대칭 이라 "분포 간 거리" 를 말할 때 불편합니다. Jensen-Shannon 은 KL 을 두 번 써서 대칭 화합니다:

JSD(p,q)=12DKL(pm)+12DKL(qm),m=p+q2\text{JSD}(p, q) = \frac{1}{2} D_{KL}(p \parallel m) + \frac{1}{2} D_{KL}(q \parallel m), \quad m = \frac{p + q}{2}

성질

  • 대칭: JSD(p, q) = JSD(q, p).
  • 경계: bits 단위로 0 ≤ JSD ≤ 1.
  • √JSDmetric — 진짜 거리 공간.
  • GAN 의 원래 objective 는 JSD 를 최소화하는 것.

과제

함수 js_divergence(p, q) 를 완성하세요.

  • p, q: 확률 분포 (합 = 1).
  • 반환: bits 단위 float, [0, 1].
  • KL 을 재사용하거나 직접 구현 — p_i = 0 인 항은 0 log 0 = 0 처리.

테스트 케이스

#이름검증
1같은 분포 → 0JSD(p, p) = 0
2대칭JSD(p, q) == JSD(q, p)
3비음수모든 (p, q) 에 대해
4경계 [0, 1]bits 기준
5완전 분리 분포 → 1disjoint support 일 때
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.