이것은 메시지를 압축했을 때 이론적으로 가능한 최소 비트 수이기도 하다(섀넌의 소스 코딩 정리). 어떤 압축 알고리즘도 $H(X)$ 이하로는 줄일 수 없다.
코인 던지기와 엔트로피
동전의 앞면 확률 $p$를 바꾸면 엔트로피가 어떻게 변하는지 확인해보세요.
앞면 확률 p =0.50
왜 p=0.5일 때 엔트로피가 최대(1 비트)인가?
$p=0$이면 항상 뒷면 → 아무것도 모르지 않아도 됨 → 불확실성 0, 엔트로피 0.
$p=1$이면 항상 앞면 → 마찬가지로 엔트로피 0.
$p=0.5$이면 결과를 전혀 예측 못 함 → 불확실성 최대 → 엔트로피 최대.
즉 엔트로피 = 불확실성 = 압축 가능성의 하한.
텍스트 엔트로피 계산기
텍스트를 입력하면 각 문자의 등장 빈도를 분석해 엔트로피를 계산합니다. 엔트로피가 높을수록 랜덤에 가깝고, 낮을수록 압축이 잘 됩니다.
엔트로피 — bits/char
최대 가능 엔트로피 — bits/char
압축률 —%
최소 비트 — bits
각 막대 = 문자 빈도. 막대 높이가 균등할수록(모든 문자가 비슷한 빈도) 엔트로피가 높다.
왜 랜덤 데이터는 압축이 안 되나
ZIP, gzip 같은 압축 알고리즘은 반복되는 패턴을 짧게 표현해서 용량을 줄인다. 영문 텍스트는 'e'가 압도적으로 자주 나오고 'z'는 거의 안 나오는데, 자주 나오는 문자에 짧은 코드를 배정하면 전체 크기가 줄어든다.
반면 이미 암호화된 파일이나 MP3/JPEG 파일은 압축이 거의 안 된다. 이미 엔트로피가 최대(각 바이트가 거의 균등한 빈도)이기 때문이다. "이미 최적으로 압축된 데이터를 더 압축하는 것은 불가능하다"는 것이 섀넌 정리의 결론이다.
낮은 엔트로피 (압축 잘 됨)
영문 텍스트: ~4.1 bits/char (알파벳 26자 균등이면 4.7)
한국어 텍스트: ~9-10 bits/char (하지만 패턴 많음)
BMP 이미지: 하늘 사진처럼 단색 영역이 많으면 압축률 99%+
소스 코드: 들여쓰기, 반복 키워드 많음
높은 엔트로피 (압축 안 됨)
암호화된 파일: 의도적으로 랜덤처럼 보이게 설계됨
JPEG/MP3: 이미 손실 압축으로 엔트로피 최대화됨
진정한 랜덤 노이즈: 이론적으로 압축 불가
이미 ZIP된 파일을 다시 ZIP: 더 커질 수 있음
허프만 코딩 — 엔트로피 근사 압축
허프만 코딩은 문자 빈도에 따라 가변 길이 이진 코드를 배정하는 알고리즘이다. 자주 나오는 문자 → 짧은 코드, 드문 문자 → 긴 코드. 섀넌 엔트로피의 1비트 이내로 근사한다.
정보 이론의 파급력
통신·압축
ZIP, gzip, brotli — 허프만 + LZ 계열
MP3 — 심리음향 모델 + 허프만
JPEG — DCT + 허프만
5G 오류 정정 코드 — LDPC, Polar codes
ML / AI
교차 엔트로피 손실 = 섀넌 엔트로피
KL 발산 = 두 분포 간 정보 거리
VAE의 ELBO = 엔트로피 항 포함
언어 모델 평가 지표 Perplexity = $2^H$
섀넌의 한계 정리 (Noisy-Channel Coding Theorem): 노이즈가 있는 채널에도 채널 용량(Channel Capacity) $C$가 존재하고, 전송률이 $C$ 이하이면 원리적으로 오류 없는 전송이 가능하다. 반대로 $C$를 초과하면 어떤 코드를 써도 오류를 없앨 수 없다. 이 정리는 1948년에 나왔지만, 이를 실용적으로 달성하는 코드(Turbo code, LDPC)는 40~50년이 지나서야 발명됐다.