← 문제 목록/섀넌 엔트로피

섀넌 엔트로피

정보이론 · easy

preview

섀넌 엔트로피 (Entropy)

확률 분포가 얼마나 "불확실" 한지를 측정하는 정보이론의 핵심 지표. 결정트리의 정보이득, 교차엔트로피 손실의 뿌리:

H(p)=ipilog2piH(p) = -\sum_{i} p_i \log_2 p_i

단위: bits (log₂ 사용).

직관

  • 완전 확신 (one-hot, 예: [1, 0, 0]): H=0H = 0 (불확실성 없음).
  • 완전 모름 (균등분포 [1/k, …, 1/k]): H=log2kH = \log_2 k (최대 불확실성).
  • 사이 값은 얼마나 "분포가 퍼졌는가"에 비례.

0 × log(0) 처리

pi=0p_i = 0 인 항은 limp0plogp=0\lim_{p \to 0} p \log p = 0 으로 취급. 수치적으로는 p[p>0] 만 계산하거나 np.where 로 mask.

과제

함수 entropy(probs) 를 완성하세요.

  • 입력: 1D 확률 배열 (합 = 1 가정).
  • 반환: Python float, 비트 단위.
  • p = 0 에서 NaN 없이.

테스트 케이스

#이름입력기대
1one-hot → 0[1, 0, 0]0
2균등 이진 → 1[0.5, 0.5]1
3균등 3-클래스 → log₂3[1/3]*3≈ 1.585
4편향 분포[0.9, 0.1]≈ 0.469
50 확률 NaN 없음[0.5, 0.5, 0, 0]1 (유한)
Loading...

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