[정보이론] 엔트로피 Entropy

Ethan·2023년 2월 19일
0

정보이론

목록 보기
1/3

본 블로그의 모든 글은 직접 공부하고 남기는 기록입니다.
잘못된 내용이나 오류가 있다면 언제든지 댓글 남겨주세요.


엔트로피 Entropy

정보량의 기댓값을 의미합니다. 단위로는 bit를 사용합니다.
흔히 컴퓨터에서 32비트 64비트하는 그 비트가 맞습니다.

정보는 유의미해야 한다

흔히 엔트로피의 정의를 찾아보면 "놀람의 정도", "불확실성" 등을 언급합니다.
꽤 추상적인 정의죠. 그런데 이런 정의들에는 한 가지 공통된 대전제가 있습니다.

바로 "정보는 유의미해야 한다"는 것입니다.

어떤 원숭이 한 마리를 데려다 키보드를 랜덤으로 눌러서 셰익스피어의 희곡을 얻는 실험을 한다고 가정해 봅시다. 한없이 기다리면 나오긴 나올 겁니다. 확률이 0은 아니니까요. 하지만 그건 아무 의미가 없겠지요.

그래서 우리는 최적의 실험을 설계하여 가능한 빨리 원숭이가 셰익스피어의 희곡을 쓸 수 있도록 하고자 합니다. 이 때 우리에게 유의미한 정보는 "셰익스피어의 희곡이 나올 확률이 얼마인가?" 뿐입니다. 정확히는 "해당 확률로 원하는 정보를 얻는 데 드는 최소 비용(시간, 돈, etc)"이 궁금한 것이죠. 원숭이가 <노인과 바다>를 만들어 내든, <모비 딕>을 만들어 내든 그건 우리의 알 바가 아닙니다.

즉, "놀람의 정도", "불확실성" 등의 말을 다음과 같이 바꾸어 쓸 수 있습니다.

엔트로피 = 시스템에서 유의미한 정보를 얻는데 필요한 기대 비용의 최소값

섀넌 엔트로피 Shannon Entropy

이산(discrete) 데이터에 대해 엔트로피를 일반식으로 표현한 것을 섀넌 엔트로피라고 합니다.

한 번 위 정의를 가지고 엔트로피를 구해봅시다. 셰익스피어 희곡 글자수만큼의 확률을 계산하려면 너무 복잡하네요. 대신 'hello' 라는 단어 1개를 만들 확률을 구해보겠습니다. 타자기에는 26개의 알파벳만 있고, 모든 버튼을 누를 확률을 동일하다고 가정합니다.

그러면 원숭이가 만들 수 있는 모든 경우의 수는 265=11,881,37626^5=11,881,376 개 입니다. 그리고 그 중에서 hello는 단 1개죠. 따라서 hello가 만들어질 확률 Phello=(126)5.000000084P_{hello}=({1\over26})^5\approx.000000084 입니다.

hello의 엔트로피, 그러니까 hello를 얻는 데 필요한 최소 기대 비용을 EE,
원하는 hello의 개수를 NN이라 하면 다음과 같이 나타낼 수 있습니다.

Ehello=Phello×NhelloE_{hello}=P_{hello}\times N_{hello}

그런데 잘 생각해보면 hello 라는 단어는 h, e, l, l, o의 조합입니다.
즉, hello의 엔트로피는 다섯 글자 엔트로피의 합입니다.

Ehello=Eh+Ee+El+El+EoE_{hello} = E_h+E_e+E_l+E_l+E_o

그리고 각 엔트로피는 (정보를 얻을 확률) X (사건의 발생 횟수) 이므로,

Ehello=(Ph×Nh)+(Pe×Ne)+(Pl×Nl)+(Pl×Nl)+(Po×No)=iPiNi\begin{matrix} E_{hello}=(P_h\times N_h)+(P_e\times N_e)+(P_l\times N_l)+(P_l\times N_l)+(P_o\times N_o) \\ \\ =\sum_iP_iN_i \end{matrix}

총 사건의 발생 횟수 NN은 확률 PP의 역수이므로,

Ehello=iPiNi=iPi log(1Pi)=iPi log(Pi)E_{hello}=\sum_iP_iN_i=\sum_iP_i\ \mathrm{log}\left({1\over P_i}\right)=-\sum_iP_i\ \mathrm{log}(P_i)

즉, 엔트로피는 (이론적 확률) X (최적의 조건으로 실험 수행 비용) = (기대 비용의 최소값) 형태의 식이 됩니다. 이상의 과정을 일반화하여 아래와 같이 정리할 수 있습니다.

KK개의 클래스를 갖는 사건 xx의 확률 PP에 대해 엔트로피 HH는,

H(P)=H(x)=EXP[log p(x)]=k=1Kp(xk) log(p(xk))H(P)=H(x)=E_{X\sim P}\left[-\mathrm{log}\ p(x)\right]=-\sum_{k=1}^Kp(x_k)\ \mathrm{log}(p(x_k))

불확실성과 필요 비용

위 그림은 log의 밑이 2이고 클래스가 2개인 섀넌 엔트로피의 그래프입니다.
동전 던지기를 생각하면 이해하기 쉽습니다.

그래프를 보면 확률이 0.5일때 엔트로피가 최대값 1을 갖게 됩니다.

쉽게 말해서 클래스간 확률이 비슷할수록 무엇이 나올지 모르게 되므로, 정보를 얻는 데 필요한 비용이 증가한다는 뜻입니다. 결과적으로 "잘 일어나지 않는 사건일수록 정보량이 크다"는 명제와 같은 의미입니다.


참고문헌

  1. ratsgo님 블로그 정보이론 기초
  2. 칸아카데미 정보이론
profile
재미있게 살고 싶은 대학원생

0개의 댓글