////
Search

Entropy & Information Gain

출처:

1. Information

정보량(Information)은 놀람의 정도를 의미한다. 사건의 발생 확률이 낮을수록 놀람의 정도는 높아지기에 해당 사건은 높은 정보량을 갖고 있다고 말할 수 있다.
I(X)=log(1(p(x)))=log(p(x))I(X) = log(\frac{1}{(p(x))})=- log(p(x))
참고로 확률의 역수에 log를 취한 이유는 최소한의 자원으로 놀람의 정도를 표현하기 위함이다. 예컨대 주사위를 던졌을 때 짝수 눈이 나올 사건의 정보량를 나타내고 싶다고 해 보자. log를 취하지 않으면 12\frac{1}{2}의 역수인 2가 정보량이 된다. 반면, 2진수로 표현하기 위해 log2(2)=1log_2(2)=1로 표현하면 최소 1개의 비트만 사용해 정보량을 나타낼 수 있다.

2. Entropy

하나의 사건에 대한 놀람의 정도를 나타내는 정보량과 달리 엔트로피(Entropy)어떤 사건에 대한 확률분포의 정보량을 의미한다. 정보량에 대해 기댓값을 취하면 된다.
H(x)=E(p(x))[I(x)]=E(p(x))[log(p(x))]=Σi=1Np(xi)log(p(xi))H(x)=E_{(p(x))}[I(x)]=E_{(p(x))}[- log(p(x))]=\Sigma^N_{i=1}-p(x_i)log(p(x_i))
즉, 엔트로피란 사건을 표현하기 위해 요구되는 평균 자원량이기에 불확실성 개념으로 이해하면 쉽다. 예측이 어려울수록 정보의 양이 더 많아지고 엔트로피는 더 커진다.
또한 엔트로피는 노드의 불순성을 의미하며, 이를 가장 많이 활용하는 것 중 하나가 Decision Tree이다. 예를 들어, 백인 10명, 흑인 10명이 한 집단에 있다고 하였을 때, 특정 조건으로 이 집단을 2개의 집단으로 분리했다고 가정을 해보자.
이때 집단이 완벽히 백인과 흑인이 분리되었으면 엔트로피는 0이 된다. 반대로 백인 5명, 흑인 5명이 한집단씩 있다면 엔트로피는 1이 되며, 데이터가 불순하다라고 할 수 있다.
공식은 아래와 같다.
Entropy=p(A)log(p(A))p(B)log(p(B))Entropy = -p(A)log(p(A)) - p(B)log(p(B))

3. Information Gain

Information Gain Decision Tree에서 엔트로피(Entropy)를 계산 후, 어떤 노드를 선택하는 것이 옳은지 따져볼 때 사용하는 기댓값이다.
결정 트리에서 다양한 노드를 만들고 엔트로피를 구했다면 Information Gain이 가장 높은 값을 선택하고 다음 가지를 생성하게 되기에 엔트로피와 Information Gain은 같이 움직인다고 생각하면 되겠다.
공식은 다음과 같다.
Information Gain = (Entropy before split) - (weighted entropy after split)\text{Information Gain = (Entropy before split) - (weighted entropy after split)}