엔트로피

2019. 11. 18. 17:41algorithm

다양한 알고리즘에서 쓰이는 엔트로피 개념, 헷갈리지 않게 숙지하자! 

출처 : http://databaser.net/moniwiki/wiki.php/%EC%97%94%ED%8A%B8%EB%A1%9C%ED%94%BC

정보이론의 엔트로피 개념은 1948년 당시 Bell Lab.에 근무하던 클로드 섀넌(Claude Shannon)이 창안한 것으로 정보량과 평균 정보량(엔트로피)을 비트(bit) 또는 문자 단위로 나타낸다. 정보량은 "확률 P인 사건이 갖는 정보의 양Log(1/P) 이다"로 정의된다. 정보량은 사건이 가지는 불확실성(uncertainty)에 비례한다. 즉 “해는 동쪽에서 뜬다.”와 같은 확실한 사건은 100%의 확률을 가지므로 Log(1/1)=0 이 된다.

평균 정보량(엔트로피)  H = ∑[ Pn × Log(1/Pn) ] 로 정의되는데 각각의 정보가 발생할 확률이 동등할 때 엔트로피는 최대가 된다. 두 가지 사건이 50%확률로 일어나는 경우 엔트로피는 0.5×Log2(2)+0.5×Log2(2)=1Bit이다. 만일 비가 올 확률이 70%이고 비가 오지 않을 확률이 30%일 경우 엔트로피는 0.7×Log2(1/0.7)+0.3×Log2(1/0.3)=0.8813Bit이다. 비가 올 것이 100%이면 정보 엔트로피는 0Bit이다. 다시 말하면 비가 올지 예측하기 힘든 경우 정보의 엔트로피가 높고 비가 올지 안 올지 예측력이 높아질 수록 정보의 엔트로피는 낮아진다.

또한 최대 1Bit의 정보 엔트로피는 0,1의 1Bit정보로 나타낼 수 있다. 알파벳 26자를 동일 비율로 사용할 경우 4.7Bit 정보 엔트로피를 가지므로 한 글자당 4.7Bit가 된다. 정보 엔트로피는 열역학에서 비례정수를 빼면 일치하지만 마이너스 부호가 붙기 때문에 부엔트로피(negentropy)라고 한다.

 

덧붙여) 왜 엔트로피 계산할 때 로그를 쓸까? 관련해서는 이 글을 참조 하세요 : https://worthpreading.tistory.com/25

Cross Entrophy와 KL Divergence 관련해서는 아래 글을 참조 하세요 : https://reniew.github.io/17/