기계학습/미분류

엔트로피 (Entropy)

내꿈은자동화 2017. 4. 7. 12:19

엔트로피를 처음 접한 것은 열역학에서이다.


하지만 이번에 소개할 엔트로피는 <정보> 에서의 엔트로피이다.



엔트로피는 주어진 정보에서 내가 그 정보를 모두 다 아는데 소모되는 데이터의 양이다. (정보의 불확실성이라 표현하는 것도 적절하다.)


동전을 던지는 예로 생각해 보자. <그림 1> 을 살펴보자.


<그림 1> Entropy_Coin


<Coin 1> 은 앞뒤가 같은 색이고 <Coin 2> 는 앞은 검은색, 뒤는 빨간색이다.

<Coin 1> 의 경우 색을 알아보기 위해 동전을 살펴볼 필요가 없다. (Entropy = 0)

<Coin 2> 의 경우 색을 알아보기 위해 앞과 뒤를 보아야 한다. (Entropy = 1) (이 경우 앞만 보면 되지 않냐고 할 수 있는데 엔트로피의 정의대로 하면 두쪽을 다 보는 값과 같다.)


엔트로피의 식은 아래와 같다.

$Entropy(H) = \sum_{i}-P_i\log_{2}P_i$

Pi 는 해당 사건이 일어날 확률이다.

(식에서 로그 밑이 2인 이유는 1 비트가 (0,1) 을 처리하기 때문이다.)


동전의 예를 엔트로피 식에 넣어보자.

$Coin 1 : H = -1 * \log_{2}1 = 0$

$Coin 2 : H = -\frac{1}{2} * \log_{2} \frac{1}{2} -\frac{1}{2} * \log_{2} \frac{1}{2} = 1$


엔트로피는 0 보다 크거나 같은 값으로 불확실성이 증가할수록 그 값이 커진다.

위의 예는 동전에 대한 예이지만 <주사위> 의 예로 살펴보면 주사위 눈의 수가 커질수록 엔트로피가 커지는 것을 볼 수 있다. (주사위에 같은 눈이 존재하지 않는다 가정)



설명이 조잡해진 것 같지만 결론은 <엔트로피는 정보를 해석하는데 필요한 최대한의 데이터> 이다.




<참고 문헌>



<그림>